Initial commit
[yaffs-website] / node_modules / grunt-contrib-watch / node_modules / lodash / function / curryRight.js
1 var createCurry = require('../internal/createCurry');
2
3 /** Used to compose bitmasks for wrapper metadata. */
4 var CURRY_RIGHT_FLAG = 16;
5
6 /**
7  * This method is like `_.curry` except that arguments are applied to `func`
8  * in the manner of `_.partialRight` instead of `_.partial`.
9  *
10  * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic
11  * builds, may be used as a placeholder for provided arguments.
12  *
13  * **Note:** This method does not set the "length" property of curried functions.
14  *
15  * @static
16  * @memberOf _
17  * @category Function
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 a callback for functions like `_.map`.
21  * @returns {Function} Returns the new curried function.
22  * @example
23  *
24  * var abc = function(a, b, c) {
25  *   return [a, b, c];
26  * };
27  *
28  * var curried = _.curryRight(abc);
29  *
30  * curried(3)(2)(1);
31  * // => [1, 2, 3]
32  *
33  * curried(2, 3)(1);
34  * // => [1, 2, 3]
35  *
36  * curried(1, 2, 3);
37  * // => [1, 2, 3]
38  *
39  * // using placeholders
40  * curried(3)(1, _)(2);
41  * // => [1, 2, 3]
42  */
43 var curryRight = createCurry(CURRY_RIGHT_FLAG);
44
45 // Assign default placeholders.
46 curryRight.placeholder = {};
47
48 module.exports = curryRight;