@newdash/newdash
Version:
javascript/typescript utility library
28 lines (27 loc) • 1.13 kB
TypeScript
export default createWrap;
/**
* Creates a function that either curries or invokes `func` with optional
* `this` binding and partially applied arguments.
*
* @private
* @param {Function|string} func The function or method name to wrap.
* @param {number} bitmask The bitmask flags.
* 1 - `bind`
* 2 - `bindKey`
* 4 - `curry` or `curryRight` of a bound function
* 8 - `curry`
* 16 - `curryRight`
* 32 - `partial`
* 64 - `partialRight`
* 128 - `rearg`
* 256 - `ary`
* 512 - `flip`
* @param {*} [thisArg] The `this` binding of `func`.
* @param {Array} [partials] The arguments to be partially applied.
* @param {Array} [holders] The `partials` placeholder indexes.
* @param {Array} [argPos] The argument positions of the new function.
* @param {number} [ary] The arity cap of `func`.
* @param {number} [arity] The arity of `func`.
* @returns {Function} Returns the new wrapped function.
*/
declare function createWrap(func: Function | string, bitmask: number, thisArg?: any, partials?: any[], holders?: any[], argPos?: any[], ary?: number, arity?: number): Function;