Sha256: f60c20014dfc674dd0b6b1b8a1663dfd4fce1f03f79f95e7b3f205ccecefa481
Contents?: true
Size: 1.52 KB
Versions: 14
Compression:
Stored size: 1.52 KB
Contents
var baseSlice = require('../internal/baseSlice'), createWrapper = require('../internal/createWrapper'), replaceHolders = require('../internal/replaceHolders'); /** Used to compose bitmasks for wrapper metadata. */ var PARTIAL_FLAG = 32; /** * Creates a function that invokes `func` with `partial` arguments prepended * to those provided to the new function. This method is like `_.bind` except * it does **not** alter the `this` binding. * * The `_.partial.placeholder` value, which defaults to `_` in monolithic * builds, may be used as a placeholder for partially applied arguments. * * **Note:** This method does not set the `length` property of partially * applied functions. * * @static * @memberOf _ * @category Function * @param {Function} func The function to partially apply arguments to. * @param {...*} [args] The arguments to be partially applied. * @returns {Function} Returns the new partially applied function. * @example * * var greet = function(greeting, name) { * return greeting + ' ' + name; * }; * * var sayHelloTo = _.partial(greet, 'hello'); * sayHelloTo('fred'); * // => 'hello fred' * * // using placeholders * var greetFred = _.partial(greet, _, 'fred'); * greetFred('hi'); * // => 'hi fred' */ function partial(func) { var partials = baseSlice(arguments, 1), holders = replaceHolders(partials, partial.placeholder); return createWrapper(func, PARTIAL_FLAG, null, partials, holders); } // Assign default placeholders. partial.placeholder = {}; module.exports = partial;
Version data entries
14 entries across 7 versions & 1 rubygems