mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-31 17:38:48 +00:00
react app
This commit is contained in:
58
react-app/node_modules/lodash/function/modArgs.js
generated
vendored
Normal file
58
react-app/node_modules/lodash/function/modArgs.js
generated
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
var arrayEvery = require('../internal/arrayEvery'),
|
||||
baseFlatten = require('../internal/baseFlatten'),
|
||||
baseIsFunction = require('../internal/baseIsFunction'),
|
||||
restParam = require('./restParam');
|
||||
|
||||
/** Used as the `TypeError` message for "Functions" methods. */
|
||||
var FUNC_ERROR_TEXT = 'Expected a function';
|
||||
|
||||
/* Native method references for those with the same name as other `lodash` methods. */
|
||||
var nativeMin = Math.min;
|
||||
|
||||
/**
|
||||
* Creates a function that runs each argument through a corresponding
|
||||
* transform function.
|
||||
*
|
||||
* @static
|
||||
* @memberOf _
|
||||
* @category Function
|
||||
* @param {Function} func The function to wrap.
|
||||
* @param {...(Function|Function[])} [transforms] The functions to transform
|
||||
* arguments, specified as individual functions or arrays of functions.
|
||||
* @returns {Function} Returns the new function.
|
||||
* @example
|
||||
*
|
||||
* function doubled(n) {
|
||||
* return n * 2;
|
||||
* }
|
||||
*
|
||||
* function square(n) {
|
||||
* return n * n;
|
||||
* }
|
||||
*
|
||||
* var modded = _.modArgs(function(x, y) {
|
||||
* return [x, y];
|
||||
* }, square, doubled);
|
||||
*
|
||||
* modded(1, 2);
|
||||
* // => [1, 4]
|
||||
*
|
||||
* modded(5, 10);
|
||||
* // => [25, 20]
|
||||
*/
|
||||
var modArgs = restParam(function(func, transforms) {
|
||||
transforms = baseFlatten(transforms);
|
||||
if (typeof func != 'function' || !arrayEvery(transforms, baseIsFunction)) {
|
||||
throw new TypeError(FUNC_ERROR_TEXT);
|
||||
}
|
||||
var length = transforms.length;
|
||||
return restParam(function(args) {
|
||||
var index = nativeMin(args.length, length);
|
||||
while (index--) {
|
||||
args[index] = transforms[index](args[index]);
|
||||
}
|
||||
return func.apply(this, args);
|
||||
});
|
||||
});
|
||||
|
||||
module.exports = modArgs;
|
Reference in New Issue
Block a user