mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-05 01:17:50 +00:00
Move internal modules to “internal” folder.
This commit is contained in:
20
.internal/createAggregator.js
Normal file
20
.internal/createAggregator.js
Normal file
@@ -0,0 +1,20 @@
|
||||
import arrayAggregator from './.internal/arrayAggregator.js';
|
||||
import baseAggregator from './.internal/baseAggregator.js';
|
||||
|
||||
/**
|
||||
* Creates a function like `groupBy`.
|
||||
*
|
||||
* @private
|
||||
* @param {Function} setter The function to set accumulator values.
|
||||
* @param {Function} [initializer] The accumulator object initializer.
|
||||
* @returns {Function} Returns the new aggregator function.
|
||||
*/
|
||||
function createAggregator(setter, initializer) {
|
||||
return (collection, iteratee) => {
|
||||
const func = Array.isArray(collection) ? arrayAggregator : baseAggregator;
|
||||
const accumulator = initializer ? initializer() : {};
|
||||
return func(collection, setter, iteratee, accumulator);
|
||||
};
|
||||
}
|
||||
|
||||
export default createAggregator;
|
||||
Reference in New Issue
Block a user