partial.lenses
Advanced tools
Comparing version 11.20.0 to 11.21.0
# Changelog | ||
## 11.21.0 | ||
`L.cache` was marked for removal. The main problem with `L.cache` is much like | ||
with naïve `memoize` implementations: the cache is stored in the wrong place, | ||
which is the point of definition of a cached (memoized) optic (function). | ||
Instead, the cache storage should be at the point of use so that when the data | ||
at the point of use is discarded so can the cache and that different points of | ||
use can each have their own cache. Otherwise it is easy to have inefficient | ||
caching and space leaks (keeping cache data around for too long). | ||
`L.augment` was marked for removal. The reason for removing `L.augment` is that | ||
the library nowadays allows most of `L.augment`s functionality to be implemented | ||
using simpler combinators such as `L.pick` with ordinary functions. | ||
`L.findHint` was marked for merging into `L.find`. In the next major version | ||
`L.find` will take an optional hint parameter like current `L.findHint` and | ||
`L.findHint` will be marked for removal. Also, `L.find` will pass three | ||
arguments to the predicate. The third parameter is the hint object. | ||
`L.findWith` was marked to be changed to support a hint parameter. This means | ||
that instead of taking multiple lenses as arguments to compose, `L.findWith` | ||
will, in the next major version, take a single lens and an optional hint | ||
parameter. To prepare use of `L.findWith` to be more compatible with the next | ||
major version, simply pass an array of the lenses: | ||
```diff | ||
-L.findWith(...ls) | ||
+L.findWith([...ls]) | ||
``` | ||
Support for lazy algebras in the form of the `delay` operation was marked for | ||
removal. The reason for removing support for lazy algebras is that the next | ||
major version implements operations currently using lazy algebras, like | ||
`L.select`, using a different technique that is significantly faster on current | ||
JavaScript engines. That is because allocation of closures is very expensive on | ||
current JavaScript engines and lazy algebras tend to result in allocating lots | ||
of closures. Aside from performance issues, lazy algebras do, however, seem | ||
solid, but having code supporting them without actually using them internally | ||
for anything seems wasteful. | ||
## 11.17.0 | ||
@@ -4,0 +44,0 @@ |
@@ -51,3 +51,13 @@ 'use strict'; | ||
var and$1 = function and() { | ||
for (var _len3 = arguments.length, xCs = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { | ||
xCs[_key3] = arguments[_key3]; | ||
} | ||
return function (x) { | ||
for (var i = 0, n = xCs.length; i < n; ++i) { | ||
x = xCs[i](x); | ||
}return x; | ||
}; | ||
}; | ||
@@ -111,2 +121,6 @@ var ef = function ef(xE) { | ||
var instanceofObject = function instanceofObject(x) { | ||
return x instanceof Object; | ||
}; | ||
var expect = function expect(p, f) { | ||
@@ -134,2 +148,11 @@ return function (x) { | ||
function freezeArrayOfObjects(xs) { | ||
xs.forEach(freeze); | ||
return freeze(xs); | ||
} | ||
var isArrayOrPrimitive = function isArrayOrPrimitive(x) { | ||
return !(x instanceof Object) || Array.isArray(x); | ||
}; | ||
// | ||
@@ -251,2 +274,6 @@ | ||
var warnDelay = /*#__PURE__*/ef(function (C) { | ||
if (C !== Select && C.delay) warn(warnDelay, "Support for `delay` operation will be removed. See CHANGELOG."); | ||
}); | ||
// | ||
@@ -388,3 +415,3 @@ | ||
var traversePartialIndex = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : par(0, ef(reqApplicative("elems"))))(function (A, xi2yA, xs) { | ||
var traversePartialIndex = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : par(0, and$1(warnDelay, ef(reqApplicative("elems")))))(function (A, xi2yA, xs) { | ||
var map = A.map, | ||
@@ -651,7 +678,8 @@ ap = A.ap, | ||
function mapPartialObjectU(xi2y, o, r) { | ||
var mapPartialObjectU = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : res(freeze))(function (xi2y, o) { | ||
var r = void 0; | ||
for (var k in o) { | ||
var v = xi2y(o[k], k); | ||
if (void 0 !== v) { | ||
if (!r) r = {}; | ||
if (void 0 === r) r = {}; | ||
r[k] = v; | ||
@@ -661,3 +689,3 @@ } | ||
return r; | ||
} | ||
}); | ||
@@ -711,3 +739,3 @@ var branchOnMerge = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : res(res(freeze)))(function (x, keys$$1) { | ||
return res(par(2, ef(reqApplicative(vals ? "branch" : "values")))); | ||
return res(par(2, and$1(warnDelay, ef(reqApplicative(vals ? "branch" : "values"))))); | ||
}))(function (keys$$1, vals) { | ||
@@ -838,2 +866,22 @@ return function (x, _i, A, xi2yA) { | ||
var keyed = /*#__PURE__*/isoU(expect(instanceofObject, (process.env.NODE_ENV === "production" ? I.id : res(freezeArrayOfObjects))(function (x) { | ||
x = toObject(x); | ||
var es = []; | ||
for (var key in x) { | ||
es.push([key, x[key]]); | ||
}return es; | ||
})), expect(I.isDefined, (process.env.NODE_ENV === "production" ? I.id : res(freeze))(function (es) { | ||
var o = void 0; | ||
for (var i = 0, n = es.length; i < n; ++i) { | ||
var entry = es[i]; | ||
if (entry.length === 2) { | ||
if (void 0 === o) o = {}; | ||
o[entry[0]] = entry[1]; | ||
} | ||
} | ||
return o; | ||
}))); | ||
// | ||
var matchesJoin = function matchesJoin(input) { | ||
@@ -882,2 +930,8 @@ return function (matches) { | ||
// Auxiliary | ||
var seemsArrayLike = function seemsArrayLike(x) { | ||
return x instanceof Object && (x = x.length, x === x >> 0 && 0 <= x) || I.isString(x); | ||
}; | ||
// Internals | ||
@@ -1000,4 +1054,8 @@ | ||
function cache(o) { | ||
if (process.env.NODE_ENV !== "production") warn(cache, "`L.cache` is experimental and might be removed or changed before next major release."); | ||
var cache = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : function (fn$$1) { | ||
return function (_) { | ||
warn(cache, "`L.cache` will be removed. See CHANGELOG."); | ||
return fn$$1.apply(null, arguments); | ||
}; | ||
})(function (o) { | ||
var map = arguments[1] || new Map(); | ||
@@ -1012,3 +1070,3 @@ var C_ = void 0, | ||
}; | ||
} | ||
}); | ||
@@ -1090,2 +1148,4 @@ // Transforming | ||
var entries = /*#__PURE__*/toFunction([keyed, elems]); | ||
var flatten = | ||
@@ -1096,9 +1156,3 @@ /*#__PURE__*/lazy(function (rec) { | ||
var values = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : par(2, ef(reqApplicative("values"))))(function (xs, _i, A, xi2yA) { | ||
if (xs instanceof Object) { | ||
return A === Ident ? mapPartialObjectU(xi2yA, toObject(xs)) : branchOn(I.keys(xs), void 0)(xs, void 0, A, xi2yA); | ||
} else { | ||
return A.of(xs); | ||
} | ||
}); | ||
var keys$1 = /*#__PURE__*/toFunction([keyed, elems, 0]); | ||
@@ -1109,3 +1163,3 @@ var matches = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : dep(function (_ref5) { | ||
return re.global ? res(par(2, ef(reqApplicative("matches", re)))) : I.id; | ||
return re.global ? res(par(2, and$1(warnDelay, ef(reqApplicative("matches", re))))) : I.id; | ||
}))(function (re) { | ||
@@ -1136,2 +1190,10 @@ return function (x, _i, C, xi2yC) { | ||
var values = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : par(2, ef(reqApplicative("values"))))(function (xs, _i, A, xi2yA) { | ||
if (xs instanceof Object) { | ||
return A === Ident ? mapPartialObjectU(xi2yA, toObject(xs)) : branchOn(I.keys(xs), void 0)(xs, void 0, A, xi2yA); | ||
} else { | ||
return A.of(xs); | ||
} | ||
}); | ||
// Folds over traversals | ||
@@ -1168,2 +1230,14 @@ | ||
var countsAs = /*#__PURE__*/I.curry(function (xi2k, t, s) { | ||
var counts = new Map(); | ||
forEach(function (x, i) { | ||
var k = xi2k(x, i), | ||
n = counts.get(k); | ||
counts.set(k, void 0 !== n ? n + 1 : 1); | ||
}, t, s); | ||
return counts; | ||
}); | ||
var counts = /*#__PURE__*/countsAs(I.id); | ||
var foldl = /*#__PURE__*/I.curry(function (f, r, t, s) { | ||
@@ -1256,5 +1330,7 @@ return fold(f, r, traverseU(Collect, pair, t, s)); | ||
var augment = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : fn(nth(0, ef(reqTemplate("augment"))), function (lens) { | ||
var augment = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : fn(nth(0, ef(reqTemplate("augment"))), and$1(function (lens) { | ||
return toFunction([isoU(I.id, freeze), lens, isoU(freeze, ef(reqObject("`augment` must be set with undefined or an object")))]); | ||
}))(function (template) { | ||
}, ef(function () { | ||
warn(augment, "`L.augment` will be removed. See CHANGELOG."); | ||
}))))(function (template) { | ||
return lensU(function (x) { | ||
@@ -1303,7 +1379,3 @@ x = I.dissocPartialU(0, x); | ||
var normalize = function normalize(xi2x) { | ||
return function (x, i, F, xi2yF) { | ||
return F.map(function (x) { | ||
return void 0 !== x ? xi2x(x, i) : x; | ||
}, xi2yF(void 0 !== x ? xi2x(x, i) : x, i)); | ||
}; | ||
return [reread(xi2x), rewrite(xi2x)]; | ||
}; | ||
@@ -1315,2 +1387,8 @@ | ||
var reread = function reread(xi2x) { | ||
return function (x, i, _F, xi2yF) { | ||
return xi2yF(void 0 !== x ? xi2x(x, i) : x, i); | ||
}; | ||
}; | ||
var rewrite = function rewrite(yi2y) { | ||
@@ -1359,3 +1437,5 @@ return function (x, i, F, xi2yF) { | ||
var findHint = /*#__PURE__*/I.curry(function (xh2b, hint) { | ||
var findHint = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.curry : res(ef(function () { | ||
warn(findHint, "`L.findHint` will be merged into `L.find`. See CHANGELOG."); | ||
})))(function (xh2b, hint) { | ||
return function (xs, _i, F, xi2yF) { | ||
@@ -1370,6 +1450,11 @@ var ys = seemsArrayLike(xs) ? xs : "", | ||
function findWith() { | ||
var findWith = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : function (fn$$1) { | ||
return function () { | ||
if (arguments.length !== 1) warn(findWith, "`L.findWith` will be changed to support a hint parameter. Just replace `L.findWith(...ls)` with `L.findWith([...ls])`. See CHANGELOG."); | ||
return fn$$1.apply(null, arguments); | ||
}; | ||
})(function () { | ||
var oos = toFunction(compose.apply(undefined, arguments)); | ||
return [find(isDefined$1(oos)), oos]; | ||
} | ||
}); | ||
@@ -1514,2 +1599,30 @@ var index = process.env.NODE_ENV !== "production" ? ef(reqIndex) : I.id; | ||
var indexed = /*#__PURE__*/isoU(expect(seemsArrayLike, (process.env.NODE_ENV === "production" ? I.id : res(freezeArrayOfObjects))(function (xs) { | ||
var n = xs.length, | ||
xis = Array(n); | ||
for (var i = 0; i < n; ++i) { | ||
xis[i] = [i, xs[i]]; | ||
}return xis; | ||
})), expect(I.isDefined, (process.env.NODE_ENV === "production" ? I.id : res(freeze))(function (xis) { | ||
var n = xis.length, | ||
xs = Array(n); | ||
for (var i = 0; i < n; ++i) { | ||
var xi = xis[i]; | ||
if (xi.length === 2) xs[xi[0]] = xi[1]; | ||
} | ||
n = xs.length; | ||
var j = 0; | ||
for (var _i3 = 0; _i3 < n; ++_i3) { | ||
var x = xs[_i3]; | ||
if (void 0 !== x) { | ||
if (_i3 !== j) xs[j] = x; | ||
++j; | ||
} | ||
} | ||
if (j) { | ||
xs.length = j; | ||
return xs; | ||
} | ||
}))); | ||
var is = function is(v) { | ||
@@ -1552,8 +1665,17 @@ return isoU(function (x) { | ||
// Auxiliary | ||
// Interop | ||
var seemsArrayLike = function seemsArrayLike(x) { | ||
return x instanceof Object && (x = x.length, x === x >> 0 && 0 <= x) || I.isString(x); | ||
var pointer = function pointer(s) { | ||
if (s[0] === '#') s = decodeURIComponent(s); | ||
var ts = s.split('/'); | ||
var n = ts.length; | ||
for (var i = 1; i < n; ++i) { | ||
var t = ts[i]; | ||
ts[i - 1] = /^0|[1-9]\d*$/.test(t) ? iftes(isArrayOrPrimitive, Number(t), t) : '-' === t ? iftes(isArrayOrPrimitive, append, t) : t.replace('~1', '/').replace('~0', '~'); | ||
} | ||
ts.length = n - 1; | ||
return ts; | ||
}; | ||
exports.seemsArrayLike = seemsArrayLike; | ||
exports.toFunction = toFunction; | ||
@@ -1586,5 +1708,7 @@ exports.assign = assign; | ||
exports.elems = elems; | ||
exports.entries = entries; | ||
exports.flatten = flatten; | ||
exports.keys = keys$1; | ||
exports.matches = matches; | ||
exports.values = values; | ||
exports.matches = matches; | ||
exports.all = all; | ||
@@ -1599,2 +1723,4 @@ exports.and = and; | ||
exports.count = count; | ||
exports.countsAs = countsAs; | ||
exports.counts = counts; | ||
exports.foldl = foldl; | ||
@@ -1630,2 +1756,3 @@ exports.foldr = foldr; | ||
exports.required = required; | ||
exports.reread = reread; | ||
exports.rewrite = rewrite; | ||
@@ -1656,3 +1783,5 @@ exports.append = append; | ||
exports.identity = identity; | ||
exports.indexed = indexed; | ||
exports.is = is; | ||
exports.keyed = keyed; | ||
exports.singleton = singleton; | ||
@@ -1662,2 +1791,2 @@ exports.uri = uri; | ||
exports.json = json; | ||
exports.seemsArrayLike = seemsArrayLike; | ||
exports.pointer = pointer; |
@@ -47,3 +47,13 @@ import { acyclicEqualsU, always, applyU, arityN, array0, assocPartialU, constructorOf, curry, curryN, dissocPartialU, hasU, id, identicalU, isDefined, isFunction, isObject, isString, keys, object0, pipe2U, sndU } from 'infestines'; | ||
var and$1 = function and() { | ||
for (var _len3 = arguments.length, xCs = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { | ||
xCs[_key3] = arguments[_key3]; | ||
} | ||
return function (x) { | ||
for (var i = 0, n = xCs.length; i < n; ++i) { | ||
x = xCs[i](x); | ||
}return x; | ||
}; | ||
}; | ||
@@ -107,2 +117,6 @@ var ef = function ef(xE) { | ||
var instanceofObject = function instanceofObject(x) { | ||
return x instanceof Object; | ||
}; | ||
var expect = function expect(p, f) { | ||
@@ -130,2 +144,11 @@ return function (x) { | ||
function freezeArrayOfObjects(xs) { | ||
xs.forEach(freeze); | ||
return freeze(xs); | ||
} | ||
var isArrayOrPrimitive = function isArrayOrPrimitive(x) { | ||
return !(x instanceof Object) || Array.isArray(x); | ||
}; | ||
// | ||
@@ -247,2 +270,6 @@ | ||
var warnDelay = /*#__PURE__*/ef(function (C) { | ||
if (C !== Select && C.delay) warn(warnDelay, "Support for `delay` operation will be removed. See CHANGELOG."); | ||
}); | ||
// | ||
@@ -384,3 +411,3 @@ | ||
var traversePartialIndex = /*#__PURE__*/(process.env.NODE_ENV === "production" ? id : par(0, ef(reqApplicative("elems"))))(function (A, xi2yA, xs) { | ||
var traversePartialIndex = /*#__PURE__*/(process.env.NODE_ENV === "production" ? id : par(0, and$1(warnDelay, ef(reqApplicative("elems")))))(function (A, xi2yA, xs) { | ||
var map = A.map, | ||
@@ -647,7 +674,8 @@ ap = A.ap, | ||
function mapPartialObjectU(xi2y, o, r) { | ||
var mapPartialObjectU = /*#__PURE__*/(process.env.NODE_ENV === "production" ? id : res(freeze))(function (xi2y, o) { | ||
var r = void 0; | ||
for (var k in o) { | ||
var v = xi2y(o[k], k); | ||
if (void 0 !== v) { | ||
if (!r) r = {}; | ||
if (void 0 === r) r = {}; | ||
r[k] = v; | ||
@@ -657,3 +685,3 @@ } | ||
return r; | ||
} | ||
}); | ||
@@ -707,3 +735,3 @@ var branchOnMerge = /*#__PURE__*/(process.env.NODE_ENV === "production" ? id : res(res(freeze)))(function (x, keys$$1) { | ||
return res(par(2, ef(reqApplicative(vals ? "branch" : "values")))); | ||
return res(par(2, and$1(warnDelay, ef(reqApplicative(vals ? "branch" : "values"))))); | ||
}))(function (keys$$1, vals) { | ||
@@ -834,2 +862,22 @@ return function (x, _i, A, xi2yA) { | ||
var keyed = /*#__PURE__*/isoU(expect(instanceofObject, (process.env.NODE_ENV === "production" ? id : res(freezeArrayOfObjects))(function (x) { | ||
x = toObject(x); | ||
var es = []; | ||
for (var key in x) { | ||
es.push([key, x[key]]); | ||
}return es; | ||
})), expect(isDefined, (process.env.NODE_ENV === "production" ? id : res(freeze))(function (es) { | ||
var o = void 0; | ||
for (var i = 0, n = es.length; i < n; ++i) { | ||
var entry = es[i]; | ||
if (entry.length === 2) { | ||
if (void 0 === o) o = {}; | ||
o[entry[0]] = entry[1]; | ||
} | ||
} | ||
return o; | ||
}))); | ||
// | ||
var matchesJoin = function matchesJoin(input) { | ||
@@ -878,2 +926,8 @@ return function (matches) { | ||
// Auxiliary | ||
var seemsArrayLike = function seemsArrayLike(x) { | ||
return x instanceof Object && (x = x.length, x === x >> 0 && 0 <= x) || isString(x); | ||
}; | ||
// Internals | ||
@@ -996,4 +1050,8 @@ | ||
function cache(o) { | ||
if (process.env.NODE_ENV !== "production") warn(cache, "`L.cache` is experimental and might be removed or changed before next major release."); | ||
var cache = /*#__PURE__*/(process.env.NODE_ENV === "production" ? id : function (fn$$1) { | ||
return function (_) { | ||
warn(cache, "`L.cache` will be removed. See CHANGELOG."); | ||
return fn$$1.apply(null, arguments); | ||
}; | ||
})(function (o) { | ||
var map = arguments[1] || new Map(); | ||
@@ -1008,3 +1066,3 @@ var C_ = void 0, | ||
}; | ||
} | ||
}); | ||
@@ -1086,2 +1144,4 @@ // Transforming | ||
var entries = /*#__PURE__*/toFunction([keyed, elems]); | ||
var flatten = | ||
@@ -1092,9 +1152,3 @@ /*#__PURE__*/lazy(function (rec) { | ||
var values = /*#__PURE__*/(process.env.NODE_ENV === "production" ? id : par(2, ef(reqApplicative("values"))))(function (xs, _i, A, xi2yA) { | ||
if (xs instanceof Object) { | ||
return A === Ident ? mapPartialObjectU(xi2yA, toObject(xs)) : branchOn(keys(xs), void 0)(xs, void 0, A, xi2yA); | ||
} else { | ||
return A.of(xs); | ||
} | ||
}); | ||
var keys$1 = /*#__PURE__*/toFunction([keyed, elems, 0]); | ||
@@ -1105,3 +1159,3 @@ var matches = /*#__PURE__*/(process.env.NODE_ENV === "production" ? id : dep(function (_ref5) { | ||
return re.global ? res(par(2, ef(reqApplicative("matches", re)))) : id; | ||
return re.global ? res(par(2, and$1(warnDelay, ef(reqApplicative("matches", re))))) : id; | ||
}))(function (re) { | ||
@@ -1132,2 +1186,10 @@ return function (x, _i, C, xi2yC) { | ||
var values = /*#__PURE__*/(process.env.NODE_ENV === "production" ? id : par(2, ef(reqApplicative("values"))))(function (xs, _i, A, xi2yA) { | ||
if (xs instanceof Object) { | ||
return A === Ident ? mapPartialObjectU(xi2yA, toObject(xs)) : branchOn(keys(xs), void 0)(xs, void 0, A, xi2yA); | ||
} else { | ||
return A.of(xs); | ||
} | ||
}); | ||
// Folds over traversals | ||
@@ -1164,2 +1226,14 @@ | ||
var countsAs = /*#__PURE__*/curry(function (xi2k, t, s) { | ||
var counts = new Map(); | ||
forEach(function (x, i) { | ||
var k = xi2k(x, i), | ||
n = counts.get(k); | ||
counts.set(k, void 0 !== n ? n + 1 : 1); | ||
}, t, s); | ||
return counts; | ||
}); | ||
var counts = /*#__PURE__*/countsAs(id); | ||
var foldl = /*#__PURE__*/curry(function (f, r, t, s) { | ||
@@ -1252,5 +1326,7 @@ return fold(f, r, traverseU(Collect, pair, t, s)); | ||
var augment = /*#__PURE__*/(process.env.NODE_ENV === "production" ? id : fn(nth(0, ef(reqTemplate("augment"))), function (lens) { | ||
var augment = /*#__PURE__*/(process.env.NODE_ENV === "production" ? id : fn(nth(0, ef(reqTemplate("augment"))), and$1(function (lens) { | ||
return toFunction([isoU(id, freeze), lens, isoU(freeze, ef(reqObject("`augment` must be set with undefined or an object")))]); | ||
}))(function (template) { | ||
}, ef(function () { | ||
warn(augment, "`L.augment` will be removed. See CHANGELOG."); | ||
}))))(function (template) { | ||
return lensU(function (x) { | ||
@@ -1299,7 +1375,3 @@ x = dissocPartialU(0, x); | ||
var normalize = function normalize(xi2x) { | ||
return function (x, i, F, xi2yF) { | ||
return F.map(function (x) { | ||
return void 0 !== x ? xi2x(x, i) : x; | ||
}, xi2yF(void 0 !== x ? xi2x(x, i) : x, i)); | ||
}; | ||
return [reread(xi2x), rewrite(xi2x)]; | ||
}; | ||
@@ -1311,2 +1383,8 @@ | ||
var reread = function reread(xi2x) { | ||
return function (x, i, _F, xi2yF) { | ||
return xi2yF(void 0 !== x ? xi2x(x, i) : x, i); | ||
}; | ||
}; | ||
var rewrite = function rewrite(yi2y) { | ||
@@ -1355,3 +1433,5 @@ return function (x, i, F, xi2yF) { | ||
var findHint = /*#__PURE__*/curry(function (xh2b, hint) { | ||
var findHint = /*#__PURE__*/(process.env.NODE_ENV === "production" ? curry : res(ef(function () { | ||
warn(findHint, "`L.findHint` will be merged into `L.find`. See CHANGELOG."); | ||
})))(function (xh2b, hint) { | ||
return function (xs, _i, F, xi2yF) { | ||
@@ -1366,6 +1446,11 @@ var ys = seemsArrayLike(xs) ? xs : "", | ||
function findWith() { | ||
var findWith = /*#__PURE__*/(process.env.NODE_ENV === "production" ? id : function (fn$$1) { | ||
return function () { | ||
if (arguments.length !== 1) warn(findWith, "`L.findWith` will be changed to support a hint parameter. Just replace `L.findWith(...ls)` with `L.findWith([...ls])`. See CHANGELOG."); | ||
return fn$$1.apply(null, arguments); | ||
}; | ||
})(function () { | ||
var oos = toFunction(compose.apply(undefined, arguments)); | ||
return [find(isDefined$1(oos)), oos]; | ||
} | ||
}); | ||
@@ -1510,2 +1595,30 @@ var index = process.env.NODE_ENV !== "production" ? ef(reqIndex) : id; | ||
var indexed = /*#__PURE__*/isoU(expect(seemsArrayLike, (process.env.NODE_ENV === "production" ? id : res(freezeArrayOfObjects))(function (xs) { | ||
var n = xs.length, | ||
xis = Array(n); | ||
for (var i = 0; i < n; ++i) { | ||
xis[i] = [i, xs[i]]; | ||
}return xis; | ||
})), expect(isDefined, (process.env.NODE_ENV === "production" ? id : res(freeze))(function (xis) { | ||
var n = xis.length, | ||
xs = Array(n); | ||
for (var i = 0; i < n; ++i) { | ||
var xi = xis[i]; | ||
if (xi.length === 2) xs[xi[0]] = xi[1]; | ||
} | ||
n = xs.length; | ||
var j = 0; | ||
for (var _i3 = 0; _i3 < n; ++_i3) { | ||
var x = xs[_i3]; | ||
if (void 0 !== x) { | ||
if (_i3 !== j) xs[j] = x; | ||
++j; | ||
} | ||
} | ||
if (j) { | ||
xs.length = j; | ||
return xs; | ||
} | ||
}))); | ||
var is = function is(v) { | ||
@@ -1548,8 +1661,16 @@ return isoU(function (x) { | ||
// Auxiliary | ||
// Interop | ||
var seemsArrayLike = function seemsArrayLike(x) { | ||
return x instanceof Object && (x = x.length, x === x >> 0 && 0 <= x) || isString(x); | ||
var pointer = function pointer(s) { | ||
if (s[0] === '#') s = decodeURIComponent(s); | ||
var ts = s.split('/'); | ||
var n = ts.length; | ||
for (var i = 1; i < n; ++i) { | ||
var t = ts[i]; | ||
ts[i - 1] = /^0|[1-9]\d*$/.test(t) ? iftes(isArrayOrPrimitive, Number(t), t) : '-' === t ? iftes(isArrayOrPrimitive, append, t) : t.replace('~1', '/').replace('~0', '~'); | ||
} | ||
ts.length = n - 1; | ||
return ts; | ||
}; | ||
export { toFunction, assign, modify, remove, set, transform, traverse, compose, lazy, choices, choose, iftes, orElse, chain, choice, when, optional, zero, cache, assignOp, modifyOp, setOp, removeOp, log, seq, branch, elems, flatten, values, matches, all, and, any, collectAs, collect, concatAs, concat, countIf, count, foldl, foldr, forEach, isDefined$1 as isDefined, isEmpty, joinAs, join, maximumBy, maximum, meanAs, mean, minimumBy, minimum, none, or, productAs, product, selectAs, select, sumAs, sum, get, lens, setter, foldTraversalLens, augment, defaults, define, normalize, required, rewrite, append, filter, find, findHint, findWith, index, last, prefix, slice, suffix, pickIn, prop, props, propsOf, removable, valueOr, pick, replace, getInverse, iso, array, inverse, complement, identity, is, singleton, uri, uriComponent, json, seemsArrayLike }; | ||
export { seemsArrayLike, toFunction, assign, modify, remove, set, transform, traverse, compose, lazy, choices, choose, iftes, orElse, chain, choice, when, optional, zero, cache, assignOp, modifyOp, setOp, removeOp, log, seq, branch, elems, entries, flatten, keys$1 as keys, matches, values, all, and, any, collectAs, collect, concatAs, concat, countIf, count, countsAs, counts, foldl, foldr, forEach, isDefined$1 as isDefined, isEmpty, joinAs, join, maximumBy, maximum, meanAs, mean, minimumBy, minimum, none, or, productAs, product, selectAs, select, sumAs, sum, get, lens, setter, foldTraversalLens, augment, defaults, define, normalize, required, reread, rewrite, append, filter, find, findHint, findWith, index, last, prefix, slice, suffix, pickIn, prop, props, propsOf, removable, valueOr, pick, replace, getInverse, iso, array, inverse, complement, identity, indexed, is, keyed, singleton, uri, uriComponent, json, pointer }; |
@@ -51,3 +51,13 @@ (function (global, factory) { | ||
var and$1 = function and() { | ||
for (var _len3 = arguments.length, xCs = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { | ||
xCs[_key3] = arguments[_key3]; | ||
} | ||
return function (x) { | ||
for (var i = 0, n = xCs.length; i < n; ++i) { | ||
x = xCs[i](x); | ||
}return x; | ||
}; | ||
}; | ||
@@ -111,2 +121,6 @@ var ef = function ef(xE) { | ||
var instanceofObject = function instanceofObject(x) { | ||
return x instanceof Object; | ||
}; | ||
var expect = function expect(p, f) { | ||
@@ -134,2 +148,11 @@ return function (x) { | ||
function freezeArrayOfObjects(xs) { | ||
xs.forEach(freeze); | ||
return freeze(xs); | ||
} | ||
var isArrayOrPrimitive = function isArrayOrPrimitive(x) { | ||
return !(x instanceof Object) || Array.isArray(x); | ||
}; | ||
// | ||
@@ -251,2 +274,6 @@ | ||
var warnDelay = /*#__PURE__*/ef(function (C) { | ||
if (C !== Select && C.delay) warn(warnDelay, "Support for `delay` operation will be removed. See CHANGELOG."); | ||
}); | ||
// | ||
@@ -388,3 +415,3 @@ | ||
var traversePartialIndex = /*#__PURE__*/(par(0, ef(reqApplicative("elems"))))(function (A, xi2yA, xs) { | ||
var traversePartialIndex = /*#__PURE__*/(par(0, and$1(warnDelay, ef(reqApplicative("elems")))))(function (A, xi2yA, xs) { | ||
var map = A.map, | ||
@@ -651,7 +678,8 @@ ap = A.ap, | ||
function mapPartialObjectU(xi2y, o, r) { | ||
var mapPartialObjectU = /*#__PURE__*/(res(freeze))(function (xi2y, o) { | ||
var r = void 0; | ||
for (var k in o) { | ||
var v = xi2y(o[k], k); | ||
if (void 0 !== v) { | ||
if (!r) r = {}; | ||
if (void 0 === r) r = {}; | ||
r[k] = v; | ||
@@ -661,3 +689,3 @@ } | ||
return r; | ||
} | ||
}); | ||
@@ -711,3 +739,3 @@ var branchOnMerge = /*#__PURE__*/(res(res(freeze)))(function (x, keys$$1) { | ||
return res(par(2, ef(reqApplicative(vals ? "branch" : "values")))); | ||
return res(par(2, and$1(warnDelay, ef(reqApplicative(vals ? "branch" : "values"))))); | ||
}))(function (keys$$1, vals) { | ||
@@ -838,2 +866,22 @@ return function (x, _i, A, xi2yA) { | ||
var keyed = /*#__PURE__*/isoU(expect(instanceofObject, (res(freezeArrayOfObjects))(function (x) { | ||
x = toObject(x); | ||
var es = []; | ||
for (var key in x) { | ||
es.push([key, x[key]]); | ||
}return es; | ||
})), expect(I.isDefined, (res(freeze))(function (es) { | ||
var o = void 0; | ||
for (var i = 0, n = es.length; i < n; ++i) { | ||
var entry = es[i]; | ||
if (entry.length === 2) { | ||
if (void 0 === o) o = {}; | ||
o[entry[0]] = entry[1]; | ||
} | ||
} | ||
return o; | ||
}))); | ||
// | ||
var matchesJoin = function matchesJoin(input) { | ||
@@ -882,2 +930,8 @@ return function (matches) { | ||
// Auxiliary | ||
var seemsArrayLike = function seemsArrayLike(x) { | ||
return x instanceof Object && (x = x.length, x === x >> 0 && 0 <= x) || I.isString(x); | ||
}; | ||
// Internals | ||
@@ -1000,4 +1054,8 @@ | ||
function cache(o) { | ||
warn(cache, "`L.cache` is experimental and might be removed or changed before next major release."); | ||
var cache = /*#__PURE__*/(function (fn$$1) { | ||
return function (_) { | ||
warn(cache, "`L.cache` will be removed. See CHANGELOG."); | ||
return fn$$1.apply(null, arguments); | ||
}; | ||
})(function (o) { | ||
var map = arguments[1] || new Map(); | ||
@@ -1012,3 +1070,3 @@ var C_ = void 0, | ||
}; | ||
} | ||
}); | ||
@@ -1090,2 +1148,4 @@ // Transforming | ||
var entries = /*#__PURE__*/toFunction([keyed, elems]); | ||
var flatten = | ||
@@ -1096,9 +1156,3 @@ /*#__PURE__*/lazy(function (rec) { | ||
var values = /*#__PURE__*/(par(2, ef(reqApplicative("values"))))(function (xs, _i, A, xi2yA) { | ||
if (xs instanceof Object) { | ||
return A === Ident ? mapPartialObjectU(xi2yA, toObject(xs)) : branchOn(I.keys(xs), void 0)(xs, void 0, A, xi2yA); | ||
} else { | ||
return A.of(xs); | ||
} | ||
}); | ||
var keys$1 = /*#__PURE__*/toFunction([keyed, elems, 0]); | ||
@@ -1109,3 +1163,3 @@ var matches = /*#__PURE__*/(dep(function (_ref5) { | ||
return re.global ? res(par(2, ef(reqApplicative("matches", re)))) : I.id; | ||
return re.global ? res(par(2, and$1(warnDelay, ef(reqApplicative("matches", re))))) : I.id; | ||
}))(function (re) { | ||
@@ -1136,2 +1190,10 @@ return function (x, _i, C, xi2yC) { | ||
var values = /*#__PURE__*/(par(2, ef(reqApplicative("values"))))(function (xs, _i, A, xi2yA) { | ||
if (xs instanceof Object) { | ||
return A === Ident ? mapPartialObjectU(xi2yA, toObject(xs)) : branchOn(I.keys(xs), void 0)(xs, void 0, A, xi2yA); | ||
} else { | ||
return A.of(xs); | ||
} | ||
}); | ||
// Folds over traversals | ||
@@ -1168,2 +1230,14 @@ | ||
var countsAs = /*#__PURE__*/I.curry(function (xi2k, t, s) { | ||
var counts = new Map(); | ||
forEach(function (x, i) { | ||
var k = xi2k(x, i), | ||
n = counts.get(k); | ||
counts.set(k, void 0 !== n ? n + 1 : 1); | ||
}, t, s); | ||
return counts; | ||
}); | ||
var counts = /*#__PURE__*/countsAs(I.id); | ||
var foldl = /*#__PURE__*/I.curry(function (f, r, t, s) { | ||
@@ -1256,5 +1330,7 @@ return fold(f, r, traverseU(Collect, pair, t, s)); | ||
var augment = /*#__PURE__*/(fn(nth(0, ef(reqTemplate("augment"))), function (lens) { | ||
var augment = /*#__PURE__*/(fn(nth(0, ef(reqTemplate("augment"))), and$1(function (lens) { | ||
return toFunction([isoU(I.id, freeze), lens, isoU(freeze, ef(reqObject("`augment` must be set with undefined or an object")))]); | ||
}))(function (template) { | ||
}, ef(function () { | ||
warn(augment, "`L.augment` will be removed. See CHANGELOG."); | ||
}))))(function (template) { | ||
return lensU(function (x) { | ||
@@ -1303,7 +1379,3 @@ x = I.dissocPartialU(0, x); | ||
var normalize = function normalize(xi2x) { | ||
return function (x, i, F, xi2yF) { | ||
return F.map(function (x) { | ||
return void 0 !== x ? xi2x(x, i) : x; | ||
}, xi2yF(void 0 !== x ? xi2x(x, i) : x, i)); | ||
}; | ||
return [reread(xi2x), rewrite(xi2x)]; | ||
}; | ||
@@ -1315,2 +1387,8 @@ | ||
var reread = function reread(xi2x) { | ||
return function (x, i, _F, xi2yF) { | ||
return xi2yF(void 0 !== x ? xi2x(x, i) : x, i); | ||
}; | ||
}; | ||
var rewrite = function rewrite(yi2y) { | ||
@@ -1359,3 +1437,5 @@ return function (x, i, F, xi2yF) { | ||
var findHint = /*#__PURE__*/I.curry(function (xh2b, hint) { | ||
var findHint = /*#__PURE__*/(res(ef(function () { | ||
warn(findHint, "`L.findHint` will be merged into `L.find`. See CHANGELOG."); | ||
})))(function (xh2b, hint) { | ||
return function (xs, _i, F, xi2yF) { | ||
@@ -1370,6 +1450,11 @@ var ys = seemsArrayLike(xs) ? xs : "", | ||
function findWith() { | ||
var findWith = /*#__PURE__*/(function (fn$$1) { | ||
return function () { | ||
if (arguments.length !== 1) warn(findWith, "`L.findWith` will be changed to support a hint parameter. Just replace `L.findWith(...ls)` with `L.findWith([...ls])`. See CHANGELOG."); | ||
return fn$$1.apply(null, arguments); | ||
}; | ||
})(function () { | ||
var oos = toFunction(compose.apply(undefined, arguments)); | ||
return [find(isDefined$1(oos)), oos]; | ||
} | ||
}); | ||
@@ -1514,2 +1599,30 @@ var index = ef(reqIndex); | ||
var indexed = /*#__PURE__*/isoU(expect(seemsArrayLike, (res(freezeArrayOfObjects))(function (xs) { | ||
var n = xs.length, | ||
xis = Array(n); | ||
for (var i = 0; i < n; ++i) { | ||
xis[i] = [i, xs[i]]; | ||
}return xis; | ||
})), expect(I.isDefined, (res(freeze))(function (xis) { | ||
var n = xis.length, | ||
xs = Array(n); | ||
for (var i = 0; i < n; ++i) { | ||
var xi = xis[i]; | ||
if (xi.length === 2) xs[xi[0]] = xi[1]; | ||
} | ||
n = xs.length; | ||
var j = 0; | ||
for (var _i3 = 0; _i3 < n; ++_i3) { | ||
var x = xs[_i3]; | ||
if (void 0 !== x) { | ||
if (_i3 !== j) xs[j] = x; | ||
++j; | ||
} | ||
} | ||
if (j) { | ||
xs.length = j; | ||
return xs; | ||
} | ||
}))); | ||
var is = function is(v) { | ||
@@ -1552,8 +1665,17 @@ return isoU(function (x) { | ||
// Auxiliary | ||
// Interop | ||
var seemsArrayLike = function seemsArrayLike(x) { | ||
return x instanceof Object && (x = x.length, x === x >> 0 && 0 <= x) || I.isString(x); | ||
var pointer = function pointer(s) { | ||
if (s[0] === '#') s = decodeURIComponent(s); | ||
var ts = s.split('/'); | ||
var n = ts.length; | ||
for (var i = 1; i < n; ++i) { | ||
var t = ts[i]; | ||
ts[i - 1] = /^0|[1-9]\d*$/.test(t) ? iftes(isArrayOrPrimitive, Number(t), t) : '-' === t ? iftes(isArrayOrPrimitive, append, t) : t.replace('~1', '/').replace('~0', '~'); | ||
} | ||
ts.length = n - 1; | ||
return ts; | ||
}; | ||
exports.seemsArrayLike = seemsArrayLike; | ||
exports.toFunction = toFunction; | ||
@@ -1586,5 +1708,7 @@ exports.assign = assign; | ||
exports.elems = elems; | ||
exports.entries = entries; | ||
exports.flatten = flatten; | ||
exports.keys = keys$1; | ||
exports.matches = matches; | ||
exports.values = values; | ||
exports.matches = matches; | ||
exports.all = all; | ||
@@ -1599,2 +1723,4 @@ exports.and = and; | ||
exports.count = count; | ||
exports.countsAs = countsAs; | ||
exports.counts = counts; | ||
exports.foldl = foldl; | ||
@@ -1630,2 +1756,3 @@ exports.foldr = foldr; | ||
exports.required = required; | ||
exports.reread = reread; | ||
exports.rewrite = rewrite; | ||
@@ -1656,3 +1783,5 @@ exports.append = append; | ||
exports.identity = identity; | ||
exports.indexed = indexed; | ||
exports.is = is; | ||
exports.keyed = keyed; | ||
exports.singleton = singleton; | ||
@@ -1662,3 +1791,3 @@ exports.uri = uri; | ||
exports.json = json; | ||
exports.seemsArrayLike = seemsArrayLike; | ||
exports.pointer = pointer; | ||
@@ -1665,0 +1794,0 @@ Object.defineProperty(exports, '__esModule', { value: true }); |
@@ -1,1 +0,1 @@ | ||
!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("infestines")):"function"==typeof define&&define.amd?define(["exports","infestines"],r):r(n.L={},n.I)}(this,function(n,r){"use strict";function t(n,r){return[n,r]}function u(n,t,u){var e={map:r.sndU,ap:n,of:r.always(t)};return u&&(e.delay=u),e}function e(n,r){this.l=n,this.r=r}function i(n,r){for(;n&&K(n);){var t=n.l;n=n.r,t&&K(t)?i(t.r,i(t.l,r)):r.push(t)}return r.push(n),r}function o(n,r,t){for(;K(t);){var u=t.l;t=t.r,r=K(u)?o(n,o(n,r,u.l),u.r):n(r,u[0],u[1])}return n(r,t[0],t[1])}function c(n){for(;n.constructor===Function;)n=n();return n}function f(n,r){for(var t,u=0,e=r.length;u<e;++u)if(t=c(n(r[u],u)),Y!==t)return t;return Y}function a(n){if(!(n instanceof Object))return n;for(var r in n)return n}function v(n,r){var t=r.length-n;if(t<2)return t?Cn(r[n]):Yr;for(var u=Array(t),e=0;e<t;++e)u[e]=Cn(r[e+n]);return function(n,r,e,i){for(var o=t;--o;)i=hn(u[o],e,i);return u[0](n,r,e,i)}}function d(n){var r=function n(r,t){return n.v=t,r};return r.v=n,r}function s(n,r,t,u){for(var e,i=n.length;t<i;++t)switch(typeof(e=n[t])){case"string":r=an(u.v=e,r);break;case"number":r=sn(u.v=e,r);break;case"object":r=s(e,r,0,u);break;default:r=e(r,u.v,_,u)}return r}function l(n,t,u,e){for(var i,o=n.length,c=Array(o),f=0;f<o;++f)switch(c[f]=u,typeof(i=n[f])){case"string":u=an(i,u);break;case"number":u=sn(i,u);break;default:u=v(f,n)(u,n[f-1],J,t||r.always(e)),o=f}o===n.length&&(u=t?t(u,n[o-1]):e);for(var a;0<=--o;)u=r.isString(a=n[o])?vn(a,u,c[o]):ln(a,u,c[o]);return u}function p(n,r,t){for(var u in r){var e=n(r[u],u);void 0!==e&&(t||(t={}),t[u]=e)}return t}function h(n,r,t,u,e,i,o,c,f,a){if(a<n.length){var v=n[a],d=f[v];return u(t(D,r?r[a](d,v,o,c):c(d,v)),i(function(){return h(n,r,t,u,e,i,o,c,f,a+1)}))}return e}function y(n,r){for(var t=r.length,u=0;u<t;++u)if(n(r[u],u))return u;return t}function g(n,r,t){var u=t.length,e=n.hint;u<=e&&(e=u-1),e<0&&(e=0);for(var i=e-1;0<=i&&e<u;++e,--i){if(r(t[e],n))return e;if(r(t[i],n))return i}for(;e<u;++e)if(r(t[e],n))return e;for(;0<=i;--i)if(r(t[i],n))return i;return u}function m(n,r){var t=r.lastIndex;r.lastIndex=Rn(n)+n[0].length;var u=r.exec(n.input);if(r.lastIndex=t,u&&u[0])return u}function b(n,r,t,u,e,i,o){for(var c=[];o=m(o,i);)c.push(o);for(var f=c.length,a=t(qn);f--;)o=c[f],a=r(r(n(qn,t(o)),e(Mn(o),Rn(o))),a);return a}function j(n,t,u,e,i){var o=u.of;return o?o(n):u.map(r.always(n),e(i,t))}function A(){var n=arguments.length;if(n<2)return n?arguments[0]:Yr;for(var r=Array(n);n--;)r[n]=arguments[n];return r}function O(n){function r(n,r,u,e){return t(n,r,u,e)}var t=function(u,e,i,o){return(t=Cn(n(r)))(u,e,i,o)};return r}function U(n,r){for(var t=arguments.length,u=Cn(1&t?arguments[--t]:Vn);0<=(t-=2);)u=Bn(arguments[t],Cn(arguments[t+1]),u);return u}function w(n,r){return 1<arguments.length?mn(n,r):function(r){return mn(n,r)}}function x(){for(var n,r=arguments.length,t={},u=0;u<r;++u)t[n=arguments[u]]=n;return Kr(t)}function k(n,r){return 1<arguments.length?yn(n,r,void 0):function(r){return yn(n,r,void 0)}}var S=function(n,t){return n?r.pipe2U(n,t):t},I=function(n){return!n},M=function(n,r){return n<r},R=function(n,r){return n>r},q=function(n,r,t,u){return void 0!==u?Math.min(Math.max(n,u<0?r+u:u),r):t},D=function(n){return function(r){return[n,r]}},E=function(n){return function(r){return void 0!==r?r:n}},B=E(0),P=function(n){return void 0!==n?!n:n},z=function(n){return void 0!==n?[n]:void 0},C=function(n,r){return function(t){return n(t)?r(t):void 0}},L=r.id(function(n,r){for(var t,u=r.length,e=Array(u),i=0,o=0;o<u;++o)void 0!==(t=n(r[o],o))&&(e[i++]=t);if(i)return i<u&&(e.length=i),e}),N=function(n,t){return tt(t)?L(n,t)||r.array0:void 0},F=r.id(function(n,r,t,u,e){for(;u<e;)n[r++]=t[u++];return n}),J={map:r.applyU,of:r.id,ap:r.applyU,chain:r.applyU},_={map:r.sndU},H=u(function(n,r){return n+r},0),T=function(n){return u(function(r,t){return void 0===t||void 0!==r&&!n(t,r)?r:t})},W=function(n){return function(r){return u(function(t,u){var e=u&&r(u[0],u[1]);if(void 0===e)return t;var i=t&&r(t[0],t[1]);return void 0===i?u:n(e,i)?u:t})}},G=function(n,r,t,u){return Cn(t)(u,void 0,n,r)},K=function(n){return n.constructor===e},Q=r.id(function(n){if(void 0!==n)return i(n,[])}),V=function(n,r,t){return void 0!==t?o(n,r,t):r},X=u(function(n,r){return void 0!==n?void 0!==r?new e(n,r):n:r}),Y=r.object0,Z={v:!0},$=u(function(n,r){return void 0!==(n=c(n)).v?n:r},Y,r.id),nn=function(n){return function(r,t,u){return c(G($,S(r,n),t,u)).v}},rn=nn(function(n){return n?Z:Y}),tn=function(n,t){return r.curryN(4,function(r,u){return u=t(u),function(t,e){return n(G(u,r,t,e))}})},un=function(n){return function(r){return void 0!==n?[n,r]:r}},en=r.id(function(n){if(un!==n){var r=[];do{r.push(n[0]),n=n[1]}while(un!==n);return r}}),on=function n(r,t,u,e,i,o,c,f){return c<f?t(r(un,i(o[c],c)),e(function(){return n(r,t,u,e,i,o,c+1,f)})):u},cn=r.id(function(n,r,t){var u=n.map,e=n.ap,i=n.of,o=n.delay,c=i(un),f=t.length;if(o)c=on(u,e,c,o,r,t,0,f);else for(;f--;)c=e(u(un,r(t[f],f)),c);return u(en,c)}),fn=function(n,r){return function(t){return function(u,e,i,o){return i.map(function(n){return r(t,n,u)},o(n(t,u),t))}}},an=function(n,r){return r instanceof Object?r[n]:void 0},vn=r.id(function(n,t,u){return void 0!==t?r.assocPartialU(n,t,u):r.dissocPartialU(n,u)}),dn=fn(an,vn),sn=function(n,r){return tt(r)?r[n]:void 0},ln=r.id(function(n,r,t){tt(t)||(t="");var u=t.length;if(void 0!==r){for(var e=Math.max(n+1,u),i=Array(e),o=0;o<e;++o)i[o]=t[o];return i[n]=r,i}if(0<u){if(u<=n)return F(Array(u),0,t,0,u);if(1<u){for(var c=Array(u-1),f=0;f<n;++f)c[f]=t[f];for(var a=n+1;a<u;++a)c[a-1]=t[a];return c}}}),pn=fn(sn,ln),hn=function(n,r,t){return function(u,e){return n(u,e,r,t)}},yn=r.id(function(n,t,u){switch(typeof n){case"string":return vn(n,t,u);case"number":return ln(n,t,u);case"object":return l(n,0,u,t);default:return 4===n.length?n(u,void 0,J,r.always(t)):u}}),gn=r.id(function(n,r,t){switch(typeof n){case"string":return vn(n,r(an(n,t),n),t);case"number":return ln(n,r(sn(n,t),n),t);case"object":return l(n,r,t);default:return 4===n.length?n(t,void 0,J,r):(r(n(t,void 0),void 0),t)}}),mn=r.id(function(n,t){switch(typeof n){case"string":return an(n,t);case"number":return sn(n,t);case"object":for(var u,e=0,i=n.length;e<i;++e)switch(typeof(u=n[e])){case"string":t=an(u,t);break;case"number":t=sn(u,t);break;default:return s(n,t,e,d(n[e-1]))}return t;default:return n(t,void 0,_,r.id)}}),bn=function(n,r){return function(t,u,e,i){return e.map(function(n){return r(n,t,u)},i(n(t,u),u))}},jn=function(n,r){return function(t,u,e,i){return e.map(r,i(n(t),u))}},An=r.id(function(n,t){var u=void 0;for(var e in n){var i=n[e],o=r.isObject(i)?An(i,t):mn(i,t);void 0!==o&&(u||(u={}),u[e]=o)}return u}),On=r.id(function(n,t,u){for(var e in n){var i=t&&t[e],o=n[e];u=r.isObject(o)?On(o,i,u):yn(o,i,u)}return u}),Un=function(n){return r.constructorOf(n)!==Object?Object.assign({},n):n},wn=r.id(function(n,r){return function(t){for(var u={},e=r.length,i=0;i<e;++i,t=t[1]){var o=t[0];u[r[i]]=void 0!==o?o:u}var c=void 0;n=Un(n);for(var f in n){var a=u[f];u!==a&&(u[f]=u,c||(c={}),c[f]=void 0!==a?a:n[f])}for(var v=0;v<e;++v){var d=r[v],s=u[d];u!==s&&(c||(c={}),c[d]=s)}return c}}),xn=r.id(function(n,t){return function(u,e,i,o){var c=i.map,f=i.ap,v=i.of,d=i.delay,s=n.length;if(!s)return v(a(u));u instanceof Object||(u=r.object0);var l=v(D);if(d)l=h(n,t,c,f,l,d,i,o,u,0);else for(;s--;){var p=n[s],y=u[p];l=f(c(D,t?t[s](y,p,i,o):o(y,p)),l)}return c(wn(u,n),l)}}),kn=function(n,t,u){return r.acyclicEqualsU(u,n)?t:u},Sn=r.id(function(n,r,t,u){for(var e,i=0,o=r.length;i<o;++i)(n(e=r[i],i)?t:u).push(e)}),In=function(n){return function(t,u,e,i){return e.map(r.always(t),i(n(t,u),u))}},Mn=function(n){return n[0]},Rn=function(n){return n.index},qn=function(n){return function(r){return function(t){return[n,r,t]}}},Dn=function n(r,t,u,e,i,o,c){return(c=m(c,o))?t(t(r(qn,u(c)),i(Mn(c),Rn(c))),e(function(){return n(r,t,u,e,i,o,c)})):u(qn)},En=function(n){return function(r){for(var t="",u=0;qn!==r;){var e=r[0],i=Rn(e);t+=n.slice(u,i);var o=r[1];void 0!==o&&(t+=o),u=i+e[0].length,r=r[2]}return(t+=n.slice(u))||void 0}},Bn=function(n,r,t){return function(u,e,i,o){return(n(u,e)?r:t)(u,e,i,o)}},Pn=function(n,r){return r=Cn(r),n=Cn(n),function(t,u,e,i){return(yr(r,t)?r:n)(t,u,e,i)}},zn=function(n,r){return[r,Tr(n)]},Cn=r.id(function(n){switch(typeof n){case"string":return dn(n);case"number":return pn(n);case"object":return v(0,n);default:return 4===n.length?n:In(n)}}),Ln=r.curry(function(n,r,t){return yn([n,Gr(r)],r,t)}),Nn=r.curry(gn),Fn=r.curry(function(n,r){return yn(n,void 0,r)}),Jn=r.curry(yn),_n=r.curry(function(n,t){return gn(n,r.id,t)}),Hn=r.curry(G),Tn=function(n){return function(r,t,u,e){return Cn(n(r,t))(r,t,u,e)}},Wn=r.curry(Pn),Gn=r.curry(function(n,r){return[r,Tn(function(r,t){return void 0!==r?n(r,t):Vn})]}),Kn=function(n){return function(r,t,u,e){return n(r,t)?e(r,t):j(r,t,u,e)}},Qn=Kn(r.isDefined),Vn=function(n,r,t,u){return j(n,r,t,u)},Xn=function(n){return function(r,t,u,e){return j(n,t,u,e,n)}},Yn=Xn(),Zn=r.id(function(){function n(u,e,i,o){return o===r?u.of:function(r){return u.chain(n(u,e,i,o+1),t[o](r,i,u,e))}}for(var r=arguments.length,t=Array(r),u=0;u<r;++u)t[u]=Cn(arguments[u]);return function(r,t,u,e){return n(u,e,t,0)(r)}}),$n=r.id(function(n){var t=[],u=[];for(var e in n){t.push(e);var i=n[e];u.push(r.isObject(i)?$n(i):Cn(i))}return xn(t,u)}),nr=r.id(function(n,r,t,u){return tt(n)?t===J?L(u,n):t===$?f(u,n):cn(t,u,n):t.of(n)}),rr=O(function(n){return U(Array.isArray,[nr,n],Yr)}),tr=r.id(function(n,t,u,e){return n instanceof Object?u===J?p(e,Un(n)):xn(r.keys(n),void 0)(n,void 0,u,e):u.of(n)}),ur=r.id(function(n){return function(t,u,e,i){if(r.isString(t)){var o=e.map;if(n.global){var c=e.ap,f=e.of,a=e.delay,v=[""];return v.input=t,v.index=0,o(En(t),(a?Dn:b)(o,c,f,a,i,n,v))}var d=t.match(n);if(d)return o(function(r){return t.replace(n,void 0!==r?r:"")||void 0},i(d[0],Rn(d)))}return j(t,void 0,e,i)}}),er=r.pipe2U(nn(function(n){return n?Y:Z}),I),ir=er(),or=r.pipe2U(rn,Boolean),cr=r.curry(function(n,t,u){return Q(G(X,n,t,u))||r.array0}),fr=cr(r.id),ar=tn(r.id,function(n){return u(n.concat,n.empty(),n.delay)}),vr=ar(r.id),dr=r.curry(function(n,r,t){return G(H,function(r,t){return n(r,t)?1:0},r,t)}),sr=dr(r.isDefined),lr=r.curry(function(n,r,u,e){return V(n,r,G(X,t,u,e))}),pr=r.curry(function(n,r,u,e){for(var i=cr(t,u,e),o=i.length-1;0<=o;--o){var c=i[o];r=n(r,c[0],c[1])}return r}),hr=r.curry(function(n,r,u){V(function(r,t,u){n(t,u)},void 0,G(X,t,r,u))}),yr=r.pipe2U(nn(function(n){return void 0!==n?Z:Y}),Boolean)(),gr=r.pipe2U(nn(r.always(Z)),I)(),mr=tn(function(n){return void 0!==n?String(n):""},r.id(function(n){return u(function(r,t){return void 0!==r?void 0!==t?r+n+t:r:t})})),br=mr(r.id),jr=tn(Mn,W(R))(t),Ar=Hn(T(R),r.id),Or=r.curry(function(n,t,u){return Dr(S(n,B),t,u)/Dr(S(n,r.isDefined),t,u)}),Ur=Or(),wr=tn(Mn,W(M))(t),xr=Hn(T(M),r.id),kr=r.pipe2U(rn,I),Sr=or(),Ir=Hn(u(function(n,r){return n*r},1)),Mr=Ir(E(1)),Rr=r.curry(nn(function(n){return void 0!==n?{v:n}:Y})),qr=Rr(),Dr=Hn(H),Er=Dr(B),Br=r.curry(bn),Pr=Br(r.id),zr=r.curry(function(n,r){return bn(n(r),Jn(r))}),Cr=r.id(function(n){return bn(function(t){if(t=r.dissocPartialU(0,t))for(var u in n)t[u]=n[u](t);return t},function(t,u){t=Un(t),u instanceof Object||(u=void 0);var e=void 0;for(var i in t)r.hasU(i,n)?u&&r.hasU(i,u)&&(e||(e={}),e[i]=u[i]):(e||(e={}),e[i]=t[i]);return e})}),Lr=r.id(function(n){return function(r,t,u,e){var i=void 0,o=void 0;return tt(r)&&Sn(n,r,i=[],o=[]),u.map(function(n){var r=n?n.length:0,t=o?o.length:0,u=r+t;if(u)return u===t?o:F(F(Array(u),0,n,0,r),r,o,0,t)},e(i,t))}}),Nr=function(n){return function(r,t,u,e){var i=tt(r)?r:"",o=y(n,i);return u.map(function(n){return ln(o,n,i)},e(i[o],o))}},Fr=r.curry(function(n,r){return function(t,u,e,i){var o=tt(t)?t:"",c=r.hint=g(r,n,o);return e.map(function(n){return ln(c,n,o)},i(o[c],c))}}),Jr=r.id,_r=Tn(function(n){return tt(n)&&n.length?n.length-1:0}),Hr=r.curry(function(n,r){return function(t,u,e,i){var o=tt(t),c=o&&t.length,f=q(0,c,0,n),a=q(f,c,c,r);return e.map(function(n){var r=n?n.length:0,u=f+r,e=c-a+u;return e?F(F(F(Array(e),0,t,0,f),f,n,0,r),u,t,a,c):void 0},i(o?F(Array(Math.max(0,a-f)),0,t,f,a):void 0,u))}}),Tr=function(n){return r.isObject(n)?Kr(p(zn,n)):n},Wr=r.id,Gr=function(n){return x.apply(null,r.keys(n))},Kr=r.id(function(n){return function(r,t,u,e){return u.map(function(t){return On(n,t,r)},e(An(n,r),t))}}),Qr=r.curry(function(n,r){function t(t){return kn(r,n,t)}return function(u,e,i,o){return i.map(t,o(kn(n,r,u),e))}}),Vr=r.curry(jn),Xr=jn(P,P),Yr=function(n,r,t,u){return u(n,r)},Zr=r.id(function(n,t,u,e){return u.map(z,e((n instanceof Object||r.isString(n))&&1===n.length?n[0]:void 0,t))}),$r=jn(C(r.isString,decodeURI),C(r.isString,encodeURI)),nt=jn(C(r.isString,decodeURIComponent),C(r.isString,encodeURIComponent)),rt=r.id(function(n){var t=n||r.object0,u=t.reviver,e=t.replacer,i=t.space;return jn(C(r.isString,function(n){return JSON.parse(n,u)}),C(r.isDefined,function(n){return JSON.stringify(n,e,i)}))}),tt=function(n){return n instanceof Object&&(n=n.length)===n>>0&&0<=n||r.isString(n)};n.toFunction=Cn,n.assign=Ln,n.modify=Nn,n.remove=Fn,n.set=Jn,n.transform=_n,n.traverse=Hn,n.compose=A,n.lazy=O,n.choices=function(n){for(var r=arguments.length,t=Array(r>1?r-1:0),u=1;u<r;u++)t[u-1]=arguments[u];return t.length?Pn(t.reduceRight(Pn),n):n},n.choose=Tn,n.iftes=U,n.orElse=Wn,n.chain=Gn,n.choice=function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return r.reduceRight(Pn,Vn)},n.when=Kn,n.optional=Qn,n.zero=Vn,n.cache=function(n){var t=arguments[1]||new Map,u=void 0,e=void 0;return n=Cn(n),function(i,o,c,f){var a=t.get(o);return a||t.set(o,a=[j]),r.identicalU(a[0],i)&&e===f&&u===c?a[1]:a[1]=n(a[0]=i,o,u=c,e=f)}},n.assignOp=function(n){return[Gr(n),Xn(n)]},n.modifyOp=function(n){return function(r,t,u,e){return j(r=n(r,t),t,u,e,r)}},n.setOp=Xn,n.removeOp=Yn,n.log=function(){var n=arguments,t=r.curry(function(r,t){return console.log.apply(console,F([],0,n,0,n.length).concat([r,t])),t});return jn(t("get"),t("set"))},n.seq=Zn,n.branch=$n,n.elems=nr,n.flatten=rr,n.values=tr,n.matches=ur,n.all=er,n.and=ir,n.any=or,n.collectAs=cr,n.collect=fr,n.concatAs=ar,n.concat=vr,n.countIf=dr,n.count=sr,n.foldl=lr,n.foldr=pr,n.forEach=hr,n.isDefined=yr,n.isEmpty=gr,n.joinAs=mr,n.join=br,n.maximumBy=jr,n.maximum=Ar,n.meanAs=Or,n.mean=Ur,n.minimumBy=wr,n.minimum=xr,n.none=kr,n.or=Sr,n.productAs=Ir,n.product=Mr,n.selectAs=Rr,n.select=qr,n.sumAs=Dr,n.sum=Er,n.get=w,n.lens=Br,n.setter=Pr,n.foldTraversalLens=zr,n.augment=Cr,n.defaults=function(n){function r(r){return kn(n,void 0,r)}return function(t,u,e,i){return e.map(r,i(void 0!==t?t:n,u))}},n.define=function(n){var r=E(n);return function(t,u,e,i){return e.map(r,i(void 0!==t?t:n,u))}},n.normalize=function(n){return function(r,t,u,e){return u.map(function(r){return void 0!==r?n(r,t):r},e(void 0!==r?n(r,t):r,t))}},n.required=function(n){return Qr(n,void 0)},n.rewrite=function(n){return function(r,t,u,e){return u.map(function(r){return void 0!==r?n(r,t):r},e(r,t))}},n.append=function(n,r,t,u){var e=tt(n)?n.length:0;return t.map(function(r){return ln(e,r,n)},u(void 0,e))},n.filter=Lr,n.find=Nr,n.findHint=Fr,n.findWith=function(){var n=Cn(A.apply(void 0,arguments));return[Nr(yr(n)),n]},n.index=Jr,n.last=_r,n.prefix=function(n){return Hr(0,n)},n.slice=Hr,n.suffix=function(n){return Hr(0===n?1/0:n?-n:0,void 0)},n.pickIn=Tr,n.prop=Wr,n.props=x,n.propsOf=Gr,n.removable=function(){function n(n){if(!(n instanceof Object))return n;for(var t=0,e=u.length;t<e;++t)if(r.hasU(u[t],n))return n}for(var t=arguments.length,u=Array(t),e=0;e<t;e++)u[e]=arguments[e];return function(r,t,u,e){return u.map(n,e(r,t))}},n.valueOr=function(n){return function(r,t,u,e){return e(null!=r?r:n,t)}},n.pick=Kr,n.replace=Qr,n.getInverse=k,n.iso=Vr,n.array=function(n){var r=k(n),t=w(n),u=function(n){return N(r,n)};return function(n,r,e,i){return e.map(u,i(N(t,n),r))}},n.inverse=function(n){return function(r,t,u,e){return u.map(function(r){return mn(n,r)},e(yn(n,r,void 0),t))}},n.complement=Xr,n.identity=Yr,n.is=function(n){return jn(function(t){return r.acyclicEqualsU(n,t)},function(r){return!0===r?n:void 0})},n.singleton=Zr,n.uri=$r,n.uriComponent=nt,n.json=rt,n.seemsArrayLike=tt,Object.defineProperty(n,"__esModule",{value:!0})}); | ||
!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("infestines")):"function"==typeof define&&define.amd?define(["exports","infestines"],r):r(n.L={},n.I)}(this,function(n,r){"use strict";function t(n,r){return[n,r]}function e(n,t,e){var u={map:r.sndU,ap:n,of:r.always(t)};return e&&(u.delay=e),u}function u(n,r){this.l=n,this.r=r}function i(n,r){for(;n&&K(n);){var t=n.l;n=n.r,t&&K(t)?i(t.r,i(t.l,r)):r.push(t)}return r.push(n),r}function o(n,r,t){for(;K(t);){var e=t.l;t=t.r,r=K(e)?o(n,o(n,r,e.l),e.r):n(r,e[0],e[1])}return n(r,t[0],t[1])}function c(n){for(;n.constructor===Function;)n=n();return n}function f(n,r){for(var t,e=0,u=r.length;e<u;++e)if(t=c(n(r[e],e)),Y!==t)return t;return Y}function a(n){if(!(n instanceof Object))return n;for(var r in n)return n}function v(n,r){var t=r.length-n;if(t<2)return t?Jn(r[n]):at;for(var e=Array(t),u=0;u<t;++u)e[u]=Jn(r[u+n]);return function(n,r,u,i){for(var o=t;--o;)i=yn(e[o],u,i);return e[0](n,r,u,i)}}function d(n){var r=function n(r,t){return n.v=t,r};return r.v=n,r}function s(n,r,t,e){for(var u,i=n.length;t<i;++t)switch(typeof(u=n[t])){case"string":r=vn(e.v=u,r);break;case"number":r=ln(e.v=u,r);break;case"object":r=s(u,r,0,e);break;default:r=u(r,e.v,H,e)}return r}function l(n,t,e,u){for(var i,o=n.length,c=Array(o),f=0;f<o;++f)switch(c[f]=e,typeof(i=n[f])){case"string":e=vn(i,e);break;case"number":e=ln(i,e);break;default:e=v(f,n)(e,n[f-1],_,t||r.always(u)),o=f}o===n.length&&(e=t?t(e,n[o-1]):u);for(var a;0<=--o;)e=r.isString(a=n[o])?dn(a,e,c[o]):pn(a,e,c[o]);return e}function p(n,r,t,e,u,i,o,c,f,a){if(a<n.length){var v=n[a],d=f[v];return e(t(q,r?r[a](d,v,o,c):c(d,v)),i(function(){return p(n,r,t,e,u,i,o,c,f,a+1)}))}return u}function h(n,r){for(var t=r.length,e=0;e<t;++e)if(n(r[e],e))return e;return t}function y(n,r,t){var e=t.length,u=n.hint;e<=u&&(u=e-1),u<0&&(u=0);for(var i=u-1;0<=i&&u<e;++u,--i){if(r(t[u],n))return u;if(r(t[i],n))return i}for(;u<e;++u)if(r(t[u],n))return u;for(;0<=i;--i)if(r(t[i],n))return i;return e}function g(n,r){var t=r.lastIndex;r.lastIndex=qn(n)+n[0].length;var e=r.exec(n.input);if(r.lastIndex=t,e&&e[0])return e}function m(n,r,t,e,u,i,o){for(var c=[];o=g(o,i);)c.push(o);for(var f=c.length,a=t(En);f--;)o=c[f],a=r(r(n(En,t(o)),u(Rn(o),qn(o))),a);return a}function b(n,t,e,u,i){var o=e.of;return o?o(n):e.map(r.always(n),u(i,t))}function j(){var n=arguments.length;if(n<2)return n?arguments[0]:at;for(var r=Array(n);n--;)r[n]=arguments[n];return r}function A(n){function r(n,r,e,u){return t(n,r,e,u)}var t=function(e,u,i,o){return(t=Jn(n(r)))(e,u,i,o)};return r}function O(n,r){for(var t=arguments.length,e=Jn(1&t?arguments[--t]:Zn);0<=(t-=2);)e=Pn(arguments[t],Jn(arguments[t+1]),e);return e}function U(n,r){return 1<arguments.length?bn(n,r):function(r){return bn(n,r)}}function w(n,r,t,e){var u=Fn(n)?n.length:0;return t.map(function(r){return pn(u,r,n)},e(void 0,u))}function x(){for(var n,r=arguments.length,t={},e=0;e<r;++e)t[n=arguments[e]]=n;return it(t)}function k(n,r){return 1<arguments.length?gn(n,r,void 0):function(r){return gn(n,r,void 0)}}var I=function(n,t){return n?r.pipe2U(n,t):t},S=function(n){return!n},D=function(n,r){return n<r},M=function(n,r){return n>r},R=function(n,r,t,e){return void 0!==e?Math.min(Math.max(n,e<0?r+e:e),r):t},q=function(n){return function(r){return[n,r]}},E=function(n){return function(r){return void 0!==r?r:n}},B=E(0),C=function(n){return void 0!==n?!n:n},N=function(n){return void 0!==n?[n]:void 0},P=function(n,r){return function(t){return n(t)?r(t):void 0}},z=function(n){return!(n instanceof Object)||Array.isArray(n)},L=r.id(function(n,r){for(var t,e=r.length,u=Array(e),i=0,o=0;o<e;++o)void 0!==(t=n(r[o],o))&&(u[i++]=t);if(i)return i<e&&(u.length=i),u}),F=function(n,t){return Fn(t)?L(n,t)||r.array0:void 0},J=r.id(function(n,r,t,e,u){for(;e<u;)n[r++]=t[e++];return n}),_={map:r.applyU,of:r.id,ap:r.applyU,chain:r.applyU},H={map:r.sndU},T=e(function(n,r){return n+r},0),W=function(n){return e(function(r,t){return void 0===t||void 0!==r&&!n(t,r)?r:t})},$=function(n){return function(r){return e(function(t,e){var u=e&&r(e[0],e[1]);if(void 0===u)return t;var i=t&&r(t[0],t[1]);return void 0===i?e:n(u,i)?e:t})}},G=function(n,r,t,e){return Jn(t)(e,void 0,n,r)},K=function(n){return n.constructor===u},Q=r.id(function(n){if(void 0!==n)return i(n,[])}),V=function(n,r,t){return void 0!==t?o(n,r,t):r},X=e(function(n,r){return void 0!==n?void 0!==r?new u(n,r):n:r}),Y=r.object0,Z={v:!0},nn=e(function(n,r){return void 0!==(n=c(n)).v?n:r},Y,r.id),rn=function(n){return function(r,t,e){return c(G(nn,I(r,n),t,e)).v}},tn=rn(function(n){return n?Z:Y}),en=function(n,t){return r.curryN(4,function(r,e){return e=t(e),function(t,u){return n(G(e,r,t,u))}})},un=function(n){return function(r){return void 0!==n?[n,r]:r}},on=r.id(function(n){if(un!==n){var r=[];do{r.push(n[0]),n=n[1]}while(un!==n);return r}}),cn=function n(r,t,e,u,i,o,c,f){return c<f?t(r(un,i(o[c],c)),u(function(){return n(r,t,e,u,i,o,c+1,f)})):e},fn=r.id(function(n,r,t){var e=n.map,u=n.ap,i=n.of,o=n.delay,c=i(un),f=t.length;if(o)c=cn(e,u,c,o,r,t,0,f);else for(;f--;)c=u(e(un,r(t[f],f)),c);return e(on,c)}),an=function(n,r){return function(t){return function(e,u,i,o){return i.map(function(n){return r(t,n,e)},o(n(t,e),t))}}},vn=function(n,r){return r instanceof Object?r[n]:void 0},dn=r.id(function(n,t,e){return void 0!==t?r.assocPartialU(n,t,e):r.dissocPartialU(n,e)}),sn=an(vn,dn),ln=function(n,r){return Fn(r)?r[n]:void 0},pn=r.id(function(n,r,t){Fn(t)||(t="");var e=t.length;if(void 0!==r){for(var u=Math.max(n+1,e),i=Array(u),o=0;o<u;++o)i[o]=t[o];return i[n]=r,i}if(0<e){if(e<=n)return J(Array(e),0,t,0,e);if(1<e){for(var c=Array(e-1),f=0;f<n;++f)c[f]=t[f];for(var a=n+1;a<e;++a)c[a-1]=t[a];return c}}}),hn=an(ln,pn),yn=function(n,r,t){return function(e,u){return n(e,u,r,t)}},gn=r.id(function(n,t,e){switch(typeof n){case"string":return dn(n,t,e);case"number":return pn(n,t,e);case"object":return l(n,0,e,t);default:return 4===n.length?n(e,void 0,_,r.always(t)):e}}),mn=r.id(function(n,r,t){switch(typeof n){case"string":return dn(n,r(vn(n,t),n),t);case"number":return pn(n,r(ln(n,t),n),t);case"object":return l(n,r,t);default:return 4===n.length?n(t,void 0,_,r):(r(n(t,void 0),void 0),t)}}),bn=r.id(function(n,t){switch(typeof n){case"string":return vn(n,t);case"number":return ln(n,t);case"object":for(var e,u=0,i=n.length;u<i;++u)switch(typeof(e=n[u])){case"string":t=vn(e,t);break;case"number":t=ln(e,t);break;default:return s(n,t,u,d(n[u-1]))}return t;default:return n(t,void 0,H,r.id)}}),jn=function(n,r){return function(t,e,u,i){return u.map(function(n){return r(n,t,e)},i(n(t,e),e))}},An=function(n,r){return function(t,e,u,i){return u.map(r,i(n(t),e))}},On=r.id(function(n,t){var e=void 0;for(var u in n){var i=n[u],o=r.isObject(i)?On(i,t):bn(i,t);void 0!==o&&(e||(e={}),e[u]=o)}return e}),Un=r.id(function(n,t,e){for(var u in n){var i=t&&t[u],o=n[u];e=r.isObject(o)?Un(o,i,e):gn(o,i,e)}return e}),wn=function(n){return r.constructorOf(n)!==Object?Object.assign({},n):n},xn=r.id(function(n,r){var t=void 0;for(var e in r){var u=n(r[e],e);void 0!==u&&(void 0===t&&(t={}),t[e]=u)}return t}),kn=r.id(function(n,r){return function(t){for(var e={},u=r.length,i=0;i<u;++i,t=t[1]){var o=t[0];e[r[i]]=void 0!==o?o:e}var c=void 0;n=wn(n);for(var f in n){var a=e[f];e!==a&&(e[f]=e,c||(c={}),c[f]=void 0!==a?a:n[f])}for(var v=0;v<u;++v){var d=r[v],s=e[d];e!==s&&(c||(c={}),c[d]=s)}return c}}),In=r.id(function(n,t){return function(e,u,i,o){var c=i.map,f=i.ap,v=i.of,d=i.delay,s=n.length;if(!s)return v(a(e));e instanceof Object||(e=r.object0);var l=v(q);if(d)l=p(n,t,c,f,l,d,i,o,e,0);else for(;s--;){var h=n[s],y=e[h];l=f(c(q,t?t[s](y,h,i,o):o(y,h)),l)}return c(kn(e,n),l)}}),Sn=function(n,t,e){return r.acyclicEqualsU(e,n)?t:e},Dn=r.id(function(n,r,t,e){for(var u,i=0,o=r.length;i<o;++i)(n(u=r[i],i)?t:e).push(u)}),Mn=function(n){return function(t,e,u,i){return u.map(r.always(t),i(n(t,e),e))}},Rn=function(n){return n[0]},qn=function(n){return n.index},En=function(n){return function(r){return function(t){return[n,r,t]}}},Bn=function n(r,t,e,u,i,o,c){return(c=g(c,o))?t(t(r(En,e(c)),i(Rn(c),qn(c))),u(function(){return n(r,t,e,u,i,o,c)})):e(En)},Cn=An(P(function(n){return n instanceof Object},r.id(function(n){n=wn(n);var r=[];for(var t in n)r.push([t,n[t]]);return r})),P(r.isDefined,r.id(function(n){for(var r=void 0,t=0,e=n.length;t<e;++t){var u=n[t];2===u.length&&(void 0===r&&(r={}),r[u[0]]=u[1])}return r}))),Nn=function(n){return function(r){for(var t="",e=0;En!==r;){var u=r[0],i=qn(u);t+=n.slice(e,i);var o=r[1];void 0!==o&&(t+=o),e=i+u[0].length,r=r[2]}return(t+=n.slice(e))||void 0}},Pn=function(n,r,t){return function(e,u,i,o){return(n(e,u)?r:t)(e,u,i,o)}},zn=function(n,r){return r=Jn(r),n=Jn(n),function(t,e,u,i){return(xr(r,t)?r:n)(t,e,u,i)}},Ln=function(n,r){return[r,tt(n)]},Fn=function(n){return n instanceof Object&&(n=n.length)===n>>0&&0<=n||r.isString(n)},Jn=r.id(function(n){switch(typeof n){case"string":return sn(n);case"number":return hn(n);case"object":return v(0,n);default:return 4===n.length?n:Mn(n)}}),_n=r.curry(function(n,r,t){return gn([n,ut(r)],r,t)}),Hn=r.curry(mn),Tn=r.curry(function(n,r){return gn(n,void 0,r)}),Wn=r.curry(gn),$n=r.curry(function(n,t){return mn(n,r.id,t)}),Gn=r.curry(G),Kn=function(n){return function(r,t,e,u){return Jn(n(r,t))(r,t,e,u)}},Qn=r.curry(zn),Vn=r.curry(function(n,r){return[r,Kn(function(r,t){return void 0!==r?n(r,t):Zn})]}),Xn=function(n){return function(r,t,e,u){return n(r,t)?u(r,t):b(r,t,e,u)}},Yn=Xn(r.isDefined),Zn=function(n,r,t,e){return b(n,r,t,e)},nr=r.id(function(n){var t=arguments[1]||new Map,e=void 0,u=void 0;return n=Jn(n),function(i,o,c,f){var a=t.get(o);return a||t.set(o,a=[b]),r.identicalU(a[0],i)&&u===f&&e===c?a[1]:a[1]=n(a[0]=i,o,e=c,u=f)}}),rr=function(n){return function(r,t,e,u){return b(n,t,e,u,n)}},tr=rr(),er=r.id(function(){function n(e,u,i,o){return o===r?e.of:function(r){return e.chain(n(e,u,i,o+1),t[o](r,i,e,u))}}for(var r=arguments.length,t=Array(r),e=0;e<r;++e)t[e]=Jn(arguments[e]);return function(r,t,e,u){return n(e,u,t,0)(r)}}),ur=r.id(function(n){var t=[],e=[];for(var u in n){t.push(u);var i=n[u];e.push(r.isObject(i)?ur(i):Jn(i))}return In(t,e)}),ir=r.id(function(n,r,t,e){return Fn(n)?t===_?L(e,n):t===nn?f(e,n):fn(t,e,n):t.of(n)}),or=Jn([Cn,ir]),cr=A(function(n){return O(Array.isArray,[ir,n],at)}),fr=Jn([Cn,ir,0]),ar=r.id(function(n){return function(t,e,u,i){if(r.isString(t)){var o=u.map;if(n.global){var c=u.ap,f=u.of,a=u.delay,v=[""];return v.input=t,v.index=0,o(Nn(t),(a?Bn:m)(o,c,f,a,i,n,v))}var d=t.match(n);if(d)return o(function(r){return t.replace(n,void 0!==r?r:"")||void 0},i(d[0],qn(d)))}return b(t,void 0,u,i)}}),vr=r.id(function(n,t,e,u){return n instanceof Object?e===_?xn(u,wn(n)):In(r.keys(n),void 0)(n,void 0,e,u):e.of(n)}),dr=r.pipe2U(rn(function(n){return n?Y:Z}),S),sr=dr(),lr=r.pipe2U(tn,Boolean),pr=r.curry(function(n,t,e){return Q(G(X,n,t,e))||r.array0}),hr=pr(r.id),yr=en(r.id,function(n){return e(n.concat,n.empty(),n.delay)}),gr=yr(r.id),mr=r.curry(function(n,r,t){return G(T,function(r,t){return n(r,t)?1:0},r,t)}),br=mr(r.isDefined),jr=r.curry(function(n,r,t){var e=new Map;return wr(function(r,t){var u=n(r,t),i=e.get(u);e.set(u,void 0!==i?i+1:1)},r,t),e}),Ar=jr(r.id),Or=r.curry(function(n,r,e,u){return V(n,r,G(X,t,e,u))}),Ur=r.curry(function(n,r,e,u){for(var i=pr(t,e,u),o=i.length-1;0<=o;--o){var c=i[o];r=n(r,c[0],c[1])}return r}),wr=r.curry(function(n,r,e){V(function(r,t,e){n(t,e)},void 0,G(X,t,r,e))}),xr=r.pipe2U(rn(function(n){return void 0!==n?Z:Y}),Boolean)(),kr=r.pipe2U(rn(r.always(Z)),S)(),Ir=en(function(n){return void 0!==n?String(n):""},r.id(function(n){return e(function(r,t){return void 0!==r?void 0!==t?r+n+t:r:t})})),Sr=Ir(r.id),Dr=en(Rn,$(M))(t),Mr=Gn(W(M),r.id),Rr=r.curry(function(n,t,e){return Jr(I(n,B),t,e)/Jr(I(n,r.isDefined),t,e)}),qr=Rr(),Er=en(Rn,$(D))(t),Br=Gn(W(D),r.id),Cr=r.pipe2U(tn,S),Nr=lr(),Pr=Gn(e(function(n,r){return n*r},1)),zr=Pr(E(1)),Lr=r.curry(rn(function(n){return void 0!==n?{v:n}:Y})),Fr=Lr(),Jr=Gn(T),_r=Jr(B),Hr=r.curry(jn),Tr=Hr(r.id),Wr=r.curry(function(n,r){return jn(n(r),Wn(r))}),$r=r.id(function(n){return jn(function(t){if(t=r.dissocPartialU(0,t))for(var e in n)t[e]=n[e](t);return t},function(t,e){t=wn(t),e instanceof Object||(e=void 0);var u=void 0;for(var i in t)r.hasU(i,n)?e&&r.hasU(i,e)&&(u||(u={}),u[i]=e[i]):(u||(u={}),u[i]=t[i]);return u})}),Gr=function(n){return function(r,t,e,u){return u(void 0!==r?n(r,t):r,t)}},Kr=function(n){return function(r,t,e,u){return e.map(function(r){return void 0!==r?n(r,t):r},u(r,t))}},Qr=r.id(function(n){return function(r,t,e,u){var i=void 0,o=void 0;return Fn(r)&&Dn(n,r,i=[],o=[]),e.map(function(n){var r=n?n.length:0,t=o?o.length:0,e=r+t;if(e)return e===t?o:J(J(Array(e),0,n,0,r),r,o,0,t)},u(i,t))}}),Vr=function(n){return function(r,t,e,u){var i=Fn(r)?r:"",o=h(n,i);return e.map(function(n){return pn(o,n,i)},u(i[o],o))}},Xr=r.curry(function(n,r){return function(t,e,u,i){var o=Fn(t)?t:"",c=r.hint=y(r,n,o);return u.map(function(n){return pn(c,n,o)},i(o[c],c))}}),Yr=r.id(function(){var n=Jn(j.apply(void 0,arguments));return[Vr(xr(n)),n]}),Zr=r.id,nt=Kn(function(n){return Fn(n)&&n.length?n.length-1:0}),rt=r.curry(function(n,r){return function(t,e,u,i){var o=Fn(t),c=o&&t.length,f=R(0,c,0,n),a=R(f,c,c,r);return u.map(function(n){var r=n?n.length:0,e=f+r,u=c-a+e;return u?J(J(J(Array(u),0,t,0,f),f,n,0,r),e,t,a,c):void 0},i(o?J(Array(Math.max(0,a-f)),0,t,f,a):void 0,e))}}),tt=function(n){return r.isObject(n)?it(xn(Ln,n)):n},et=r.id,ut=function(n){return x.apply(null,r.keys(n))},it=r.id(function(n){return function(r,t,e,u){return e.map(function(t){return Un(n,t,r)},u(On(n,r),t))}}),ot=r.curry(function(n,r){function t(t){return Sn(r,n,t)}return function(e,u,i,o){return i.map(t,o(Sn(n,r,e),u))}}),ct=r.curry(An),ft=An(C,C),at=function(n,r,t,e){return e(n,r)},vt=An(P(Fn,r.id(function(n){for(var r=n.length,t=Array(r),e=0;e<r;++e)t[e]=[e,n[e]];return t})),P(r.isDefined,r.id(function(n){for(var r=n.length,t=Array(r),e=0;e<r;++e){var u=n[e];2===u.length&&(t[u[0]]=u[1])}r=t.length;for(var i=0,o=0;o<r;++o){var c=t[o];void 0!==c&&(o!==i&&(t[i]=c),++i)}if(i)return t.length=i,t}))),dt=r.id(function(n,t,e,u){return e.map(N,u((n instanceof Object||r.isString(n))&&1===n.length?n[0]:void 0,t))}),st=An(P(r.isString,decodeURI),P(r.isString,encodeURI)),lt=An(P(r.isString,decodeURIComponent),P(r.isString,encodeURIComponent)),pt=r.id(function(n){var t=n||r.object0,e=t.reviver,u=t.replacer,i=t.space;return An(P(r.isString,function(n){return JSON.parse(n,e)}),P(r.isDefined,function(n){return JSON.stringify(n,u,i)}))});n.seemsArrayLike=Fn,n.toFunction=Jn,n.assign=_n,n.modify=Hn,n.remove=Tn,n.set=Wn,n.transform=$n,n.traverse=Gn,n.compose=j,n.lazy=A,n.choices=function(n){for(var r=arguments.length,t=Array(r>1?r-1:0),e=1;e<r;e++)t[e-1]=arguments[e];return t.length?zn(t.reduceRight(zn),n):n},n.choose=Kn,n.iftes=O,n.orElse=Qn,n.chain=Vn,n.choice=function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return r.reduceRight(zn,Zn)},n.when=Xn,n.optional=Yn,n.zero=Zn,n.cache=nr,n.assignOp=function(n){return[ut(n),rr(n)]},n.modifyOp=function(n){return function(r,t,e,u){return b(r=n(r,t),t,e,u,r)}},n.setOp=rr,n.removeOp=tr,n.log=function(){var n=arguments,t=r.curry(function(r,t){return console.log.apply(console,J([],0,n,0,n.length).concat([r,t])),t});return An(t("get"),t("set"))},n.seq=er,n.branch=ur,n.elems=ir,n.entries=or,n.flatten=cr,n.keys=fr,n.matches=ar,n.values=vr,n.all=dr,n.and=sr,n.any=lr,n.collectAs=pr,n.collect=hr,n.concatAs=yr,n.concat=gr,n.countIf=mr,n.count=br,n.countsAs=jr,n.counts=Ar,n.foldl=Or,n.foldr=Ur,n.forEach=wr,n.isDefined=xr,n.isEmpty=kr,n.joinAs=Ir,n.join=Sr,n.maximumBy=Dr,n.maximum=Mr,n.meanAs=Rr,n.mean=qr,n.minimumBy=Er,n.minimum=Br,n.none=Cr,n.or=Nr,n.productAs=Pr,n.product=zr,n.selectAs=Lr,n.select=Fr,n.sumAs=Jr,n.sum=_r,n.get=U,n.lens=Hr,n.setter=Tr,n.foldTraversalLens=Wr,n.augment=$r,n.defaults=function(n){function r(r){return Sn(n,void 0,r)}return function(t,e,u,i){return u.map(r,i(void 0!==t?t:n,e))}},n.define=function(n){var r=E(n);return function(t,e,u,i){return u.map(r,i(void 0!==t?t:n,e))}},n.normalize=function(n){return[Gr(n),Kr(n)]},n.required=function(n){return ot(n,void 0)},n.reread=Gr,n.rewrite=Kr,n.append=w,n.filter=Qr,n.find=Vr,n.findHint=Xr,n.findWith=Yr,n.index=Zr,n.last=nt,n.prefix=function(n){return rt(0,n)},n.slice=rt,n.suffix=function(n){return rt(0===n?1/0:n?-n:0,void 0)},n.pickIn=tt,n.prop=et,n.props=x,n.propsOf=ut,n.removable=function(){function n(n){if(!(n instanceof Object))return n;for(var t=0,u=e.length;t<u;++t)if(r.hasU(e[t],n))return n}for(var t=arguments.length,e=Array(t),u=0;u<t;u++)e[u]=arguments[u];return function(r,t,e,u){return e.map(n,u(r,t))}},n.valueOr=function(n){return function(r,t,e,u){return u(null!=r?r:n,t)}},n.pick=it,n.replace=ot,n.getInverse=k,n.iso=ct,n.array=function(n){var r=k(n),t=U(n),e=function(n){return F(r,n)};return function(n,r,u,i){return u.map(e,i(F(t,n),r))}},n.inverse=function(n){return function(r,t,e,u){return e.map(function(r){return bn(n,r)},u(gn(n,r,void 0),t))}},n.complement=ft,n.identity=at,n.indexed=vt,n.is=function(n){return An(function(t){return r.acyclicEqualsU(n,t)},function(r){return!0===r?n:void 0})},n.keyed=Cn,n.singleton=dt,n.uri=st,n.uriComponent=lt,n.json=pt,n.pointer=function(n){"#"===n[0]&&(n=decodeURIComponent(n));for(var r=n.split("/"),t=r.length,e=1;e<t;++e){var u=r[e];r[e-1]=/^0|[1-9]\d*$/.test(u)?O(z,Number(u),u):"-"===u?O(z,w,u):u.replace("~1","/").replace("~0","~")}return r.length=t-1,r},Object.defineProperty(n,"__esModule",{value:!0})}); |
{ | ||
"name": "partial.lenses", | ||
"version": "11.20.0", | ||
"version": "11.21.0", | ||
"description": "Partial lenses is a comprehensive, high-performance optics library for JavaScript", | ||
@@ -9,3 +9,3 @@ "module": "dist/partial.lenses.es.js", | ||
"bench": "NODE_ENV=production node --expose-gc bench/bench.js", | ||
"bench-install-extra": "npm i ramda-lens flunc-optics optika lodash.get", | ||
"bench-install-extra": "npm i --no-save ramda-lens flunc-optics optika lodash.get", | ||
"dist": "npm run dist:umd & npm run dist:umd.min & npm run dist:es & npm run dist:cjs & wait", | ||
@@ -16,4 +16,4 @@ "dist:cjs": " NODE_ENV= rollup -c -n L -i src/partial.lenses.js -f cjs -o dist/partial.lenses.cjs.js", | ||
"dist:umd.min": "NODE_ENV=production rollup -c -n L -i src/partial.lenses.js -f umd -o dist/partial.lenses.min.js", | ||
"docs": "./scripts/generate-docs", | ||
"docs-watch": "watch-run -i -p README.md npm run docs", | ||
"docs": "node ./scripts/generate-docs.js", | ||
"docs-watch": "livereload docs & watch-run -i -p '*.md,scripts/generate-docs.js' npm run docs & wait", | ||
"lint": "eslint src test", | ||
@@ -46,4 +46,5 @@ "prepare": "npm run lint && npm run dist && npm run test", | ||
"devDependencies": { | ||
"8fold-marked": "^0.3.7", | ||
"babel-cli": "^6.26.0", | ||
"babel-eslint": "^7.2.3", | ||
"babel-eslint": "^8.0.1", | ||
"babel-plugin-check-es2015-constants": "^6.22.0", | ||
@@ -72,16 +73,16 @@ "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", | ||
"codecov": "^2.3.0", | ||
"eslint": "^4.5.0", | ||
"marked": "^0.3.6", | ||
"mocha": "^3.5.0", | ||
"nyc": "^11.1.0", | ||
"eslint": "^4.8.0", | ||
"livereload": "^0.6.2", | ||
"mocha": "^3.5.3", | ||
"nyc": "^11.2.1", | ||
"ramda": "^0.24.1", | ||
"rollup": "^0.49.1", | ||
"rollup": "^0.50.0", | ||
"rollup-plugin-babel": "^3.0.2", | ||
"rollup-plugin-node-resolve": "^3.0.0", | ||
"rollup-plugin-replace": "^1.1.1", | ||
"rollup-plugin-replace": "^2.0.0", | ||
"rollup-plugin-uglify": "^2.0.1", | ||
"sprintf-js": "^1.1.1", | ||
"uglify-js": "^3.0.28", | ||
"uglify-js": "^3.1.2", | ||
"watch-run": "^1.2.5" | ||
} | ||
} |
@@ -28,2 +28,4 @@ import * as I from "infestines" | ||
const instanceofObject = x => x instanceof Object | ||
const expect = (p, f) => x => p(x) ? f(x) : void 0 | ||
@@ -45,2 +47,10 @@ | ||
function freezeArrayOfObjects(xs) { | ||
xs.forEach(freeze) | ||
return freeze(xs) | ||
} | ||
const isArrayOrPrimitive = x => | ||
!(x instanceof Object) || Array.isArray(x) | ||
// | ||
@@ -156,2 +166,7 @@ | ||
const warnDelay = /*#__PURE__*/C.ef(C => { | ||
if (C !== Select && C.delay) | ||
warn(warnDelay, "Support for `delay` operation will be removed. See CHANGELOG.") | ||
}) | ||
// | ||
@@ -275,3 +290,3 @@ | ||
const traversePartialIndex = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : C.par(0, C.ef(reqApplicative("elems"))))((A, xi2yA, xs) => { | ||
const traversePartialIndex = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : C.par(0, C.and(warnDelay, C.ef(reqApplicative("elems")))))((A, xi2yA, xs) => { | ||
const {map, ap, of, delay} = A | ||
@@ -510,7 +525,8 @@ let xsA = of(cons), | ||
function mapPartialObjectU(xi2y, o, r) { | ||
const mapPartialObjectU = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : C.res(freeze))((xi2y, o) => { | ||
let r = void 0 | ||
for (const k in o) { | ||
const v = xi2y(o[k], k) | ||
if (void 0 !== v) { | ||
if (!r) | ||
if (void 0 === r) | ||
r = {} | ||
@@ -521,3 +537,3 @@ r[k] = v | ||
return r | ||
} | ||
}) | ||
@@ -564,3 +580,3 @@ const branchOnMerge = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : C.res(C.res(freeze)))((x, keys) => xs => { | ||
const branchOn = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : C.dep(([_keys, vals]) => C.res(C.par(2, C.ef(reqApplicative(vals ? "branch" : "values"))))))((keys, vals) => (x, _i, A, xi2yA) => { | ||
const branchOn = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : C.dep(([_keys, vals]) => C.res(C.par(2, C.and(warnDelay, C.ef(reqApplicative(vals ? "branch" : "values")))))))((keys, vals) => (x, _i, A, xi2yA) => { | ||
const {map, ap, of, delay} = A | ||
@@ -669,2 +685,23 @@ let i = keys.length | ||
const keyed = /*#__PURE__*/isoU(expect(instanceofObject, (process.env.NODE_ENV === "production" ? I.id : C.res(freezeArrayOfObjects))(x => { | ||
x = toObject(x) | ||
const es = [] | ||
for (const key in x) | ||
es.push([key, x[key]]) | ||
return es | ||
})), expect(I.isDefined, (process.env.NODE_ENV === "production" ? I.id : C.res(freeze))(es => { | ||
let o = void 0 | ||
for (let i=0, n=es.length; i<n; ++i) { | ||
const entry = es[i] | ||
if (entry.length === 2) { | ||
if (void 0 === o) | ||
o = {} | ||
o[entry[0]] = entry[1] | ||
} | ||
} | ||
return o | ||
}))) | ||
// | ||
const matchesJoin = input => matches => { | ||
@@ -703,2 +740,8 @@ let result = "" | ||
// Auxiliary | ||
export const seemsArrayLike = x => | ||
x instanceof Object && (x = x.length, x === (x >> 0) && 0 <= x) || | ||
I.isString(x) | ||
// Internals | ||
@@ -790,5 +833,6 @@ | ||
export function cache(o) { | ||
if (process.env.NODE_ENV !== "production") | ||
warn(cache, "`L.cache` is experimental and might be removed or changed before next major release.") | ||
export const cache = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : fn => function (_) { | ||
warn(cache, "`L.cache` will be removed. See CHANGELOG.") | ||
return fn.apply(null, arguments) | ||
})(function (o) { | ||
const map = arguments[1] || new Map() | ||
@@ -804,3 +848,3 @@ let C_, xi2yC_ | ||
} | ||
} | ||
}) | ||
@@ -867,15 +911,10 @@ // Transforming | ||
export const entries = /*#__PURE__*/toFunction([keyed, elems]) | ||
export const flatten = | ||
/*#__PURE__*/lazy(rec => iftes(Array.isArray, [elems, rec], identity)) | ||
export const values = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : C.par(2, C.ef(reqApplicative("values"))))((xs, _i, A, xi2yA) => { | ||
if (xs instanceof Object) { | ||
return A === Ident ? mapPartialObjectU(xi2yA, toObject(xs)) | ||
: branchOn(I.keys(xs), void 0)(xs, void 0, A, xi2yA) | ||
} else { | ||
return A.of(xs) | ||
} | ||
}) | ||
export const keys = /*#__PURE__*/toFunction([keyed, elems, 0]) | ||
export const matches = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : C.dep(([re]) => re.global ? C.res(C.par(2, C.ef(reqApplicative("matches", re)))) : I.id))(re => { | ||
export const matches = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : C.dep(([re]) => re.global ? C.res(C.par(2, C.and(warnDelay, C.ef(reqApplicative("matches", re))))) : I.id))(re => { | ||
return (x, _i, C, xi2yC) => { | ||
@@ -904,2 +943,11 @@ if (I.isString(x)) { | ||
export const values = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : C.par(2, C.ef(reqApplicative("values"))))((xs, _i, A, xi2yA) => { | ||
if (xs instanceof Object) { | ||
return A === Ident ? mapPartialObjectU(xi2yA, toObject(xs)) | ||
: branchOn(I.keys(xs), void 0)(xs, void 0, A, xi2yA) | ||
} else { | ||
return A.of(xs) | ||
} | ||
}) | ||
// Folds over traversals | ||
@@ -928,2 +976,14 @@ | ||
export const countsAs = /*#__PURE__*/I.curry((xi2k, t, s) => { | ||
const counts = new Map() | ||
forEach((x, i) => { | ||
const k = xi2k(x, i), | ||
n = counts.get(k) | ||
counts.set(k, void 0 !== n ? n + 1 : 1) | ||
}, t, s) | ||
return counts | ||
}) | ||
export const counts = /*#__PURE__*/countsAs(I.id) | ||
export const foldl = /*#__PURE__*/I.curry((f, r, t, s) => | ||
@@ -1001,28 +1061,32 @@ fold(f, r, traverseU(Collect, pair, t, s))) | ||
export const augment = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : C.fn(C.nth(0, C.ef(reqTemplate("augment"))), lens => toFunction([isoU(I.id, freeze), lens, isoU(freeze, C.ef(reqObject("`augment` must be set with undefined or an object")))])))(template => lensU(x => { | ||
x = I.dissocPartialU(0, x) | ||
if (x) | ||
for (const k in template) | ||
x[k] = template[k](x) | ||
return x | ||
}, (y, x) => { | ||
y = toObject(y) | ||
if (!(x instanceof Object)) | ||
x = void 0 | ||
let z | ||
for (const k in y) { | ||
if (!I.hasU(k, template)) { | ||
if (!z) | ||
z = {} | ||
z[k] = y[k] | ||
} else { | ||
if (x && I.hasU(k, x)) { | ||
export const augment = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : C.fn(C.nth(0, C.ef(reqTemplate("augment"))), C.and(lens => toFunction([isoU(I.id, freeze), lens, isoU(freeze, C.ef(reqObject("`augment` must be set with undefined or an object")))]), C.ef(() => { | ||
warn(augment, "`L.augment` will be removed. See CHANGELOG.") | ||
}))))(template => { | ||
return lensU(x => { | ||
x = I.dissocPartialU(0, x) | ||
if (x) | ||
for (const k in template) | ||
x[k] = template[k](x) | ||
return x | ||
}, (y, x) => { | ||
y = toObject(y) | ||
if (!(x instanceof Object)) | ||
x = void 0 | ||
let z | ||
for (const k in y) { | ||
if (!I.hasU(k, template)) { | ||
if (!z) | ||
z = {} | ||
z[k] = x[k] | ||
z[k] = y[k] | ||
} else { | ||
if (x && I.hasU(k, x)) { | ||
if (!z) | ||
z = {} | ||
z[k] = x[k] | ||
} | ||
} | ||
} | ||
} | ||
return z | ||
})) | ||
return z | ||
}) | ||
}) | ||
@@ -1041,8 +1105,9 @@ // Enforcing invariants | ||
export const normalize = xi2x => (x, i, F, xi2yF) => | ||
F.map(x => void 0 !== x ? xi2x(x, i) : x, | ||
xi2yF(void 0 !== x ? xi2x(x, i) : x, i)) | ||
export const normalize = xi2x => [reread(xi2x), rewrite(xi2x)] | ||
export const required = inn => replace(inn, void 0) | ||
export const reread = xi2x => (x, i, _F, xi2yF) => | ||
xi2yF(void 0 !== x ? xi2x(x, i) : x, i) | ||
export const rewrite = yi2y => (x, i, F, xi2yF) => | ||
@@ -1081,3 +1146,5 @@ F.map(y => void 0 !== y ? yi2y(y, i) : y, xi2yF(x, i)) | ||
export const findHint = /*#__PURE__*/I.curry((xh2b, hint) => { | ||
export const findHint = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.curry : C.res(C.ef(() => { | ||
warn(findHint, "`L.findHint` will be merged into `L.find`. See CHANGELOG.") | ||
})))((xh2b, hint) => { | ||
return (xs, _i, F, xi2yF) => { | ||
@@ -1090,6 +1157,10 @@ const ys = seemsArrayLike(xs) ? xs : "", | ||
export function findWith(...os) { | ||
export const findWith = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : fn => function () { | ||
if (arguments.length !== 1) | ||
warn(findWith, "`L.findWith` will be changed to support a hint parameter. Just replace `L.findWith(...ls)` with `L.findWith([...ls])`. See CHANGELOG.") | ||
return fn.apply(null, arguments) | ||
})((...os) => { | ||
const oos = toFunction(compose(...os)) | ||
return [find(isDefined(oos)), oos] | ||
} | ||
}) | ||
@@ -1202,2 +1273,30 @@ export const index = process.env.NODE_ENV !== "production" ? C.ef(reqIndex) : I.id | ||
export const indexed = /*#__PURE__*/isoU(expect(seemsArrayLike, (process.env.NODE_ENV === "production" ? I.id : C.res(freezeArrayOfObjects))(xs => { | ||
const n = xs.length, xis = Array(n) | ||
for (let i=0; i<n; ++i) | ||
xis[i] = [i, xs[i]] | ||
return xis | ||
})), expect(I.isDefined, (process.env.NODE_ENV === "production" ? I.id : C.res(freeze))(xis => { | ||
let n = xis.length, xs = Array(n) | ||
for (let i=0; i<n; ++i) { | ||
const xi = xis[i] | ||
if (xi.length === 2) | ||
xs[xi[0]] = xi[1] | ||
} | ||
n = xs.length | ||
let j=0 | ||
for (let i=0; i<n; ++i) { | ||
const x = xs[i] | ||
if (void 0 !== x) { | ||
if (i !== j) | ||
xs[j] = x | ||
++j | ||
} | ||
} | ||
if (j) { | ||
xs.length = j | ||
return xs | ||
} | ||
}))) | ||
export const is = v => | ||
@@ -1207,2 +1306,4 @@ isoU(x => I.acyclicEqualsU(v, x), | ||
export {keyed} | ||
export const singleton = /*#__PURE__*/(process.env.NODE_ENV === "production" ? I.id : iso => toFunction([isoU(I.id, freeze), iso]))( | ||
@@ -1232,6 +1333,19 @@ (x, i, F, xi2yF) => | ||
// Auxiliary | ||
// Interop | ||
export const seemsArrayLike = x => | ||
x instanceof Object && (x = x.length, x === (x >> 0) && 0 <= x) || | ||
I.isString(x) | ||
export const pointer = s => { | ||
if (s[0] === '#') s = decodeURIComponent(s) | ||
const ts = s.split('/') | ||
const n = ts.length | ||
for (let i=1; i<n; ++i) { | ||
const t = ts[i] | ||
ts[i-1] = | ||
/^0|[1-9]\d*$/.test(t) | ||
? iftes(isArrayOrPrimitive, Number(t), t) | ||
: '-' === t | ||
? iftes(isArrayOrPrimitive, append, t) | ||
: t.replace('~1', '/').replace('~0', '~') | ||
} | ||
ts.length = n-1 | ||
return ts | ||
} |
Sorry, the diff of this file is too big to display
413618
13
5518
4464
39
120