12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- import apply from './_apply.js';
- import arrayMap from './_arrayMap.js';
- import baseFlatten from './_baseFlatten.js';
- import baseIteratee from './_baseIteratee.js';
- import baseRest from './_baseRest.js';
- import baseUnary from './_baseUnary.js';
- import castRest from './_castRest.js';
- import isArray from './isArray.js';
- var nativeMin = Math.min;
- var overArgs = castRest(function(func, transforms) {
- transforms = (transforms.length == 1 && isArray(transforms[0]))
- ? arrayMap(transforms[0], baseUnary(baseIteratee))
- : arrayMap(baseFlatten(transforms, 1), baseUnary(baseIteratee));
- var funcsLength = transforms.length;
- return baseRest(function(args) {
- var index = -1,
- length = nativeMin(args.length, funcsLength);
- while (++index < length) {
- args[index] = transforms[index].call(this, args[index]);
- }
- return apply(func, this, args);
- });
- });
- export default overArgs;
|