Initial commit
This commit is contained in:
44
node_modules/react-bootstrap/lib/utils/createChainedFunction.js
generated
vendored
Normal file
44
node_modules/react-bootstrap/lib/utils/createChainedFunction.js
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.default = void 0;
|
||||
|
||||
/**
|
||||
* Safe chained function
|
||||
*
|
||||
* Will only create a new function if needed,
|
||||
* otherwise will pass back existing functions or null.
|
||||
*
|
||||
* @param {function} functions to chain
|
||||
* @returns {function|null}
|
||||
*/
|
||||
function createChainedFunction() {
|
||||
for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {
|
||||
funcs[_key] = arguments[_key];
|
||||
}
|
||||
|
||||
return funcs.filter(function (f) {
|
||||
return f != null;
|
||||
}).reduce(function (acc, f) {
|
||||
if (typeof f !== 'function') {
|
||||
throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');
|
||||
}
|
||||
|
||||
if (acc === null) {
|
||||
return f;
|
||||
}
|
||||
|
||||
return function chainedFunction() {
|
||||
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
||||
args[_key2] = arguments[_key2];
|
||||
}
|
||||
|
||||
acc.apply(this, args);
|
||||
f.apply(this, args);
|
||||
};
|
||||
}, null);
|
||||
}
|
||||
|
||||
var _default = createChainedFunction;
|
||||
exports.default = _default;
|
||||
module.exports = exports["default"];
|
||||
Reference in New Issue
Block a user