|
|
- import _curry2 from "./internal/_curry2.js";
- import _reduce from "./internal/_reduce.js";
- import keys from "./keys.js";
- /**
- * An Object-specific version of [`map`](#map). The function is applied to three
- * arguments: *(value, key, obj)*. If only the value is significant, use
- * [`map`](#map) instead.
- *
- * @func
- * @memberOf R
- * @since v0.9.0
- * @category Object
- * @sig ((*, String, Object) -> *) -> Object -> Object
- * @param {Function} fn
- * @param {Object} obj
- * @return {Object}
- * @see R.map
- * @example
- *
- * const xyz = { x: 1, y: 2, z: 3 };
- * const prependKeyAndDouble = (num, key, obj) => key + (num * 2);
- *
- * R.mapObjIndexed(prependKeyAndDouble, xyz); //=> { x: 'x2', y: 'y4', z: 'z6' }
- */
-
- var mapObjIndexed =
- /*#__PURE__*/
- _curry2(function mapObjIndexed(fn, obj) {
- return _reduce(function (acc, key) {
- acc[key] = fn(obj[key], key, obj);
- return acc;
- }, {}, keys(obj));
- });
-
- export default mapObjIndexed;
|