crystalline
Version:
A modern utility library with a strong emphasis on readability. Make your code crystal clear.
19 lines (18 loc) • 743 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.alter = void 0;
var evolve_1 = __importDefault(require("ramda/src/evolve"));
// @todo: add multi-transformation function, eg: tranform(obj).byTransforming(keys).with(transformers)
// @todo: support key supplied via dot notation, eg: key = a.b.c
var alter = function (obj) { return ({
byApplying: function (transformer) { return ({
toKey: function (key) {
var _a;
return evolve_1.default((_a = {}, _a[key] = transformer, _a), obj);
},
}); },
}); };
exports.alter = alter;