| 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; |