partial.lenses
Advanced tools
Comparing version 1.1.1 to 1.1.2
@@ -26,3 +26,3 @@ "use strict"; | ||
if (o === undefined || !(k in o)) return o; | ||
var r = undefined; | ||
var r = void 0; | ||
for (var p in o) { | ||
@@ -221,3 +221,3 @@ if (p !== k) { | ||
if (y === undefined) return undefined; | ||
var z = undefined; | ||
var z = void 0; | ||
var set = function set(k, v) { | ||
@@ -235,2 +235,2 @@ if (undefined === z) z = {}; | ||
exports.default = L; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJ0aWFsLmxlbnNlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUlBLElBQU0sWUFBWSxTQUFaLFNBQVksQ0FBQyxDQUFELEVBQUksQ0FBSixFQUFVO0FBQzFCLE1BQUksTUFBTSxTQUFOLElBQW1CLEVBQUUsS0FBSyxDQUFMLENBQUYsRUFDckIsT0FBTyxDQUFQLENBREY7QUFFQSxNQUFJLGFBQUosQ0FIMEI7QUFJMUIsT0FBSyxJQUFNLENBQU4sSUFBVyxDQUFoQixFQUFtQjtBQUNqQixRQUFJLE1BQU0sQ0FBTixFQUFTO0FBQ1gsVUFBSSxjQUFjLENBQWQsRUFDRixJQUFJLEVBQUosQ0FERjtBQUVBLFFBQUUsQ0FBRixJQUFPLEVBQUUsQ0FBRixDQUFQLENBSFc7S0FBYjtHQURGO0FBT0EsU0FBTyxDQUFQLENBWDBCO0NBQVY7O0FBY2xCLElBQU0sU0FBUyxTQUFULE1BQVMsQ0FBQyxDQUFELEVBQUksQ0FBSixFQUFPLENBQVAsRUFBYTtBQUMxQixNQUFJLE1BQU0sU0FBTixFQUNGLDJCQUFTLEdBQUksRUFBYixDQURGO0FBRUEsTUFBSSxLQUFLLENBQUwsSUFBVSxnQkFBRSxNQUFGLENBQVMsQ0FBVCxFQUFZLEVBQUUsQ0FBRixDQUFaLENBQVYsRUFDRixPQUFPLENBQVAsQ0FERjtBQUVBLE1BQU0sd0JBQU0sR0FBSSxFQUFWLENBTG9CO0FBTTFCLE9BQUssSUFBTSxDQUFOLElBQVcsQ0FBaEI7QUFDRSxRQUFJLE1BQU0sQ0FBTixFQUNGLEVBQUUsQ0FBRixJQUFPLEVBQUUsQ0FBRixDQUFQLENBREY7R0FERixPQUdPLENBQVAsQ0FUMEI7Q0FBYjs7OztBQWNmLElBQU0sVUFBVSxTQUFWLE9BQVU7U0FBTSxPQUFPLElBQVAsQ0FBWSxFQUFaLEVBQWdCLE1BQWhCLEtBQTJCLENBQTNCLEdBQStCLFNBQS9CLEdBQTJDLEVBQTNDO0NBQU47Ozs7QUFJaEIsSUFBTSxZQUFZLFNBQVosU0FB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QUFFQSxRQUFJLGFBQUosQ0FIbUI7QUFJbkIsUUFBTSxNQUFNLFNBQU4sR0FBTSxDQUFDLENBQUQsRUFBSSxDQUFKLEVBQVU7QUFDcEIsVUFBSSxjQUFjLENBQWQsRUFDRixJQUFJLEVBQUosQ0FERjtBQUVBLFFBQUUsQ0FBRixJQUFPLENBQVAsQ0FIb0I7S0FBVixDQUpPO0FBU25CLFNBQUssSUFBTSxDQUFOLElBQVcsQ0FBaEIsRUFBbUI7QUFDakIsVUFBSSxFQUFFLEtBQUssUUFBTCxDQUFGLEVBQ0YsSUFBSSxDQUFKLEVBQU8sRUFBRSxDQUFGLENBQVAsRUFERixLQUdFLElBQUksS0FBSyxDQUFMLEVBQ0YsSUFBSSxDQUFKLEVBQU8sRUFBRSxDQUFGLENBQVAsRUFERjtLQUpKO0FBT0EsV0FBTyxDQUFQLENBaEJtQjtHQUFWLENBUFc7Q0FBWjs7a0JBMEJHIiwiZmlsZSI6InBhcnRpYWwubGVuc2VzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFIgZnJvbSBcInJhbWRhXCJcblxuLy9cblxuY29uc3QgZGVsZXRlS2V5ID0gKGssIG8pID0+IHtcbiAgaWYgKG8gPT09IHVuZGVmaW5lZCB8fCAhKGsgaW4gbykpXG4gICAgcmV0dXJuIG9cbiAgbGV0IHJcbiAgZm9yIChjb25zdCBwIGluIG8pIHtcbiAgICBpZiAocCAhPT0gaykge1xuICAgICAgaWYgKHVuZGVmaW5lZCA9PT0gcilcbiAgICAgICAgciA9IHt9XG4gICAgICByW3BdID0gb1twXVxuICAgIH1cbiAgfVxuICByZXR1cm4gclxufVxuXG5jb25zdCBzZXRLZXkgPSAoaywgdiwgbykgPT4ge1xuICBpZiAobyA9PT0gdW5kZWZpbmVkKVxuICAgIHJldHVybiB7W2tdOiB2fVxuICBpZiAoayBpbiBvICYmIFIuZXF1YWxzKHYsIG9ba10pKVxuICAgIHJldHVybiBvXG4gIGNvbnN0IHIgPSB7W2tdOiB2fVxuICBmb3IgKGNvbnN0IHAgaW4gbylcbiAgICBpZiAocCAhPT0gaylcbiAgICAgIHJbcF0gPSBvW3BdXG4gIHJldHVybiByXG59XG5cbi8vXG5cbmNvbnN0IGRyb3BwZWQgPSB4cyA9PiBPYmplY3Qua2V5cyh4cykubGVuZ3RoID09PSAwID8gdW5kZWZpbmVkIDogeHNcblxuLy9cblxuY29uc3QgdG9QYXJ0aWFsID0gdHJhbnNmb3JtID0+IHggPT4gdW5kZWZpbmVkID09PSB4ID8geCA6IHRyYW5zZm9ybSh4KVxuXG4vL1xuXG5jb25zdCBjb25zZXJ2ZSA9IChjMCwgYzEpID0+IFIuZXF1YWxzKGMwLCBjMSkgPyBjMCA6IGMxXG5cbmNvbnN0IHRvQ29uc2VydmUgPSBmID0+ICh5LCBjMCkgPT4gY29uc2VydmUoYzAsIGYoeSwgYzApKVxuXG4vL1xuXG5leHBvcnQgY29uc3QgbGlmdCA9IGwgPT4ge1xuICBzd2l0Y2ggKHR5cGVvZiBsKSB7XG4gIGNhc2UgXCJzdHJpbmdcIjogcmV0dXJuIEwucHJvcChsKVxuICBjYXNlIFwibnVtYmVyXCI6IHJldHVybiBMLmluZGV4KGwpXG4gIGRlZmF1bHQ6ICAgICAgIHJldHVybiBsXG4gIH1cbn1cblxuY29uc3QgTCA9IChsLCAuLi5scykgPT5cbiAgbHMubGVuZ3RoID09PSAwID8gbGlmdChsKSA6IFIuY29tcG9zZShsaWZ0KGwpLCAuLi5scy5tYXAobGlmdCkpXG5cbkwuY29tcG9zZSA9IExcbkwuZGVsZXRlID0gUi5jdXJyeSgobCwgcykgPT4gUi5zZXQobGlmdChsKSwgdW5kZWZpbmVkLCBzKSlcbkwuZGVsZXRlQWxsID0gUi5jdXJyeSgobGVucywgZGF0YSkgPT4ge1xuICB3aGlsZSAoTC52aWV3KGxlbnMsIGRhdGEpICE9PSB1bmRlZmluZWQpXG4gICAgZGF0YSA9IEwuZGVsZXRlKGxlbnMsIGRhdGEpXG4gIHJldHVybiBkYXRhXG59KVxuTC5sZW5zID0gUi5sZW5zXG5MLm92ZXIgPSBSLmN1cnJ5KChsLCB4MngsIHMpID0+IFIub3ZlcihsaWZ0KGwpLCB4MngsIHMpKVxuTC5zZXQgPSBSLmN1cnJ5KChsLCB4LCBzKSA9PiBSLnNldChsaWZ0KGwpLCB4LCBzKSlcbkwudmlldyA9IFIuY3VycnkoKGwsIHMpID0+IFIudmlldyhsaWZ0KGwpLCBzKSlcblxuTC5jaG9vc2UgPSB4MnlMID0+IHRvRnVuY3RvciA9PiB0YXJnZXQgPT4ge1xuICBjb25zdCBsID0gbGlmdCh4MnlMKHRhcmdldCkpXG4gIHJldHVybiBSLm1hcChmb2N1cyA9PiBSLnNldChsLCBmb2N1cywgdGFyZ2V0KSwgdG9GdW5jdG9yKFIudmlldyhsLCB0YXJnZXQpKSlcbn1cblxuTC5maXJzdE9mID0gKGwsIC4uLmxzKSA9PiBMLmNob29zZSh4ID0+IHtcbiAgY29uc3QgbGxzID0gW2wsIC4uLmxzXVxuICByZXR1cm4gbGxzW01hdGgubWF4KDAsIGxscy5maW5kSW5kZXgobCA9PiBMLnZpZXcobCwgeCkgIT09IHVuZGVmaW5lZCkpXVxufSlcblxuTC5yZXBsYWNlID0gUi5jdXJyeSgoaW5uLCBvdXQpID0+XG4gIFIubGVucyh4ID0+IFIuZXF1YWxzKHgsIGlubikgPyBvdXQgOiB4LFxuICAgICAgICAgdG9Db25zZXJ2ZSh5ID0+IFIuZXF1YWxzKHksIG91dCkgPyBpbm4gOiB5KSkpXG5cbkwuZGVmYXVsdCA9IEwucmVwbGFjZSh1bmRlZmluZWQpXG5MLnJlcXVpcmVkID0gaW5uID0+IEwucmVwbGFjZShpbm4sIHVuZGVmaW5lZClcbkwuZGVmaW5lID0gdiA9PiBSLmNvbXBvc2UoTC5yZXF1aXJlZCh2KSwgTC5kZWZhdWx0KHYpKVxuXG5MLm5vcm1hbGl6ZSA9IHRyYW5zZm9ybSA9PlxuICBSLmxlbnModG9QYXJ0aWFsKHRyYW5zZm9ybSksIHRvQ29uc2VydmUodG9QYXJ0aWFsKHRyYW5zZm9ybSkpKVxuXG5MLnByb3AgPSBrID0+XG4gIFIubGVucyhvID0+IG8gJiYgb1trXSxcbiAgICAgICAgICh2LCBvKSA9PiB2ID09PSB1bmRlZmluZWQgPyBkZWxldGVLZXkoaywgbykgOiBzZXRLZXkoaywgdiwgbykpXG5cbkwuZmluZCA9IHByZWRpY2F0ZSA9PiBMLmNob29zZSh4cyA9PiB7XG4gIGlmICh4cyA9PT0gdW5kZWZpbmVkKVxuICAgIHJldHVybiBMLmFwcGVuZFxuICBjb25zdCBpID0geHMuZmluZEluZGV4KHByZWRpY2F0ZSlcbiAgcmV0dXJuIGkgPCAwID8gTC5hcHBlbmQgOiBpXG59KVxuXG5MLmZpbmRXaXRoID0gKGwsIC4uLmxzKSA9PiB7XG4gIGNvbnN0IGxscyA9IEwobCwgLi4ubHMpXG4gIHJldHVybiBMKEwuZmluZCh4ID0+IEwudmlldyhsbHMsIHgpICE9PSB1bmRlZmluZWQpLCBsbHMpXG59XG5cbkwuaW5kZXggPSBpID0+IFIubGVucyh4cyA9PiB4cyAmJiB4c1tpXSwgKHgsIHhzKSA9PiB7XG4gIGlmICh4ID09PSB1bmRlZmluZWQpIHtcbiAgICBpZiAoeHMgPT09IHVuZGVmaW5lZClcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICBpZiAoaSA8IHhzLmxlbmd0aClcbiAgICAgIHJldHVybiBkcm9wcGVkKHhzLnNsaWNlKDAsIGkpLmNvbmNhdCh4cy5zbGljZShpKzEpKSlcbiAgICByZXR1cm4geHNcbiAgfSBlbHNlIHtcbiAgICBpZiAoeHMgPT09IHVuZGVmaW5lZClcbiAgICAgIHJldHVybiBBcnJheShpKS5jb25jYXQoW3hdKVxuICAgIGlmICh4cy5sZW5ndGggPD0gaSlcbiAgICAgIHJldHVybiB4cy5jb25jYXQoQXJyYXkoaSAtIHhzLmxlbmd0aCksIFt4XSlcbiAgICBpZiAoUi5lcXVhbHMoeCwgeHNbaV0pKVxuICAgICAgcmV0dXJuIHhzXG4gICAgcmV0dXJuIHhzLnNsaWNlKDAsIGkpLmNvbmNhdChbeF0sIHhzLnNsaWNlKGkrMSkpXG4gIH1cbn0pXG5cbkwuYXBwZW5kID0gUi5sZW5zKCgpID0+IHt9LCAoeCwgeHMpID0+XG4gIHggPT09IHVuZGVmaW5lZCA/IHhzIDogeHMgPT09IHVuZGVmaW5lZCA/IFt4XSA6IHhzLmNvbmNhdChbeF0pKVxuXG5MLmZpbHRlciA9IHAgPT4gUi5sZW5zKHhzID0+IHhzICYmIHhzLmZpbHRlcihwKSwgKHlzLCB4cykgPT5cbiAgY29uc2VydmUoeHMsIGRyb3BwZWQoUi5jb25jYXQoeXMgfHwgW10sICh4cyB8fCBbXSkuZmlsdGVyKFIuY29tcGxlbWVudChwKSkpKSkpXG5cbkwuYXVnbWVudCA9IHRlbXBsYXRlID0+IFIubGVucyhcbiAgdG9QYXJ0aWFsKHggPT4ge1xuICAgIGNvbnN0IHogPSB7Li4ueH1cbiAgICBmb3IgKGNvbnN0IGsgaW4gdGVtcGxhdGUpXG4gICAgICB6W2tdID0gdGVtcGxhdGVba10oeClcbiAgICByZXR1cm4gelxuICB9KSxcbiAgdG9Db25zZXJ2ZSgoeSwgYykgPT4ge1xuICAgIGlmICh5ID09PSB1bmRlZmluZWQpXG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgbGV0IHpcbiAgICBjb25zdCBzZXQgPSAoaywgdikgPT4ge1xuICAgICAgaWYgKHVuZGVmaW5lZCA9PT0geilcbiAgICAgICAgeiA9IHt9XG4gICAgICB6W2tdID0gdlxuICAgIH1cbiAgICBmb3IgKGNvbnN0IGsgaW4geSkge1xuICAgICAgaWYgKCEoayBpbiB0ZW1wbGF0ZSkpXG4gICAgICAgIHNldChrLCB5W2tdKVxuICAgICAgZWxzZVxuICAgICAgICBpZiAoayBpbiBjKVxuICAgICAgICAgIHNldChrLCBjW2tdKVxuICAgIH1cbiAgICByZXR1cm4gelxuICB9KSlcblxuZXhwb3J0IGRlZmF1bHQgTFxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJ0aWFsLmxlbnNlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOzs7Ozs7Ozs7Ozs7QUFJQSxJQUFNLFlBQVksU0FBWixTQUFZLENBQUMsQ0FBRCxFQUFJLENBQUosRUFBVTtBQUMxQixNQUFJLE1BQU0sU0FBTixJQUFtQixFQUFFLEtBQUssQ0FBTCxDQUFGLEVBQ3JCLE9BQU8sQ0FBUCxDQURGO0FBRUEsTUFBSSxVQUFKLENBSDBCO0FBSTFCLE9BQUssSUFBTSxDQUFOLElBQVcsQ0FBaEIsRUFBbUI7QUFDakIsUUFBSSxNQUFNLENBQU4sRUFBUztBQUNYLFVBQUksY0FBYyxDQUFkLEVBQ0YsSUFBSSxFQUFKLENBREY7QUFFQSxRQUFFLENBQUYsSUFBTyxFQUFFLENBQUYsQ0FBUCxDQUhXO0tBQWI7R0FERjtBQU9BLFNBQU8sQ0FBUCxDQVgwQjtDQUFWOztBQWNsQixJQUFNLFNBQVMsU0FBVCxNQUFTLENBQUMsQ0FBRCxFQUFJLENBQUosRUFBTyxDQUFQLEVBQWE7QUFDMUIsTUFBSSxNQUFNLFNBQU4sRUFDRiwyQkFBUyxHQUFJLEVBQWIsQ0FERjtBQUVBLE1BQUksS0FBSyxDQUFMLElBQVUsZ0JBQUUsTUFBRixDQUFTLENBQVQsRUFBWSxFQUFFLENBQUYsQ0FBWixDQUFWLEVBQ0YsT0FBTyxDQUFQLENBREY7QUFFQSxNQUFNLHdCQUFNLEdBQUksRUFBVixDQUxvQjtBQU0xQixPQUFLLElBQU0sQ0FBTixJQUFXLENBQWhCO0FBQ0UsUUFBSSxNQUFNLENBQU4sRUFDRixFQUFFLENBQUYsSUFBTyxFQUFFLENBQUYsQ0FBUCxDQURGO0dBREYsT0FHTyxDQUFQLENBVDBCO0NBQWI7Ozs7QUFjZixJQUFNLFVBQVUsU0FBVixPQUFVO1NBQU0sT0FBTyxJQUFQLENBQVksRUFBWixFQUFnQixNQUFoQixLQUEyQixDQUEzQixHQUErQixTQUEvQixHQUEyQyxFQUEzQztDQUFOOzs7O0FBSWhCLElBQU0sWUFBWSxTQUFaLFNBQVk7U0FBYTtXQUFLLGNBQWMsQ0FBZCxHQUFrQixDQUFsQixHQUFzQixVQUFVLENBQVYsQ0FBdEI7R0FBTDtDQUFiOzs7O0FBSWxCLElBQU0sV0FBVyxTQUFYLFFBQVcsQ0FBQyxFQUFELEVBQUssRUFBTDtTQUFZLGdCQUFFLE1BQUYsQ0FBUyxFQUFULEVBQWEsRUFBYixJQUFtQixFQUFuQixHQUF3QixFQUF4QjtDQUFaOztBQUVqQixJQUFNLGFBQWEsU0FBYixVQUFhO1NBQUssVUFBQyxDQUFELEVBQUksRUFBSjtXQUFXLFNBQVMsRUFBVCxFQUFhLEVBQUUsQ0FBRixFQUFLLEVBQUwsQ0FBYjtHQUFYO0NBQUw7Ozs7QUFJWixJQUFNLHNCQUFPLFNBQVAsSUFBTyxJQUFLO0FBQ3ZCLGlCQUFlLDRDQUFmO0FBQ0EsU0FBSyxRQUFMO0FBQWUsYUFBTyxFQUFFLElBQUYsQ0FBTyxDQUFQLENBQVAsQ0FBZjtBQURBLFNBRUssUUFBTDtBQUFlLGFBQU8sRUFBRSxLQUFGLENBQVEsQ0FBUixDQUFQLENBQWY7QUFGQTtBQUdlLGFBQU8sQ0FBUCxDQUFmO0FBSEEsR0FEdUI7Q0FBTDs7QUFRcEIsSUFBTSxJQUFJLFNBQUosQ0FBSSxDQUFDLENBQUQ7b0NBQU87Ozs7U0FDZixHQUFHLE1BQUgsS0FBYyxDQUFkLEdBQWtCLEtBQUssQ0FBTCxDQUFsQixHQUE0QixnQkFBRSxPQUFGLHlCQUFVLEtBQUssQ0FBTCw2QkFBWSxHQUFHLEdBQUgsQ0FBTyxJQUFQLEdBQXRCLENBQTVCO0NBRFE7O0FBR1YsRUFBRSxPQUFGLEdBQVksQ0FBWjtBQUNBLEVBQUUsTUFBRixHQUFXLGdCQUFFLEtBQUYsQ0FBUSxVQUFDLENBQUQsRUFBSSxDQUFKO1NBQVUsZ0JBQUUsR0FBRixDQUFNLEtBQUssQ0FBTCxDQUFOLEVBQWUsU0FBZixFQUEwQixDQUExQjtDQUFWLENBQW5CO0FBQ0EsRUFBRSxTQUFGLEdBQWMsZ0JBQUUsS0FBRixDQUFRLFVBQUMsSUFBRCxFQUFPLElBQVAsRUFBZ0I7QUFDcEMsU0FBTyxFQUFFLElBQUYsQ0FBTyxJQUFQLEVBQWEsSUFBYixNQUF1QixTQUF2QjtBQUNMLFdBQU8sRUFBRSxNQUFGLENBQVMsSUFBVCxFQUFlLElBQWYsQ0FBUDtHQURGLE9BRU8sSUFBUCxDQUhvQztDQUFoQixDQUF0QjtBQUtBLEVBQUUsSUFBRixHQUFTLGdCQUFFLElBQUY7QUFDVCxFQUFFLElBQUYsR0FBUyxnQkFBRSxLQUFGLENBQVEsVUFBQyxDQUFELEVBQUksR0FBSixFQUFTLENBQVQ7U0FBZSxnQkFBRSxJQUFGLENBQU8sS0FBSyxDQUFMLENBQVAsRUFBZ0IsR0FBaEIsRUFBcUIsQ0FBckI7Q0FBZixDQUFqQjtBQUNBLEVBQUUsR0FBRixHQUFRLGdCQUFFLEtBQUYsQ0FBUSxVQUFDLENBQUQsRUFBSSxDQUFKLEVBQU8sQ0FBUDtTQUFhLGdCQUFFLEdBQUYsQ0FBTSxLQUFLLENBQUwsQ0FBTixFQUFlLENBQWYsRUFBa0IsQ0FBbEI7Q0FBYixDQUFoQjtBQUNBLEVBQUUsSUFBRixHQUFTLGdCQUFFLEtBQUYsQ0FBUSxVQUFDLENBQUQsRUFBSSxDQUFKO1NBQVUsZ0JBQUUsSUFBRixDQUFPLEtBQUssQ0FBTCxDQUFQLEVBQWdCLENBQWhCO0NBQVYsQ0FBakI7O0FBRUEsRUFBRSxNQUFGLEdBQVc7U0FBUTtXQUFhLGtCQUFVO0FBQ3hDLFVBQU0sSUFBSSxLQUFLLEtBQUssTUFBTCxDQUFMLENBQUosQ0FEa0M7QUFFeEMsYUFBTyxnQkFBRSxHQUFGLENBQU07ZUFBUyxnQkFBRSxHQUFGLENBQU0sQ0FBTixFQUFTLEtBQVQsRUFBZ0IsTUFBaEI7T0FBVCxFQUFrQyxVQUFVLGdCQUFFLElBQUYsQ0FBTyxDQUFQLEVBQVUsTUFBVixDQUFWLENBQXhDLENBQVAsQ0FGd0M7S0FBVjtHQUFiO0NBQVI7O0FBS1gsRUFBRSxPQUFGLEdBQVksVUFBQyxDQUFEO3FDQUFPOzs7O1NBQU8sRUFBRSxNQUFGLENBQVMsYUFBSztBQUN0QyxRQUFNLE9BQU8sVUFBTSxHQUFiLENBRGdDO0FBRXRDLFdBQU8sSUFBSSxLQUFLLEdBQUwsQ0FBUyxDQUFULEVBQVksSUFBSSxTQUFKLENBQWM7YUFBSyxFQUFFLElBQUYsQ0FBTyxDQUFQLEVBQVUsQ0FBVixNQUFpQixTQUFqQjtLQUFMLENBQTFCLENBQUosQ0FBUCxDQUZzQztHQUFMO0NBQXZCOztBQUtaLEVBQUUsT0FBRixHQUFZLGdCQUFFLEtBQUYsQ0FBUSxVQUFDLEdBQUQsRUFBTSxHQUFOO1NBQ2xCLGdCQUFFLElBQUYsQ0FBTztXQUFLLGdCQUFFLE1BQUYsQ0FBUyxDQUFULEVBQVksR0FBWixJQUFtQixHQUFuQixHQUF5QixDQUF6QjtHQUFMLEVBQ0EsV0FBVztXQUFLLGdCQUFFLE1BQUYsQ0FBUyxDQUFULEVBQVksR0FBWixJQUFtQixHQUFuQixHQUF5QixDQUF6QjtHQUFMLENBRGxCO0NBRGtCLENBQXBCOztBQUlBLEVBQUUsT0FBRixHQUFZLEVBQUUsT0FBRixDQUFVLFNBQVYsQ0FBWjtBQUNBLEVBQUUsUUFBRixHQUFhO1NBQU8sRUFBRSxPQUFGLENBQVUsR0FBVixFQUFlLFNBQWY7Q0FBUDtBQUNiLEVBQUUsTUFBRixHQUFXO1NBQUssZ0JBQUUsT0FBRixDQUFVLEVBQUUsUUFBRixDQUFXLENBQVgsQ0FBVixFQUF5QixFQUFFLE9BQUYsQ0FBVSxDQUFWLENBQXpCO0NBQUw7O0FBRVgsRUFBRSxTQUFGLEdBQWM7U0FDWixnQkFBRSxJQUFGLENBQU8sVUFBVSxTQUFWLENBQVAsRUFBNkIsV0FBVyxVQUFVLFNBQVYsQ0FBWCxDQUE3QjtDQURZOztBQUdkLEVBQUUsSUFBRixHQUFTO1NBQ1AsZ0JBQUUsSUFBRixDQUFPO1dBQUssS0FBSyxFQUFFLENBQUYsQ0FBTDtHQUFMLEVBQ0EsVUFBQyxDQUFELEVBQUksQ0FBSjtXQUFVLE1BQU0sU0FBTixHQUFrQixVQUFVLENBQVYsRUFBYSxDQUFiLENBQWxCLEdBQW9DLE9BQU8sQ0FBUCxFQUFVLENBQVYsRUFBYSxDQUFiLENBQXBDO0dBQVY7Q0FGQTs7QUFJVCxFQUFFLElBQUYsR0FBUztTQUFhLEVBQUUsTUFBRixDQUFTLGNBQU07QUFDbkMsUUFBSSxPQUFPLFNBQVAsRUFDRixPQUFPLEVBQUUsTUFBRixDQURUO0FBRUEsUUFBTSxJQUFJLEdBQUcsU0FBSCxDQUFhLFNBQWIsQ0FBSixDQUg2QjtBQUluQyxXQUFPLElBQUksQ0FBSixHQUFRLEVBQUUsTUFBRixHQUFXLENBQW5CLENBSjRCO0dBQU47Q0FBdEI7O0FBT1QsRUFBRSxRQUFGLEdBQWEsVUFBQyxDQUFELEVBQWM7cUNBQVA7O0dBQU87O0FBQ3pCLE1BQU0sTUFBTSxvQkFBRSxVQUFNLEdBQVIsQ0FBTixDQURtQjtBQUV6QixTQUFPLEVBQUUsRUFBRSxJQUFGLENBQU87V0FBSyxFQUFFLElBQUYsQ0FBTyxHQUFQLEVBQVksQ0FBWixNQUFtQixTQUFuQjtHQUFMLENBQVQsRUFBNkMsR0FBN0MsQ0FBUCxDQUZ5QjtDQUFkOztBQUtiLEVBQUUsS0FBRixHQUFVO1NBQUssZ0JBQUUsSUFBRixDQUFPO1dBQU0sTUFBTSxHQUFHLENBQUgsQ0FBTjtHQUFOLEVBQW1CLFVBQUMsQ0FBRCxFQUFJLEVBQUosRUFBVztBQUNsRCxRQUFJLE1BQU0sU0FBTixFQUFpQjtBQUNuQixVQUFJLE9BQU8sU0FBUCxFQUNGLE9BQU8sU0FBUCxDQURGO0FBRUEsVUFBSSxJQUFJLEdBQUcsTUFBSCxFQUNOLE9BQU8sUUFBUSxHQUFHLEtBQUgsQ0FBUyxDQUFULEVBQVksQ0FBWixFQUFlLE1BQWYsQ0FBc0IsR0FBRyxLQUFILENBQVMsSUFBRSxDQUFGLENBQS9CLENBQVIsQ0FBUCxDQURGO0FBRUEsYUFBTyxFQUFQLENBTG1CO0tBQXJCLE1BTU87QUFDTCxVQUFJLE9BQU8sU0FBUCxFQUNGLE9BQU8sTUFBTSxDQUFOLEVBQVMsTUFBVCxDQUFnQixDQUFDLENBQUQsQ0FBaEIsQ0FBUCxDQURGO0FBRUEsVUFBSSxHQUFHLE1BQUgsSUFBYSxDQUFiLEVBQ0YsT0FBTyxHQUFHLE1BQUgsQ0FBVSxNQUFNLElBQUksR0FBRyxNQUFILENBQXBCLEVBQWdDLENBQUMsQ0FBRCxDQUFoQyxDQUFQLENBREY7QUFFQSxVQUFJLGdCQUFFLE1BQUYsQ0FBUyxDQUFULEVBQVksR0FBRyxDQUFILENBQVosQ0FBSixFQUNFLE9BQU8sRUFBUCxDQURGO0FBRUEsYUFBTyxHQUFHLEtBQUgsQ0FBUyxDQUFULEVBQVksQ0FBWixFQUFlLE1BQWYsQ0FBc0IsQ0FBQyxDQUFELENBQXRCLEVBQTJCLEdBQUcsS0FBSCxDQUFTLElBQUUsQ0FBRixDQUFwQyxDQUFQLENBUEs7S0FOUDtHQUR1QztDQUEvQjs7QUFrQlYsRUFBRSxNQUFGLEdBQVcsZ0JBQUUsSUFBRixDQUFPLFlBQU0sRUFBTixFQUFVLFVBQUMsQ0FBRCxFQUFJLEVBQUo7U0FDMUIsTUFBTSxTQUFOLEdBQWtCLEVBQWxCLEdBQXVCLE9BQU8sU0FBUCxHQUFtQixDQUFDLENBQUQsQ0FBbkIsR0FBeUIsR0FBRyxNQUFILENBQVUsQ0FBQyxDQUFELENBQVYsQ0FBekI7Q0FERyxDQUE1Qjs7QUFHQSxFQUFFLE1BQUYsR0FBVztTQUFLLGdCQUFFLElBQUYsQ0FBTztXQUFNLE1BQU0sR0FBRyxNQUFILENBQVUsQ0FBVixDQUFOO0dBQU4sRUFBMEIsVUFBQyxFQUFELEVBQUssRUFBTDtXQUMvQyxTQUFTLEVBQVQsRUFBYSxRQUFRLGdCQUFFLE1BQUYsQ0FBUyxNQUFNLEVBQU4sRUFBVSxDQUFDLE1BQU0sRUFBTixDQUFELENBQVcsTUFBWCxDQUFrQixnQkFBRSxVQUFGLENBQWEsQ0FBYixDQUFsQixDQUFuQixDQUFSLENBQWI7R0FEK0M7Q0FBdEM7O0FBR1gsRUFBRSxPQUFGLEdBQVk7U0FBWSxnQkFBRSxJQUFGLENBQ3RCLFVBQVUsYUFBSztBQUNiLFFBQU0saUJBQVEsRUFBUixDQURPO0FBRWIsU0FBSyxJQUFNLENBQU4sSUFBVyxRQUFoQjtBQUNFLFFBQUUsQ0FBRixJQUFPLFNBQVMsQ0FBVCxFQUFZLENBQVosQ0FBUDtLQURGLE9BRU8sQ0FBUCxDQUphO0dBQUwsQ0FEWSxFQU90QixXQUFXLFVBQUMsQ0FBRCxFQUFJLENBQUosRUFBVTtBQUNuQixRQUFJLE1BQU0sU0FBTixFQUNGLE9BQU8sU0FBUCxDQURGO0FBRUEsUUFBSSxVQUFKLENBSG1CO0FBSW5CLFFBQU0sTUFBTSxTQUFOLEdBQU0sQ0FBQyxDQUFELEVBQUksQ0FBSixFQUFVO0FBQ3BCLFVBQUksY0FBYyxDQUFkLEVBQ0YsSUFBSSxFQUFKLENBREY7QUFFQSxRQUFFLENBQUYsSUFBTyxDQUFQLENBSG9CO0tBQVYsQ0FKTztBQVNuQixTQUFLLElBQU0sQ0FBTixJQUFXLENBQWhCLEVBQW1CO0FBQ2pCLFVBQUksRUFBRSxLQUFLLFFBQUwsQ0FBRixFQUNGLElBQUksQ0FBSixFQUFPLEVBQUUsQ0FBRixDQUFQLEVBREYsS0FHRSxJQUFJLEtBQUssQ0FBTCxFQUNGLElBQUksQ0FBSixFQUFPLEVBQUUsQ0FBRixDQUFQLEVBREY7S0FKSjtBQU9BLFdBQU8sQ0FBUCxDQWhCbUI7R0FBVixDQVBXO0NBQVo7O2tCQTBCRyIsImZpbGUiOiJwYXJ0aWFsLmxlbnNlcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSIGZyb20gXCJyYW1kYVwiXG5cbi8vXG5cbmNvbnN0IGRlbGV0ZUtleSA9IChrLCBvKSA9PiB7XG4gIGlmIChvID09PSB1bmRlZmluZWQgfHwgIShrIGluIG8pKVxuICAgIHJldHVybiBvXG4gIGxldCByXG4gIGZvciAoY29uc3QgcCBpbiBvKSB7XG4gICAgaWYgKHAgIT09IGspIHtcbiAgICAgIGlmICh1bmRlZmluZWQgPT09IHIpXG4gICAgICAgIHIgPSB7fVxuICAgICAgcltwXSA9IG9bcF1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJcbn1cblxuY29uc3Qgc2V0S2V5ID0gKGssIHYsIG8pID0+IHtcbiAgaWYgKG8gPT09IHVuZGVmaW5lZClcbiAgICByZXR1cm4ge1trXTogdn1cbiAgaWYgKGsgaW4gbyAmJiBSLmVxdWFscyh2LCBvW2tdKSlcbiAgICByZXR1cm4gb1xuICBjb25zdCByID0ge1trXTogdn1cbiAgZm9yIChjb25zdCBwIGluIG8pXG4gICAgaWYgKHAgIT09IGspXG4gICAgICByW3BdID0gb1twXVxuICByZXR1cm4gclxufVxuXG4vL1xuXG5jb25zdCBkcm9wcGVkID0geHMgPT4gT2JqZWN0LmtleXMoeHMpLmxlbmd0aCA9PT0gMCA/IHVuZGVmaW5lZCA6IHhzXG5cbi8vXG5cbmNvbnN0IHRvUGFydGlhbCA9IHRyYW5zZm9ybSA9PiB4ID0+IHVuZGVmaW5lZCA9PT0geCA/IHggOiB0cmFuc2Zvcm0oeClcblxuLy9cblxuY29uc3QgY29uc2VydmUgPSAoYzAsIGMxKSA9PiBSLmVxdWFscyhjMCwgYzEpID8gYzAgOiBjMVxuXG5jb25zdCB0b0NvbnNlcnZlID0gZiA9PiAoeSwgYzApID0+IGNvbnNlcnZlKGMwLCBmKHksIGMwKSlcblxuLy9cblxuZXhwb3J0IGNvbnN0IGxpZnQgPSBsID0+IHtcbiAgc3dpdGNoICh0eXBlb2YgbCkge1xuICBjYXNlIFwic3RyaW5nXCI6IHJldHVybiBMLnByb3AobClcbiAgY2FzZSBcIm51bWJlclwiOiByZXR1cm4gTC5pbmRleChsKVxuICBkZWZhdWx0OiAgICAgICByZXR1cm4gbFxuICB9XG59XG5cbmNvbnN0IEwgPSAobCwgLi4ubHMpID0+XG4gIGxzLmxlbmd0aCA9PT0gMCA/IGxpZnQobCkgOiBSLmNvbXBvc2UobGlmdChsKSwgLi4ubHMubWFwKGxpZnQpKVxuXG5MLmNvbXBvc2UgPSBMXG5MLmRlbGV0ZSA9IFIuY3VycnkoKGwsIHMpID0+IFIuc2V0KGxpZnQobCksIHVuZGVmaW5lZCwgcykpXG5MLmRlbGV0ZUFsbCA9IFIuY3VycnkoKGxlbnMsIGRhdGEpID0+IHtcbiAgd2hpbGUgKEwudmlldyhsZW5zLCBkYXRhKSAhPT0gdW5kZWZpbmVkKVxuICAgIGRhdGEgPSBMLmRlbGV0ZShsZW5zLCBkYXRhKVxuICByZXR1cm4gZGF0YVxufSlcbkwubGVucyA9IFIubGVuc1xuTC5vdmVyID0gUi5jdXJyeSgobCwgeDJ4LCBzKSA9PiBSLm92ZXIobGlmdChsKSwgeDJ4LCBzKSlcbkwuc2V0ID0gUi5jdXJyeSgobCwgeCwgcykgPT4gUi5zZXQobGlmdChsKSwgeCwgcykpXG5MLnZpZXcgPSBSLmN1cnJ5KChsLCBzKSA9PiBSLnZpZXcobGlmdChsKSwgcykpXG5cbkwuY2hvb3NlID0geDJ5TCA9PiB0b0Z1bmN0b3IgPT4gdGFyZ2V0ID0+IHtcbiAgY29uc3QgbCA9IGxpZnQoeDJ5TCh0YXJnZXQpKVxuICByZXR1cm4gUi5tYXAoZm9jdXMgPT4gUi5zZXQobCwgZm9jdXMsIHRhcmdldCksIHRvRnVuY3RvcihSLnZpZXcobCwgdGFyZ2V0KSkpXG59XG5cbkwuZmlyc3RPZiA9IChsLCAuLi5scykgPT4gTC5jaG9vc2UoeCA9PiB7XG4gIGNvbnN0IGxscyA9IFtsLCAuLi5sc11cbiAgcmV0dXJuIGxsc1tNYXRoLm1heCgwLCBsbHMuZmluZEluZGV4KGwgPT4gTC52aWV3KGwsIHgpICE9PSB1bmRlZmluZWQpKV1cbn0pXG5cbkwucmVwbGFjZSA9IFIuY3VycnkoKGlubiwgb3V0KSA9PlxuICBSLmxlbnMoeCA9PiBSLmVxdWFscyh4LCBpbm4pID8gb3V0IDogeCxcbiAgICAgICAgIHRvQ29uc2VydmUoeSA9PiBSLmVxdWFscyh5LCBvdXQpID8gaW5uIDogeSkpKVxuXG5MLmRlZmF1bHQgPSBMLnJlcGxhY2UodW5kZWZpbmVkKVxuTC5yZXF1aXJlZCA9IGlubiA9PiBMLnJlcGxhY2UoaW5uLCB1bmRlZmluZWQpXG5MLmRlZmluZSA9IHYgPT4gUi5jb21wb3NlKEwucmVxdWlyZWQodiksIEwuZGVmYXVsdCh2KSlcblxuTC5ub3JtYWxpemUgPSB0cmFuc2Zvcm0gPT5cbiAgUi5sZW5zKHRvUGFydGlhbCh0cmFuc2Zvcm0pLCB0b0NvbnNlcnZlKHRvUGFydGlhbCh0cmFuc2Zvcm0pKSlcblxuTC5wcm9wID0gayA9PlxuICBSLmxlbnMobyA9PiBvICYmIG9ba10sXG4gICAgICAgICAodiwgbykgPT4gdiA9PT0gdW5kZWZpbmVkID8gZGVsZXRlS2V5KGssIG8pIDogc2V0S2V5KGssIHYsIG8pKVxuXG5MLmZpbmQgPSBwcmVkaWNhdGUgPT4gTC5jaG9vc2UoeHMgPT4ge1xuICBpZiAoeHMgPT09IHVuZGVmaW5lZClcbiAgICByZXR1cm4gTC5hcHBlbmRcbiAgY29uc3QgaSA9IHhzLmZpbmRJbmRleChwcmVkaWNhdGUpXG4gIHJldHVybiBpIDwgMCA/IEwuYXBwZW5kIDogaVxufSlcblxuTC5maW5kV2l0aCA9IChsLCAuLi5scykgPT4ge1xuICBjb25zdCBsbHMgPSBMKGwsIC4uLmxzKVxuICByZXR1cm4gTChMLmZpbmQoeCA9PiBMLnZpZXcobGxzLCB4KSAhPT0gdW5kZWZpbmVkKSwgbGxzKVxufVxuXG5MLmluZGV4ID0gaSA9PiBSLmxlbnMoeHMgPT4geHMgJiYgeHNbaV0sICh4LCB4cykgPT4ge1xuICBpZiAoeCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKHhzID09PSB1bmRlZmluZWQpXG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgaWYgKGkgPCB4cy5sZW5ndGgpXG4gICAgICByZXR1cm4gZHJvcHBlZCh4cy5zbGljZSgwLCBpKS5jb25jYXQoeHMuc2xpY2UoaSsxKSkpXG4gICAgcmV0dXJuIHhzXG4gIH0gZWxzZSB7XG4gICAgaWYgKHhzID09PSB1bmRlZmluZWQpXG4gICAgICByZXR1cm4gQXJyYXkoaSkuY29uY2F0KFt4XSlcbiAgICBpZiAoeHMubGVuZ3RoIDw9IGkpXG4gICAgICByZXR1cm4geHMuY29uY2F0KEFycmF5KGkgLSB4cy5sZW5ndGgpLCBbeF0pXG4gICAgaWYgKFIuZXF1YWxzKHgsIHhzW2ldKSlcbiAgICAgIHJldHVybiB4c1xuICAgIHJldHVybiB4cy5zbGljZSgwLCBpKS5jb25jYXQoW3hdLCB4cy5zbGljZShpKzEpKVxuICB9XG59KVxuXG5MLmFwcGVuZCA9IFIubGVucygoKSA9PiB7fSwgKHgsIHhzKSA9PlxuICB4ID09PSB1bmRlZmluZWQgPyB4cyA6IHhzID09PSB1bmRlZmluZWQgPyBbeF0gOiB4cy5jb25jYXQoW3hdKSlcblxuTC5maWx0ZXIgPSBwID0+IFIubGVucyh4cyA9PiB4cyAmJiB4cy5maWx0ZXIocCksICh5cywgeHMpID0+XG4gIGNvbnNlcnZlKHhzLCBkcm9wcGVkKFIuY29uY2F0KHlzIHx8IFtdLCAoeHMgfHwgW10pLmZpbHRlcihSLmNvbXBsZW1lbnQocCkpKSkpKVxuXG5MLmF1Z21lbnQgPSB0ZW1wbGF0ZSA9PiBSLmxlbnMoXG4gIHRvUGFydGlhbCh4ID0+IHtcbiAgICBjb25zdCB6ID0gey4uLnh9XG4gICAgZm9yIChjb25zdCBrIGluIHRlbXBsYXRlKVxuICAgICAgeltrXSA9IHRlbXBsYXRlW2tdKHgpXG4gICAgcmV0dXJuIHpcbiAgfSksXG4gIHRvQ29uc2VydmUoKHksIGMpID0+IHtcbiAgICBpZiAoeSA9PT0gdW5kZWZpbmVkKVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIGxldCB6XG4gICAgY29uc3Qgc2V0ID0gKGssIHYpID0+IHtcbiAgICAgIGlmICh1bmRlZmluZWQgPT09IHopXG4gICAgICAgIHogPSB7fVxuICAgICAgeltrXSA9IHZcbiAgICB9XG4gICAgZm9yIChjb25zdCBrIGluIHkpIHtcbiAgICAgIGlmICghKGsgaW4gdGVtcGxhdGUpKVxuICAgICAgICBzZXQoaywgeVtrXSlcbiAgICAgIGVsc2VcbiAgICAgICAgaWYgKGsgaW4gYylcbiAgICAgICAgICBzZXQoaywgY1trXSlcbiAgICB9XG4gICAgcmV0dXJuIHpcbiAgfSkpXG5cbmV4cG9ydCBkZWZhdWx0IExcbiJdfQ== |
{ | ||
"name": "partial.lenses", | ||
"version": "1.1.1", | ||
"description": "Ramda compatible lenses", | ||
"version": "1.1.2", | ||
"description": "Ramda compatible partial lenses", | ||
"main": "lib/partial.lenses.js", | ||
@@ -32,10 +32,10 @@ "scripts": { | ||
"babel": "^6.5.2", | ||
"babel-cli": "^6.5.1", | ||
"babel-cli": "^6.6.5", | ||
"babel-eslint": "^5.0.0", | ||
"babel-plugin-transform-es2015-modules-commonjs": "^6.5.2", | ||
"babel-preset-es2015": "^6.5.0", | ||
"babel-plugin-transform-es2015-modules-commonjs": "^6.7.0", | ||
"babel-preset-es2015": "^6.6.0", | ||
"babel-preset-stage-2": "^6.5.0", | ||
"eslint": "^2.2.0", | ||
"eslint": "2.2.x", | ||
"mocha": "^2.4.5" | ||
} | ||
} |
@@ -16,3 +16,3 @@ [ [Tutorial](#tutorial) | [Reference](#reference) | [Background](#background) ] | ||
[![npm version](https://badge.fury.io/js/partial.lenses.svg)](http://badge.fury.io/js/partial.lenses) [![](https://david-dm.org/calmm-js/partial.lenses.svg)](https://david-dm.org/calmm-js/partial.lenses) | ||
[![npm version](https://badge.fury.io/js/partial.lenses.svg)](http://badge.fury.io/js/partial.lenses) [![Build Status](https://travis-ci.org/calmm-js/partial.lenses.svg?branch=master)](https://travis-ci.org/calmm-js/partial.lenses) [![](https://david-dm.org/calmm-js/partial.lenses.svg)](https://david-dm.org/calmm-js/partial.lenses) [![](https://david-dm.org/calmm-js/partial.lenses/dev-status.svg)](https://david-dm.org/calmm-js/partial.lenses#info=devDependencies) [![Gitter](https://img.shields.io/gitter/room/calmm-js/chat.js.svg?style=flat-square)](https://gitter.im/calmm-js) | ||
@@ -225,14 +225,27 @@ ## Tutorial | ||
* `L(l, ...ls)` and `L.compose(l, ...ls)` both are the same as | ||
`R.compose(lift(l), ...ls.map(lift))` (see | ||
[compose](http://ramdajs.com/0.19.0/docs/#compose)). | ||
* `L.lens(get, set)` is the same as `R.lens(get, set)` (see | ||
[lens](http://ramdajs.com/0.19.0/docs/#lens)). | ||
* `L.over(l, x2x, s)` is the same as `R.over(lift(l), x2x, s)` (see | ||
[over](http://ramdajs.com/0.19.0/docs/#over)). | ||
* `L.set(l, x, s)` is the same as `R.set(lift(l), x, s)` (see | ||
[set](http://ramdajs.com/0.19.0/docs/#set)). | ||
* `L.view(l, s)` is the same as `R.view(lift(l), s)` (see | ||
[view](http://ramdajs.com/0.19.0/docs/#view)). | ||
#### [`L.compose(l, ...ls)`](#lcomposel-ls "L.compose :: (PLens s s1, ...PLens sN a) -> PLens s a") | ||
`L(l, ...ls)` and `L.compose(l, ...ls)` both are the same as `R.compose(lift(l), | ||
...ls.map(lift))` (see [compose](http://ramdajs.com/0.19.0/docs/#compose)). | ||
#### [`L.lens(get, set)`](#llensget-set "L.lens :: (Maybe s -> Maybe a) -> (Maybe a -> Maybe s -> Maybe s) -> PLens s a") | ||
`L.lens(get, set)` is the same as `R.lens(get, set)` (see | ||
[lens](http://ramdajs.com/0.19.0/docs/#lens)). | ||
#### [`L.over(l, x2x, s)`](#loverl-x2x-s "L.over :: PLens s a -> (Maybe a -> Maybe a) -> Maybe s -> Maybe s") | ||
`L.over(l, x2x, s)` is the same as `R.over(lift(l), x2x, s)` (see | ||
[over](http://ramdajs.com/0.19.0/docs/#over)). | ||
#### [`L.set(l, x, s)`](#lsetl-x-s "L.set :: PLens s a -> Maybe a -> Maybe s -> Maybe s") | ||
`L.set(l, x, s)` is the same as `R.set(lift(l), x, s)` (see | ||
[set](http://ramdajs.com/0.19.0/docs/#set)). | ||
#### [`L.view(l, s)`](#lviewl-s "L.view :: PLens s a -> Maybe s -> Maybe a") | ||
`L.view(l, s)` is the same as `R.view(lift(l), s)` (see | ||
[view](http://ramdajs.com/0.19.0/docs/#view)). | ||
#### Lifting | ||
@@ -255,3 +268,3 @@ | ||
#### L.delete(l, s) | ||
#### [`L.delete(l, s)`](#ldeletel-s "L.delete :: PLens s a -> Maybe s -> Maybe s") | ||
@@ -262,3 +275,3 @@ For convenience, there is also a shorthand for delete: | ||
#### L.deleteAll(l, s) | ||
#### [`L.deleteAll(l, s)`](#ldeletealll-s "L.deleteAll :: PLens s a -> Maybe s -> Maybe s") | ||
@@ -274,3 +287,3 @@ `L.deleteAll(l, s)` deletes all the non `undefined` items targeted by the lens | ||
#### L.append | ||
#### [`L.append`](#lappend "L.append :: PLens [a] a") | ||
@@ -282,3 +295,3 @@ `L.append` is a special lens that operates on arrays. The view of `L.append` is | ||
#### L.augment({prop: obj => val, ...props}) | ||
#### [`L.augment({prop: obj => val, ...props})`](#laugmentprop-obj--val-props "L.augment :: {p1 :: o -> a1, ...ps} -> PLens {...o} {...o, p1 :: a1, ...ps}") | ||
@@ -291,18 +304,10 @@ `L.augment({prop: obj => val, ...props})` is given a template of functions to | ||
#### L.choose(maybeValue => PartialLens) | ||
#### [`L.choose(maybeValue => PLens)`](#lchoosemaybevalue--plens "L.choose :: (Maybe s -> PLens s a) -> PLens s a") | ||
`L.choose(maybeValue => PartialLens)` creates a lens whose operation is | ||
determined by the given function that maps the underlying view, which can be | ||
undefined, to a lens. The lens returned by the given function will be lifted. | ||
`L.choose(maybeValue => PLens)` creates a lens whose operation is determined by | ||
the given function that maps the underlying view, which can be undefined, to a | ||
lens. The lens returned by the given function will be lifted. | ||
Note that the type of `L.choose` is | ||
#### [`L.filter(predicate)`](#lfilterpredicate "L.filter :: (a -> Boolean) -> PLens [a] [a]") | ||
```haskell | ||
choose :: (Maybe a -> PartialLens s b) -> PartialLens s a -> PartialLens s b | ||
``` | ||
which is very similar to the type of a monadic bind operation. | ||
#### L.filter(predicate) | ||
`L.filter(predicate)` operates on arrays. When viewed, only elements matching | ||
@@ -321,3 +326,3 @@ the given predicate will be returned. When set, the resulting array will be | ||
#### L.find(value => boolean) | ||
#### [`L.find(value => boolean)`](#lfindvalue--boolean "L.find :: (a -> Boolean) -> PLens [a] a") | ||
@@ -329,3 +334,3 @@ `L.find(value => boolean)` operates on arrays like `L.index`, but the index to | ||
#### L.findWith(l, ...ls) | ||
#### [`L.findWith(l, ...ls)`](#lfindwithl-ls "L.findWith :: (PLens s s1, ...PLens sN a) -> PLens [s] a") | ||
@@ -345,3 +350,3 @@ `L.findWith(l, ...ls)` is defined as | ||
#### L.firstOf(l, ...ls) | ||
#### [`L.firstOf(l, ...ls)`](#lfirstofl-ls "L.firstOf :: (PLens s a, ...PLens s a) -> PLens s a") | ||
@@ -356,5 +361,4 @@ `L.firstOf(l, ...ls)` returns a partial lens that acts like the first of the | ||
#### [`L.index(integer)`](#lindexinteger "L.index :: Integer -> PLens [a] a") | ||
#### L.index(integer) | ||
`L.index(integer)` or `L(integer)` is similar to `R.lensIndex(integer)` (see | ||
@@ -370,3 +374,3 @@ [lensIndex](http://ramdajs.com/0.19.0/docs/#lensIndex)), but acts as a partial | ||
#### L.normalize(value => value) | ||
#### [`L.normalize(value => value)`](#lnormalizevalue--value "L.normalize :: (s -> s) -> PLens s s") | ||
@@ -386,3 +390,3 @@ `L.normalize(value => value)` maps the value with same given transform when | ||
#### L.prop(string) | ||
#### [`L.prop(string)`](#lpropstring "L.prop :: (p :: a) -> PLens {p :: a, ...ps} a") | ||
@@ -397,3 +401,3 @@ `L.prop(string)` or `L(string)` is similar to `R.lensProp(string)` (see | ||
#### L.replace(inn, out) | ||
#### [`L.replace(inn, out)`](#lreplaceinn-out "L.replace :: Maybe s -> Maybe s -> PLens s s") | ||
@@ -408,11 +412,11 @@ `L.replace(inn, out)`, when viewed, replaces the value `inn` with `out` and vice | ||
##### L.default(out) | ||
##### [`L.default(out)`](#ldefaultout "L.default :: s -> PLens s s") | ||
`L.default(out)` is the same as `L.replace(undefined, out)`. | ||
##### L.define(value) | ||
##### [`L.define(value)`](#ldefinevalue "L.define :: s -> PLens s s") | ||
`L.define(value)` is the same as `L(L.required(value), L.default(value))`. | ||
##### L.required(inn) | ||
##### [`L.required(inn)`](#lrequiredinn "L.required :: s -> PLens s s") | ||
@@ -461,3 +465,3 @@ `L.required(inn)` is the same as `L.replace(inn, undefined)`. | ||
```haskell | ||
type PartialLens s a = (s -> Maybe a, Maybe a -> s -> s) | ||
type PLens s a = (Maybe s -> Maybe a, Maybe a -> Maybe s -> Maybe s) | ||
``` | ||
@@ -468,3 +472,3 @@ | ||
```haskell | ||
type PartialLens s a = Lens s (Maybe a) | ||
type PLens s a = Lens (Maybe s) (Maybe a) | ||
``` | ||
@@ -471,0 +475,0 @@ |
64943
11
464