UNPKG

@typed/lenses

Version:

Strongly-typed functional lenses

15 lines 559 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Lens = void 0; const lambda_1 = require("@typed/lambda"); const objects_1 = require("@typed/objects"); var Lens; (function (Lens) { Lens.create = (get, set) => ({ get, update: lambda_1.curry((f, a) => set(f(get(a)), a)), }); Lens.id = () => Lens.create((a) => a, (_, a) => a); Lens.prop = (key) => Lens.create((a) => a[key], (b, a) => objects_1.set(key, b, a)); })(Lens = exports.Lens || (exports.Lens = {})); //# sourceMappingURL=Lens.js.map