1 var createWrapper = require('./internal/createWrapper');
3 /** Used to compose bitmasks for wrapper metadata. */
4 var CURRY_RIGHT_FLAG = 16;
7 * This method is like `_.curry` except that arguments are applied to `func`
8 * in the manner of `_.partialRight` instead of `_.partial`.
10 * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic
11 * builds, may be used as a placeholder for provided arguments.
13 * **Note:** This method doesn't set the "length" property of curried functions.
18 * @param {Function} func The function to curry.
19 * @param {number} [arity=func.length] The arity of `func`.
20 * @param- {Object} [guard] Enables use as an iteratee for functions like `_.map`.
21 * @returns {Function} Returns the new curried function.
24 * var abc = function(a, b, c) {
28 * var curried = _.curryRight(abc);
39 * // using placeholders
40 * curried(3)(1, _)(2);
43 function curryRight(func, arity, guard) {
44 arity = guard ? undefined : arity;
45 var result = createWrapper(func, CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
46 result.placeholder = curryRight.placeholder;
50 module.exports = curryRight;