24 lines
661 B
JavaScript
24 lines
661 B
JavaScript
var createWrapper = require('./createWrapper'),
|
|
isIterateeCall = require('./isIterateeCall');
|
|
|
|
/**
|
|
* Creates a `_.curry` or `_.curryRight` function.
|
|
*
|
|
* @private
|
|
* @param {boolean} flag The curry bit flag.
|
|
* @returns {Function} Returns the new curry function.
|
|
*/
|
|
function createCurry(flag) {
|
|
function curryFunc(func, arity, guard) {
|
|
if (guard && isIterateeCall(func, arity, guard)) {
|
|
arity = undefined;
|
|
}
|
|
var result = createWrapper(func, flag, undefined, undefined, undefined, undefined, undefined, arity);
|
|
result.placeholder = curryFunc.placeholder;
|
|
return result;
|
|
}
|
|
return curryFunc;
|
|
}
|
|
|
|
module.exports = createCurry;
|