2757 lines
74 KiB
JavaScript
2757 lines
74 KiB
JavaScript
import {
|
|
require_localforage
|
|
} from "./chunk-CPGX2YFR.js";
|
|
import {
|
|
require_arrayMap,
|
|
require_baseUnset,
|
|
require_flatRest,
|
|
require_get,
|
|
require_isIndex,
|
|
require_isSymbol
|
|
} from "./chunk-ZPUNMYDO.js";
|
|
import {
|
|
__commonJS,
|
|
__toESM
|
|
} from "./chunk-SNAQBZPT.js";
|
|
|
|
// node_modules/lodash/_baseAt.js
|
|
var require_baseAt = __commonJS({
|
|
"node_modules/lodash/_baseAt.js"(exports, module) {
|
|
var get = require_get();
|
|
function baseAt(object, paths) {
|
|
var index = -1, length = paths.length, result = Array(length), skip = object == null;
|
|
while (++index < length) {
|
|
result[index] = skip ? void 0 : get(object, paths[index]);
|
|
}
|
|
return result;
|
|
}
|
|
module.exports = baseAt;
|
|
}
|
|
});
|
|
|
|
// node_modules/lodash/_basePullAt.js
|
|
var require_basePullAt = __commonJS({
|
|
"node_modules/lodash/_basePullAt.js"(exports, module) {
|
|
var baseUnset = require_baseUnset();
|
|
var isIndex = require_isIndex();
|
|
var arrayProto = Array.prototype;
|
|
var splice = arrayProto.splice;
|
|
function basePullAt(array, indexes) {
|
|
var length = array ? indexes.length : 0, lastIndex = length - 1;
|
|
while (length--) {
|
|
var index = indexes[length];
|
|
if (length == lastIndex || index !== previous) {
|
|
var previous = index;
|
|
if (isIndex(index)) {
|
|
splice.call(array, index, 1);
|
|
} else {
|
|
baseUnset(array, index);
|
|
}
|
|
}
|
|
}
|
|
return array;
|
|
}
|
|
module.exports = basePullAt;
|
|
}
|
|
});
|
|
|
|
// node_modules/lodash/_compareAscending.js
|
|
var require_compareAscending = __commonJS({
|
|
"node_modules/lodash/_compareAscending.js"(exports, module) {
|
|
var isSymbol = require_isSymbol();
|
|
function compareAscending(value, other) {
|
|
if (value !== other) {
|
|
var valIsDefined = value !== void 0, valIsNull = value === null, valIsReflexive = value === value, valIsSymbol = isSymbol(value);
|
|
var othIsDefined = other !== void 0, othIsNull = other === null, othIsReflexive = other === other, othIsSymbol = isSymbol(other);
|
|
if (!othIsNull && !othIsSymbol && !valIsSymbol && value > other || valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol || valIsNull && othIsDefined && othIsReflexive || !valIsDefined && othIsReflexive || !valIsReflexive) {
|
|
return 1;
|
|
}
|
|
if (!valIsNull && !valIsSymbol && !othIsSymbol && value < other || othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol || othIsNull && valIsDefined && valIsReflexive || !othIsDefined && valIsReflexive || !othIsReflexive) {
|
|
return -1;
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
module.exports = compareAscending;
|
|
}
|
|
});
|
|
|
|
// node_modules/lodash/pullAt.js
|
|
var require_pullAt = __commonJS({
|
|
"node_modules/lodash/pullAt.js"(exports, module) {
|
|
var arrayMap = require_arrayMap();
|
|
var baseAt = require_baseAt();
|
|
var basePullAt = require_basePullAt();
|
|
var compareAscending = require_compareAscending();
|
|
var flatRest = require_flatRest();
|
|
var isIndex = require_isIndex();
|
|
var pullAt2 = flatRest(function(array, indexes) {
|
|
var length = array == null ? 0 : array.length, result = baseAt(array, indexes);
|
|
basePullAt(array, arrayMap(indexes, function(index) {
|
|
return isIndex(index, length) ? +index : index;
|
|
}).sort(compareAscending));
|
|
return result;
|
|
});
|
|
module.exports = pullAt2;
|
|
}
|
|
});
|
|
|
|
// node_modules/fakerest/dist/fakerest.min.js
|
|
var Ht = Object.defineProperty;
|
|
var qt = (t, e, r) => e in t ? Ht(t, e, { enumerable: true, configurable: true, writable: true, value: r }) : t[e] = r;
|
|
var p = (t, e, r) => qt(t, typeof e != "symbol" ? e + "" : e, r);
|
|
var B = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
|
|
function oe(t) {
|
|
return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
|
|
}
|
|
var zt = Array.isArray;
|
|
var O = zt;
|
|
var Vt = typeof B == "object" && B && B.Object === Object && B;
|
|
var ut = Vt;
|
|
var Jt = ut;
|
|
var Qt = typeof self == "object" && self && self.Object === Object && self;
|
|
var Wt = Jt || Qt || Function("return this")();
|
|
var A = Wt;
|
|
var Yt = A;
|
|
var Xt = Yt.Symbol;
|
|
var L = Xt;
|
|
var we = L;
|
|
var ft = Object.prototype;
|
|
var Zt = ft.hasOwnProperty;
|
|
var kt = ft.toString;
|
|
var M = we ? we.toStringTag : void 0;
|
|
function er(t) {
|
|
var e = Zt.call(t, M), r = t[M];
|
|
try {
|
|
t[M] = void 0;
|
|
var a = true;
|
|
} catch {
|
|
}
|
|
var n = kt.call(t);
|
|
return a && (e ? t[M] = r : delete t[M]), n;
|
|
}
|
|
var tr = er;
|
|
var rr = Object.prototype;
|
|
var ar = rr.toString;
|
|
function nr(t) {
|
|
return ar.call(t);
|
|
}
|
|
var sr = nr;
|
|
var Te = L;
|
|
var ir = tr;
|
|
var or = sr;
|
|
var cr = "[object Null]";
|
|
var lr = "[object Undefined]";
|
|
var Oe = Te ? Te.toStringTag : void 0;
|
|
function ur(t) {
|
|
return t == null ? t === void 0 ? lr : cr : Oe && Oe in Object(t) ? ir(t) : or(t);
|
|
}
|
|
var R = ur;
|
|
function fr(t) {
|
|
return t != null && typeof t == "object";
|
|
}
|
|
var C = fr;
|
|
var dr = R;
|
|
var hr = C;
|
|
var gr = "[object Symbol]";
|
|
function pr(t) {
|
|
return typeof t == "symbol" || hr(t) && dr(t) == gr;
|
|
}
|
|
var ce = pr;
|
|
var yr = O;
|
|
var br = ce;
|
|
var vr = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/;
|
|
var $r = /^\w*$/;
|
|
function _r(t, e) {
|
|
if (yr(t))
|
|
return false;
|
|
var r = typeof t;
|
|
return r == "number" || r == "symbol" || r == "boolean" || t == null || br(t) ? true : $r.test(t) || !vr.test(t) || e != null && t in Object(e);
|
|
}
|
|
var mr = _r;
|
|
function Ar(t) {
|
|
var e = typeof t;
|
|
return t != null && (e == "object" || e == "function");
|
|
}
|
|
var E = Ar;
|
|
var wr = R;
|
|
var Tr = E;
|
|
var Or = "[object AsyncFunction]";
|
|
var Cr = "[object Function]";
|
|
var Sr = "[object GeneratorFunction]";
|
|
var Er = "[object Proxy]";
|
|
function jr(t) {
|
|
if (!Tr(t))
|
|
return false;
|
|
var e = wr(t);
|
|
return e == Cr || e == Sr || e == Or || e == Er;
|
|
}
|
|
var dt = jr;
|
|
var Ir = A;
|
|
var Pr = Ir["__core-js_shared__"];
|
|
var xr = Pr;
|
|
var k = xr;
|
|
var Ce = function() {
|
|
var t = /[^.]+$/.exec(k && k.keys && k.keys.IE_PROTO || "");
|
|
return t ? "Symbol(src)_1." + t : "";
|
|
}();
|
|
function Nr(t) {
|
|
return !!Ce && Ce in t;
|
|
}
|
|
var Mr = Nr;
|
|
var Lr = Function.prototype;
|
|
var Rr = Lr.toString;
|
|
function Dr(t) {
|
|
if (t != null) {
|
|
try {
|
|
return Rr.call(t);
|
|
} catch {
|
|
}
|
|
try {
|
|
return t + "";
|
|
} catch {
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
var ht = Dr;
|
|
var Fr = dt;
|
|
var Br = Mr;
|
|
var Ur = E;
|
|
var Gr = ht;
|
|
var Kr = /[\\^$.*+?()[\]{}|]/g;
|
|
var Hr = /^\[object .+?Constructor\]$/;
|
|
var qr = Function.prototype;
|
|
var zr = Object.prototype;
|
|
var Vr = qr.toString;
|
|
var Jr = zr.hasOwnProperty;
|
|
var Qr = RegExp(
|
|
"^" + Vr.call(Jr).replace(Kr, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
|
|
);
|
|
function Wr(t) {
|
|
if (!Ur(t) || Br(t))
|
|
return false;
|
|
var e = Fr(t) ? Qr : Hr;
|
|
return e.test(Gr(t));
|
|
}
|
|
var Yr = Wr;
|
|
function Xr(t, e) {
|
|
return t == null ? void 0 : t[e];
|
|
}
|
|
var Zr = Xr;
|
|
var kr = Yr;
|
|
var ea = Zr;
|
|
function ta(t, e) {
|
|
var r = ea(t, e);
|
|
return kr(r) ? r : void 0;
|
|
}
|
|
var S = ta;
|
|
var ra = S;
|
|
var aa = ra(Object, "create");
|
|
var V = aa;
|
|
var Se = V;
|
|
function na() {
|
|
this.__data__ = Se ? Se(null) : {}, this.size = 0;
|
|
}
|
|
var sa = na;
|
|
function ia(t) {
|
|
var e = this.has(t) && delete this.__data__[t];
|
|
return this.size -= e ? 1 : 0, e;
|
|
}
|
|
var oa = ia;
|
|
var ca = V;
|
|
var la = "__lodash_hash_undefined__";
|
|
var ua = Object.prototype;
|
|
var fa = ua.hasOwnProperty;
|
|
function da(t) {
|
|
var e = this.__data__;
|
|
if (ca) {
|
|
var r = e[t];
|
|
return r === la ? void 0 : r;
|
|
}
|
|
return fa.call(e, t) ? e[t] : void 0;
|
|
}
|
|
var ha = da;
|
|
var ga = V;
|
|
var pa = Object.prototype;
|
|
var ya = pa.hasOwnProperty;
|
|
function ba(t) {
|
|
var e = this.__data__;
|
|
return ga ? e[t] !== void 0 : ya.call(e, t);
|
|
}
|
|
var va = ba;
|
|
var $a = V;
|
|
var _a = "__lodash_hash_undefined__";
|
|
function ma(t, e) {
|
|
var r = this.__data__;
|
|
return this.size += this.has(t) ? 0 : 1, r[t] = $a && e === void 0 ? _a : e, this;
|
|
}
|
|
var Aa = ma;
|
|
var wa = sa;
|
|
var Ta = oa;
|
|
var Oa = ha;
|
|
var Ca = va;
|
|
var Sa = Aa;
|
|
function j(t) {
|
|
var e = -1, r = t == null ? 0 : t.length;
|
|
for (this.clear(); ++e < r; ) {
|
|
var a = t[e];
|
|
this.set(a[0], a[1]);
|
|
}
|
|
}
|
|
j.prototype.clear = wa;
|
|
j.prototype.delete = Ta;
|
|
j.prototype.get = Oa;
|
|
j.prototype.has = Ca;
|
|
j.prototype.set = Sa;
|
|
var Ea = j;
|
|
function ja() {
|
|
this.__data__ = [], this.size = 0;
|
|
}
|
|
var Ia = ja;
|
|
function Pa(t, e) {
|
|
return t === e || t !== t && e !== e;
|
|
}
|
|
var le = Pa;
|
|
var xa = le;
|
|
function Na(t, e) {
|
|
for (var r = t.length; r--; )
|
|
if (xa(t[r][0], e))
|
|
return r;
|
|
return -1;
|
|
}
|
|
var J = Na;
|
|
var Ma = J;
|
|
var La = Array.prototype;
|
|
var Ra = La.splice;
|
|
function Da(t) {
|
|
var e = this.__data__, r = Ma(e, t);
|
|
if (r < 0)
|
|
return false;
|
|
var a = e.length - 1;
|
|
return r == a ? e.pop() : Ra.call(e, r, 1), --this.size, true;
|
|
}
|
|
var Fa = Da;
|
|
var Ba = J;
|
|
function Ua(t) {
|
|
var e = this.__data__, r = Ba(e, t);
|
|
return r < 0 ? void 0 : e[r][1];
|
|
}
|
|
var Ga = Ua;
|
|
var Ka = J;
|
|
function Ha(t) {
|
|
return Ka(this.__data__, t) > -1;
|
|
}
|
|
var qa = Ha;
|
|
var za = J;
|
|
function Va(t, e) {
|
|
var r = this.__data__, a = za(r, t);
|
|
return a < 0 ? (++this.size, r.push([t, e])) : r[a][1] = e, this;
|
|
}
|
|
var Ja = Va;
|
|
var Qa = Ia;
|
|
var Wa = Fa;
|
|
var Ya = Ga;
|
|
var Xa = qa;
|
|
var Za = Ja;
|
|
function I(t) {
|
|
var e = -1, r = t == null ? 0 : t.length;
|
|
for (this.clear(); ++e < r; ) {
|
|
var a = t[e];
|
|
this.set(a[0], a[1]);
|
|
}
|
|
}
|
|
I.prototype.clear = Qa;
|
|
I.prototype.delete = Wa;
|
|
I.prototype.get = Ya;
|
|
I.prototype.has = Xa;
|
|
I.prototype.set = Za;
|
|
var Q = I;
|
|
var ka = S;
|
|
var en = A;
|
|
var tn = ka(en, "Map");
|
|
var ue = tn;
|
|
var Ee = Ea;
|
|
var rn = Q;
|
|
var an = ue;
|
|
function nn() {
|
|
this.size = 0, this.__data__ = {
|
|
hash: new Ee(),
|
|
map: new (an || rn)(),
|
|
string: new Ee()
|
|
};
|
|
}
|
|
var sn = nn;
|
|
function on(t) {
|
|
var e = typeof t;
|
|
return e == "string" || e == "number" || e == "symbol" || e == "boolean" ? t !== "__proto__" : t === null;
|
|
}
|
|
var cn = on;
|
|
var ln = cn;
|
|
function un(t, e) {
|
|
var r = t.__data__;
|
|
return ln(e) ? r[typeof e == "string" ? "string" : "hash"] : r.map;
|
|
}
|
|
var W = un;
|
|
var fn = W;
|
|
function dn(t) {
|
|
var e = fn(this, t).delete(t);
|
|
return this.size -= e ? 1 : 0, e;
|
|
}
|
|
var hn = dn;
|
|
var gn = W;
|
|
function pn(t) {
|
|
return gn(this, t).get(t);
|
|
}
|
|
var yn = pn;
|
|
var bn = W;
|
|
function vn(t) {
|
|
return bn(this, t).has(t);
|
|
}
|
|
var $n = vn;
|
|
var _n = W;
|
|
function mn(t, e) {
|
|
var r = _n(this, t), a = r.size;
|
|
return r.set(t, e), this.size += r.size == a ? 0 : 1, this;
|
|
}
|
|
var An = mn;
|
|
var wn = sn;
|
|
var Tn = hn;
|
|
var On = yn;
|
|
var Cn = $n;
|
|
var Sn = An;
|
|
function P(t) {
|
|
var e = -1, r = t == null ? 0 : t.length;
|
|
for (this.clear(); ++e < r; ) {
|
|
var a = t[e];
|
|
this.set(a[0], a[1]);
|
|
}
|
|
}
|
|
P.prototype.clear = wn;
|
|
P.prototype.delete = Tn;
|
|
P.prototype.get = On;
|
|
P.prototype.has = Cn;
|
|
P.prototype.set = Sn;
|
|
var fe = P;
|
|
var gt = fe;
|
|
var En = "Expected a function";
|
|
function de(t, e) {
|
|
if (typeof t != "function" || e != null && typeof e != "function")
|
|
throw new TypeError(En);
|
|
var r = function() {
|
|
var a = arguments, n = e ? e.apply(this, a) : a[0], s = r.cache;
|
|
if (s.has(n))
|
|
return s.get(n);
|
|
var i = t.apply(this, a);
|
|
return r.cache = s.set(n, i) || s, i;
|
|
};
|
|
return r.cache = new (de.Cache || gt)(), r;
|
|
}
|
|
de.Cache = gt;
|
|
var jn = de;
|
|
var In = jn;
|
|
var Pn = 500;
|
|
function xn(t) {
|
|
var e = In(t, function(a) {
|
|
return r.size === Pn && r.clear(), a;
|
|
}), r = e.cache;
|
|
return e;
|
|
}
|
|
var Nn = xn;
|
|
var Mn = Nn;
|
|
var Ln = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
|
|
var Rn = /\\(\\)?/g;
|
|
var Dn = Mn(function(t) {
|
|
var e = [];
|
|
return t.charCodeAt(0) === 46 && e.push(""), t.replace(Ln, function(r, a, n, s) {
|
|
e.push(n ? s.replace(Rn, "$1") : a || r);
|
|
}), e;
|
|
});
|
|
var Fn = Dn;
|
|
function Bn(t, e) {
|
|
for (var r = -1, a = t == null ? 0 : t.length, n = Array(a); ++r < a; )
|
|
n[r] = e(t[r], r, t);
|
|
return n;
|
|
}
|
|
var Un = Bn;
|
|
var je = L;
|
|
var Gn = Un;
|
|
var Kn = O;
|
|
var Hn = ce;
|
|
var qn = 1 / 0;
|
|
var Ie = je ? je.prototype : void 0;
|
|
var Pe = Ie ? Ie.toString : void 0;
|
|
function pt(t) {
|
|
if (typeof t == "string")
|
|
return t;
|
|
if (Kn(t))
|
|
return Gn(t, pt) + "";
|
|
if (Hn(t))
|
|
return Pe ? Pe.call(t) : "";
|
|
var e = t + "";
|
|
return e == "0" && 1 / t == -qn ? "-0" : e;
|
|
}
|
|
var zn = pt;
|
|
var Vn = zn;
|
|
function Jn(t) {
|
|
return t == null ? "" : Vn(t);
|
|
}
|
|
var Qn = Jn;
|
|
var Wn = O;
|
|
var Yn = mr;
|
|
var Xn = Fn;
|
|
var Zn = Qn;
|
|
function kn(t, e) {
|
|
return Wn(t) ? t : Yn(t, e) ? [t] : Xn(Zn(t));
|
|
}
|
|
var es = kn;
|
|
var ts = ce;
|
|
var rs = 1 / 0;
|
|
function as(t) {
|
|
if (typeof t == "string" || ts(t))
|
|
return t;
|
|
var e = t + "";
|
|
return e == "0" && 1 / t == -rs ? "-0" : e;
|
|
}
|
|
var ns = as;
|
|
var ss = es;
|
|
var is = ns;
|
|
function os(t, e) {
|
|
e = ss(e, t);
|
|
for (var r = 0, a = e.length; t != null && r < a; )
|
|
t = t[is(e[r++])];
|
|
return r && r == a ? t : void 0;
|
|
}
|
|
var cs = os;
|
|
var ls = cs;
|
|
function us(t, e, r) {
|
|
var a = t == null ? void 0 : ls(t, e);
|
|
return a === void 0 ? r : a;
|
|
}
|
|
var fs = us;
|
|
var y = oe(fs);
|
|
var ds = Q;
|
|
function hs() {
|
|
this.__data__ = new ds(), this.size = 0;
|
|
}
|
|
var gs = hs;
|
|
function ps(t) {
|
|
var e = this.__data__, r = e.delete(t);
|
|
return this.size = e.size, r;
|
|
}
|
|
var ys = ps;
|
|
function bs(t) {
|
|
return this.__data__.get(t);
|
|
}
|
|
var vs = bs;
|
|
function $s(t) {
|
|
return this.__data__.has(t);
|
|
}
|
|
var _s = $s;
|
|
var ms = Q;
|
|
var As = ue;
|
|
var ws = fe;
|
|
var Ts = 200;
|
|
function Os(t, e) {
|
|
var r = this.__data__;
|
|
if (r instanceof ms) {
|
|
var a = r.__data__;
|
|
if (!As || a.length < Ts - 1)
|
|
return a.push([t, e]), this.size = ++r.size, this;
|
|
r = this.__data__ = new ws(a);
|
|
}
|
|
return r.set(t, e), this.size = r.size, this;
|
|
}
|
|
var Cs = Os;
|
|
var Ss = Q;
|
|
var Es = gs;
|
|
var js = ys;
|
|
var Is = vs;
|
|
var Ps = _s;
|
|
var xs = Cs;
|
|
function x(t) {
|
|
var e = this.__data__ = new Ss(t);
|
|
this.size = e.size;
|
|
}
|
|
x.prototype.clear = Es;
|
|
x.prototype.delete = js;
|
|
x.prototype.get = Is;
|
|
x.prototype.has = Ps;
|
|
x.prototype.set = xs;
|
|
var he = x;
|
|
function Ns(t, e) {
|
|
for (var r = -1, a = t == null ? 0 : t.length; ++r < a && e(t[r], r, t) !== false; )
|
|
;
|
|
return t;
|
|
}
|
|
var Ms = Ns;
|
|
var Ls = S;
|
|
var Rs = function() {
|
|
try {
|
|
var t = Ls(Object, "defineProperty");
|
|
return t({}, "", {}), t;
|
|
} catch {
|
|
}
|
|
}();
|
|
var Ds = Rs;
|
|
var xe = Ds;
|
|
function Fs(t, e, r) {
|
|
e == "__proto__" && xe ? xe(t, e, {
|
|
configurable: true,
|
|
enumerable: true,
|
|
value: r,
|
|
writable: true
|
|
}) : t[e] = r;
|
|
}
|
|
var yt = Fs;
|
|
var Bs = yt;
|
|
var Us = le;
|
|
var Gs = Object.prototype;
|
|
var Ks = Gs.hasOwnProperty;
|
|
function Hs(t, e, r) {
|
|
var a = t[e];
|
|
(!(Ks.call(t, e) && Us(a, r)) || r === void 0 && !(e in t)) && Bs(t, e, r);
|
|
}
|
|
var bt = Hs;
|
|
var qs = bt;
|
|
var zs = yt;
|
|
function Vs(t, e, r, a) {
|
|
var n = !r;
|
|
r || (r = {});
|
|
for (var s = -1, i = e.length; ++s < i; ) {
|
|
var o = e[s], c = a ? a(r[o], t[o], o, r, t) : void 0;
|
|
c === void 0 && (c = t[o]), n ? zs(r, o, c) : qs(r, o, c);
|
|
}
|
|
return r;
|
|
}
|
|
var Y = Vs;
|
|
function Js(t, e) {
|
|
for (var r = -1, a = Array(t); ++r < t; )
|
|
a[r] = e(r);
|
|
return a;
|
|
}
|
|
var Qs = Js;
|
|
var Ws = R;
|
|
var Ys = C;
|
|
var Xs = "[object Arguments]";
|
|
function Zs(t) {
|
|
return Ys(t) && Ws(t) == Xs;
|
|
}
|
|
var ks = Zs;
|
|
var Ne = ks;
|
|
var ei = C;
|
|
var vt = Object.prototype;
|
|
var ti = vt.hasOwnProperty;
|
|
var ri = vt.propertyIsEnumerable;
|
|
var ai = Ne(/* @__PURE__ */ function() {
|
|
return arguments;
|
|
}()) ? Ne : function(t) {
|
|
return ei(t) && ti.call(t, "callee") && !ri.call(t, "callee");
|
|
};
|
|
var ni = ai;
|
|
var K = { exports: {} };
|
|
function si() {
|
|
return false;
|
|
}
|
|
var ii = si;
|
|
K.exports;
|
|
(function(t, e) {
|
|
var r = A, a = ii, n = e && !e.nodeType && e, s = n && true && t && !t.nodeType && t, i = s && s.exports === n, o = i ? r.Buffer : void 0, c = o ? o.isBuffer : void 0, l = c || a;
|
|
t.exports = l;
|
|
})(K, K.exports);
|
|
var ge = K.exports;
|
|
var oi = 9007199254740991;
|
|
var ci = /^(?:0|[1-9]\d*)$/;
|
|
function li(t, e) {
|
|
var r = typeof t;
|
|
return e = e ?? oi, !!e && (r == "number" || r != "symbol" && ci.test(t)) && t > -1 && t % 1 == 0 && t < e;
|
|
}
|
|
var ui = li;
|
|
var fi = 9007199254740991;
|
|
function di(t) {
|
|
return typeof t == "number" && t > -1 && t % 1 == 0 && t <= fi;
|
|
}
|
|
var $t = di;
|
|
var hi = R;
|
|
var gi = $t;
|
|
var pi = C;
|
|
var yi = "[object Arguments]";
|
|
var bi = "[object Array]";
|
|
var vi = "[object Boolean]";
|
|
var $i = "[object Date]";
|
|
var _i = "[object Error]";
|
|
var mi = "[object Function]";
|
|
var Ai = "[object Map]";
|
|
var wi = "[object Number]";
|
|
var Ti = "[object Object]";
|
|
var Oi = "[object RegExp]";
|
|
var Ci = "[object Set]";
|
|
var Si = "[object String]";
|
|
var Ei = "[object WeakMap]";
|
|
var ji = "[object ArrayBuffer]";
|
|
var Ii = "[object DataView]";
|
|
var Pi = "[object Float32Array]";
|
|
var xi = "[object Float64Array]";
|
|
var Ni = "[object Int8Array]";
|
|
var Mi = "[object Int16Array]";
|
|
var Li = "[object Int32Array]";
|
|
var Ri = "[object Uint8Array]";
|
|
var Di = "[object Uint8ClampedArray]";
|
|
var Fi = "[object Uint16Array]";
|
|
var Bi = "[object Uint32Array]";
|
|
var g = {};
|
|
g[Pi] = g[xi] = g[Ni] = g[Mi] = g[Li] = g[Ri] = g[Di] = g[Fi] = g[Bi] = true;
|
|
g[yi] = g[bi] = g[ji] = g[vi] = g[Ii] = g[$i] = g[_i] = g[mi] = g[Ai] = g[wi] = g[Ti] = g[Oi] = g[Ci] = g[Si] = g[Ei] = false;
|
|
function Ui(t) {
|
|
return pi(t) && gi(t.length) && !!g[hi(t)];
|
|
}
|
|
var Gi = Ui;
|
|
function Ki(t) {
|
|
return function(e) {
|
|
return t(e);
|
|
};
|
|
}
|
|
var pe = Ki;
|
|
var H = { exports: {} };
|
|
H.exports;
|
|
(function(t, e) {
|
|
var r = ut, a = e && !e.nodeType && e, n = a && true && t && !t.nodeType && t, s = n && n.exports === a, i = s && r.process, o = function() {
|
|
try {
|
|
var c = n && n.require && n.require("util").types;
|
|
return c || i && i.binding && i.binding("util");
|
|
} catch {
|
|
}
|
|
}();
|
|
t.exports = o;
|
|
})(H, H.exports);
|
|
var ye = H.exports;
|
|
var Hi = Gi;
|
|
var qi = pe;
|
|
var Me = ye;
|
|
var Le = Me && Me.isTypedArray;
|
|
var zi = Le ? qi(Le) : Hi;
|
|
var _t = zi;
|
|
var Vi = Qs;
|
|
var Ji = ni;
|
|
var Qi = O;
|
|
var Wi = ge;
|
|
var Yi = ui;
|
|
var Xi = _t;
|
|
var Zi = Object.prototype;
|
|
var ki = Zi.hasOwnProperty;
|
|
function eo(t, e) {
|
|
var r = Qi(t), a = !r && Ji(t), n = !r && !a && Wi(t), s = !r && !a && !n && Xi(t), i = r || a || n || s, o = i ? Vi(t.length, String) : [], c = o.length;
|
|
for (var l in t)
|
|
(e || ki.call(t, l)) && !(i && // Safari 9 has enumerable `arguments.length` in strict mode.
|
|
(l == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
|
|
n && (l == "offset" || l == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
|
|
s && (l == "buffer" || l == "byteLength" || l == "byteOffset") || // Skip index properties.
|
|
Yi(l, c))) && o.push(l);
|
|
return o;
|
|
}
|
|
var mt = eo;
|
|
var to = Object.prototype;
|
|
function ro(t) {
|
|
var e = t && t.constructor, r = typeof e == "function" && e.prototype || to;
|
|
return t === r;
|
|
}
|
|
var be = ro;
|
|
function ao(t, e) {
|
|
return function(r) {
|
|
return t(e(r));
|
|
};
|
|
}
|
|
var At = ao;
|
|
var no = At;
|
|
var so = no(Object.keys, Object);
|
|
var io = so;
|
|
var oo = be;
|
|
var co = io;
|
|
var lo = Object.prototype;
|
|
var uo = lo.hasOwnProperty;
|
|
function fo(t) {
|
|
if (!oo(t))
|
|
return co(t);
|
|
var e = [];
|
|
for (var r in Object(t))
|
|
uo.call(t, r) && r != "constructor" && e.push(r);
|
|
return e;
|
|
}
|
|
var ho = fo;
|
|
var go = dt;
|
|
var po = $t;
|
|
function yo(t) {
|
|
return t != null && po(t.length) && !go(t);
|
|
}
|
|
var wt = yo;
|
|
var bo = mt;
|
|
var vo = ho;
|
|
var $o = wt;
|
|
function _o(t) {
|
|
return $o(t) ? bo(t) : vo(t);
|
|
}
|
|
var X = _o;
|
|
var mo = Y;
|
|
var Ao = X;
|
|
function wo(t, e) {
|
|
return t && mo(e, Ao(e), t);
|
|
}
|
|
var To = wo;
|
|
function Oo(t) {
|
|
var e = [];
|
|
if (t != null)
|
|
for (var r in Object(t))
|
|
e.push(r);
|
|
return e;
|
|
}
|
|
var Co = Oo;
|
|
var So = E;
|
|
var Eo = be;
|
|
var jo = Co;
|
|
var Io = Object.prototype;
|
|
var Po = Io.hasOwnProperty;
|
|
function xo(t) {
|
|
if (!So(t))
|
|
return jo(t);
|
|
var e = Eo(t), r = [];
|
|
for (var a in t)
|
|
a == "constructor" && (e || !Po.call(t, a)) || r.push(a);
|
|
return r;
|
|
}
|
|
var No = xo;
|
|
var Mo = mt;
|
|
var Lo = No;
|
|
var Ro = wt;
|
|
function Do(t) {
|
|
return Ro(t) ? Mo(t, true) : Lo(t);
|
|
}
|
|
var ve = Do;
|
|
var Fo = Y;
|
|
var Bo = ve;
|
|
function Uo(t, e) {
|
|
return t && Fo(e, Bo(e), t);
|
|
}
|
|
var Go = Uo;
|
|
var q = { exports: {} };
|
|
q.exports;
|
|
(function(t, e) {
|
|
var r = A, a = e && !e.nodeType && e, n = a && true && t && !t.nodeType && t, s = n && n.exports === a, i = s ? r.Buffer : void 0, o = i ? i.allocUnsafe : void 0;
|
|
function c(l, u) {
|
|
if (u)
|
|
return l.slice();
|
|
var f = l.length, d = o ? o(f) : new l.constructor(f);
|
|
return l.copy(d), d;
|
|
}
|
|
t.exports = c;
|
|
})(q, q.exports);
|
|
var Ko = q.exports;
|
|
function Ho(t, e) {
|
|
var r = -1, a = t.length;
|
|
for (e || (e = Array(a)); ++r < a; )
|
|
e[r] = t[r];
|
|
return e;
|
|
}
|
|
var qo = Ho;
|
|
function zo(t, e) {
|
|
for (var r = -1, a = t == null ? 0 : t.length, n = 0, s = []; ++r < a; ) {
|
|
var i = t[r];
|
|
e(i, r, t) && (s[n++] = i);
|
|
}
|
|
return s;
|
|
}
|
|
var Vo = zo;
|
|
function Jo() {
|
|
return [];
|
|
}
|
|
var Tt = Jo;
|
|
var Qo = Vo;
|
|
var Wo = Tt;
|
|
var Yo = Object.prototype;
|
|
var Xo = Yo.propertyIsEnumerable;
|
|
var Re = Object.getOwnPropertySymbols;
|
|
var Zo = Re ? function(t) {
|
|
return t == null ? [] : (t = Object(t), Qo(Re(t), function(e) {
|
|
return Xo.call(t, e);
|
|
}));
|
|
} : Wo;
|
|
var $e = Zo;
|
|
var ko = Y;
|
|
var ec = $e;
|
|
function tc(t, e) {
|
|
return ko(t, ec(t), e);
|
|
}
|
|
var rc = tc;
|
|
function ac(t, e) {
|
|
for (var r = -1, a = e.length, n = t.length; ++r < a; )
|
|
t[n + r] = e[r];
|
|
return t;
|
|
}
|
|
var Ot = ac;
|
|
var nc = At;
|
|
var sc = nc(Object.getPrototypeOf, Object);
|
|
var Ct = sc;
|
|
var ic = Ot;
|
|
var oc = Ct;
|
|
var cc = $e;
|
|
var lc = Tt;
|
|
var uc = Object.getOwnPropertySymbols;
|
|
var fc = uc ? function(t) {
|
|
for (var e = []; t; )
|
|
ic(e, cc(t)), t = oc(t);
|
|
return e;
|
|
} : lc;
|
|
var St = fc;
|
|
var dc = Y;
|
|
var hc = St;
|
|
function gc(t, e) {
|
|
return dc(t, hc(t), e);
|
|
}
|
|
var pc = gc;
|
|
var yc = Ot;
|
|
var bc = O;
|
|
function vc(t, e, r) {
|
|
var a = e(t);
|
|
return bc(t) ? a : yc(a, r(t));
|
|
}
|
|
var Et = vc;
|
|
var $c = Et;
|
|
var _c = $e;
|
|
var mc = X;
|
|
function Ac(t) {
|
|
return $c(t, mc, _c);
|
|
}
|
|
var jt = Ac;
|
|
var wc = Et;
|
|
var Tc = St;
|
|
var Oc = ve;
|
|
function Cc(t) {
|
|
return wc(t, Oc, Tc);
|
|
}
|
|
var Sc = Cc;
|
|
var Ec = S;
|
|
var jc = A;
|
|
var Ic = Ec(jc, "DataView");
|
|
var Pc = Ic;
|
|
var xc = S;
|
|
var Nc = A;
|
|
var Mc = xc(Nc, "Promise");
|
|
var Lc = Mc;
|
|
var Rc = S;
|
|
var Dc = A;
|
|
var Fc = Rc(Dc, "Set");
|
|
var Bc = Fc;
|
|
var Uc = S;
|
|
var Gc = A;
|
|
var Kc = Uc(Gc, "WeakMap");
|
|
var Hc = Kc;
|
|
var re = Pc;
|
|
var ae = ue;
|
|
var ne = Lc;
|
|
var se = Bc;
|
|
var ie = Hc;
|
|
var It = R;
|
|
var N = ht;
|
|
var De = "[object Map]";
|
|
var qc = "[object Object]";
|
|
var Fe = "[object Promise]";
|
|
var Be = "[object Set]";
|
|
var Ue = "[object WeakMap]";
|
|
var Ge = "[object DataView]";
|
|
var zc = N(re);
|
|
var Vc = N(ae);
|
|
var Jc = N(ne);
|
|
var Qc = N(se);
|
|
var Wc = N(ie);
|
|
var T = It;
|
|
(re && T(new re(new ArrayBuffer(1))) != Ge || ae && T(new ae()) != De || ne && T(ne.resolve()) != Fe || se && T(new se()) != Be || ie && T(new ie()) != Ue) && (T = function(t) {
|
|
var e = It(t), r = e == qc ? t.constructor : void 0, a = r ? N(r) : "";
|
|
if (a)
|
|
switch (a) {
|
|
case zc:
|
|
return Ge;
|
|
case Vc:
|
|
return De;
|
|
case Jc:
|
|
return Fe;
|
|
case Qc:
|
|
return Be;
|
|
case Wc:
|
|
return Ue;
|
|
}
|
|
return e;
|
|
});
|
|
var Z = T;
|
|
var Yc = Object.prototype;
|
|
var Xc = Yc.hasOwnProperty;
|
|
function Zc(t) {
|
|
var e = t.length, r = new t.constructor(e);
|
|
return e && typeof t[0] == "string" && Xc.call(t, "index") && (r.index = t.index, r.input = t.input), r;
|
|
}
|
|
var kc = Zc;
|
|
var el = A;
|
|
var tl = el.Uint8Array;
|
|
var Pt = tl;
|
|
var Ke = Pt;
|
|
function rl(t) {
|
|
var e = new t.constructor(t.byteLength);
|
|
return new Ke(e).set(new Ke(t)), e;
|
|
}
|
|
var _e = rl;
|
|
var al = _e;
|
|
function nl(t, e) {
|
|
var r = e ? al(t.buffer) : t.buffer;
|
|
return new t.constructor(r, t.byteOffset, t.byteLength);
|
|
}
|
|
var sl = nl;
|
|
var il = /\w*$/;
|
|
function ol(t) {
|
|
var e = new t.constructor(t.source, il.exec(t));
|
|
return e.lastIndex = t.lastIndex, e;
|
|
}
|
|
var cl = ol;
|
|
var He = L;
|
|
var qe = He ? He.prototype : void 0;
|
|
var ze = qe ? qe.valueOf : void 0;
|
|
function ll(t) {
|
|
return ze ? Object(ze.call(t)) : {};
|
|
}
|
|
var ul = ll;
|
|
var fl = _e;
|
|
function dl(t, e) {
|
|
var r = e ? fl(t.buffer) : t.buffer;
|
|
return new t.constructor(r, t.byteOffset, t.length);
|
|
}
|
|
var hl = dl;
|
|
var gl = _e;
|
|
var pl = sl;
|
|
var yl = cl;
|
|
var bl = ul;
|
|
var vl = hl;
|
|
var $l = "[object Boolean]";
|
|
var _l = "[object Date]";
|
|
var ml = "[object Map]";
|
|
var Al = "[object Number]";
|
|
var wl = "[object RegExp]";
|
|
var Tl = "[object Set]";
|
|
var Ol = "[object String]";
|
|
var Cl = "[object Symbol]";
|
|
var Sl = "[object ArrayBuffer]";
|
|
var El = "[object DataView]";
|
|
var jl = "[object Float32Array]";
|
|
var Il = "[object Float64Array]";
|
|
var Pl = "[object Int8Array]";
|
|
var xl = "[object Int16Array]";
|
|
var Nl = "[object Int32Array]";
|
|
var Ml = "[object Uint8Array]";
|
|
var Ll = "[object Uint8ClampedArray]";
|
|
var Rl = "[object Uint16Array]";
|
|
var Dl = "[object Uint32Array]";
|
|
function Fl(t, e, r) {
|
|
var a = t.constructor;
|
|
switch (e) {
|
|
case Sl:
|
|
return gl(t);
|
|
case $l:
|
|
case _l:
|
|
return new a(+t);
|
|
case El:
|
|
return pl(t, r);
|
|
case jl:
|
|
case Il:
|
|
case Pl:
|
|
case xl:
|
|
case Nl:
|
|
case Ml:
|
|
case Ll:
|
|
case Rl:
|
|
case Dl:
|
|
return vl(t, r);
|
|
case ml:
|
|
return new a();
|
|
case Al:
|
|
case Ol:
|
|
return new a(t);
|
|
case wl:
|
|
return yl(t);
|
|
case Tl:
|
|
return new a();
|
|
case Cl:
|
|
return bl(t);
|
|
}
|
|
}
|
|
var Bl = Fl;
|
|
var Ul = E;
|
|
var Ve = Object.create;
|
|
var Gl = /* @__PURE__ */ function() {
|
|
function t() {
|
|
}
|
|
return function(e) {
|
|
if (!Ul(e))
|
|
return {};
|
|
if (Ve)
|
|
return Ve(e);
|
|
t.prototype = e;
|
|
var r = new t();
|
|
return t.prototype = void 0, r;
|
|
};
|
|
}();
|
|
var Kl = Gl;
|
|
var Hl = Kl;
|
|
var ql = Ct;
|
|
var zl = be;
|
|
function Vl(t) {
|
|
return typeof t.constructor == "function" && !zl(t) ? Hl(ql(t)) : {};
|
|
}
|
|
var Jl = Vl;
|
|
var Ql = Z;
|
|
var Wl = C;
|
|
var Yl = "[object Map]";
|
|
function Xl(t) {
|
|
return Wl(t) && Ql(t) == Yl;
|
|
}
|
|
var Zl = Xl;
|
|
var kl = Zl;
|
|
var eu = pe;
|
|
var Je = ye;
|
|
var Qe = Je && Je.isMap;
|
|
var tu = Qe ? eu(Qe) : kl;
|
|
var ru = tu;
|
|
var au = Z;
|
|
var nu = C;
|
|
var su = "[object Set]";
|
|
function iu(t) {
|
|
return nu(t) && au(t) == su;
|
|
}
|
|
var ou = iu;
|
|
var cu = ou;
|
|
var lu = pe;
|
|
var We = ye;
|
|
var Ye = We && We.isSet;
|
|
var uu = Ye ? lu(Ye) : cu;
|
|
var fu = uu;
|
|
var du = he;
|
|
var hu = Ms;
|
|
var gu = bt;
|
|
var pu = To;
|
|
var yu = Go;
|
|
var bu = Ko;
|
|
var vu = qo;
|
|
var $u = rc;
|
|
var _u = pc;
|
|
var mu = jt;
|
|
var Au = Sc;
|
|
var wu = Z;
|
|
var Tu = kc;
|
|
var Ou = Bl;
|
|
var Cu = Jl;
|
|
var Su = O;
|
|
var Eu = ge;
|
|
var ju = ru;
|
|
var Iu = E;
|
|
var Pu = fu;
|
|
var xu = X;
|
|
var Nu = ve;
|
|
var Mu = 1;
|
|
var Lu = 2;
|
|
var Ru = 4;
|
|
var xt = "[object Arguments]";
|
|
var Du = "[object Array]";
|
|
var Fu = "[object Boolean]";
|
|
var Bu = "[object Date]";
|
|
var Uu = "[object Error]";
|
|
var Nt = "[object Function]";
|
|
var Gu = "[object GeneratorFunction]";
|
|
var Ku = "[object Map]";
|
|
var Hu = "[object Number]";
|
|
var Mt = "[object Object]";
|
|
var qu = "[object RegExp]";
|
|
var zu = "[object Set]";
|
|
var Vu = "[object String]";
|
|
var Ju = "[object Symbol]";
|
|
var Qu = "[object WeakMap]";
|
|
var Wu = "[object ArrayBuffer]";
|
|
var Yu = "[object DataView]";
|
|
var Xu = "[object Float32Array]";
|
|
var Zu = "[object Float64Array]";
|
|
var ku = "[object Int8Array]";
|
|
var ef = "[object Int16Array]";
|
|
var tf = "[object Int32Array]";
|
|
var rf = "[object Uint8Array]";
|
|
var af = "[object Uint8ClampedArray]";
|
|
var nf = "[object Uint16Array]";
|
|
var sf = "[object Uint32Array]";
|
|
var h = {};
|
|
h[xt] = h[Du] = h[Wu] = h[Yu] = h[Fu] = h[Bu] = h[Xu] = h[Zu] = h[ku] = h[ef] = h[tf] = h[Ku] = h[Hu] = h[Mt] = h[qu] = h[zu] = h[Vu] = h[Ju] = h[rf] = h[af] = h[nf] = h[sf] = true;
|
|
h[Uu] = h[Nt] = h[Qu] = false;
|
|
function G(t, e, r, a, n, s) {
|
|
var i, o = e & Mu, c = e & Lu, l = e & Ru;
|
|
if (r && (i = n ? r(t, a, n, s) : r(t)), i !== void 0)
|
|
return i;
|
|
if (!Iu(t))
|
|
return t;
|
|
var u = Su(t);
|
|
if (u) {
|
|
if (i = Tu(t), !o)
|
|
return vu(t, i);
|
|
} else {
|
|
var f = wu(t), d = f == Nt || f == Gu;
|
|
if (Eu(t))
|
|
return bu(t, o);
|
|
if (f == Mt || f == xt || d && !n) {
|
|
if (i = c || d ? {} : Cu(t), !o)
|
|
return c ? _u(t, yu(i, t)) : $u(t, pu(i, t));
|
|
} else {
|
|
if (!h[f])
|
|
return n ? t : {};
|
|
i = Ou(t, f, o);
|
|
}
|
|
}
|
|
s || (s = new du());
|
|
var m = s.get(t);
|
|
if (m)
|
|
return m;
|
|
s.set(t, i), Pu(t) ? t.forEach(function(b) {
|
|
i.add(G(b, e, r, b, t, s));
|
|
}) : ju(t) && t.forEach(function(b, v) {
|
|
i.set(v, G(b, e, r, v, t, s));
|
|
});
|
|
var $ = l ? c ? Au : mu : c ? Nu : xu, _ = u ? void 0 : $(t);
|
|
return hu(_ || t, function(b, v) {
|
|
_ && (v = b, b = t[v]), gu(i, v, G(b, e, r, v, t, s));
|
|
}), i;
|
|
}
|
|
var Lt = G;
|
|
var of = "__lodash_hash_undefined__";
|
|
function cf(t) {
|
|
return this.__data__.set(t, of), this;
|
|
}
|
|
var lf = cf;
|
|
function uf(t) {
|
|
return this.__data__.has(t);
|
|
}
|
|
var ff = uf;
|
|
var df = fe;
|
|
var hf = lf;
|
|
var gf = ff;
|
|
function z(t) {
|
|
var e = -1, r = t == null ? 0 : t.length;
|
|
for (this.__data__ = new df(); ++e < r; )
|
|
this.add(t[e]);
|
|
}
|
|
z.prototype.add = z.prototype.push = hf;
|
|
z.prototype.has = gf;
|
|
var pf = z;
|
|
function yf(t, e) {
|
|
for (var r = -1, a = t == null ? 0 : t.length; ++r < a; )
|
|
if (e(t[r], r, t))
|
|
return true;
|
|
return false;
|
|
}
|
|
var bf = yf;
|
|
function vf(t, e) {
|
|
return t.has(e);
|
|
}
|
|
var $f = vf;
|
|
var _f = pf;
|
|
var mf = bf;
|
|
var Af = $f;
|
|
var wf = 1;
|
|
var Tf = 2;
|
|
function Of(t, e, r, a, n, s) {
|
|
var i = r & wf, o = t.length, c = e.length;
|
|
if (o != c && !(i && c > o))
|
|
return false;
|
|
var l = s.get(t), u = s.get(e);
|
|
if (l && u)
|
|
return l == e && u == t;
|
|
var f = -1, d = true, m = r & Tf ? new _f() : void 0;
|
|
for (s.set(t, e), s.set(e, t); ++f < o; ) {
|
|
var $ = t[f], _ = e[f];
|
|
if (a)
|
|
var b = i ? a(_, $, f, e, t, s) : a($, _, f, t, e, s);
|
|
if (b !== void 0) {
|
|
if (b)
|
|
continue;
|
|
d = false;
|
|
break;
|
|
}
|
|
if (m) {
|
|
if (!mf(e, function(v, w) {
|
|
if (!Af(m, w) && ($ === v || n($, v, r, a, s)))
|
|
return m.push(w);
|
|
})) {
|
|
d = false;
|
|
break;
|
|
}
|
|
} else if (!($ === _ || n($, _, r, a, s))) {
|
|
d = false;
|
|
break;
|
|
}
|
|
}
|
|
return s.delete(t), s.delete(e), d;
|
|
}
|
|
var Rt = Of;
|
|
function Cf(t) {
|
|
var e = -1, r = Array(t.size);
|
|
return t.forEach(function(a, n) {
|
|
r[++e] = [n, a];
|
|
}), r;
|
|
}
|
|
var Sf = Cf;
|
|
function Ef(t) {
|
|
var e = -1, r = Array(t.size);
|
|
return t.forEach(function(a) {
|
|
r[++e] = a;
|
|
}), r;
|
|
}
|
|
var jf = Ef;
|
|
var Xe = L;
|
|
var Ze = Pt;
|
|
var If = le;
|
|
var Pf = Rt;
|
|
var xf = Sf;
|
|
var Nf = jf;
|
|
var Mf = 1;
|
|
var Lf = 2;
|
|
var Rf = "[object Boolean]";
|
|
var Df = "[object Date]";
|
|
var Ff = "[object Error]";
|
|
var Bf = "[object Map]";
|
|
var Uf = "[object Number]";
|
|
var Gf = "[object RegExp]";
|
|
var Kf = "[object Set]";
|
|
var Hf = "[object String]";
|
|
var qf = "[object Symbol]";
|
|
var zf = "[object ArrayBuffer]";
|
|
var Vf = "[object DataView]";
|
|
var ke = Xe ? Xe.prototype : void 0;
|
|
var ee = ke ? ke.valueOf : void 0;
|
|
function Jf(t, e, r, a, n, s, i) {
|
|
switch (r) {
|
|
case Vf:
|
|
if (t.byteLength != e.byteLength || t.byteOffset != e.byteOffset)
|
|
return false;
|
|
t = t.buffer, e = e.buffer;
|
|
case zf:
|
|
return !(t.byteLength != e.byteLength || !s(new Ze(t), new Ze(e)));
|
|
case Rf:
|
|
case Df:
|
|
case Uf:
|
|
return If(+t, +e);
|
|
case Ff:
|
|
return t.name == e.name && t.message == e.message;
|
|
case Gf:
|
|
case Hf:
|
|
return t == e + "";
|
|
case Bf:
|
|
var o = xf;
|
|
case Kf:
|
|
var c = a & Mf;
|
|
if (o || (o = Nf), t.size != e.size && !c)
|
|
return false;
|
|
var l = i.get(t);
|
|
if (l)
|
|
return l == e;
|
|
a |= Lf, i.set(t, e);
|
|
var u = Pf(o(t), o(e), a, n, s, i);
|
|
return i.delete(t), u;
|
|
case qf:
|
|
if (ee)
|
|
return ee.call(t) == ee.call(e);
|
|
}
|
|
return false;
|
|
}
|
|
var Qf = Jf;
|
|
var et = jt;
|
|
var Wf = 1;
|
|
var Yf = Object.prototype;
|
|
var Xf = Yf.hasOwnProperty;
|
|
function Zf(t, e, r, a, n, s) {
|
|
var i = r & Wf, o = et(t), c = o.length, l = et(e), u = l.length;
|
|
if (c != u && !i)
|
|
return false;
|
|
for (var f = c; f--; ) {
|
|
var d = o[f];
|
|
if (!(i ? d in e : Xf.call(e, d)))
|
|
return false;
|
|
}
|
|
var m = s.get(t), $ = s.get(e);
|
|
if (m && $)
|
|
return m == e && $ == t;
|
|
var _ = true;
|
|
s.set(t, e), s.set(e, t);
|
|
for (var b = i; ++f < c; ) {
|
|
d = o[f];
|
|
var v = t[d], w = e[d];
|
|
if (a)
|
|
var Ae = i ? a(w, v, d, e, t, s) : a(v, w, d, t, e, s);
|
|
if (!(Ae === void 0 ? v === w || n(v, w, r, a, s) : Ae)) {
|
|
_ = false;
|
|
break;
|
|
}
|
|
b || (b = d == "constructor");
|
|
}
|
|
if (_ && !b) {
|
|
var D = t.constructor, F = e.constructor;
|
|
D != F && "constructor" in t && "constructor" in e && !(typeof D == "function" && D instanceof D && typeof F == "function" && F instanceof F) && (_ = false);
|
|
}
|
|
return s.delete(t), s.delete(e), _;
|
|
}
|
|
var kf = Zf;
|
|
var te = he;
|
|
var ed = Rt;
|
|
var td = Qf;
|
|
var rd = kf;
|
|
var tt = Z;
|
|
var rt = O;
|
|
var at = ge;
|
|
var ad = _t;
|
|
var nd = 1;
|
|
var nt = "[object Arguments]";
|
|
var st = "[object Array]";
|
|
var U = "[object Object]";
|
|
var sd = Object.prototype;
|
|
var it = sd.hasOwnProperty;
|
|
function id(t, e, r, a, n, s) {
|
|
var i = rt(t), o = rt(e), c = i ? st : tt(t), l = o ? st : tt(e);
|
|
c = c == nt ? U : c, l = l == nt ? U : l;
|
|
var u = c == U, f = l == U, d = c == l;
|
|
if (d && at(t)) {
|
|
if (!at(e))
|
|
return false;
|
|
i = true, u = false;
|
|
}
|
|
if (d && !u)
|
|
return s || (s = new te()), i || ad(t) ? ed(t, e, r, a, n, s) : td(t, e, c, r, a, n, s);
|
|
if (!(r & nd)) {
|
|
var m = u && it.call(t, "__wrapped__"), $ = f && it.call(e, "__wrapped__");
|
|
if (m || $) {
|
|
var _ = m ? t.value() : t, b = $ ? e.value() : e;
|
|
return s || (s = new te()), n(_, b, r, a, s);
|
|
}
|
|
}
|
|
return d ? (s || (s = new te()), rd(t, e, r, a, n, s)) : false;
|
|
}
|
|
var od = id;
|
|
var cd = od;
|
|
var ot = C;
|
|
function Dt(t, e, r, a, n) {
|
|
return t === e ? true : t == null || e == null || !ot(t) && !ot(e) ? t !== t && e !== e : cd(t, e, r, a, Dt, n);
|
|
}
|
|
var ld = Dt;
|
|
var ud = he;
|
|
var fd = ld;
|
|
var dd = 1;
|
|
var hd = 2;
|
|
function gd(t, e, r, a) {
|
|
var n = r.length, s = n, i = !a;
|
|
if (t == null)
|
|
return !s;
|
|
for (t = Object(t); n--; ) {
|
|
var o = r[n];
|
|
if (i && o[2] ? o[1] !== t[o[0]] : !(o[0] in t))
|
|
return false;
|
|
}
|
|
for (; ++n < s; ) {
|
|
o = r[n];
|
|
var c = o[0], l = t[c], u = o[1];
|
|
if (i && o[2]) {
|
|
if (l === void 0 && !(c in t))
|
|
return false;
|
|
} else {
|
|
var f = new ud();
|
|
if (a)
|
|
var d = a(l, u, c, t, e, f);
|
|
if (!(d === void 0 ? fd(u, l, dd | hd, a, f) : d))
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
var pd = gd;
|
|
var yd = E;
|
|
function bd(t) {
|
|
return t === t && !yd(t);
|
|
}
|
|
var vd = bd;
|
|
var $d = vd;
|
|
var _d = X;
|
|
function md(t) {
|
|
for (var e = _d(t), r = e.length; r--; ) {
|
|
var a = e[r], n = t[a];
|
|
e[r] = [a, n, $d(n)];
|
|
}
|
|
return e;
|
|
}
|
|
var Ad = md;
|
|
function wd(t, e) {
|
|
return function(r) {
|
|
return r == null ? false : r[t] === e && (e !== void 0 || t in Object(r));
|
|
};
|
|
}
|
|
var Td = wd;
|
|
var Od = pd;
|
|
var Cd = Ad;
|
|
var Sd = Td;
|
|
function Ed(t) {
|
|
var e = Cd(t);
|
|
return e.length == 1 && e[0][2] ? Sd(e[0][0], e[0][1]) : function(r) {
|
|
return r === t || Od(r, t, e);
|
|
};
|
|
}
|
|
var jd = Ed;
|
|
var Id = Lt;
|
|
var Pd = jd;
|
|
var xd = 1;
|
|
function Nd(t) {
|
|
return Pd(Id(t, xd));
|
|
}
|
|
var Md = Nd;
|
|
var Ld = oe(Md);
|
|
var Rd = Lt;
|
|
var Dd = 1;
|
|
var Fd = 4;
|
|
function Bd(t) {
|
|
return Rd(t, Dd | Fd);
|
|
}
|
|
var Ud = Bd;
|
|
var Ft = oe(Ud);
|
|
var ct = class {
|
|
constructor({
|
|
items: e = [],
|
|
identifierName: r = "id",
|
|
getNewId: a
|
|
} = {}) {
|
|
p(this, "sequence", 0);
|
|
p(this, "items", []);
|
|
p(this, "database", null);
|
|
p(this, "name", null);
|
|
p(this, "identifierName", "id");
|
|
p(this, "getNewId");
|
|
if (!Array.isArray(e))
|
|
throw new Error(
|
|
"Can't initialize a Collection with anything else than an array of items"
|
|
);
|
|
this.identifierName = r, this.getNewId = a || this.getNewIdFromSequence, e.map(this.addOne.bind(this));
|
|
}
|
|
/**
|
|
* A Collection may need to access other collections (e.g. for embedding references)
|
|
* This is done through a reference to the parent database.
|
|
*/
|
|
setDatabase(e) {
|
|
this.database = e;
|
|
}
|
|
setName(e) {
|
|
this.name = e;
|
|
}
|
|
/**
|
|
* Get a one to many embedder function for a given resource name
|
|
*
|
|
* @example embed posts for an author
|
|
*
|
|
* authorsCollection._oneToManyEmbedder('posts')
|
|
*
|
|
* @returns Function item => item
|
|
*/
|
|
_oneToManyEmbedder(e) {
|
|
if (this.name == null)
|
|
throw new Error("Can't embed references without a collection name");
|
|
const a = `${this.name.slice(0, -1)}_id`;
|
|
return (n) => {
|
|
if (this.database == null)
|
|
throw new Error("Can't embed references without a database");
|
|
const s = this.database.collections[e];
|
|
if (!s)
|
|
throw new Error(
|
|
`Can't embed a non-existing collection ${e}`
|
|
);
|
|
return Array.isArray(n[e]) ? n[e] = s.getAll({
|
|
filter: (i) => n[e].indexOf(
|
|
i[s.identifierName]
|
|
) !== -1
|
|
}) : n[e] = s.getAll({
|
|
filter: (i) => i[a] === n[this.identifierName]
|
|
}), n;
|
|
};
|
|
}
|
|
/**
|
|
* Get a many to one embedder function for a given resource name
|
|
*
|
|
* @example embed author for a post
|
|
*
|
|
* postsCollection._manyToOneEmbedder('author')
|
|
*
|
|
* @returns Function item => item
|
|
*/
|
|
_manyToOneEmbedder(e) {
|
|
const r = `${e}s`, a = `${e}_id`;
|
|
return (n) => {
|
|
if (this.database == null)
|
|
throw new Error("Can't embed references without a database");
|
|
const s = this.database.collections[r];
|
|
if (!s)
|
|
throw new Error(
|
|
`Can't embed a non-existing collection ${e}`
|
|
);
|
|
try {
|
|
n[e] = s.getOne(
|
|
n[a]
|
|
);
|
|
} catch {
|
|
}
|
|
return n;
|
|
};
|
|
}
|
|
/**
|
|
* @param String[] An array of resource names, e.g. ['books', 'country']
|
|
* @returns Function item => item
|
|
*/
|
|
_itemEmbedder(e) {
|
|
const a = (Array.isArray(e) ? e : [e]).map(
|
|
(n) => n.endsWith("s") ? this._oneToManyEmbedder(n) : this._manyToOneEmbedder(n)
|
|
);
|
|
return (n) => a.reduce(
|
|
(s, i) => i(s),
|
|
n
|
|
);
|
|
}
|
|
getCount(e) {
|
|
return this.getAll(e).length;
|
|
}
|
|
getAll(e) {
|
|
let r = this.items.slice(0);
|
|
return e && (e.filter && (r = Bt(r, e.filter)), e.sort && (r = qd(r, e.sort)), e.range && (r = zd(r, e.range)), r = r.map((a) => Object.assign({}, a)), e.embed && this.database && (r = r.map(this._itemEmbedder(e.embed)))), r;
|
|
}
|
|
getIndex(e) {
|
|
return this.items.findIndex(
|
|
// biome-ignore lint/suspicious/noDoubleEquals: we want implicit type coercion
|
|
(r) => r[this.identifierName] == e
|
|
);
|
|
}
|
|
getOne(e, r) {
|
|
const a = this.getIndex(e);
|
|
if (a === -1)
|
|
throw new Error(`No item with identifier ${e}`);
|
|
let n = this.items[a];
|
|
return n = Object.assign({}, n), r != null && r.embed && this.database && (n = this._itemEmbedder(r.embed)(n)), n;
|
|
}
|
|
getNewIdFromSequence() {
|
|
return this.sequence++;
|
|
}
|
|
addOne(e) {
|
|
const r = Ft(e), a = r[this.identifierName];
|
|
if (a != null) {
|
|
if (this.getIndex(a) !== -1)
|
|
throw new Error(
|
|
`An item with the identifier ${a} already exists`
|
|
);
|
|
typeof a == "number" && (this.sequence = Math.max(this.sequence, a) + 1);
|
|
} else
|
|
r[this.identifierName] = this.getNewId();
|
|
return this.items.push(r), r;
|
|
}
|
|
updateOne(e, r) {
|
|
const a = this.getIndex(e);
|
|
if (a === -1)
|
|
throw new Error(`No item with identifier ${e}`);
|
|
for (const n in r)
|
|
this.items[a][n] = r[n];
|
|
return Object.assign({}, this.items[a]);
|
|
}
|
|
removeOne(e) {
|
|
const r = this.getIndex(e);
|
|
if (r === -1)
|
|
throw new Error(`No item with identifier ${e}`);
|
|
const a = this.items[r];
|
|
return this.items.splice(r, 1), typeof e == "number" && e == this.sequence - 1 && this.sequence--, a;
|
|
}
|
|
};
|
|
var Gd = (t, e) => t.reduce((r, a) => r && e(a), true);
|
|
var Kd = (t, e) => t.reduce((r, a) => r || e(a), false);
|
|
var Hd = (t, e) => t.reduce(
|
|
(r, a, n) => {
|
|
if (r != null)
|
|
return r;
|
|
const s = t.slice(0, n + 1).join("."), i = t.slice(n + 1).join("."), o = y(e, s);
|
|
return Array.isArray(o) && n < t.length - 1 ? [s, i] : void 0;
|
|
},
|
|
void 0
|
|
);
|
|
var lt = (t, e) => {
|
|
if (t.indexOf("_q") !== -1) {
|
|
const r = t.replace(/(_q)$/, ""), a = new RegExp(e.toString(), "i");
|
|
return (n) => {
|
|
var s;
|
|
return ((s = y(n, r)) == null ? void 0 : s.toString().match(a)) !== null;
|
|
};
|
|
}
|
|
if (t.indexOf("_lte") !== -1) {
|
|
const r = t.replace(/(_lte)$/, "");
|
|
return (a) => y(a, r) <= e;
|
|
}
|
|
if (t.indexOf("_gte") !== -1) {
|
|
const r = t.replace(/(_gte)$/, "");
|
|
return (a) => y(a, r) >= e;
|
|
}
|
|
if (t.indexOf("_lt") !== -1) {
|
|
const r = t.replace(/(_lt)$/, "");
|
|
return (a) => y(a, r) < e;
|
|
}
|
|
if (t.indexOf("_gt") !== -1) {
|
|
const r = t.replace(/(_gt)$/, "");
|
|
return (a) => y(a, r) > e;
|
|
}
|
|
if (t.indexOf("_neq_any") !== -1) {
|
|
const r = t.replace(/(_neq_any)$/, ""), a = Array.isArray(e) ? e : [e];
|
|
return (n) => a.every((s) => y(n, r) != s);
|
|
}
|
|
if (t.indexOf("_neq") !== -1) {
|
|
const r = t.replace(/(_neq)$/, "");
|
|
return (a) => y(a, r) != e;
|
|
}
|
|
if (t.indexOf("_eq_any") !== -1) {
|
|
const r = t.replace(/(_eq_any)$/, ""), a = Array.isArray(e) ? e : [e];
|
|
return (n) => a.some((s) => y(n, r) == s);
|
|
}
|
|
if (t.indexOf("_eq") !== -1) {
|
|
const r = t.replace(/(_eq)$/, "");
|
|
return (a) => y(a, r) == e;
|
|
}
|
|
if (t.indexOf("_inc_any") !== -1) {
|
|
const r = t.replace(/(_inc_any)$/, ""), a = Array.isArray(e) ? e : [e];
|
|
return (n) => a.some((s) => {
|
|
const i = y(n, r);
|
|
return Array.isArray(i) || typeof i == "string" ? i.includes(s) : false;
|
|
});
|
|
}
|
|
if (t.indexOf("_inc") !== -1) {
|
|
const r = t.replace(/(_inc)$/, ""), a = Array.isArray(e) ? e : [e];
|
|
return (n) => a.every((s) => {
|
|
const i = y(n, r);
|
|
return Array.isArray(i) || typeof i == "string" ? i.includes(s) : false;
|
|
});
|
|
}
|
|
if (t.indexOf("_ninc_any") !== -1) {
|
|
const r = t.replace(/(_ninc_any)$/, ""), a = Array.isArray(e) ? e : [e];
|
|
return (n) => a.every((s) => {
|
|
const i = y(n, r);
|
|
return Array.isArray(i) || typeof i == "string" ? !i.includes(s) : false;
|
|
});
|
|
}
|
|
return Array.isArray(e) ? (r) => Array.isArray(y(r, t)) ? Gd(e, (a) => {
|
|
const n = y(r, t);
|
|
return Array.isArray(n) ? Kd(n, (s) => s == a) : false;
|
|
}) : e.filter((a) => a == y(r, t)).length > 0 : typeof e == "object" ? (r) => Ld(e)(y(r, t)) : (r) => {
|
|
const a = y(r, t);
|
|
return Array.isArray(a) && typeof e == "string" ? a.indexOf(e) !== -1 : typeof a == "boolean" && typeof e == "string" ? a === (e === "true") : a == e;
|
|
};
|
|
};
|
|
function Bt(t, e) {
|
|
if (typeof e == "function")
|
|
return t.filter(e);
|
|
if (e instanceof Object) {
|
|
const r = Object.keys(e).map((a) => {
|
|
if (a === "q" && typeof e.q == "string") {
|
|
const i = Vd(e.q), o = (c) => {
|
|
for (const l in c) {
|
|
const u = c[l];
|
|
if (typeof u == "object" && o(u) || u && typeof u == "string" && u.match && u.match(i) !== null)
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
return o;
|
|
}
|
|
const n = a.split("."), s = e[a];
|
|
return n.length > 1 ? (i) => {
|
|
const o = Hd(
|
|
n,
|
|
i
|
|
);
|
|
if (o) {
|
|
const [c, l] = o, u = y(i, c);
|
|
return Array.isArray(u) ? Bt(u, {
|
|
[l]: s
|
|
}).length > 0 : false;
|
|
}
|
|
return lt(a, s)(i);
|
|
} : lt(a, s);
|
|
});
|
|
return t.filter(
|
|
(a) => r.reduce(
|
|
(n, s) => n && s(a),
|
|
true
|
|
)
|
|
);
|
|
}
|
|
throw new Error("Unsupported filter type");
|
|
}
|
|
function qd(t, e) {
|
|
if (typeof e == "function")
|
|
return t.sort(e);
|
|
if (typeof e == "string")
|
|
return t.sort((r, a) => r[e] > a[e] ? 1 : r[e] < a[e] ? -1 : 0);
|
|
if (Array.isArray(e)) {
|
|
const r = e[0], a = e[1].toLowerCase() === "asc" ? 1 : -1;
|
|
return t.sort((n, s) => n[r] > s[r] ? a : n[r] < s[r] ? -1 * a : 0);
|
|
}
|
|
throw new Error("Unsupported sort type");
|
|
}
|
|
function zd(t, e) {
|
|
if (Array.isArray(e))
|
|
return t.slice(
|
|
e[0],
|
|
e[1] !== void 0 ? e[1] + 1 : void 0
|
|
);
|
|
throw new Error("Unsupported range type");
|
|
}
|
|
function Vd(t) {
|
|
const n = t.trim().replace(/[.*+?^${}()|[\]\\]/g, "\\$&").split(" ").map((i) => `(${i})`).join("|");
|
|
return new RegExp(n, "i");
|
|
}
|
|
var Jd = class {
|
|
constructor(e) {
|
|
p(this, "obj", null);
|
|
p(this, "database", null);
|
|
p(this, "name", null);
|
|
if (!(e instanceof Object))
|
|
throw new Error(
|
|
"Can't initialize a Single with anything except an object"
|
|
);
|
|
this.obj = Ft(e);
|
|
}
|
|
/**
|
|
* A Single may need to access other collections (e.g. for embedded
|
|
* references) This is done through a reference to the parent database.
|
|
*/
|
|
setDatabase(e) {
|
|
this.database = e;
|
|
}
|
|
setName(e) {
|
|
this.name = e;
|
|
}
|
|
// No need to embed Singles, since they are by their nature top-level
|
|
// No need to worry about remote references, (i.e. mysingleton_id=1) since
|
|
// it is by definition a singleton
|
|
_oneToManyEmbedder(e) {
|
|
return (r) => {
|
|
if (this.database == null)
|
|
throw new Error("Can't embed references without a database");
|
|
const a = this.database.collections[e];
|
|
if (!a)
|
|
throw new Error(
|
|
`Can't embed a non-existing collection ${e}`
|
|
);
|
|
return r[e] = a.getAll({
|
|
filter: (n) => r[e].indexOf(
|
|
n[a.identifierName]
|
|
) !== -1
|
|
}), r;
|
|
};
|
|
}
|
|
_manyToOneEmbedder(e) {
|
|
const r = `${e}s`, a = `${e}_id`;
|
|
return (n) => {
|
|
if (this.database == null)
|
|
throw new Error("Can't embed references without a database");
|
|
const s = this.database.collections[r];
|
|
if (!s)
|
|
throw new Error(
|
|
`Can't embed a non-existing collection ${e}`
|
|
);
|
|
try {
|
|
n[e] = s.getOne(
|
|
n[a]
|
|
);
|
|
} catch {
|
|
}
|
|
return n;
|
|
};
|
|
}
|
|
_itemEmbedder(e) {
|
|
const a = (Array.isArray(e) ? e : [e]).map(
|
|
(n) => n.endsWith("s") ? this._oneToManyEmbedder(n) : this._manyToOneEmbedder(n)
|
|
);
|
|
return (n) => a.reduce(
|
|
(s, i) => i(s),
|
|
n
|
|
);
|
|
}
|
|
getOnly(e) {
|
|
let r = this.obj;
|
|
return e != null && e.embed && this.database && (r = Object.assign({}, r), r = this._itemEmbedder(e.embed)(r)), r;
|
|
}
|
|
updateOnly(e) {
|
|
if (this.obj == null)
|
|
throw new Error("Can't update a non-existing object");
|
|
for (const r in e)
|
|
this.obj[r] = e[r];
|
|
return this.obj;
|
|
}
|
|
};
|
|
var Qd = class {
|
|
constructor({
|
|
data: e,
|
|
identifierName: r = "id",
|
|
getNewId: a
|
|
} = {}) {
|
|
p(this, "identifierName", "id");
|
|
p(this, "collections", {});
|
|
p(this, "singles", {});
|
|
p(this, "getNewId");
|
|
this.getNewId = a, this.identifierName = r, e && this.init(e);
|
|
}
|
|
/**
|
|
* Shortcut for adding several collections if identifierName is always the same
|
|
*/
|
|
init(e) {
|
|
for (const r in e) {
|
|
const a = e[r];
|
|
Array.isArray(a) ? this.addCollection(
|
|
r,
|
|
new ct({
|
|
items: a,
|
|
identifierName: this.identifierName,
|
|
getNewId: this.getNewId
|
|
})
|
|
) : this.addSingle(r, new Jd(a));
|
|
}
|
|
}
|
|
addCollection(e, r) {
|
|
this.collections[e] = r, r.setDatabase(this), r.setName(e);
|
|
}
|
|
getCollection(e) {
|
|
return this.collections[e];
|
|
}
|
|
getCollectionNames() {
|
|
return Object.keys(this.collections);
|
|
}
|
|
addSingle(e, r) {
|
|
this.singles[e] = r, r.setDatabase(this), r.setName(e);
|
|
}
|
|
getSingle(e) {
|
|
return this.singles[e];
|
|
}
|
|
getSingleNames() {
|
|
return Object.keys(this.singles);
|
|
}
|
|
/**
|
|
* @param {string} name
|
|
* @param {string} params As decoded from the query string, e.g. { sort: "name", filter: {enabled:true}, slice: [10, 20] }
|
|
*/
|
|
getCount(e, r) {
|
|
return this.collections[e].getCount(r);
|
|
}
|
|
/**
|
|
* @param {string} name
|
|
* @param {string} params As decoded from the query string, e.g. { sort: "name", filter: {enabled:true}, slice: [10, 20] }
|
|
*/
|
|
getAll(e, r) {
|
|
return this.collections[e].getAll(r);
|
|
}
|
|
getOne(e, r, a) {
|
|
return this.collections[e].getOne(r, a);
|
|
}
|
|
addOne(e, r) {
|
|
return Object.prototype.hasOwnProperty.call(this.collections, e) || this.addCollection(
|
|
e,
|
|
new ct({
|
|
items: [],
|
|
identifierName: this.identifierName,
|
|
getNewId: this.getNewId
|
|
})
|
|
), this.collections[e].addOne(r);
|
|
}
|
|
updateOne(e, r, a) {
|
|
return this.collections[e].updateOne(r, a);
|
|
}
|
|
removeOne(e, r) {
|
|
return this.collections[e].removeOne(r);
|
|
}
|
|
getOnly(e, r) {
|
|
return this.singles[e].getOnly();
|
|
}
|
|
updateOnly(e, r) {
|
|
return this.singles[e].updateOnly(r);
|
|
}
|
|
};
|
|
|
|
// node_modules/ra-data-fakerest/dist/esm/index.js
|
|
var __extends = /* @__PURE__ */ function() {
|
|
var extendStatics = function(d, b) {
|
|
extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
|
|
d2.__proto__ = b2;
|
|
} || function(d2, b2) {
|
|
for (var p2 in b2) if (Object.prototype.hasOwnProperty.call(b2, p2)) d2[p2] = b2[p2];
|
|
};
|
|
return extendStatics(d, b);
|
|
};
|
|
return function(d, b) {
|
|
if (typeof b !== "function" && b !== null)
|
|
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
extendStatics(d, b);
|
|
function __() {
|
|
this.constructor = d;
|
|
}
|
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
};
|
|
}();
|
|
var __assign = function() {
|
|
__assign = Object.assign || function(t) {
|
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
s = arguments[i];
|
|
for (var p2 in s) if (Object.prototype.hasOwnProperty.call(s, p2))
|
|
t[p2] = s[p2];
|
|
}
|
|
return t;
|
|
};
|
|
return __assign.apply(this, arguments);
|
|
};
|
|
var __awaiter = function(thisArg, _arguments, P2, generator) {
|
|
function adopt(value) {
|
|
return value instanceof P2 ? value : new P2(function(resolve) {
|
|
resolve(value);
|
|
});
|
|
}
|
|
return new (P2 || (P2 = Promise))(function(resolve, reject) {
|
|
function fulfilled(value) {
|
|
try {
|
|
step(generator.next(value));
|
|
} catch (e) {
|
|
reject(e);
|
|
}
|
|
}
|
|
function rejected(value) {
|
|
try {
|
|
step(generator["throw"](value));
|
|
} catch (e) {
|
|
reject(e);
|
|
}
|
|
}
|
|
function step(result) {
|
|
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
}
|
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
});
|
|
};
|
|
var __generator = function(thisArg, body) {
|
|
var _ = { label: 0, sent: function() {
|
|
if (t[0] & 1) throw t[1];
|
|
return t[1];
|
|
}, trys: [], ops: [] }, f, y2, t, g2;
|
|
return g2 = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g2[Symbol.iterator] = function() {
|
|
return this;
|
|
}), g2;
|
|
function verb(n) {
|
|
return function(v) {
|
|
return step([n, v]);
|
|
};
|
|
}
|
|
function step(op) {
|
|
if (f) throw new TypeError("Generator is already executing.");
|
|
while (g2 && (g2 = 0, op[0] && (_ = 0)), _) try {
|
|
if (f = 1, y2 && (t = op[0] & 2 ? y2["return"] : op[0] ? y2["throw"] || ((t = y2["return"]) && t.call(y2), 0) : y2.next) && !(t = t.call(y2, op[1])).done) return t;
|
|
if (y2 = 0, t) op = [op[0] & 2, t.value];
|
|
switch (op[0]) {
|
|
case 0:
|
|
case 1:
|
|
t = op;
|
|
break;
|
|
case 4:
|
|
_.label++;
|
|
return { value: op[1], done: false };
|
|
case 5:
|
|
_.label++;
|
|
y2 = op[1];
|
|
op = [0];
|
|
continue;
|
|
case 7:
|
|
op = _.ops.pop();
|
|
_.trys.pop();
|
|
continue;
|
|
default:
|
|
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
_ = 0;
|
|
continue;
|
|
}
|
|
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
_.label = op[1];
|
|
break;
|
|
}
|
|
if (op[0] === 6 && _.label < t[1]) {
|
|
_.label = t[1];
|
|
t = op;
|
|
break;
|
|
}
|
|
if (t && _.label < t[2]) {
|
|
_.label = t[2];
|
|
_.ops.push(op);
|
|
break;
|
|
}
|
|
if (t[2]) _.ops.pop();
|
|
_.trys.pop();
|
|
continue;
|
|
}
|
|
op = body.call(thisArg, _);
|
|
} catch (e) {
|
|
op = [6, e];
|
|
y2 = 0;
|
|
} finally {
|
|
f = t = 0;
|
|
}
|
|
if (op[0] & 5) throw op[1];
|
|
return { value: op[0] ? op[1] : void 0, done: true };
|
|
}
|
|
};
|
|
var __rest = function(s, e) {
|
|
var t = {};
|
|
for (var p2 in s) if (Object.prototype.hasOwnProperty.call(s, p2) && e.indexOf(p2) < 0)
|
|
t[p2] = s[p2];
|
|
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
for (var i = 0, p2 = Object.getOwnPropertySymbols(s); i < p2.length; i++) {
|
|
if (e.indexOf(p2[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p2[i]))
|
|
t[p2[i]] = s[p2[i]];
|
|
}
|
|
return t;
|
|
};
|
|
function log(type, resource, params, response) {
|
|
if (console.group) {
|
|
console.groupCollapsed(type, resource, JSON.stringify(params));
|
|
console.log(response);
|
|
console.groupEnd();
|
|
} else {
|
|
console.log("FakeRest request ", type, resource, params);
|
|
console.log("FakeRest response", response);
|
|
}
|
|
}
|
|
function delayed(response, delay) {
|
|
return delay ? new Promise(function(resolve) {
|
|
setTimeout(function() {
|
|
return resolve(response);
|
|
}, delay);
|
|
}) : response;
|
|
}
|
|
var esm_default = function(data, loggingEnabled, delay) {
|
|
if (loggingEnabled === void 0) {
|
|
loggingEnabled = false;
|
|
}
|
|
var database = new Qd({ data });
|
|
if (typeof window !== "undefined") {
|
|
window._database = database;
|
|
}
|
|
function getResponse(type, resource, params) {
|
|
var _a2;
|
|
var _b, _c2, _d2, _e2, _f2, _g, _h, _j, _k, _l2, _m, _o2, _p, _q, _r2, _s2, _t2, _u2;
|
|
switch (type) {
|
|
case "getList": {
|
|
var _v = params.pagination, page = _v.page, perPage = _v.perPage;
|
|
var _w = params.sort, field = _w.field, order = _w.order;
|
|
var query = {
|
|
sort: [field, order],
|
|
range: [(page - 1) * perPage, page * perPage - 1],
|
|
filter: params.filter,
|
|
embed: getEmbedParam((_b = params.meta) === null || _b === void 0 ? void 0 : _b.embed, (_c2 = params.meta) === null || _c2 === void 0 ? void 0 : _c2.prefetch)
|
|
};
|
|
var data_1 = database.getAll(resource, query);
|
|
var prefetched = getPrefetchedData(data_1, (_d2 = params.meta) === null || _d2 === void 0 ? void 0 : _d2.prefetch);
|
|
return delayed({
|
|
data: removePrefetchedData(data_1, (_e2 = params.meta) === null || _e2 === void 0 ? void 0 : _e2.prefetch),
|
|
total: database.getCount(resource, {
|
|
filter: params.filter
|
|
}),
|
|
meta: ((_f2 = params.meta) === null || _f2 === void 0 ? void 0 : _f2.prefetch) ? { prefetched } : void 0
|
|
}, delay);
|
|
}
|
|
case "getOne": {
|
|
var data_2 = database.getOne(resource, params.id, __assign(__assign({}, params), { embed: getEmbedParam((_g = params.meta) === null || _g === void 0 ? void 0 : _g.embed, (_h = params.meta) === null || _h === void 0 ? void 0 : _h.prefetch) }));
|
|
var prefetched = getPrefetchedData(data_2, (_j = params.meta) === null || _j === void 0 ? void 0 : _j.prefetch);
|
|
return delayed({
|
|
data: removePrefetchedData(data_2, (_k = params.meta) === null || _k === void 0 ? void 0 : _k.prefetch),
|
|
meta: ((_l2 = params.meta) === null || _l2 === void 0 ? void 0 : _l2.prefetch) ? { prefetched } : void 0
|
|
}, delay);
|
|
}
|
|
case "getMany": {
|
|
var data_3 = params.ids.map(function(id2) {
|
|
var _a3, _b2;
|
|
return database.getOne(resource, id2, __assign(__assign({}, params), { embed: getEmbedParam((_a3 = params.meta) === null || _a3 === void 0 ? void 0 : _a3.embed, (_b2 = params.meta) === null || _b2 === void 0 ? void 0 : _b2.prefetch) }));
|
|
});
|
|
var prefetched = getPrefetchedData(data_3, (_m = params.meta) === null || _m === void 0 ? void 0 : _m.prefetch);
|
|
return delayed({
|
|
data: removePrefetchedData(data_3, (_o2 = params.meta) === null || _o2 === void 0 ? void 0 : _o2.prefetch),
|
|
meta: ((_p = params.meta) === null || _p === void 0 ? void 0 : _p.prefetch) ? { prefetched } : void 0
|
|
}, delay);
|
|
}
|
|
case "getManyReference": {
|
|
var _x = params.pagination, page = _x.page, perPage = _x.perPage;
|
|
var _y = params.sort, field = _y.field, order = _y.order;
|
|
var query = {
|
|
sort: [field, order],
|
|
range: [(page - 1) * perPage, page * perPage - 1],
|
|
filter: __assign(__assign({}, params.filter), (_a2 = {}, _a2[params.target] = params.id, _a2)),
|
|
embed: getEmbedParam((_q = params.meta) === null || _q === void 0 ? void 0 : _q.embed, (_r2 = params.meta) === null || _r2 === void 0 ? void 0 : _r2.prefetch)
|
|
};
|
|
var data_4 = database.getAll(resource, query);
|
|
var prefetched = getPrefetchedData(data_4, (_s2 = params.meta) === null || _s2 === void 0 ? void 0 : _s2.prefetch);
|
|
return delayed({
|
|
data: removePrefetchedData(data_4, (_t2 = params.meta) === null || _t2 === void 0 ? void 0 : _t2.prefetch),
|
|
total: database.getCount(resource, {
|
|
filter: query.filter
|
|
}),
|
|
meta: ((_u2 = params.meta) === null || _u2 === void 0 ? void 0 : _u2.prefetch) ? { prefetched } : void 0
|
|
}, delay);
|
|
}
|
|
case "update":
|
|
return delayed({
|
|
data: database.updateOne(resource, params.id, cleanupData(params.data))
|
|
}, delay);
|
|
case "updateMany":
|
|
params.ids.forEach(function(id2) {
|
|
return database.updateOne(resource, id2, cleanupData(params.data));
|
|
});
|
|
return delayed({ data: params.ids }, delay);
|
|
case "create":
|
|
return delayed({
|
|
data: database.addOne(resource, cleanupData(params.data))
|
|
}, delay);
|
|
case "delete":
|
|
return delayed({ data: database.removeOne(resource, params.id) }, delay);
|
|
case "deleteMany":
|
|
params.ids.forEach(function(id2) {
|
|
return database.removeOne(resource, id2);
|
|
});
|
|
return delayed({ data: params.ids }, delay);
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
var handle = function(type, resource, params) {
|
|
return __awaiter(void 0, void 0, void 0, function() {
|
|
var collection, error, response, error_1, signal, paramsWithoutSignal;
|
|
return __generator(this, function(_a2) {
|
|
switch (_a2.label) {
|
|
case 0:
|
|
collection = database.getCollection(resource);
|
|
if (!collection && type !== "create") {
|
|
error = new UndefinedResourceError('Undefined collection "'.concat(resource, '"'));
|
|
error.code = 1;
|
|
throw error;
|
|
}
|
|
_a2.label = 1;
|
|
case 1:
|
|
_a2.trys.push([1, 3, , 4]);
|
|
return [4, getResponse(type, resource, params)];
|
|
case 2:
|
|
response = _a2.sent();
|
|
return [3, 4];
|
|
case 3:
|
|
error_1 = _a2.sent();
|
|
console.error(error_1);
|
|
throw error_1;
|
|
case 4:
|
|
if (loggingEnabled) {
|
|
signal = params.signal, paramsWithoutSignal = __rest(params, ["signal"]);
|
|
log(type, resource, paramsWithoutSignal, response);
|
|
}
|
|
return [2, response];
|
|
}
|
|
});
|
|
});
|
|
};
|
|
return {
|
|
getList: function(resource, params) {
|
|
return handle("getList", resource, params);
|
|
},
|
|
getOne: function(resource, params) {
|
|
return handle("getOne", resource, params);
|
|
},
|
|
getMany: function(resource, params) {
|
|
return handle("getMany", resource, params);
|
|
},
|
|
getManyReference: function(resource, params) {
|
|
return handle("getManyReference", resource, params);
|
|
},
|
|
update: function(resource, params) {
|
|
return handle("update", resource, params);
|
|
},
|
|
updateMany: function(resource, params) {
|
|
return handle("updateMany", resource, params);
|
|
},
|
|
create: function(resource, params) {
|
|
return handle("create", resource, params);
|
|
},
|
|
delete: function(resource, params) {
|
|
return handle("delete", resource, params);
|
|
},
|
|
deleteMany: function(resource, params) {
|
|
return handle("deleteMany", resource, params);
|
|
}
|
|
};
|
|
};
|
|
function getEmbedParam(embed, prefetch) {
|
|
if (!embed && !prefetch)
|
|
return;
|
|
var param = /* @__PURE__ */ new Set();
|
|
if (embed)
|
|
embed.forEach(function(e) {
|
|
return param.add(e);
|
|
});
|
|
if (prefetch)
|
|
prefetch.forEach(function(e) {
|
|
return param.add(e);
|
|
});
|
|
return Array.from(param);
|
|
}
|
|
var getPrefetchedData = function(data, prefetchParam) {
|
|
if (!prefetchParam)
|
|
return void 0;
|
|
var prefetched = {};
|
|
var dataArray = Array.isArray(data) ? data : [data];
|
|
prefetchParam.forEach(function(name) {
|
|
var resource = name.endsWith("s") ? name : "".concat(name, "s");
|
|
dataArray.forEach(function(record) {
|
|
if (!prefetched[resource]) {
|
|
prefetched[resource] = [];
|
|
}
|
|
if (prefetched[resource].some(function(r) {
|
|
return r.id === record[name].id;
|
|
})) {
|
|
return;
|
|
}
|
|
prefetched[resource].push(record[name]);
|
|
});
|
|
});
|
|
return prefetched;
|
|
};
|
|
var removePrefetchedData = function(data, prefetchParam) {
|
|
if (!prefetchParam)
|
|
return data;
|
|
var dataArray = Array.isArray(data) ? data : [data];
|
|
var newDataArray = dataArray.map(function(record) {
|
|
var newRecord = {};
|
|
for (var key in record) {
|
|
if (!prefetchParam.includes(key)) {
|
|
newRecord[key] = record[key];
|
|
}
|
|
}
|
|
return newRecord;
|
|
});
|
|
return Array.isArray(data) ? newDataArray : newDataArray[0];
|
|
};
|
|
var cleanupData = function(data) {
|
|
return JSON.parse(JSON.stringify(data));
|
|
};
|
|
var UndefinedResourceError = (
|
|
/** @class */
|
|
function(_super) {
|
|
__extends(UndefinedResourceError2, _super);
|
|
function UndefinedResourceError2() {
|
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
}
|
|
return UndefinedResourceError2;
|
|
}(Error)
|
|
);
|
|
|
|
// node_modules/ra-data-local-forage/dist/esm/index.js
|
|
var import_pullAt = __toESM(require_pullAt());
|
|
var import_localforage = __toESM(require_localforage());
|
|
var __assign2 = function() {
|
|
__assign2 = Object.assign || function(t) {
|
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
s = arguments[i];
|
|
for (var p2 in s) if (Object.prototype.hasOwnProperty.call(s, p2))
|
|
t[p2] = s[p2];
|
|
}
|
|
return t;
|
|
};
|
|
return __assign2.apply(this, arguments);
|
|
};
|
|
var __awaiter2 = function(thisArg, _arguments, P2, generator) {
|
|
function adopt(value) {
|
|
return value instanceof P2 ? value : new P2(function(resolve) {
|
|
resolve(value);
|
|
});
|
|
}
|
|
return new (P2 || (P2 = Promise))(function(resolve, reject) {
|
|
function fulfilled(value) {
|
|
try {
|
|
step(generator.next(value));
|
|
} catch (e) {
|
|
reject(e);
|
|
}
|
|
}
|
|
function rejected(value) {
|
|
try {
|
|
step(generator["throw"](value));
|
|
} catch (e) {
|
|
reject(e);
|
|
}
|
|
}
|
|
function step(result) {
|
|
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
}
|
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
});
|
|
};
|
|
var __generator2 = function(thisArg, body) {
|
|
var _ = { label: 0, sent: function() {
|
|
if (t[0] & 1) throw t[1];
|
|
return t[1];
|
|
}, trys: [], ops: [] }, f, y2, t, g2;
|
|
return g2 = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g2[Symbol.iterator] = function() {
|
|
return this;
|
|
}), g2;
|
|
function verb(n) {
|
|
return function(v) {
|
|
return step([n, v]);
|
|
};
|
|
}
|
|
function step(op) {
|
|
if (f) throw new TypeError("Generator is already executing.");
|
|
while (g2 && (g2 = 0, op[0] && (_ = 0)), _) try {
|
|
if (f = 1, y2 && (t = op[0] & 2 ? y2["return"] : op[0] ? y2["throw"] || ((t = y2["return"]) && t.call(y2), 0) : y2.next) && !(t = t.call(y2, op[1])).done) return t;
|
|
if (y2 = 0, t) op = [op[0] & 2, t.value];
|
|
switch (op[0]) {
|
|
case 0:
|
|
case 1:
|
|
t = op;
|
|
break;
|
|
case 4:
|
|
_.label++;
|
|
return { value: op[1], done: false };
|
|
case 5:
|
|
_.label++;
|
|
y2 = op[1];
|
|
op = [0];
|
|
continue;
|
|
case 7:
|
|
op = _.ops.pop();
|
|
_.trys.pop();
|
|
continue;
|
|
default:
|
|
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
_ = 0;
|
|
continue;
|
|
}
|
|
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
_.label = op[1];
|
|
break;
|
|
}
|
|
if (op[0] === 6 && _.label < t[1]) {
|
|
_.label = t[1];
|
|
t = op;
|
|
break;
|
|
}
|
|
if (t && _.label < t[2]) {
|
|
_.label = t[2];
|
|
_.ops.push(op);
|
|
break;
|
|
}
|
|
if (t[2]) _.ops.pop();
|
|
_.trys.pop();
|
|
continue;
|
|
}
|
|
op = body.call(thisArg, _);
|
|
} catch (e) {
|
|
op = [6, e];
|
|
y2 = 0;
|
|
} finally {
|
|
f = t = 0;
|
|
}
|
|
if (op[0] & 5) throw op[1];
|
|
return { value: op[0] ? op[1] : void 0, done: true };
|
|
}
|
|
};
|
|
var esm_default2 = function(params) {
|
|
var _a2 = params || {}, _b = _a2.defaultData, defaultData = _b === void 0 ? {} : _b, _c2 = _a2.prefixLocalForageKey, prefixLocalForageKey = _c2 === void 0 ? "ra-data-local-forage-" : _c2, _d2 = _a2.loggingEnabled, loggingEnabled = _d2 === void 0 ? false : _d2;
|
|
var data;
|
|
var baseDataProvider;
|
|
var initializePromise;
|
|
var getLocalForageData = function() {
|
|
return __awaiter2(void 0, void 0, void 0, function() {
|
|
var keys, keyFiltered, localForageData, _i2, keyFiltered_1, key, keyWithoutPrefix, res;
|
|
return __generator2(this, function(_a3) {
|
|
switch (_a3.label) {
|
|
case 0:
|
|
return [4, import_localforage.default.keys()];
|
|
case 1:
|
|
keys = _a3.sent();
|
|
keyFiltered = keys.filter(function(key2) {
|
|
return key2.includes(prefixLocalForageKey);
|
|
});
|
|
if (keyFiltered.length === 0) {
|
|
return [2, void 0];
|
|
}
|
|
localForageData = {};
|
|
_i2 = 0, keyFiltered_1 = keyFiltered;
|
|
_a3.label = 2;
|
|
case 2:
|
|
if (!(_i2 < keyFiltered_1.length)) return [3, 5];
|
|
key = keyFiltered_1[_i2];
|
|
keyWithoutPrefix = key.replace(prefixLocalForageKey, "");
|
|
return [4, import_localforage.default.getItem(key)];
|
|
case 3:
|
|
res = _a3.sent();
|
|
localForageData[keyWithoutPrefix] = res || [];
|
|
_a3.label = 4;
|
|
case 4:
|
|
_i2++;
|
|
return [3, 2];
|
|
case 5:
|
|
return [2, localForageData];
|
|
}
|
|
});
|
|
});
|
|
};
|
|
var initialize = function() {
|
|
return __awaiter2(void 0, void 0, void 0, function() {
|
|
return __generator2(this, function(_a3) {
|
|
if (!initializePromise) {
|
|
initializePromise = initializeProvider();
|
|
}
|
|
return [2, initializePromise];
|
|
});
|
|
});
|
|
};
|
|
var initializeProvider = function() {
|
|
return __awaiter2(void 0, void 0, void 0, function() {
|
|
var localForageData;
|
|
return __generator2(this, function(_a3) {
|
|
switch (_a3.label) {
|
|
case 0:
|
|
return [4, getLocalForageData()];
|
|
case 1:
|
|
localForageData = _a3.sent();
|
|
data = localForageData !== null && localForageData !== void 0 ? localForageData : defaultData;
|
|
baseDataProvider = esm_default(data, loggingEnabled);
|
|
return [
|
|
2
|
|
/*return*/
|
|
];
|
|
}
|
|
});
|
|
});
|
|
};
|
|
var updateLocalForage = function(resource) {
|
|
if (!data) {
|
|
throw new Error("The dataProvider is not initialized.");
|
|
}
|
|
import_localforage.default.setItem("".concat(prefixLocalForageKey).concat(resource), data[resource]);
|
|
};
|
|
return {
|
|
// read methods are just proxies to FakeRest
|
|
getList: function(resource, params2) {
|
|
return __awaiter2(void 0, void 0, void 0, function() {
|
|
return __generator2(this, function(_a3) {
|
|
switch (_a3.label) {
|
|
case 0:
|
|
return [4, initialize()];
|
|
case 1:
|
|
_a3.sent();
|
|
if (!baseDataProvider) {
|
|
throw new Error("The dataProvider is not initialized.");
|
|
}
|
|
return [2, baseDataProvider.getList(resource, params2).catch(function(error) {
|
|
if (error.code === 1) {
|
|
return { data: [], total: 0 };
|
|
} else {
|
|
throw error;
|
|
}
|
|
})];
|
|
}
|
|
});
|
|
});
|
|
},
|
|
getOne: function(resource, params2) {
|
|
return __awaiter2(void 0, void 0, void 0, function() {
|
|
return __generator2(this, function(_a3) {
|
|
switch (_a3.label) {
|
|
case 0:
|
|
return [4, initialize()];
|
|
case 1:
|
|
_a3.sent();
|
|
if (!baseDataProvider) {
|
|
throw new Error("The dataProvider is not initialized.");
|
|
}
|
|
return [2, baseDataProvider.getOne(resource, params2)];
|
|
}
|
|
});
|
|
});
|
|
},
|
|
getMany: function(resource, params2) {
|
|
return __awaiter2(void 0, void 0, void 0, function() {
|
|
return __generator2(this, function(_a3) {
|
|
switch (_a3.label) {
|
|
case 0:
|
|
return [4, initialize()];
|
|
case 1:
|
|
_a3.sent();
|
|
if (!baseDataProvider) {
|
|
throw new Error("The dataProvider is not initialized.");
|
|
}
|
|
return [2, baseDataProvider.getMany(resource, params2)];
|
|
}
|
|
});
|
|
});
|
|
},
|
|
getManyReference: function(resource, params2) {
|
|
return __awaiter2(void 0, void 0, void 0, function() {
|
|
return __generator2(this, function(_a3) {
|
|
switch (_a3.label) {
|
|
case 0:
|
|
return [4, initialize()];
|
|
case 1:
|
|
_a3.sent();
|
|
if (!baseDataProvider) {
|
|
throw new Error("The dataProvider is not initialized.");
|
|
}
|
|
return [2, baseDataProvider.getManyReference(resource, params2).catch(function(error) {
|
|
if (error.code === 1) {
|
|
return { data: [], total: 0 };
|
|
} else {
|
|
throw error;
|
|
}
|
|
})];
|
|
}
|
|
});
|
|
});
|
|
},
|
|
// update methods need to persist changes in localForage
|
|
update: function(resource, params2) {
|
|
return __awaiter2(void 0, void 0, void 0, function() {
|
|
var index;
|
|
return __generator2(this, function(_a3) {
|
|
switch (_a3.label) {
|
|
case 0:
|
|
return [4, initialize()];
|
|
case 1:
|
|
_a3.sent();
|
|
if (!data) {
|
|
throw new Error("The dataProvider is not initialized.");
|
|
}
|
|
if (!baseDataProvider) {
|
|
throw new Error("The dataProvider is not initialized.");
|
|
}
|
|
index = data[resource].findIndex(function(record) {
|
|
return record.id === params2.id;
|
|
});
|
|
data[resource][index] = __assign2(__assign2({}, data[resource][index]), params2.data);
|
|
updateLocalForage(resource);
|
|
return [2, baseDataProvider.update(resource, params2)];
|
|
}
|
|
});
|
|
});
|
|
},
|
|
updateMany: function(resource, params2) {
|
|
return __awaiter2(void 0, void 0, void 0, function() {
|
|
return __generator2(this, function(_a3) {
|
|
switch (_a3.label) {
|
|
case 0:
|
|
return [4, initialize()];
|
|
case 1:
|
|
_a3.sent();
|
|
if (!baseDataProvider) {
|
|
throw new Error("The dataProvider is not initialized.");
|
|
}
|
|
params2.ids.forEach(function(id2) {
|
|
if (!data) {
|
|
throw new Error("The dataProvider is not initialized.");
|
|
}
|
|
var index = data[resource].findIndex(function(record) {
|
|
return record.id === id2;
|
|
});
|
|
data[resource][index] = __assign2(__assign2({}, data[resource][index]), params2.data);
|
|
});
|
|
updateLocalForage(resource);
|
|
return [2, baseDataProvider.updateMany(resource, params2)];
|
|
}
|
|
});
|
|
});
|
|
},
|
|
create: function(resource, params2) {
|
|
return __awaiter2(void 0, void 0, void 0, function() {
|
|
return __generator2(this, function(_a3) {
|
|
switch (_a3.label) {
|
|
case 0:
|
|
return [4, initialize()];
|
|
case 1:
|
|
_a3.sent();
|
|
if (!baseDataProvider) {
|
|
throw new Error("The dataProvider is not initialized.");
|
|
}
|
|
return [2, baseDataProvider.create(resource, params2).then(function(response) {
|
|
if (!data) {
|
|
throw new Error("The dataProvider is not initialized.");
|
|
}
|
|
if (!data.hasOwnProperty(resource)) {
|
|
data[resource] = [];
|
|
}
|
|
data[resource].push(response.data);
|
|
updateLocalForage(resource);
|
|
return response;
|
|
})];
|
|
}
|
|
});
|
|
});
|
|
},
|
|
delete: function(resource, params2) {
|
|
return __awaiter2(void 0, void 0, void 0, function() {
|
|
var index;
|
|
return __generator2(this, function(_a3) {
|
|
switch (_a3.label) {
|
|
case 0:
|
|
return [4, initialize()];
|
|
case 1:
|
|
_a3.sent();
|
|
if (!baseDataProvider) {
|
|
throw new Error("The dataProvider is not initialized.");
|
|
}
|
|
if (!data) {
|
|
throw new Error("The dataProvider is not initialized.");
|
|
}
|
|
index = data[resource].findIndex(function(record) {
|
|
return record.id === params2.id;
|
|
});
|
|
(0, import_pullAt.default)(data[resource], [index]);
|
|
updateLocalForage(resource);
|
|
return [2, baseDataProvider.delete(resource, params2)];
|
|
}
|
|
});
|
|
});
|
|
},
|
|
deleteMany: function(resource, params2) {
|
|
return __awaiter2(void 0, void 0, void 0, function() {
|
|
var indexes;
|
|
return __generator2(this, function(_a3) {
|
|
switch (_a3.label) {
|
|
case 0:
|
|
return [4, initialize()];
|
|
case 1:
|
|
_a3.sent();
|
|
if (!baseDataProvider) {
|
|
throw new Error("The dataProvider is not initialized.");
|
|
}
|
|
if (!data) {
|
|
throw new Error("The dataProvider is not initialized.");
|
|
}
|
|
indexes = params2.ids.map(function(id2) {
|
|
if (!data) {
|
|
throw new Error("The dataProvider is not initialized.");
|
|
}
|
|
return data[resource].findIndex(function(record) {
|
|
return record.id === id2;
|
|
});
|
|
});
|
|
(0, import_pullAt.default)(data[resource], indexes);
|
|
updateLocalForage(resource);
|
|
return [2, baseDataProvider.deleteMany(resource, params2)];
|
|
}
|
|
});
|
|
});
|
|
}
|
|
};
|
|
};
|
|
export {
|
|
esm_default2 as default
|
|
};
|
|
//# sourceMappingURL=ra-data-local-forage.js.map
|