summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/lodash/internal/createCurry.js
blob: e5ced0e28e3f9dae2f9969d3362502fd36190fe7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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;