| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | import baseRest from './_baseRest.js';import createWrap from './_createWrap.js';import getHolder from './_getHolder.js';import replaceHolders from './_replaceHolders.js';/** Used to compose bitmasks for function metadata. */var WRAP_PARTIAL_RIGHT_FLAG = 64;/** * This method is like `_.partial` except that partially applied arguments * are appended to the arguments it receives. * * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic * builds, may be used as a placeholder for partially applied arguments. * * **Note:** This method doesn't set the "length" property of partially * applied functions. * * @static * @memberOf _ * @since 1.0.0 * @category Function * @param {Function} func The function to partially apply arguments to. * @param {...*} [partials] The arguments to be partially applied. * @returns {Function} Returns the new partially applied function. * @example * * function greet(greeting, name) { *   return greeting + ' ' + name; * } * * var greetFred = _.partialRight(greet, 'fred'); * greetFred('hi'); * // => 'hi fred' * * // Partially applied with placeholders. * var sayHelloTo = _.partialRight(greet, 'hello', _); * sayHelloTo('fred'); * // => 'hello fred' */var partialRight = baseRest(function(func, partials) {  var holders = replaceHolders(partials, getHolder(partialRight));  return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);});// Assign default placeholders.partialRight.placeholder = {};export default partialRight;
 |