UNPKG

@newdash/newdash

Version:

javascript/typescript utility library

36 lines (35 loc) 1.62 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.overArgs = void 0; const baseRest_1 = __importDefault(require("./.internal/baseRest")); const isArray_1 = __importDefault(require("./isArray")); const getIteratee_1 = __importDefault(require("./.internal/getIteratee")); const baseUnary_1 = __importDefault(require("./.internal/baseUnary")); const arrayMap_1 = __importDefault(require("./.internal/arrayMap")); const baseFlatten_1 = __importDefault(require("./.internal/baseFlatten")); const apply_1 = __importDefault(require("./.internal/apply")); /** * @ignore */ const internalOverArgs = (0, baseRest_1.default)((func, transforms) => { transforms = (transforms.length == 1 && (0, isArray_1.default)(transforms[0])) ? (0, arrayMap_1.default)(transforms[0], (0, baseUnary_1.default)((0, getIteratee_1.default)())) : (0, arrayMap_1.default)((0, baseFlatten_1.default)(transforms, 1), (0, baseUnary_1.default)((0, getIteratee_1.default)())); const funcsLength = transforms.length; return (0, baseRest_1.default)(function (args) { let index = -1; const length = Math.min(args.length, funcsLength); while (++index < length) { args[index] = transforms[index].call(this, args[index]); } return (0, apply_1.default)(func, this, args); }); }); function overArgs(...args) { return internalOverArgs(...args); } exports.overArgs = overArgs; exports.default = overArgs;