Blame view

node_modules/lodash/_createOver.js 780 Bytes
f7563de62   Palak Handa   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
  var apply = require('./_apply'),
      arrayMap = require('./_arrayMap'),
      baseIteratee = require('./_baseIteratee'),
      baseRest = require('./_baseRest'),
      baseUnary = require('./_baseUnary'),
      flatRest = require('./_flatRest');
  
  /**
   * Creates a function like `_.over`.
   *
   * @private
   * @param {Function} arrayFunc The function to iterate over iteratees.
   * @returns {Function} Returns the new over function.
   */
  function createOver(arrayFunc) {
    return flatRest(function(iteratees) {
      iteratees = arrayMap(iteratees, baseUnary(baseIteratee));
      return baseRest(function(args) {
        var thisArg = this;
        return arrayFunc(iteratees, function(iteratee) {
          return apply(iteratee, thisArg, args);
        });
      });
    });
  }
  
  module.exports = createOver;