focused
Version:
Lens/Optics library for JavaScript
259 lines (240 loc) • 5.99 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.removeAt = exports.removeIf = exports.insertAt = exports.append = exports.idLens = exports.lensProxy = exports.compose2 = exports.compose = exports.set = exports.over = exports.has = exports.toList = exports.preview = exports.view = exports.eachMapValue = exports.eachMapKey = exports.maybeProp = exports.filtered = exports.eachOf = exports.each = exports.compose2Prisms = exports.maybeJson = exports.right = exports.left = exports.simplePrism = exports.withPrism = exports.prism = exports.atProp = exports.lens = exports.index = exports.prop = exports.compose2Isos = exports.mapEntries = exports.json = exports.anon = exports.non = exports.withIso = exports.from = exports.iso = undefined;
var _iso = require("./iso");
Object.defineProperty(exports, "iso", {
enumerable: true,
get: function () {
return _iso.iso;
}
});
Object.defineProperty(exports, "from", {
enumerable: true,
get: function () {
return _iso.from;
}
});
Object.defineProperty(exports, "withIso", {
enumerable: true,
get: function () {
return _iso.withIso;
}
});
Object.defineProperty(exports, "non", {
enumerable: true,
get: function () {
return _iso.non;
}
});
Object.defineProperty(exports, "anon", {
enumerable: true,
get: function () {
return _iso.anon;
}
});
Object.defineProperty(exports, "json", {
enumerable: true,
get: function () {
return _iso.json;
}
});
Object.defineProperty(exports, "mapEntries", {
enumerable: true,
get: function () {
return _iso.mapEntries;
}
});
Object.defineProperty(exports, "compose2Isos", {
enumerable: true,
get: function () {
return _iso.compose2Isos;
}
});
var _lens = require("./lens");
Object.defineProperty(exports, "prop", {
enumerable: true,
get: function () {
return _lens.prop;
}
});
Object.defineProperty(exports, "index", {
enumerable: true,
get: function () {
return _lens.index;
}
});
Object.defineProperty(exports, "lens", {
enumerable: true,
get: function () {
return _lens.lens;
}
});
Object.defineProperty(exports, "atProp", {
enumerable: true,
get: function () {
return _lens.atProp;
}
});
var _prism = require("./prism");
Object.defineProperty(exports, "prism", {
enumerable: true,
get: function () {
return _prism.prism;
}
});
Object.defineProperty(exports, "withPrism", {
enumerable: true,
get: function () {
return _prism.withPrism;
}
});
Object.defineProperty(exports, "simplePrism", {
enumerable: true,
get: function () {
return _prism.simplePrism;
}
});
Object.defineProperty(exports, "left", {
enumerable: true,
get: function () {
return _prism.left;
}
});
Object.defineProperty(exports, "right", {
enumerable: true,
get: function () {
return _prism.right;
}
});
Object.defineProperty(exports, "maybeJson", {
enumerable: true,
get: function () {
return _prism.maybeJson;
}
});
Object.defineProperty(exports, "compose2Prisms", {
enumerable: true,
get: function () {
return _prism.compose2Prisms;
}
});
var _traversal = require("./traversal");
Object.defineProperty(exports, "each", {
enumerable: true,
get: function () {
return _traversal.each;
}
});
Object.defineProperty(exports, "eachOf", {
enumerable: true,
get: function () {
return _traversal.eachOf;
}
});
Object.defineProperty(exports, "filtered", {
enumerable: true,
get: function () {
return _traversal.filtered;
}
});
Object.defineProperty(exports, "maybeProp", {
enumerable: true,
get: function () {
return _traversal.maybeProp;
}
});
Object.defineProperty(exports, "eachMapKey", {
enumerable: true,
get: function () {
return _traversal.eachMapKey;
}
});
Object.defineProperty(exports, "eachMapValue", {
enumerable: true,
get: function () {
return _traversal.eachMapValue;
}
});
var _operations = require("./operations");
Object.defineProperty(exports, "view", {
enumerable: true,
get: function () {
return _operations.view;
}
});
Object.defineProperty(exports, "preview", {
enumerable: true,
get: function () {
return _operations.preview;
}
});
Object.defineProperty(exports, "toList", {
enumerable: true,
get: function () {
return _operations.toList;
}
});
Object.defineProperty(exports, "has", {
enumerable: true,
get: function () {
return _operations.has;
}
});
Object.defineProperty(exports, "over", {
enumerable: true,
get: function () {
return _operations.over;
}
});
Object.defineProperty(exports, "set", {
enumerable: true,
get: function () {
return _operations.set;
}
});
Object.defineProperty(exports, "compose", {
enumerable: true,
get: function () {
return _operations.compose;
}
});
Object.defineProperty(exports, "compose2", {
enumerable: true,
get: function () {
return _operations.compose2;
}
});
var _lensProxy = require("./lensProxy");
Object.defineProperty(exports, "lensProxy", {
enumerable: true,
get: function () {
return _lensProxy.lensProxy;
}
});
Object.defineProperty(exports, "idLens", {
enumerable: true,
get: function () {
return _lensProxy.idLens;
}
});
var _utils = require("./utils");
function _append(lens, x, s) {
return (0, _operations.over)(lens, xs => xs.concat([x]), s);
}
function _insertAt(lens, index, x, s) {
return (0, _operations.over)(lens, xs => {
return xs.slice(0, index).concat([x]).concat(xs.slice(index));
}, s);
}
function _removeIf(lens, p, s) {
return (0, _operations.over)(lens, xs => xs.filter((x, i) => !p(x, i)), s);
}
function _removeAt(lens, index, s) {
return removeIf(lens, (_, i) => i === index, s);
}
const append = exports.append = (0, _utils.curry3)(_append);
const insertAt = exports.insertAt = (0, _utils.curry4)(_insertAt);
const removeIf = exports.removeIf = (0, _utils.curry3)(_removeIf);
const removeAt = exports.removeAt = (0, _utils.curry3)(_removeAt);