ramda-extension
Version:
Helpful functions built on top of the mighty Ramda
30 lines (24 loc) • 854 B
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _ramda = require("ramda");
var _mapKeysAndValues = _interopRequireDefault(require("./mapKeysAndValues"));
var wrapMapping = (0, _ramda.compose)(_ramda.juxt, (0, _ramda.flip)(_ramda.prepend)([_ramda.last]), _ramda.apply);
/**
* Map object keys. Mapping functions have both key and value as arguments.
*
* @func
* @category Object
*
* @example
*
* R_.mapKeysWithValue((key, value) => value)({ foo: "bar" }) // { bar: "bar" }
*
* @sig ((String, a) -> b) -> Object -> Object
*/
var mapKeysWithValue = (0, _ramda.useWith)(_mapKeysAndValues.default, [wrapMapping, _ramda.identity]);
var _default = mapKeysWithValue;
exports.default = _default;