diff options
Diffstat (limited to 'tools/eslint/node_modules/lodash/rearg.js')
-rw-r--r-- | tools/eslint/node_modules/lodash/rearg.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tools/eslint/node_modules/lodash/rearg.js b/tools/eslint/node_modules/lodash/rearg.js new file mode 100644 index 0000000000..1fc204afd0 --- /dev/null +++ b/tools/eslint/node_modules/lodash/rearg.js @@ -0,0 +1,34 @@ +var baseFlatten = require('./_baseFlatten'), + createWrapper = require('./_createWrapper'), + rest = require('./rest'); + +/** Used to compose bitmasks for wrapper metadata. */ +var REARG_FLAG = 256; + +/** + * Creates a function that invokes `func` with arguments arranged according + * to the specified indexes where the argument value at the first index is + * provided as the first argument, the argument value at the second index is + * provided as the second argument, and so on. + * + * @static + * @memberOf _ + * @category Function + * @param {Function} func The function to rearrange arguments for. + * @param {...(number|number[])} indexes The arranged argument indexes, + * specified individually or in arrays. + * @returns {Function} Returns the new function. + * @example + * + * var rearged = _.rearg(function(a, b, c) { + * return [a, b, c]; + * }, 2, 0, 1); + * + * rearged('b', 'c', 'a') + * // => ['a', 'b', 'c'] + */ +var rearg = rest(function(func, indexes) { + return createWrapper(func, REARG_FLAG, undefined, undefined, undefined, baseFlatten(indexes)); +}); + +module.exports = rearg; |