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