tsminilens
Version:
mini Lens for TypeScript
21 lines (20 loc) • 715 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.setSequentially = void 0;
var SetSequentially = /** @class */ (function () {
function SetSequentially() {
this.setters = [];
}
SetSequentially.prototype.thenWith = function (l, v) {
this.setters.push(function (m) { return v instanceof Function ? l.over(m, v) : l.set(m, v); });
return this;
};
SetSequentially.prototype.apply = function (m) {
return this.setters.reduce(function (m1, f) { return f(m1); }, m);
};
return SetSequentially;
}());
function setSequentially(l, v) {
return new SetSequentially().thenWith(l, v);
}
exports.setSequentially = setSequentially;