|  | var baseForOwn = require('./_baseForOwn'); | 
|  |  | 
|  | /** | 
|  | * 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, function(value, key, object) { | 
|  | setter(accumulator, iteratee(value), key, object); | 
|  | }); | 
|  | return accumulator; | 
|  | } | 
|  |  | 
|  | module.exports = baseInverter; |