libs/lodash.js
function createAggregator(setter, initializer) {
      return function(collection, callback, thisArg) {
        var result = initializer ? initializer() : {};
        callback = lodash.createCallback(callback, thisArg, 3);

        var index = -1,
            length = collection ? collection.length : 0;

        if (typeof length == 'number' && length > -1 && length <= maxSafeInteger) {
          while (++index < length) {
            var value = collection[index];
            setter(result, value, callback(value, index, collection), collection);
          }
        } else {
          baseEach(collection, function(value, key, collection) {
            setter(result, value, callback(value, key, collection), collection);
          });
        }
        return result;
      };
    }
function createAggregator(setter, initializer) {
      return function(collection, callback, thisArg) {
        var result = initializer ? initializer() : {};
        callback = lodash.createCallback(callback, thisArg, 3);

        var index = -1,
            length = collection ? collection.length : 0;

        if (typeof length == 'number' && length > -1 && length <= maxSafeInteger) {
          while (++index < length) {
            var value = collection[index];
            setter(result, value, callback(value, index, collection), collection);
          }
        } else {
          baseEach(collection, function(value, key, collection) {
            setter(result, value, callback(value, key, collection), collection);
          });
        }
        return result;
      };
    }
function createAggregator ( setter , initializer ) { return function ( collection , callback , thisArg ) { var result = initializer ? initializer ( ) : { } ; callback = lodash . createCallback ( callback , thisArg , 3 ) ; var index = - 1 , length = collection ? collection . length : 0 ; if ( typeof length == 'number' && length > - 1 && length <= maxSafeInteger ) { while ( ++ index < length ) { var value = collection [ index ] ; setter ( result , value , callback ( value , index , collection ) , collection ) ; } } else { baseEach ( collection , function ( value , key , collection ) { setter ( result , value , callback ( value , key , collection ) , collection ) ; } ) ; } return result ; } ; }
Creates a function that aggregates a collection, creating an accumulator
object composed from the results of running each element in the collection
through a callback. The given setter function sets the keys and values of
the accumulator object. If `initializer` is provided will be used to
initialize the accumulator object.

@private
@param {Function} setter The function to set keys and values of the accumulator object.
@param {Function} [initializer] The function to initialize the accumulator object.
@returns {Function} Returns the new aggregator function.
Creates a function that aggregates a collection creating an accumulator object composed from the results of running each element in the collection through a callback . The given setter function sets the keys and values of the accumulator object . If initializer is provided will be used to initialize the accumulator object .