Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80742 views
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;
49
50