Projekt

Obecné

Profil

Stáhnout (780 Bajtů) Statistiky
| Větev: | Revize:
1 3a515b92 cagy
var apply = require('./_apply'),
2
    arrayMap = require('./_arrayMap'),
3
    baseIteratee = require('./_baseIteratee'),
4
    baseRest = require('./_baseRest'),
5
    baseUnary = require('./_baseUnary'),
6
    flatRest = require('./_flatRest');
7
8
/**
9
 * Creates a function like `_.over`.
10
 *
11
 * @private
12
 * @param {Function} arrayFunc The function to iterate over iteratees.
13
 * @returns {Function} Returns the new over function.
14
 */
15
function createOver(arrayFunc) {
16
  return flatRest(function(iteratees) {
17
    iteratees = arrayMap(iteratees, baseUnary(baseIteratee));
18
    return baseRest(function(args) {
19
      var thisArg = this;
20
      return arrayFunc(iteratees, function(iteratee) {
21
        return apply(iteratee, thisArg, args);
22
      });
23
    });
24
  });
25
}
26
27
module.exports = createOver;