Files
parcoursup/node_modules/@riotjs/util/functions.cjs
T

41 lines
965 B
JavaScript

'use strict';
var checks = require('./checks.cjs');
require('./constants.cjs');
// does simply nothing
function noop() {
return this
}
/**
* Autobind the methods of a source object to itself
* @param {object} source - probably a riot tag instance
* @param {Array<string>} methods - list of the methods to autobind
* @returns {object} the original object received
*/
function autobindMethods(source, methods) {
methods.forEach((method) => {
source[method] = source[method].bind(source);
});
return source
}
/**
* Call the first argument received only if it's a function otherwise return it as it is
* @param {*} source - anything
* @returns {*} anything
*/
function callOrAssign(source) {
return checks.isFunction(source)
? source.prototype && source.prototype.constructor
? new source()
: source()
: source
}
exports.autobindMethods = autobindMethods;
exports.callOrAssign = callOrAssign;
exports.noop = noop;