summaryrefslogtreecommitdiff
path: root/tools/eslint/node_modules/js-yaml/node_modules/argparse/node_modules/lodash/internal/createCurry.js
blob: e140e711f8d3ff0543d74687fed8d7caef8f8726 (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 = null;
    }
    var result = createWrapper(func, flag, null, null, null, null, null, arity);
    result.placeholder = curryFunc.placeholder;
    return result;
  }
  return curryFunc;
}

module.exports = createCurry;