Files
lodash/internal/createObjectMapper.js
John-David Dalton 26837e7fe2 Bump to v3.8.0.
2015-12-16 17:50:05 -08:00

27 lines
764 B
JavaScript

define(['./baseCallback', './baseForOwn'], function(baseCallback, baseForOwn) {
/**
* Creates a function for `_.mapKeys` or `_.mapValues`.
*
* @private
* @param {boolean} [isMapKeys] Specify mapping keys instead of values.
* @returns {Function} Returns the new map function.
*/
function createObjectMapper(isMapKeys) {
return function(object, iteratee, thisArg) {
var result = {};
iteratee = baseCallback(iteratee, thisArg, 3);
baseForOwn(object, function(value, key, object) {
var mapped = iteratee(value, key, object);
key = isMapKeys ? mapped : key;
value = isMapKeys ? value : mapped;
result[key] = value;
});
return result;
};
}
return createObjectMapper;
});