Projekt

Obecné

Profil

Stáhnout (789 Bajtů) Statistiky
| Větev: | Revize:
1
var arrayAggregator = require('./_arrayAggregator'),
2
    baseAggregator = require('./_baseAggregator'),
3
    baseIteratee = require('./_baseIteratee'),
4
    isArray = require('./isArray');
5

    
6
/**
7
 * Creates a function like `_.groupBy`.
8
 *
9
 * @private
10
 * @param {Function} setter The function to set accumulator values.
11
 * @param {Function} [initializer] The accumulator object initializer.
12
 * @returns {Function} Returns the new aggregator function.
13
 */
14
function createAggregator(setter, initializer) {
15
  return function(collection, iteratee) {
16
    var func = isArray(collection) ? arrayAggregator : baseAggregator,
17
        accumulator = initializer ? initializer() : {};
18

    
19
    return func(collection, setter, baseIteratee(iteratee, 2), accumulator);
20
  };
21
}
22

    
23
module.exports = createAggregator;
(158-158/590)