Files
lodash/_baseInverter.js
2017-01-09 17:38:33 -08:00

22 lines
725 B
JavaScript

import baseForOwn from './_baseForOwn.js';
/**
* The base implementation of `invert` and `invertBy` which inverts
* `object` with values transformed by `iteratee` and set by `setter`.
*
* @private
* @param {Object} object The object to iterate over.
* @param {Function} setter The function to set `accumulator` values.
* @param {Function} iteratee The iteratee to transform values.
* @param {Object} accumulator The initial inverted object.
* @returns {Function} Returns `accumulator`.
*/
function baseInverter(object, setter, iteratee, accumulator) {
baseForOwn(object, (value, key, object) => {
setter(accumulator, iteratee(value), key, object);
});
return accumulator;
}
export default baseInverter;