You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					22 lines
				
				746 B
			
		
		
			
		
	
	
					22 lines
				
				746 B
			| 
											3 years ago
										 | var baseEach = require('./_baseEach'); | ||
|  | 
 | ||
|  | /** | ||
|  |  * Aggregates elements of `collection` on `accumulator` with keys transformed | ||
|  |  * by `iteratee` and values set by `setter`. | ||
|  |  * | ||
|  |  * @private | ||
|  |  * @param {Array|Object} collection The collection to iterate over. | ||
|  |  * @param {Function} setter The function to set `accumulator` values. | ||
|  |  * @param {Function} iteratee The iteratee to transform keys. | ||
|  |  * @param {Object} accumulator The initial aggregated object. | ||
|  |  * @returns {Function} Returns `accumulator`. | ||
|  |  */ | ||
|  | function baseAggregator(collection, setter, iteratee, accumulator) { | ||
|  |   baseEach(collection, function(value, key, collection) { | ||
|  |     setter(accumulator, value, iteratee(value), collection); | ||
|  |   }); | ||
|  |   return accumulator; | ||
|  | } | ||
|  | 
 | ||
|  | module.exports = baseAggregator; |