use-abcd 0.2.1 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +459 -85
  2. package/dist/App.d.ts +2 -0
  3. package/dist/cache.d.ts +12 -0
  4. package/dist/cache.test.d.ts +1 -0
  5. package/dist/chunks/client-VrsFvEIA.js +144 -0
  6. package/dist/chunks/client-VrsFvEIA.js.map +1 -0
  7. package/dist/chunks/types-Dy4rYb2N.js +19 -0
  8. package/dist/chunks/types-Dy4rYb2N.js.map +1 -0
  9. package/dist/collection.d.ts +53 -0
  10. package/dist/collection.e2e.test.d.ts +1 -0
  11. package/dist/examples/OptimisticComments.d.ts +2 -0
  12. package/dist/examples/PaginatedUsers.d.ts +2 -0
  13. package/dist/examples/Products.d.ts +2 -0
  14. package/dist/fetch-handler.d.ts +34 -0
  15. package/dist/fetch-handler.test.d.ts +1 -0
  16. package/dist/index.d.ts +14 -0
  17. package/dist/index.js +2263 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/item.d.ts +17 -0
  20. package/dist/main.d.ts +1 -0
  21. package/dist/mocks/browser.d.ts +1 -0
  22. package/dist/mocks/handlers.d.ts +2 -0
  23. package/dist/runtime/client.d.ts +51 -0
  24. package/dist/runtime/client.js +16 -0
  25. package/dist/runtime/client.js.map +1 -0
  26. package/dist/runtime/client.test.d.ts +1 -0
  27. package/dist/runtime/index.d.ts +5 -0
  28. package/dist/runtime/server.d.ts +33 -0
  29. package/dist/runtime/server.js +121 -0
  30. package/dist/runtime/server.js.map +1 -0
  31. package/dist/runtime/server.test.d.ts +1 -0
  32. package/dist/runtime/types.d.ts +70 -0
  33. package/dist/sync-queue.d.ts +29 -0
  34. package/dist/sync-queue.test.d.ts +1 -0
  35. package/dist/types.d.ts +61 -0
  36. package/dist/useCrud.d.ts +26 -169
  37. package/dist/useItem.d.ts +11 -0
  38. package/dist/utils.d.ts +4 -0
  39. package/package.json +25 -7
  40. package/dist/useCrud.js +0 -2135
package/dist/useCrud.js DELETED
@@ -1,2135 +0,0 @@
1
- import { useRef as pn, useMemo as K, useSyncExternalStore as dn, useCallback as C, useEffect as hn } from "react";
2
- var Rt = typeof global == "object" && global && global.Object === Object && global, yn = typeof self == "object" && self && self.Object === Object && self, F = Rt || yn || Function("return this")(), G = F.Symbol, $t = Object.prototype, bn = $t.hasOwnProperty, gn = $t.toString, te = G ? G.toStringTag : void 0;
3
- function mn(e) {
4
- var t = bn.call(e, te), n = e[te];
5
- try {
6
- e[te] = void 0;
7
- var r = !0;
8
- } catch {
9
- }
10
- var i = gn.call(e);
11
- return r && (t ? e[te] = n : delete e[te]), i;
12
- }
13
- var vn = Object.prototype, wn = vn.toString;
14
- function _n(e) {
15
- return wn.call(e);
16
- }
17
- var On = "[object Null]", Sn = "[object Undefined]", nt = G ? G.toStringTag : void 0;
18
- function J(e) {
19
- return e == null ? e === void 0 ? Sn : On : nt && nt in Object(e) ? mn(e) : _n(e);
20
- }
21
- function V(e) {
22
- return e != null && typeof e == "object";
23
- }
24
- var An = "[object Symbol]";
25
- function Ue(e) {
26
- return typeof e == "symbol" || V(e) && J(e) == An;
27
- }
28
- function jt(e, t) {
29
- for (var n = -1, r = e == null ? 0 : e.length, i = Array(r); ++n < r; )
30
- i[n] = t(e[n], n, e);
31
- return i;
32
- }
33
- var T = Array.isArray, rt = G ? G.prototype : void 0, it = rt ? rt.toString : void 0;
34
- function It(e) {
35
- if (typeof e == "string")
36
- return e;
37
- if (T(e))
38
- return jt(e, It) + "";
39
- if (Ue(e))
40
- return it ? it.call(e) : "";
41
- var t = e + "";
42
- return t == "0" && 1 / e == -1 / 0 ? "-0" : t;
43
- }
44
- function ae(e) {
45
- var t = typeof e;
46
- return e != null && (t == "object" || t == "function");
47
- }
48
- function Ke(e) {
49
- return e;
50
- }
51
- var En = "[object AsyncFunction]", Mn = "[object Function]", Tn = "[object GeneratorFunction]", Pn = "[object Proxy]";
52
- function zt(e) {
53
- if (!ae(e))
54
- return !1;
55
- var t = J(e);
56
- return t == Mn || t == Tn || t == En || t == Pn;
57
- }
58
- var Se = F["__core-js_shared__"], ot = (function() {
59
- var e = /[^.]+$/.exec(Se && Se.keys && Se.keys.IE_PROTO || "");
60
- return e ? "Symbol(src)_1." + e : "";
61
- })();
62
- function Cn(e) {
63
- return !!ot && ot in e;
64
- }
65
- var xn = Function.prototype, Rn = xn.toString;
66
- function X(e) {
67
- if (e != null) {
68
- try {
69
- return Rn.call(e);
70
- } catch {
71
- }
72
- try {
73
- return e + "";
74
- } catch {
75
- }
76
- }
77
- return "";
78
- }
79
- var $n = /[\\^$.*+?()[\]{}|]/g, jn = /^\[object .+?Constructor\]$/, In = Function.prototype, zn = Object.prototype, Dn = In.toString, Fn = zn.hasOwnProperty, Ln = RegExp(
80
- "^" + Dn.call(Fn).replace($n, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
81
- );
82
- function Nn(e) {
83
- if (!ae(e) || Cn(e))
84
- return !1;
85
- var t = zt(e) ? Ln : jn;
86
- return t.test(X(e));
87
- }
88
- function Un(e, t) {
89
- return e?.[t];
90
- }
91
- function Z(e, t) {
92
- var n = Un(e, t);
93
- return Nn(n) ? n : void 0;
94
- }
95
- var Te = Z(F, "WeakMap"), st = (function() {
96
- try {
97
- var e = Z(Object, "defineProperty");
98
- return e({}, "", {}), e;
99
- } catch {
100
- }
101
- })(), Kn = 9007199254740991, Bn = /^(?:0|[1-9]\d*)$/;
102
- function Be(e, t) {
103
- var n = typeof e;
104
- return t = t ?? Kn, !!t && (n == "number" || n != "symbol" && Bn.test(e)) && e > -1 && e % 1 == 0 && e < t;
105
- }
106
- function Gn(e, t, n) {
107
- t == "__proto__" && st ? st(e, t, {
108
- configurable: !0,
109
- enumerable: !0,
110
- value: n,
111
- writable: !0
112
- }) : e[t] = n;
113
- }
114
- function Ge(e, t) {
115
- return e === t || e !== e && t !== t;
116
- }
117
- var Hn = Object.prototype, Wn = Hn.hasOwnProperty;
118
- function Vn(e, t, n) {
119
- var r = e[t];
120
- (!(Wn.call(e, t) && Ge(r, n)) || n === void 0 && !(t in e)) && Gn(e, t, n);
121
- }
122
- var qn = 9007199254740991;
123
- function He(e) {
124
- return typeof e == "number" && e > -1 && e % 1 == 0 && e <= qn;
125
- }
126
- function ve(e) {
127
- return e != null && He(e.length) && !zt(e);
128
- }
129
- var Yn = Object.prototype;
130
- function Jn(e) {
131
- var t = e && e.constructor, n = typeof t == "function" && t.prototype || Yn;
132
- return e === n;
133
- }
134
- function Xn(e, t) {
135
- for (var n = -1, r = Array(e); ++n < e; )
136
- r[n] = t(n);
137
- return r;
138
- }
139
- var Zn = "[object Arguments]";
140
- function at(e) {
141
- return V(e) && J(e) == Zn;
142
- }
143
- var Dt = Object.prototype, Qn = Dt.hasOwnProperty, kn = Dt.propertyIsEnumerable, Ft = at(/* @__PURE__ */ (function() {
144
- return arguments;
145
- })()) ? at : function(e) {
146
- return V(e) && Qn.call(e, "callee") && !kn.call(e, "callee");
147
- };
148
- function er() {
149
- return !1;
150
- }
151
- var Lt = typeof exports == "object" && exports && !exports.nodeType && exports, ct = Lt && typeof module == "object" && module && !module.nodeType && module, tr = ct && ct.exports === Lt, ft = tr ? F.Buffer : void 0, nr = ft ? ft.isBuffer : void 0, Pe = nr || er, rr = "[object Arguments]", ir = "[object Array]", or = "[object Boolean]", sr = "[object Date]", ar = "[object Error]", cr = "[object Function]", fr = "[object Map]", ur = "[object Number]", lr = "[object Object]", pr = "[object RegExp]", dr = "[object Set]", hr = "[object String]", yr = "[object WeakMap]", br = "[object ArrayBuffer]", gr = "[object DataView]", mr = "[object Float32Array]", vr = "[object Float64Array]", wr = "[object Int8Array]", _r = "[object Int16Array]", Or = "[object Int32Array]", Sr = "[object Uint8Array]", Ar = "[object Uint8ClampedArray]", Er = "[object Uint16Array]", Mr = "[object Uint32Array]", g = {};
152
- g[mr] = g[vr] = g[wr] = g[_r] = g[Or] = g[Sr] = g[Ar] = g[Er] = g[Mr] = !0;
153
- g[rr] = g[ir] = g[br] = g[or] = g[gr] = g[sr] = g[ar] = g[cr] = g[fr] = g[ur] = g[lr] = g[pr] = g[dr] = g[hr] = g[yr] = !1;
154
- function Tr(e) {
155
- return V(e) && He(e.length) && !!g[J(e)];
156
- }
157
- function Pr(e) {
158
- return function(t) {
159
- return e(t);
160
- };
161
- }
162
- var Nt = typeof exports == "object" && exports && !exports.nodeType && exports, oe = Nt && typeof module == "object" && module && !module.nodeType && module, Cr = oe && oe.exports === Nt, Ae = Cr && Rt.process, ut = (function() {
163
- try {
164
- var e = oe && oe.require && oe.require("util").types;
165
- return e || Ae && Ae.binding && Ae.binding("util");
166
- } catch {
167
- }
168
- })(), lt = ut && ut.isTypedArray, Ut = lt ? Pr(lt) : Tr, xr = Object.prototype, Rr = xr.hasOwnProperty;
169
- function $r(e, t) {
170
- var n = T(e), r = !n && Ft(e), i = !n && !r && Pe(e), o = !n && !r && !i && Ut(e), s = n || r || i || o, c = s ? Xn(e.length, String) : [], a = c.length;
171
- for (var f in e)
172
- Rr.call(e, f) && !(s && // Safari 9 has enumerable `arguments.length` in strict mode.
173
- (f == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
174
- i && (f == "offset" || f == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
175
- o && (f == "buffer" || f == "byteLength" || f == "byteOffset") || // Skip index properties.
176
- Be(f, a))) && c.push(f);
177
- return c;
178
- }
179
- function jr(e, t) {
180
- return function(n) {
181
- return e(t(n));
182
- };
183
- }
184
- var Ir = jr(Object.keys, Object), zr = Object.prototype, Dr = zr.hasOwnProperty;
185
- function Kt(e) {
186
- if (!Jn(e))
187
- return Ir(e);
188
- var t = [];
189
- for (var n in Object(e))
190
- Dr.call(e, n) && n != "constructor" && t.push(n);
191
- return t;
192
- }
193
- function We(e) {
194
- return ve(e) ? $r(e) : Kt(e);
195
- }
196
- var Fr = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, Lr = /^\w*$/;
197
- function Ve(e, t) {
198
- if (T(e))
199
- return !1;
200
- var n = typeof e;
201
- return n == "number" || n == "symbol" || n == "boolean" || e == null || Ue(e) ? !0 : Lr.test(e) || !Fr.test(e) || t != null && e in Object(t);
202
- }
203
- var ce = Z(Object, "create");
204
- function Nr() {
205
- this.__data__ = ce ? ce(null) : {}, this.size = 0;
206
- }
207
- function Ur(e) {
208
- var t = this.has(e) && delete this.__data__[e];
209
- return this.size -= t ? 1 : 0, t;
210
- }
211
- var Kr = "__lodash_hash_undefined__", Br = Object.prototype, Gr = Br.hasOwnProperty;
212
- function Hr(e) {
213
- var t = this.__data__;
214
- if (ce) {
215
- var n = t[e];
216
- return n === Kr ? void 0 : n;
217
- }
218
- return Gr.call(t, e) ? t[e] : void 0;
219
- }
220
- var Wr = Object.prototype, Vr = Wr.hasOwnProperty;
221
- function qr(e) {
222
- var t = this.__data__;
223
- return ce ? t[e] !== void 0 : Vr.call(t, e);
224
- }
225
- var Yr = "__lodash_hash_undefined__";
226
- function Jr(e, t) {
227
- var n = this.__data__;
228
- return this.size += this.has(e) ? 0 : 1, n[e] = ce && t === void 0 ? Yr : t, this;
229
- }
230
- function q(e) {
231
- var t = -1, n = e == null ? 0 : e.length;
232
- for (this.clear(); ++t < n; ) {
233
- var r = e[t];
234
- this.set(r[0], r[1]);
235
- }
236
- }
237
- q.prototype.clear = Nr;
238
- q.prototype.delete = Ur;
239
- q.prototype.get = Hr;
240
- q.prototype.has = qr;
241
- q.prototype.set = Jr;
242
- function Xr() {
243
- this.__data__ = [], this.size = 0;
244
- }
245
- function we(e, t) {
246
- for (var n = e.length; n--; )
247
- if (Ge(e[n][0], t))
248
- return n;
249
- return -1;
250
- }
251
- var Zr = Array.prototype, Qr = Zr.splice;
252
- function kr(e) {
253
- var t = this.__data__, n = we(t, e);
254
- if (n < 0)
255
- return !1;
256
- var r = t.length - 1;
257
- return n == r ? t.pop() : Qr.call(t, n, 1), --this.size, !0;
258
- }
259
- function ei(e) {
260
- var t = this.__data__, n = we(t, e);
261
- return n < 0 ? void 0 : t[n][1];
262
- }
263
- function ti(e) {
264
- return we(this.__data__, e) > -1;
265
- }
266
- function ni(e, t) {
267
- var n = this.__data__, r = we(n, e);
268
- return r < 0 ? (++this.size, n.push([e, t])) : n[r][1] = t, this;
269
- }
270
- function L(e) {
271
- var t = -1, n = e == null ? 0 : e.length;
272
- for (this.clear(); ++t < n; ) {
273
- var r = e[t];
274
- this.set(r[0], r[1]);
275
- }
276
- }
277
- L.prototype.clear = Xr;
278
- L.prototype.delete = kr;
279
- L.prototype.get = ei;
280
- L.prototype.has = ti;
281
- L.prototype.set = ni;
282
- var fe = Z(F, "Map");
283
- function ri() {
284
- this.size = 0, this.__data__ = {
285
- hash: new q(),
286
- map: new (fe || L)(),
287
- string: new q()
288
- };
289
- }
290
- function ii(e) {
291
- var t = typeof e;
292
- return t == "string" || t == "number" || t == "symbol" || t == "boolean" ? e !== "__proto__" : e === null;
293
- }
294
- function _e(e, t) {
295
- var n = e.__data__;
296
- return ii(t) ? n[typeof t == "string" ? "string" : "hash"] : n.map;
297
- }
298
- function oi(e) {
299
- var t = _e(this, e).delete(e);
300
- return this.size -= t ? 1 : 0, t;
301
- }
302
- function si(e) {
303
- return _e(this, e).get(e);
304
- }
305
- function ai(e) {
306
- return _e(this, e).has(e);
307
- }
308
- function ci(e, t) {
309
- var n = _e(this, e), r = n.size;
310
- return n.set(e, t), this.size += n.size == r ? 0 : 1, this;
311
- }
312
- function N(e) {
313
- var t = -1, n = e == null ? 0 : e.length;
314
- for (this.clear(); ++t < n; ) {
315
- var r = e[t];
316
- this.set(r[0], r[1]);
317
- }
318
- }
319
- N.prototype.clear = ri;
320
- N.prototype.delete = oi;
321
- N.prototype.get = si;
322
- N.prototype.has = ai;
323
- N.prototype.set = ci;
324
- var fi = "Expected a function";
325
- function qe(e, t) {
326
- if (typeof e != "function" || t != null && typeof t != "function")
327
- throw new TypeError(fi);
328
- var n = function() {
329
- var r = arguments, i = t ? t.apply(this, r) : r[0], o = n.cache;
330
- if (o.has(i))
331
- return o.get(i);
332
- var s = e.apply(this, r);
333
- return n.cache = o.set(i, s) || o, s;
334
- };
335
- return n.cache = new (qe.Cache || N)(), n;
336
- }
337
- qe.Cache = N;
338
- var ui = 500;
339
- function li(e) {
340
- var t = qe(e, function(r) {
341
- return n.size === ui && n.clear(), r;
342
- }), n = t.cache;
343
- return t;
344
- }
345
- var pi = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, di = /\\(\\)?/g, hi = li(function(e) {
346
- var t = [];
347
- return e.charCodeAt(0) === 46 && t.push(""), e.replace(pi, function(n, r, i, o) {
348
- t.push(i ? o.replace(di, "$1") : r || n);
349
- }), t;
350
- });
351
- function yi(e) {
352
- return e == null ? "" : It(e);
353
- }
354
- function Ye(e, t) {
355
- return T(e) ? e : Ve(e, t) ? [e] : hi(yi(e));
356
- }
357
- function le(e) {
358
- if (typeof e == "string" || Ue(e))
359
- return e;
360
- var t = e + "";
361
- return t == "0" && 1 / e == -1 / 0 ? "-0" : t;
362
- }
363
- function Bt(e, t) {
364
- t = Ye(t, e);
365
- for (var n = 0, r = t.length; e != null && n < r; )
366
- e = e[le(t[n++])];
367
- return n && n == r ? e : void 0;
368
- }
369
- function bi(e, t, n) {
370
- var r = e == null ? void 0 : Bt(e, t);
371
- return r === void 0 ? n : r;
372
- }
373
- function gi(e, t) {
374
- for (var n = -1, r = t.length, i = e.length; ++n < r; )
375
- e[i + n] = t[n];
376
- return e;
377
- }
378
- var mi = "\\ud800-\\udfff", vi = "\\u0300-\\u036f", wi = "\\ufe20-\\ufe2f", _i = "\\u20d0-\\u20ff", Oi = vi + wi + _i, Si = "\\ufe0e\\ufe0f", Ai = "\\u200d", Ei = RegExp("[" + Ai + mi + Oi + Si + "]");
379
- function Mi(e) {
380
- return Ei.test(e);
381
- }
382
- function Ti() {
383
- this.__data__ = new L(), this.size = 0;
384
- }
385
- function Pi(e) {
386
- var t = this.__data__, n = t.delete(e);
387
- return this.size = t.size, n;
388
- }
389
- function Ci(e) {
390
- return this.__data__.get(e);
391
- }
392
- function xi(e) {
393
- return this.__data__.has(e);
394
- }
395
- var Ri = 200;
396
- function $i(e, t) {
397
- var n = this.__data__;
398
- if (n instanceof L) {
399
- var r = n.__data__;
400
- if (!fe || r.length < Ri - 1)
401
- return r.push([e, t]), this.size = ++n.size, this;
402
- n = this.__data__ = new N(r);
403
- }
404
- return n.set(e, t), this.size = n.size, this;
405
- }
406
- function I(e) {
407
- var t = this.__data__ = new L(e);
408
- this.size = t.size;
409
- }
410
- I.prototype.clear = Ti;
411
- I.prototype.delete = Pi;
412
- I.prototype.get = Ci;
413
- I.prototype.has = xi;
414
- I.prototype.set = $i;
415
- function ji(e, t) {
416
- for (var n = -1, r = e == null ? 0 : e.length, i = 0, o = []; ++n < r; ) {
417
- var s = e[n];
418
- t(s, n, e) && (o[i++] = s);
419
- }
420
- return o;
421
- }
422
- function Ii() {
423
- return [];
424
- }
425
- var zi = Object.prototype, Di = zi.propertyIsEnumerable, pt = Object.getOwnPropertySymbols, Fi = pt ? function(e) {
426
- return e == null ? [] : (e = Object(e), ji(pt(e), function(t) {
427
- return Di.call(e, t);
428
- }));
429
- } : Ii;
430
- function Li(e, t, n) {
431
- var r = t(e);
432
- return T(e) ? r : gi(r, n(e));
433
- }
434
- function dt(e) {
435
- return Li(e, We, Fi);
436
- }
437
- var Ce = Z(F, "DataView"), xe = Z(F, "Promise"), Re = Z(F, "Set"), ht = "[object Map]", Ni = "[object Object]", yt = "[object Promise]", bt = "[object Set]", gt = "[object WeakMap]", mt = "[object DataView]", Ui = X(Ce), Ki = X(fe), Bi = X(xe), Gi = X(Re), Hi = X(Te), j = J;
438
- (Ce && j(new Ce(new ArrayBuffer(1))) != mt || fe && j(new fe()) != ht || xe && j(xe.resolve()) != yt || Re && j(new Re()) != bt || Te && j(new Te()) != gt) && (j = function(e) {
439
- var t = J(e), n = t == Ni ? e.constructor : void 0, r = n ? X(n) : "";
440
- if (r)
441
- switch (r) {
442
- case Ui:
443
- return mt;
444
- case Ki:
445
- return ht;
446
- case Bi:
447
- return yt;
448
- case Gi:
449
- return bt;
450
- case Hi:
451
- return gt;
452
- }
453
- return t;
454
- });
455
- var vt = F.Uint8Array;
456
- function wt(e) {
457
- for (var t = -1, n = e == null ? 0 : e.length, r = 0, i = []; ++t < n; ) {
458
- var o = e[t];
459
- o && (i[r++] = o);
460
- }
461
- return i;
462
- }
463
- var Wi = "__lodash_hash_undefined__";
464
- function Vi(e) {
465
- return this.__data__.set(e, Wi), this;
466
- }
467
- function qi(e) {
468
- return this.__data__.has(e);
469
- }
470
- function be(e) {
471
- var t = -1, n = e == null ? 0 : e.length;
472
- for (this.__data__ = new N(); ++t < n; )
473
- this.add(e[t]);
474
- }
475
- be.prototype.add = be.prototype.push = Vi;
476
- be.prototype.has = qi;
477
- function Gt(e, t) {
478
- for (var n = -1, r = e == null ? 0 : e.length; ++n < r; )
479
- if (t(e[n], n, e))
480
- return !0;
481
- return !1;
482
- }
483
- function Yi(e, t) {
484
- return e.has(t);
485
- }
486
- var Ji = 1, Xi = 2;
487
- function Ht(e, t, n, r, i, o) {
488
- var s = n & Ji, c = e.length, a = t.length;
489
- if (c != a && !(s && a > c))
490
- return !1;
491
- var f = o.get(e), u = o.get(t);
492
- if (f && u)
493
- return f == t && u == e;
494
- var l = -1, p = !0, d = n & Xi ? new be() : void 0;
495
- for (o.set(e, t), o.set(t, e); ++l < c; ) {
496
- var b = e[l], w = t[l];
497
- if (r)
498
- var _ = s ? r(w, b, l, t, e, o) : r(b, w, l, e, t, o);
499
- if (_ !== void 0) {
500
- if (_)
501
- continue;
502
- p = !1;
503
- break;
504
- }
505
- if (d) {
506
- if (!Gt(t, function(O, m) {
507
- if (!Yi(d, m) && (b === O || i(b, O, n, r, o)))
508
- return d.push(m);
509
- })) {
510
- p = !1;
511
- break;
512
- }
513
- } else if (!(b === w || i(b, w, n, r, o))) {
514
- p = !1;
515
- break;
516
- }
517
- }
518
- return o.delete(e), o.delete(t), p;
519
- }
520
- function Zi(e) {
521
- var t = -1, n = Array(e.size);
522
- return e.forEach(function(r, i) {
523
- n[++t] = [i, r];
524
- }), n;
525
- }
526
- function Qi(e) {
527
- var t = -1, n = Array(e.size);
528
- return e.forEach(function(r) {
529
- n[++t] = r;
530
- }), n;
531
- }
532
- var ki = 1, eo = 2, to = "[object Boolean]", no = "[object Date]", ro = "[object Error]", io = "[object Map]", oo = "[object Number]", so = "[object RegExp]", ao = "[object Set]", co = "[object String]", fo = "[object Symbol]", uo = "[object ArrayBuffer]", lo = "[object DataView]", _t = G ? G.prototype : void 0, Ee = _t ? _t.valueOf : void 0;
533
- function po(e, t, n, r, i, o, s) {
534
- switch (n) {
535
- case lo:
536
- if (e.byteLength != t.byteLength || e.byteOffset != t.byteOffset)
537
- return !1;
538
- e = e.buffer, t = t.buffer;
539
- case uo:
540
- return !(e.byteLength != t.byteLength || !o(new vt(e), new vt(t)));
541
- case to:
542
- case no:
543
- case oo:
544
- return Ge(+e, +t);
545
- case ro:
546
- return e.name == t.name && e.message == t.message;
547
- case so:
548
- case co:
549
- return e == t + "";
550
- case io:
551
- var c = Zi;
552
- case ao:
553
- var a = r & ki;
554
- if (c || (c = Qi), e.size != t.size && !a)
555
- return !1;
556
- var f = s.get(e);
557
- if (f)
558
- return f == t;
559
- r |= eo, s.set(e, t);
560
- var u = Ht(c(e), c(t), r, i, o, s);
561
- return s.delete(e), u;
562
- case fo:
563
- if (Ee)
564
- return Ee.call(e) == Ee.call(t);
565
- }
566
- return !1;
567
- }
568
- var ho = 1, yo = Object.prototype, bo = yo.hasOwnProperty;
569
- function go(e, t, n, r, i, o) {
570
- var s = n & ho, c = dt(e), a = c.length, f = dt(t), u = f.length;
571
- if (a != u && !s)
572
- return !1;
573
- for (var l = a; l--; ) {
574
- var p = c[l];
575
- if (!(s ? p in t : bo.call(t, p)))
576
- return !1;
577
- }
578
- var d = o.get(e), b = o.get(t);
579
- if (d && b)
580
- return d == t && b == e;
581
- var w = !0;
582
- o.set(e, t), o.set(t, e);
583
- for (var _ = s; ++l < a; ) {
584
- p = c[l];
585
- var O = e[p], m = t[p];
586
- if (r)
587
- var A = s ? r(m, O, p, t, e, o) : r(O, m, p, e, t, o);
588
- if (!(A === void 0 ? O === m || i(O, m, n, r, o) : A)) {
589
- w = !1;
590
- break;
591
- }
592
- _ || (_ = p == "constructor");
593
- }
594
- if (w && !_) {
595
- var H = e.constructor, y = t.constructor;
596
- H != y && "constructor" in e && "constructor" in t && !(typeof H == "function" && H instanceof H && typeof y == "function" && y instanceof y) && (w = !1);
597
- }
598
- return o.delete(e), o.delete(t), w;
599
- }
600
- var mo = 1, Ot = "[object Arguments]", St = "[object Array]", de = "[object Object]", vo = Object.prototype, At = vo.hasOwnProperty;
601
- function wo(e, t, n, r, i, o) {
602
- var s = T(e), c = T(t), a = s ? St : j(e), f = c ? St : j(t);
603
- a = a == Ot ? de : a, f = f == Ot ? de : f;
604
- var u = a == de, l = f == de, p = a == f;
605
- if (p && Pe(e)) {
606
- if (!Pe(t))
607
- return !1;
608
- s = !0, u = !1;
609
- }
610
- if (p && !u)
611
- return o || (o = new I()), s || Ut(e) ? Ht(e, t, n, r, i, o) : po(e, t, a, n, r, i, o);
612
- if (!(n & mo)) {
613
- var d = u && At.call(e, "__wrapped__"), b = l && At.call(t, "__wrapped__");
614
- if (d || b) {
615
- var w = d ? e.value() : e, _ = b ? t.value() : t;
616
- return o || (o = new I()), i(w, _, n, r, o);
617
- }
618
- }
619
- return p ? (o || (o = new I()), go(e, t, n, r, i, o)) : !1;
620
- }
621
- function Oe(e, t, n, r, i) {
622
- return e === t ? !0 : e == null || t == null || !V(e) && !V(t) ? e !== e && t !== t : wo(e, t, n, r, Oe, i);
623
- }
624
- var _o = 1, Oo = 2;
625
- function So(e, t, n, r) {
626
- var i = n.length, o = i;
627
- if (e == null)
628
- return !o;
629
- for (e = Object(e); i--; ) {
630
- var s = n[i];
631
- if (s[2] ? s[1] !== e[s[0]] : !(s[0] in e))
632
- return !1;
633
- }
634
- for (; ++i < o; ) {
635
- s = n[i];
636
- var c = s[0], a = e[c], f = s[1];
637
- if (s[2]) {
638
- if (a === void 0 && !(c in e))
639
- return !1;
640
- } else {
641
- var u = new I(), l;
642
- if (!(l === void 0 ? Oe(f, a, _o | Oo, r, u) : l))
643
- return !1;
644
- }
645
- }
646
- return !0;
647
- }
648
- function Wt(e) {
649
- return e === e && !ae(e);
650
- }
651
- function Ao(e) {
652
- for (var t = We(e), n = t.length; n--; ) {
653
- var r = t[n], i = e[r];
654
- t[n] = [r, i, Wt(i)];
655
- }
656
- return t;
657
- }
658
- function Vt(e, t) {
659
- return function(n) {
660
- return n == null ? !1 : n[e] === t && (t !== void 0 || e in Object(n));
661
- };
662
- }
663
- function Eo(e) {
664
- var t = Ao(e);
665
- return t.length == 1 && t[0][2] ? Vt(t[0][0], t[0][1]) : function(n) {
666
- return n === e || So(n, e, t);
667
- };
668
- }
669
- function Mo(e, t) {
670
- return e != null && t in Object(e);
671
- }
672
- function To(e, t, n) {
673
- t = Ye(t, e);
674
- for (var r = -1, i = t.length, o = !1; ++r < i; ) {
675
- var s = le(t[r]);
676
- if (!(o = e != null && n(e, s)))
677
- break;
678
- e = e[s];
679
- }
680
- return o || ++r != i ? o : (i = e == null ? 0 : e.length, !!i && He(i) && Be(s, i) && (T(e) || Ft(e)));
681
- }
682
- function Po(e, t) {
683
- return e != null && To(e, t, Mo);
684
- }
685
- var Co = 1, xo = 2;
686
- function Ro(e, t) {
687
- return Ve(e) && Wt(t) ? Vt(le(e), t) : function(n) {
688
- var r = bi(n, e);
689
- return r === void 0 && r === t ? Po(n, e) : Oe(t, r, Co | xo);
690
- };
691
- }
692
- function qt(e) {
693
- return function(t) {
694
- return t?.[e];
695
- };
696
- }
697
- function $o(e) {
698
- return function(t) {
699
- return Bt(t, e);
700
- };
701
- }
702
- function jo(e) {
703
- return Ve(e) ? qt(le(e)) : $o(e);
704
- }
705
- function Yt(e) {
706
- return typeof e == "function" ? e : e == null ? Ke : typeof e == "object" ? T(e) ? Ro(e[0], e[1]) : Eo(e) : jo(e);
707
- }
708
- function Io(e) {
709
- return function(t, n, r) {
710
- for (var i = -1, o = Object(t), s = r(t), c = s.length; c--; ) {
711
- var a = s[++i];
712
- if (n(o[a], a, o) === !1)
713
- break;
714
- }
715
- return t;
716
- };
717
- }
718
- var zo = Io();
719
- function Do(e, t) {
720
- return e && zo(e, t, We);
721
- }
722
- function Fo(e, t) {
723
- return function(n, r) {
724
- if (n == null)
725
- return n;
726
- if (!ve(n))
727
- return e(n, r);
728
- for (var i = n.length, o = -1, s = Object(n); ++o < i && r(s[o], o, s) !== !1; )
729
- ;
730
- return n;
731
- };
732
- }
733
- var Jt = Fo(Do);
734
- function Lo(e, t) {
735
- var n = -1, r = ve(e) ? Array(e.length) : [];
736
- return Jt(e, function(i, o, s) {
737
- r[++n] = t(i, o, s);
738
- }), r;
739
- }
740
- function No(e, t) {
741
- var n = T(e) ? jt : Lo;
742
- return n(e, Yt(t));
743
- }
744
- var Uo = "[object String]";
745
- function Ko(e) {
746
- return typeof e == "string" || !T(e) && V(e) && J(e) == Uo;
747
- }
748
- function Bo(e, t) {
749
- return Oe(e, t);
750
- }
751
- var Go = Array.prototype, Ho = Go.join;
752
- function Et(e, t) {
753
- return e == null ? "" : Ho.call(e, t);
754
- }
755
- function Wo(e, t, n, r) {
756
- if (!ae(e))
757
- return e;
758
- t = Ye(t, e);
759
- for (var i = -1, o = t.length, s = o - 1, c = e; c != null && ++i < o; ) {
760
- var a = le(t[i]), f = n;
761
- if (a === "__proto__" || a === "constructor" || a === "prototype")
762
- return e;
763
- if (i != s) {
764
- var u = c[a];
765
- f = void 0, f === void 0 && (f = ae(u) ? u : Be(t[i + 1]) ? [] : {});
766
- }
767
- Vn(c, a, f), c = c[a];
768
- }
769
- return e;
770
- }
771
- var Vo = qt("length"), Xt = "\\ud800-\\udfff", qo = "\\u0300-\\u036f", Yo = "\\ufe20-\\ufe2f", Jo = "\\u20d0-\\u20ff", Xo = qo + Yo + Jo, Zo = "\\ufe0e\\ufe0f", Qo = "[" + Xt + "]", $e = "[" + Xo + "]", je = "\\ud83c[\\udffb-\\udfff]", ko = "(?:" + $e + "|" + je + ")", Zt = "[^" + Xt + "]", Qt = "(?:\\ud83c[\\udde6-\\uddff]){2}", kt = "[\\ud800-\\udbff][\\udc00-\\udfff]", es = "\\u200d", en = ko + "?", tn = "[" + Zo + "]?", ts = "(?:" + es + "(?:" + [Zt, Qt, kt].join("|") + ")" + tn + en + ")*", ns = tn + en + ts, rs = "(?:" + [Zt + $e + "?", $e, Qt, kt, Qo].join("|") + ")", Mt = RegExp(je + "(?=" + je + ")|" + rs + ns, "g");
772
- function is(e) {
773
- for (var t = Mt.lastIndex = 0; Mt.test(e); )
774
- ++t;
775
- return t;
776
- }
777
- function os(e) {
778
- return Mi(e) ? is(e) : Vo(e);
779
- }
780
- function ss(e, t, n) {
781
- return e == null ? e : Wo(e, t, n);
782
- }
783
- var as = "[object Map]", cs = "[object Set]";
784
- function Ie(e) {
785
- if (e == null)
786
- return 0;
787
- if (ve(e))
788
- return Ko(e) ? os(e) : e.length;
789
- var t = j(e);
790
- return t == as || t == cs ? e.size : Kt(e).length;
791
- }
792
- function fs(e, t) {
793
- var n;
794
- return Jt(e, function(r, i, o) {
795
- return n = t(r, i, o), !n;
796
- }), !!n;
797
- }
798
- function us(e, t, n) {
799
- var r = T(e) ? Gt : fs;
800
- return r(e, Yt(t));
801
- }
802
- const v = {
803
- Remove: "remove",
804
- Replace: "replace",
805
- Add: "add"
806
- }, nn = Symbol.for("__MUTATIVE_PROXY_DRAFT__"), ls = Symbol("__MUTATIVE_RAW_RETURN_SYMBOL__"), he = Symbol.iterator, M = {
807
- mutable: "mutable",
808
- immutable: "immutable"
809
- }, Je = {};
810
- function se(e, t) {
811
- return e instanceof Map ? e.has(t) : Object.prototype.hasOwnProperty.call(e, t);
812
- }
813
- function Tt(e, t) {
814
- if (t in e) {
815
- let n = Reflect.getPrototypeOf(e);
816
- for (; n; ) {
817
- const r = Reflect.getOwnPropertyDescriptor(n, t);
818
- if (r)
819
- return r;
820
- n = Reflect.getPrototypeOf(n);
821
- }
822
- }
823
- }
824
- function Xe(e) {
825
- return Object.getPrototypeOf(e) === Set.prototype;
826
- }
827
- function Ze(e) {
828
- return Object.getPrototypeOf(e) === Map.prototype;
829
- }
830
- function E(e) {
831
- var t;
832
- return (t = e.copy) !== null && t !== void 0 ? t : e.original;
833
- }
834
- function Y(e) {
835
- return !!h(e);
836
- }
837
- function h(e) {
838
- return typeof e != "object" ? null : e?.[nn];
839
- }
840
- function Qe(e) {
841
- var t;
842
- const n = h(e);
843
- return n ? (t = n.copy) !== null && t !== void 0 ? t : n.original : e;
844
- }
845
- function x(e, t) {
846
- if (!e || typeof e != "object")
847
- return !1;
848
- let n;
849
- return Object.getPrototypeOf(e) === Object.prototype || Array.isArray(e) || e instanceof Map || e instanceof Set || !!t?.mark && ((n = t.mark(e, M)) === M.immutable || typeof n == "function");
850
- }
851
- function rn(e, t = []) {
852
- if (Object.hasOwnProperty.call(e, "key")) {
853
- const n = e.parent.copy, r = h(D(n, e.key));
854
- if (r !== null && r?.original !== e.original)
855
- return null;
856
- const i = e.parent.type === 3, o = i ? Array.from(e.parent.setMap.keys()).indexOf(e.key) : e.key;
857
- if (!(i && n.size > o || se(n, o)))
858
- return null;
859
- t.push(o);
860
- }
861
- if (e.parent)
862
- return rn(e.parent, t);
863
- t.reverse();
864
- try {
865
- ps(e.copy, t);
866
- } catch {
867
- return null;
868
- }
869
- return t;
870
- }
871
- function Q(e) {
872
- return Array.isArray(e) ? 1 : e instanceof Map ? 2 : e instanceof Set ? 3 : 0;
873
- }
874
- function D(e, t) {
875
- return Q(e) === 2 ? e.get(t) : e[t];
876
- }
877
- function pe(e, t, n) {
878
- Q(e) === 2 ? e.set(t, n) : e[t] = n;
879
- }
880
- function Me(e, t) {
881
- const n = h(e);
882
- return (n ? E(n) : e)[t];
883
- }
884
- function z(e, t) {
885
- return e === t ? e !== 0 || 1 / e === 1 / t : e !== e && t !== t;
886
- }
887
- function ze(e) {
888
- if (e)
889
- for (; e.finalities.revoke.length > 0; )
890
- e.finalities.revoke.pop()();
891
- }
892
- function W(e, t) {
893
- return t ? e : [""].concat(e).map((n) => {
894
- const r = `${n}`;
895
- return r.indexOf("/") === -1 && r.indexOf("~") === -1 ? r : r.replace(/~/g, "~0").replace(/\//g, "~1");
896
- }).join("/");
897
- }
898
- function ps(e, t) {
899
- for (let n = 0; n < t.length - 1; n += 1) {
900
- const r = t[n];
901
- if (e = D(Q(e) === 3 ? Array.from(e) : e, r), typeof e != "object")
902
- throw new Error(`Cannot resolve patch at '${t.join("/")}'.`);
903
- }
904
- return e;
905
- }
906
- function ds(e) {
907
- const t = Object.create(Object.getPrototypeOf(e));
908
- return Reflect.ownKeys(e).forEach((n) => {
909
- let r = Reflect.getOwnPropertyDescriptor(e, n);
910
- if (r.enumerable && r.configurable && r.writable) {
911
- t[n] = e[n];
912
- return;
913
- }
914
- r.writable || (r.writable = !0, r.configurable = !0), (r.get || r.set) && (r = {
915
- configurable: !0,
916
- writable: !0,
917
- enumerable: r.enumerable,
918
- value: e[n]
919
- }), Reflect.defineProperty(t, n, r);
920
- }), t;
921
- }
922
- const hs = Object.prototype.propertyIsEnumerable;
923
- function on(e, t) {
924
- let n;
925
- if (Array.isArray(e))
926
- return Array.prototype.concat.call(e);
927
- if (e instanceof Set) {
928
- if (!Xe(e)) {
929
- const r = Object.getPrototypeOf(e).constructor;
930
- return new r(e.values());
931
- }
932
- return Set.prototype.difference ? Set.prototype.difference.call(e, /* @__PURE__ */ new Set()) : new Set(e.values());
933
- } else if (e instanceof Map) {
934
- if (!Ze(e)) {
935
- const r = Object.getPrototypeOf(e).constructor;
936
- return new r(e);
937
- }
938
- return new Map(e);
939
- } else if (t?.mark && (n = t.mark(e, M), n !== void 0) && n !== M.mutable) {
940
- if (n === M.immutable)
941
- return ds(e);
942
- if (typeof n == "function") {
943
- if (t.enablePatches || t.enableAutoFreeze)
944
- throw new Error("You can't use mark and patches or auto freeze together.");
945
- return n();
946
- }
947
- throw new Error(`Unsupported mark result: ${n}`);
948
- } else if (typeof e == "object" && Object.getPrototypeOf(e) === Object.prototype) {
949
- const r = {};
950
- return Object.keys(e).forEach((i) => {
951
- r[i] = e[i];
952
- }), Object.getOwnPropertySymbols(e).forEach((i) => {
953
- hs.call(e, i) && (r[i] = e[i]);
954
- }), r;
955
- } else
956
- throw new Error("Please check mark() to ensure that it is a stable marker draftable function.");
957
- }
958
- function S(e) {
959
- e.copy || (e.copy = on(e.original, e.options));
960
- }
961
- function re(e) {
962
- if (!x(e))
963
- return Qe(e);
964
- if (Array.isArray(e))
965
- return e.map(re);
966
- if (e instanceof Map) {
967
- const n = Array.from(e.entries()).map(([r, i]) => [
968
- r,
969
- re(i)
970
- ]);
971
- if (!Ze(e)) {
972
- const r = Object.getPrototypeOf(e).constructor;
973
- return new r(n);
974
- }
975
- return new Map(n);
976
- }
977
- if (e instanceof Set) {
978
- const n = Array.from(e).map(re);
979
- if (!Xe(e)) {
980
- const r = Object.getPrototypeOf(e).constructor;
981
- return new r(n);
982
- }
983
- return new Set(n);
984
- }
985
- const t = Object.create(Object.getPrototypeOf(e));
986
- for (const n in e)
987
- t[n] = re(e[n]);
988
- return t;
989
- }
990
- function ye(e) {
991
- return Y(e) ? re(e) : e;
992
- }
993
- function R(e) {
994
- var t;
995
- e.assignedMap = (t = e.assignedMap) !== null && t !== void 0 ? t : /* @__PURE__ */ new Map(), e.operated || (e.operated = !0, e.parent && R(e.parent));
996
- }
997
- function Pt() {
998
- throw new Error("Cannot modify frozen object");
999
- }
1000
- function k(e, t, n, r, i) {
1001
- {
1002
- n = n ?? /* @__PURE__ */ new WeakMap(), r = r ?? [], i = i ?? [];
1003
- const s = n.has(e) ? n.get(e) : e;
1004
- if (r.length > 0) {
1005
- const c = r.indexOf(s);
1006
- if (s && typeof s == "object" && c !== -1)
1007
- throw r[0] === s ? new Error("Forbids circular reference") : new Error(`Forbids circular reference: ~/${i.slice(0, c).map((a, f) => {
1008
- if (typeof a == "symbol")
1009
- return `[${a.toString()}]`;
1010
- const u = r[f];
1011
- return typeof a == "object" && (u instanceof Map || u instanceof Set) ? Array.from(u.keys()).indexOf(a) : a;
1012
- }).join("/")}`);
1013
- r.push(s), i.push(t);
1014
- } else
1015
- r.push(s);
1016
- }
1017
- if (Object.isFrozen(e) || Y(e)) {
1018
- r.pop(), i.pop();
1019
- return;
1020
- }
1021
- switch (Q(e)) {
1022
- case 2:
1023
- for (const [c, a] of e)
1024
- k(c, c, n, r, i), k(a, c, n, r, i);
1025
- e.set = e.clear = e.delete = Pt;
1026
- break;
1027
- case 3:
1028
- for (const c of e)
1029
- k(c, c, n, r, i);
1030
- e.add = e.clear = e.delete = Pt;
1031
- break;
1032
- case 1:
1033
- Object.freeze(e);
1034
- let s = 0;
1035
- for (const c of e)
1036
- k(c, s, n, r, i), s += 1;
1037
- break;
1038
- default:
1039
- Object.freeze(e), Object.keys(e).forEach((c) => {
1040
- const a = e[c];
1041
- k(a, c, n, r, i);
1042
- });
1043
- }
1044
- r.pop(), i.pop();
1045
- }
1046
- function ke(e, t) {
1047
- const n = Q(e);
1048
- if (n === 0)
1049
- Reflect.ownKeys(e).forEach((r) => {
1050
- t(r, e[r], e);
1051
- });
1052
- else if (n === 1) {
1053
- let r = 0;
1054
- for (const i of e)
1055
- t(r, i, e), r += 1;
1056
- } else
1057
- e.forEach((r, i) => t(i, r, e));
1058
- }
1059
- function sn(e, t, n) {
1060
- if (Y(e) || !x(e, n) || t.has(e) || Object.isFrozen(e))
1061
- return;
1062
- const r = e instanceof Set, i = r ? /* @__PURE__ */ new Map() : void 0;
1063
- if (t.add(e), ke(e, (o, s) => {
1064
- var c;
1065
- if (Y(s)) {
1066
- const a = h(s);
1067
- S(a);
1068
- const f = !((c = a.assignedMap) === null || c === void 0) && c.size || a.operated ? a.copy : a.original;
1069
- pe(r ? i : e, o, f);
1070
- } else
1071
- sn(s, t, n);
1072
- }), i) {
1073
- const o = e, s = Array.from(o);
1074
- o.clear(), s.forEach((c) => {
1075
- o.add(i.has(c) ? i.get(c) : c);
1076
- });
1077
- }
1078
- }
1079
- function ys(e, t) {
1080
- const n = e.type === 3 ? e.setMap : e.copy;
1081
- e.finalities.revoke.length > 1 && e.assignedMap.get(t) && n && sn(D(n, t), e.finalities.handledSet, e.options);
1082
- }
1083
- function De(e) {
1084
- e.type === 3 && e.copy && (e.copy.clear(), e.setMap.forEach((t) => {
1085
- e.copy.add(Qe(t));
1086
- }));
1087
- }
1088
- function Fe(e, t, n, r) {
1089
- if (e.operated && e.assignedMap && e.assignedMap.size > 0 && !e.finalized) {
1090
- if (n && r) {
1091
- const o = rn(e);
1092
- o && t(e, o, n, r);
1093
- }
1094
- e.finalized = !0;
1095
- }
1096
- }
1097
- function et(e, t, n, r) {
1098
- const i = h(n);
1099
- i && (i.callbacks || (i.callbacks = []), i.callbacks.push((o, s) => {
1100
- var c;
1101
- const a = e.type === 3 ? e.setMap : e.copy;
1102
- if (z(D(a, t), n)) {
1103
- let f = i.original;
1104
- i.copy && (f = i.copy), De(e), Fe(e, r, o, s), e.options.enableAutoFreeze && (e.options.updatedValues = (c = e.options.updatedValues) !== null && c !== void 0 ? c : /* @__PURE__ */ new WeakMap(), e.options.updatedValues.set(f, i.original)), pe(a, t, f);
1105
- }
1106
- }), e.options.enableAutoFreeze && i.finalities !== e.finalities && (e.options.enableAutoFreeze = !1)), x(n, e.options) && e.finalities.draft.push(() => {
1107
- const o = e.type === 3 ? e.setMap : e.copy;
1108
- z(D(o, t), n) && ys(e, t);
1109
- });
1110
- }
1111
- function bs(e, t, n, r, i) {
1112
- let { original: o, assignedMap: s, options: c } = e, a = e.copy;
1113
- a.length < o.length && ([o, a] = [a, o], [n, r] = [r, n]);
1114
- for (let f = 0; f < o.length; f += 1)
1115
- if (s.get(f.toString()) && a[f] !== o[f]) {
1116
- const u = t.concat([f]), l = W(u, i);
1117
- n.push({
1118
- op: v.Replace,
1119
- path: l,
1120
- // If it is a draft, it needs to be deep cloned, and it may also be non-draft.
1121
- value: ye(a[f])
1122
- }), r.push({
1123
- op: v.Replace,
1124
- path: l,
1125
- // If it is a draft, it needs to be deep cloned, and it may also be non-draft.
1126
- value: ye(o[f])
1127
- });
1128
- }
1129
- for (let f = o.length; f < a.length; f += 1) {
1130
- const u = t.concat([f]), l = W(u, i);
1131
- n.push({
1132
- op: v.Add,
1133
- path: l,
1134
- // If it is a draft, it needs to be deep cloned, and it may also be non-draft.
1135
- value: ye(a[f])
1136
- });
1137
- }
1138
- if (o.length < a.length) {
1139
- const { arrayLengthAssignment: f = !0 } = c.enablePatches;
1140
- if (f) {
1141
- const u = t.concat(["length"]), l = W(u, i);
1142
- r.push({
1143
- op: v.Replace,
1144
- path: l,
1145
- value: o.length
1146
- });
1147
- } else
1148
- for (let u = a.length; o.length < u; u -= 1) {
1149
- const l = t.concat([u - 1]), p = W(l, i);
1150
- r.push({
1151
- op: v.Remove,
1152
- path: p
1153
- });
1154
- }
1155
- }
1156
- }
1157
- function gs({ original: e, copy: t, assignedMap: n }, r, i, o, s) {
1158
- n.forEach((c, a) => {
1159
- const f = D(e, a), u = ye(D(t, a)), l = c ? se(e, a) ? v.Replace : v.Add : v.Remove;
1160
- if (z(f, u) && l === v.Replace)
1161
- return;
1162
- const p = r.concat(a), d = W(p, s);
1163
- i.push(l === v.Remove ? { op: l, path: d } : { op: l, path: d, value: u }), o.push(l === v.Add ? { op: v.Remove, path: d } : l === v.Remove ? { op: v.Add, path: d, value: f } : { op: v.Replace, path: d, value: f });
1164
- });
1165
- }
1166
- function ms({ original: e, copy: t }, n, r, i, o) {
1167
- let s = 0;
1168
- e.forEach((c) => {
1169
- if (!t.has(c)) {
1170
- const a = n.concat([s]), f = W(a, o);
1171
- r.push({
1172
- op: v.Remove,
1173
- path: f,
1174
- value: c
1175
- }), i.unshift({
1176
- op: v.Add,
1177
- path: f,
1178
- value: c
1179
- });
1180
- }
1181
- s += 1;
1182
- }), s = 0, t.forEach((c) => {
1183
- if (!e.has(c)) {
1184
- const a = n.concat([s]), f = W(a, o);
1185
- r.push({
1186
- op: v.Add,
1187
- path: f,
1188
- value: c
1189
- }), i.unshift({
1190
- op: v.Remove,
1191
- path: f,
1192
- value: c
1193
- });
1194
- }
1195
- s += 1;
1196
- });
1197
- }
1198
- function ue(e, t, n, r) {
1199
- const { pathAsArray: i = !0 } = e.options.enablePatches;
1200
- switch (e.type) {
1201
- case 0:
1202
- case 2:
1203
- return gs(e, t, n, r, i);
1204
- case 1:
1205
- return bs(e, t, n, r, i);
1206
- case 3:
1207
- return ms(e, t, n, r, i);
1208
- }
1209
- }
1210
- const ge = (e, t, n = !1) => {
1211
- if (typeof e == "object" && e !== null && (!x(e, t) || n))
1212
- throw new Error("Strict mode: Mutable data cannot be accessed directly, please use 'unsafe(callback)' wrap.");
1213
- }, Le = {
1214
- get size() {
1215
- return E(h(this)).size;
1216
- },
1217
- has(e) {
1218
- return E(h(this)).has(e);
1219
- },
1220
- set(e, t) {
1221
- const n = h(this), r = E(n);
1222
- return (!r.has(e) || !z(r.get(e), t)) && (S(n), R(n), n.assignedMap.set(e, !0), n.copy.set(e, t), et(n, e, t, ue)), this;
1223
- },
1224
- delete(e) {
1225
- if (!this.has(e))
1226
- return !1;
1227
- const t = h(this);
1228
- return S(t), R(t), t.original.has(e) ? t.assignedMap.set(e, !1) : t.assignedMap.delete(e), t.copy.delete(e), !0;
1229
- },
1230
- clear() {
1231
- const e = h(this);
1232
- if (this.size) {
1233
- S(e), R(e), e.assignedMap = /* @__PURE__ */ new Map();
1234
- for (const [t] of e.original)
1235
- e.assignedMap.set(t, !1);
1236
- e.copy.clear();
1237
- }
1238
- },
1239
- forEach(e, t) {
1240
- const n = h(this);
1241
- E(n).forEach((r, i) => {
1242
- e.call(t, this.get(i), i, this);
1243
- });
1244
- },
1245
- get(e) {
1246
- var t, n;
1247
- const r = h(this), i = E(r).get(e), o = ((n = (t = r.options).mark) === null || n === void 0 ? void 0 : n.call(t, i, M)) === M.mutable;
1248
- if (r.options.strict && ge(i, r.options, o), o || r.finalized || !x(i, r.options) || i !== r.original.get(e))
1249
- return i;
1250
- const s = Je.createDraft({
1251
- original: i,
1252
- parentDraft: r,
1253
- key: e,
1254
- finalities: r.finalities,
1255
- options: r.options
1256
- });
1257
- return S(r), r.copy.set(e, s), s;
1258
- },
1259
- keys() {
1260
- return E(h(this)).keys();
1261
- },
1262
- values() {
1263
- const e = this.keys();
1264
- return {
1265
- [he]: () => this.values(),
1266
- next: () => {
1267
- const t = e.next();
1268
- return t.done ? t : {
1269
- done: !1,
1270
- value: this.get(t.value)
1271
- };
1272
- }
1273
- };
1274
- },
1275
- entries() {
1276
- const e = this.keys();
1277
- return {
1278
- [he]: () => this.entries(),
1279
- next: () => {
1280
- const t = e.next();
1281
- if (t.done)
1282
- return t;
1283
- const n = this.get(t.value);
1284
- return {
1285
- done: !1,
1286
- value: [t.value, n]
1287
- };
1288
- }
1289
- };
1290
- },
1291
- [he]() {
1292
- return this.entries();
1293
- }
1294
- }, vs = Reflect.ownKeys(Le), Ct = (e, t, { isValuesIterator: n }) => () => {
1295
- var r, i;
1296
- const o = t.next();
1297
- if (o.done)
1298
- return o;
1299
- const s = o.value;
1300
- let c = e.setMap.get(s);
1301
- const a = h(c), f = ((i = (r = e.options).mark) === null || i === void 0 ? void 0 : i.call(r, c, M)) === M.mutable;
1302
- if (e.options.strict && ge(s, e.options, f), !f && !a && x(s, e.options) && !e.finalized && e.original.has(s)) {
1303
- const u = Je.createDraft({
1304
- original: s,
1305
- parentDraft: e,
1306
- key: s,
1307
- finalities: e.finalities,
1308
- options: e.options
1309
- });
1310
- e.setMap.set(s, u), c = u;
1311
- } else a && (c = a.proxy);
1312
- return {
1313
- done: !1,
1314
- value: n ? c : [c, c]
1315
- };
1316
- }, me = {
1317
- get size() {
1318
- return h(this).setMap.size;
1319
- },
1320
- has(e) {
1321
- const t = h(this);
1322
- if (t.setMap.has(e))
1323
- return !0;
1324
- S(t);
1325
- const n = h(e);
1326
- return !!(n && t.setMap.has(n.original));
1327
- },
1328
- add(e) {
1329
- const t = h(this);
1330
- return this.has(e) || (S(t), R(t), t.assignedMap.set(e, !0), t.setMap.set(e, e), et(t, e, e, ue)), this;
1331
- },
1332
- delete(e) {
1333
- if (!this.has(e))
1334
- return !1;
1335
- const t = h(this);
1336
- S(t), R(t);
1337
- const n = h(e);
1338
- return n && t.setMap.has(n.original) ? (t.assignedMap.set(n.original, !1), t.setMap.delete(n.original)) : (!n && t.setMap.has(e) ? t.assignedMap.set(e, !1) : t.assignedMap.delete(e), t.setMap.delete(e));
1339
- },
1340
- clear() {
1341
- if (!this.size)
1342
- return;
1343
- const e = h(this);
1344
- S(e), R(e);
1345
- for (const t of e.original)
1346
- e.assignedMap.set(t, !1);
1347
- e.setMap.clear();
1348
- },
1349
- values() {
1350
- const e = h(this);
1351
- S(e);
1352
- const t = e.setMap.keys();
1353
- return {
1354
- [Symbol.iterator]: () => this.values(),
1355
- next: Ct(e, t, { isValuesIterator: !0 })
1356
- };
1357
- },
1358
- entries() {
1359
- const e = h(this);
1360
- S(e);
1361
- const t = e.setMap.keys();
1362
- return {
1363
- [Symbol.iterator]: () => this.entries(),
1364
- next: Ct(e, t, {
1365
- isValuesIterator: !1
1366
- })
1367
- };
1368
- },
1369
- keys() {
1370
- return this.values();
1371
- },
1372
- [he]() {
1373
- return this.values();
1374
- },
1375
- forEach(e, t) {
1376
- const n = this.values();
1377
- let r = n.next();
1378
- for (; !r.done; )
1379
- e.call(t, r.value, r.value, this), r = n.next();
1380
- }
1381
- };
1382
- Set.prototype.difference && Object.assign(me, {
1383
- intersection(e) {
1384
- return Set.prototype.intersection.call(new Set(this.values()), e);
1385
- },
1386
- union(e) {
1387
- return Set.prototype.union.call(new Set(this.values()), e);
1388
- },
1389
- difference(e) {
1390
- return Set.prototype.difference.call(new Set(this.values()), e);
1391
- },
1392
- symmetricDifference(e) {
1393
- return Set.prototype.symmetricDifference.call(new Set(this.values()), e);
1394
- },
1395
- isSubsetOf(e) {
1396
- return Set.prototype.isSubsetOf.call(new Set(this.values()), e);
1397
- },
1398
- isSupersetOf(e) {
1399
- return Set.prototype.isSupersetOf.call(new Set(this.values()), e);
1400
- },
1401
- isDisjointFrom(e) {
1402
- return Set.prototype.isDisjointFrom.call(new Set(this.values()), e);
1403
- }
1404
- });
1405
- const ws = Reflect.ownKeys(me), an = /* @__PURE__ */ new WeakSet(), cn = {
1406
- get(e, t, n) {
1407
- var r, i;
1408
- const o = (r = e.copy) === null || r === void 0 ? void 0 : r[t];
1409
- if (o && an.has(o))
1410
- return o;
1411
- if (t === nn)
1412
- return e;
1413
- let s;
1414
- if (e.options.mark) {
1415
- const f = t === "size" && (e.original instanceof Map || e.original instanceof Set) ? Reflect.get(e.original, t) : Reflect.get(e.original, t, n);
1416
- if (s = e.options.mark(f, M), s === M.mutable)
1417
- return e.options.strict && ge(f, e.options, !0), f;
1418
- }
1419
- const c = E(e);
1420
- if (c instanceof Map && vs.includes(t)) {
1421
- if (t === "size")
1422
- return Object.getOwnPropertyDescriptor(Le, "size").get.call(e.proxy);
1423
- const f = Le[t];
1424
- if (f)
1425
- return f.bind(e.proxy);
1426
- }
1427
- if (c instanceof Set && ws.includes(t)) {
1428
- if (t === "size")
1429
- return Object.getOwnPropertyDescriptor(me, "size").get.call(e.proxy);
1430
- const f = me[t];
1431
- if (f)
1432
- return f.bind(e.proxy);
1433
- }
1434
- if (!se(c, t)) {
1435
- const f = Tt(c, t);
1436
- return f ? "value" in f ? f.value : (
1437
- // !case: support for getter
1438
- (i = f.get) === null || i === void 0 ? void 0 : i.call(e.proxy)
1439
- ) : void 0;
1440
- }
1441
- const a = c[t];
1442
- if (e.options.strict && ge(a, e.options), e.finalized || !x(a, e.options))
1443
- return a;
1444
- if (a === Me(e.original, t)) {
1445
- if (S(e), e.copy[t] = tt({
1446
- original: e.original[t],
1447
- parentDraft: e,
1448
- key: e.type === 1 ? Number(t) : t,
1449
- finalities: e.finalities,
1450
- options: e.options
1451
- }), typeof s == "function") {
1452
- const f = h(e.copy[t]);
1453
- return S(f), R(f), f.copy;
1454
- }
1455
- return e.copy[t];
1456
- }
1457
- return a;
1458
- },
1459
- set(e, t, n) {
1460
- var r;
1461
- if (e.type === 3 || e.type === 2)
1462
- throw new Error("Map/Set draft does not support any property assignment.");
1463
- let i;
1464
- if (e.type === 1 && t !== "length" && !(Number.isInteger(i = Number(t)) && i >= 0 && (t === 0 || i === 0 || String(i) === String(t))))
1465
- throw new Error("Only supports setting array indices and the 'length' property.");
1466
- const o = Tt(E(e), t);
1467
- if (o?.set)
1468
- return o.set.call(e.proxy, n), !0;
1469
- const s = Me(E(e), t), c = h(s);
1470
- return c && z(c.original, n) ? (e.copy[t] = n, e.assignedMap = (r = e.assignedMap) !== null && r !== void 0 ? r : /* @__PURE__ */ new Map(), e.assignedMap.set(t, !1), !0) : (z(n, s) && (n !== void 0 || se(e.original, t)) || (S(e), R(e), se(e.original, t) && z(n, e.original[t]) ? e.assignedMap.delete(t) : e.assignedMap.set(t, !0), e.copy[t] = n, et(e, t, n, ue)), !0);
1471
- },
1472
- has(e, t) {
1473
- return t in E(e);
1474
- },
1475
- ownKeys(e) {
1476
- return Reflect.ownKeys(E(e));
1477
- },
1478
- getOwnPropertyDescriptor(e, t) {
1479
- const n = E(e), r = Reflect.getOwnPropertyDescriptor(n, t);
1480
- return r && {
1481
- writable: !0,
1482
- configurable: e.type !== 1 || t !== "length",
1483
- enumerable: r.enumerable,
1484
- value: n[t]
1485
- };
1486
- },
1487
- getPrototypeOf(e) {
1488
- return Reflect.getPrototypeOf(e.original);
1489
- },
1490
- setPrototypeOf() {
1491
- throw new Error("Cannot call 'setPrototypeOf()' on drafts");
1492
- },
1493
- defineProperty() {
1494
- throw new Error("Cannot call 'defineProperty()' on drafts");
1495
- },
1496
- deleteProperty(e, t) {
1497
- var n;
1498
- return e.type === 1 ? cn.set.call(this, e, t, void 0, e.proxy) : (Me(e.original, t) !== void 0 || t in e.original ? (S(e), R(e), e.assignedMap.set(t, !1)) : (e.assignedMap = (n = e.assignedMap) !== null && n !== void 0 ? n : /* @__PURE__ */ new Map(), e.assignedMap.delete(t)), e.copy && delete e.copy[t], !0);
1499
- }
1500
- };
1501
- function tt(e) {
1502
- const { original: t, parentDraft: n, key: r, finalities: i, options: o } = e, s = Q(t), c = {
1503
- type: s,
1504
- finalized: !1,
1505
- parent: n,
1506
- original: t,
1507
- copy: null,
1508
- proxy: null,
1509
- finalities: i,
1510
- options: o,
1511
- // Mapping of draft Set items to their corresponding draft values.
1512
- setMap: s === 3 ? new Map(t.entries()) : void 0
1513
- };
1514
- (r || "key" in e) && (c.key = r);
1515
- const { proxy: a, revoke: f } = Proxy.revocable(s === 1 ? Object.assign([], c) : c, cn);
1516
- if (i.revoke.push(f), an.add(a), c.proxy = a, n) {
1517
- const u = n;
1518
- u.finalities.draft.push((l, p) => {
1519
- var d, b;
1520
- const w = h(a);
1521
- let _ = u.type === 3 ? u.setMap : u.copy;
1522
- const O = D(_, r), m = h(O);
1523
- if (m) {
1524
- let A = m.original;
1525
- m.operated && (A = Qe(O)), De(m), Fe(m, ue, l, p), u.options.enableAutoFreeze && (u.options.updatedValues = (d = u.options.updatedValues) !== null && d !== void 0 ? d : /* @__PURE__ */ new WeakMap(), u.options.updatedValues.set(A, m.original)), pe(_, r, A);
1526
- }
1527
- (b = w.callbacks) === null || b === void 0 || b.forEach((A) => {
1528
- A(l, p);
1529
- });
1530
- });
1531
- } else {
1532
- const u = h(a);
1533
- u.finalities.draft.push((l, p) => {
1534
- De(u), Fe(u, ue, l, p);
1535
- });
1536
- }
1537
- return a;
1538
- }
1539
- Je.createDraft = tt;
1540
- function _s(e, t, n, r, i) {
1541
- var o;
1542
- const s = h(e), c = (o = s?.original) !== null && o !== void 0 ? o : e, a = !!t.length;
1543
- if (s?.operated)
1544
- for (; s.finalities.draft.length > 0; )
1545
- s.finalities.draft.pop()(n, r);
1546
- const f = a ? t[0] : s ? s.operated ? s.copy : s.original : e;
1547
- return s && ze(s), i && k(f, f, s?.options.updatedValues), [
1548
- f,
1549
- n && a ? [{ op: v.Replace, path: [], value: t[0] }] : n,
1550
- r && a ? [{ op: v.Replace, path: [], value: c }] : r
1551
- ];
1552
- }
1553
- function Os(e, t) {
1554
- var n;
1555
- const r = {
1556
- draft: [],
1557
- revoke: [],
1558
- handledSet: /* @__PURE__ */ new WeakSet()
1559
- };
1560
- let i, o;
1561
- t.enablePatches && (i = [], o = []);
1562
- const c = ((n = t.mark) === null || n === void 0 ? void 0 : n.call(t, e, M)) === M.mutable || !x(e, t) ? e : tt({
1563
- original: e,
1564
- parentDraft: null,
1565
- finalities: r,
1566
- options: t
1567
- });
1568
- return [
1569
- c,
1570
- (a = []) => {
1571
- const [f, u, l] = _s(c, a, i, o, t.enableAutoFreeze);
1572
- return t.enablePatches ? [f, u, l] : f;
1573
- }
1574
- ];
1575
- }
1576
- function Ne(e) {
1577
- const { rootDraft: t, value: n, useRawReturn: r = !1, isRoot: i = !0 } = e;
1578
- ke(n, (o, s, c) => {
1579
- const a = h(s);
1580
- if (a && t && a.finalities === t.finalities) {
1581
- e.isContainDraft = !0;
1582
- const f = a.original;
1583
- if (c instanceof Set) {
1584
- const u = Array.from(c);
1585
- c.clear(), u.forEach((l) => c.add(o === l ? f : l));
1586
- } else
1587
- pe(c, o, f);
1588
- } else typeof s == "object" && s !== null && (e.value = s, e.isRoot = !1, Ne(e));
1589
- }), i && (e.isContainDraft || console.warn("The return value does not contain any draft, please use 'rawReturn()' to wrap the return value to improve performance."), r && console.warn("The return value contains drafts, please don't use 'rawReturn()' to wrap the return value."));
1590
- }
1591
- function fn(e) {
1592
- var t;
1593
- const n = h(e);
1594
- if (!x(e, n?.options))
1595
- return e;
1596
- const r = Q(e);
1597
- if (n && !n.operated)
1598
- return n.original;
1599
- let i;
1600
- function o() {
1601
- i = r === 2 ? Ze(e) ? new Map(e) : new (Object.getPrototypeOf(e)).constructor(e) : r === 3 ? Array.from(n.setMap.values()) : on(e, n?.options);
1602
- }
1603
- if (n) {
1604
- n.finalized = !0;
1605
- try {
1606
- o();
1607
- } finally {
1608
- n.finalized = !1;
1609
- }
1610
- } else
1611
- i = e;
1612
- if (ke(i, (s, c) => {
1613
- if (n && z(D(n.original, s), c))
1614
- return;
1615
- const a = fn(c);
1616
- a !== c && (i === e && o(), pe(i, s, a));
1617
- }), r === 3) {
1618
- const s = (t = n?.original) !== null && t !== void 0 ? t : i;
1619
- return Xe(s) ? new Set(i) : new (Object.getPrototypeOf(s)).constructor(i);
1620
- }
1621
- return i;
1622
- }
1623
- function xt(e) {
1624
- if (!Y(e))
1625
- throw new Error(`current() is only used for Draft, parameter: ${e}`);
1626
- return fn(e);
1627
- }
1628
- const Ss = (e) => function t(n, r, i) {
1629
- var o, s, c;
1630
- if (typeof n == "function" && typeof r != "function")
1631
- return function(y, ...$) {
1632
- return t(y, (U) => n.call(this, U, ...$), r);
1633
- };
1634
- const a = n, f = r;
1635
- let u = i;
1636
- if (typeof r != "function" && (u = r), u !== void 0 && Object.prototype.toString.call(u) !== "[object Object]")
1637
- throw new Error(`Invalid options: ${u}, 'options' should be an object.`);
1638
- u = Object.assign(Object.assign({}, e), u);
1639
- const l = Y(a) ? xt(a) : a, p = Array.isArray(u.mark) ? ((y, $) => {
1640
- for (const U of u.mark) {
1641
- if (typeof U != "function")
1642
- throw new Error(`Invalid mark: ${U}, 'mark' should be a function.`);
1643
- const ee = U(y, $);
1644
- if (ee)
1645
- return ee;
1646
- }
1647
- }) : u.mark, d = (o = u.enablePatches) !== null && o !== void 0 ? o : !1, b = (s = u.strict) !== null && s !== void 0 ? s : !1, _ = {
1648
- enableAutoFreeze: (c = u.enableAutoFreeze) !== null && c !== void 0 ? c : !1,
1649
- mark: p,
1650
- strict: b,
1651
- enablePatches: d
1652
- };
1653
- if (!x(l, _) && typeof l == "object" && l !== null)
1654
- throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");
1655
- const [O, m] = Os(l, _);
1656
- if (typeof r != "function") {
1657
- if (!x(l, _))
1658
- throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");
1659
- return [O, m];
1660
- }
1661
- let A;
1662
- try {
1663
- A = f(O);
1664
- } catch (y) {
1665
- throw ze(h(O)), y;
1666
- }
1667
- const H = (y) => {
1668
- const $ = h(O);
1669
- if (!Y(y)) {
1670
- if (y !== void 0 && !z(y, O) && $?.operated)
1671
- throw new Error("Either the value is returned as a new non-draft value, or only the draft is modified without returning any value.");
1672
- const ee = y?.[ls];
1673
- if (ee) {
1674
- const ln = ee[0];
1675
- return _.strict && typeof y == "object" && y !== null && Ne({
1676
- rootDraft: $,
1677
- value: y,
1678
- useRawReturn: !0
1679
- }), m([ln]);
1680
- }
1681
- if (y !== void 0)
1682
- return typeof y == "object" && y !== null && Ne({ rootDraft: $, value: y }), m([y]);
1683
- }
1684
- if (y === O || y === void 0)
1685
- return m([]);
1686
- const U = h(y);
1687
- if (_ === U.options) {
1688
- if (U.operated)
1689
- throw new Error("Cannot return a modified child draft.");
1690
- return m([xt(y)]);
1691
- }
1692
- return m([y]);
1693
- };
1694
- return A instanceof Promise ? A.then(H, (y) => {
1695
- throw ze(h(O)), y;
1696
- }) : H(A);
1697
- }, P = Ss();
1698
- Object.prototype.constructor.toString();
1699
- const As = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
1700
- let Es = (e = 21) => {
1701
- let t = "", n = crypto.getRandomValues(new Uint8Array(e |= 0));
1702
- for (; e--; )
1703
- t += As[n[e] & 63];
1704
- return t;
1705
- };
1706
- class Ms {
1707
- age = 0;
1708
- capacity = 0;
1709
- storage = /* @__PURE__ */ new Map();
1710
- constructor(t = 0, n = 0) {
1711
- this.age = t, this.capacity = n;
1712
- }
1713
- invalidate() {
1714
- this.storage.clear();
1715
- }
1716
- reset(t, n) {
1717
- this.invalidate(), this.age = t, this.capacity = n;
1718
- }
1719
- get(t) {
1720
- if (this.capacity === 0) return;
1721
- const n = this.storage.get(t);
1722
- if (n)
1723
- if (Date.now() - n.ts > this.age) {
1724
- this.storage.delete(t);
1725
- return;
1726
- } else
1727
- return n.data;
1728
- }
1729
- put(t, n) {
1730
- if (this.capacity > 0 && this.storage.set(t, { data: n, ts: Date.now() }), this.storage.size > this.capacity) {
1731
- const r = [...this.storage.keys()].at(0);
1732
- this.storage.delete(r);
1733
- }
1734
- }
1735
- remove(t) {
1736
- this.storage.delete(t);
1737
- }
1738
- withCache = async (t, n) => {
1739
- const r = this.get(t);
1740
- return r || n().then((i) => (this.put(t, i), i));
1741
- };
1742
- }
1743
- const ie = "CANCEL_RECOVERABLE", ne = "CANCELLED_BY_USER", Ts = (e) => {
1744
- const t = pn(e);
1745
- return K(() => (Bo(e, t.current) || (t.current = e), t.current), [e]);
1746
- };
1747
- function Ps(e, t, n) {
1748
- return new Promise((r, i) => {
1749
- const o = setTimeout(() => {
1750
- t.removeEventListener("abort", s), r("WAIT_COMPLETE");
1751
- }, e), s = () => {
1752
- n?.(), clearTimeout(o), i(ie);
1753
- };
1754
- t.addEventListener("abort", s);
1755
- });
1756
- }
1757
- const un = Object.freeze({
1758
- items: /* @__PURE__ */ new Map(),
1759
- context: {},
1760
- fetchState: {
1761
- isLoading: !1,
1762
- errors: [],
1763
- metadata: {}
1764
- }
1765
- });
1766
- class B {
1767
- constructor(t = "<none>", n) {
1768
- this.id = t, this.config = n, this.setItems([]);
1769
- const { caching: { age: r = 0, capacity: i = 0 } = { age: 0, capacity: 0 }, context: o } = n;
1770
- this.state.context = o, this.fetchCache.reset(r, i);
1771
- }
1772
- batched = !1;
1773
- state = un;
1774
- subscribers = /* @__PURE__ */ new Set();
1775
- controllers = /* @__PURE__ */ new Map();
1776
- fetchController = new AbortController();
1777
- fetchCache = new Ms();
1778
- executeFetch = async (t) => {
1779
- const { fetch: n } = this.config, r = this.getCacheKey();
1780
- this.startFetch();
1781
- try {
1782
- let i = null;
1783
- n ? i = await this.fetchCache.withCache(r, async () => (await Ps(this.config.debounce || 0, this.fetchController.signal, () => {
1784
- this.customLog("delay", "Fetch operation canceled due to debounce re-entry");
1785
- }), this.customLog("fetch execution", "Executing fetch function"), n({
1786
- signal: this.fetchController.signal,
1787
- context: t
1788
- }))) : i = { items: [], metadata: {} }, this.batch(() => {
1789
- this.setItems(i.items), this.setMetadata(i.metadata), this.setContext(t), this.endFetch();
1790
- });
1791
- } catch (i) {
1792
- if (i.name === "AbortError" || i === ie) {
1793
- this.customLog("fetch exception", "Fetch operation was cancelled by client");
1794
- return;
1795
- }
1796
- if (i === ne) {
1797
- this.customLog("fetch exception", "Fetch operation was cancelled by user"), this.endFetch();
1798
- return;
1799
- }
1800
- this.batch(() => {
1801
- this.endFetch([i.message]), this.setItems([]);
1802
- });
1803
- }
1804
- };
1805
- executeRemove = async (t) => {
1806
- const { context: n } = this.state, { remove: r } = this.config, i = this.startTransition({
1807
- id: t.id,
1808
- input: t,
1809
- state: "delete"
1810
- });
1811
- if (r)
1812
- try {
1813
- await r(t, { signal: i.signal, context: n }), this.remove(t.id), this.startTransition({ id: t.id, state: "idle" });
1814
- } catch (o) {
1815
- if (o.name === "AbortError" || o === ie || o === ne)
1816
- return;
1817
- this.startTransition({
1818
- id: t.id,
1819
- input: t,
1820
- state: "delete",
1821
- errors: [o.message]
1822
- });
1823
- }
1824
- else
1825
- this.batch(() => {
1826
- this.remove(t.id), this.startTransition({ id: t.id, fromState: "delete", state: "idle" });
1827
- });
1828
- this.fetchCache.remove(this.getCacheKey());
1829
- };
1830
- executeUpdate = async ({
1831
- item: t,
1832
- updater: n = Ke,
1833
- isOptimistic: r = !1,
1834
- skipSave: i = !1,
1835
- tag: o = void 0
1836
- // for multiple parallel updates use tags
1837
- }) => {
1838
- const { context: s } = this.state, { update: c } = this.config, a = t.id;
1839
- if (this.state.items.has(a)) {
1840
- const f = this.state.items.get(a).data, u = P(f, n), l = this.startTransition({
1841
- id: a,
1842
- input: u,
1843
- state: "update",
1844
- isOptimistic: r,
1845
- tag: o
1846
- });
1847
- if (r && this.updateItem(u), c && !i)
1848
- try {
1849
- await c(u, { signal: l.signal, context: s }), this.updateItem(u), this.startTransition({ id: a, state: "idle", fromState: "update", tag: o });
1850
- } catch (p) {
1851
- if (p.name === "AbortError" || p === ie)
1852
- return;
1853
- if (p === ne) {
1854
- this.batch(() => {
1855
- this.updateItem(f), this.startTransition({ id: u.id, state: "idle", fromState: "update", tag: o });
1856
- });
1857
- return;
1858
- }
1859
- this.startTransition({
1860
- id: a,
1861
- input: u,
1862
- state: "update",
1863
- errors: [p.message],
1864
- tag: o
1865
- });
1866
- }
1867
- else
1868
- this.updateItem(u), this.startTransition({ id: a, state: "changed", tag: o });
1869
- this.fetchCache.remove(this.getCacheKey());
1870
- }
1871
- };
1872
- executeCreate = async (t) => {
1873
- const { context: n } = this.state, { create: r } = this.config, i = `create_${Es(8)}`, o = { ...t, id: i }, s = (a) => {
1874
- this.state = P(this.state, (f) => {
1875
- const u = {
1876
- data: { ...t, id: i },
1877
- errors: /* @__PURE__ */ new Map(),
1878
- optimistic: !0,
1879
- // always true for create
1880
- transitions: /* @__PURE__ */ new Map([["default", ["create", t, Date.now()]]])
1881
- };
1882
- f.items.set(i, u);
1883
- }), this.notify();
1884
- };
1885
- s();
1886
- const c = this.startTransition({
1887
- id: i,
1888
- input: o,
1889
- state: "create",
1890
- isOptimistic: !0,
1891
- errors: []
1892
- });
1893
- if (r)
1894
- try {
1895
- const { id: a } = await r(t, {
1896
- signal: c.signal,
1897
- context: n
1898
- });
1899
- if (!a)
1900
- throw new Error("create action must return id of the created item");
1901
- const f = /* @__PURE__ */ new Map();
1902
- this.state.items.forEach((u, l) => {
1903
- l === i ? (f.delete(i), f.set(a, {
1904
- ...u,
1905
- data: { ...u.data, id: a }
1906
- })) : f.set(l, u);
1907
- }), this.state = P(this.state, (u) => {
1908
- u.items = f;
1909
- }), this.startTransition({ id: a, state: "idle", fromState: "create" });
1910
- } catch (a) {
1911
- if (a.name === "AbortError" || a === ie)
1912
- return;
1913
- if (a === ne) {
1914
- this.remove(i);
1915
- return;
1916
- }
1917
- this.startTransition({
1918
- id: i,
1919
- input: o,
1920
- state: "create",
1921
- errors: [a.message]
1922
- });
1923
- }
1924
- else
1925
- s(), this.startTransition({ id: i, state: "idle" });
1926
- this.fetchCache.remove(this.getCacheKey());
1927
- };
1928
- getCacheKey() {
1929
- const { context: t } = this.state;
1930
- return `[${this.id}, ${JSON.stringify(t)}]`;
1931
- }
1932
- getControlerId = (t, n) => Et(wt([t, n === "default" ? null : n]), ":");
1933
- customLog = (t = "log", ...n) => {
1934
- };
1935
- batch = (t) => {
1936
- this.batched = !0, t(), this.batched = !1, this.notify();
1937
- };
1938
- setItems = (t) => {
1939
- if (new Set(No(t, "id")).size !== Ie(t))
1940
- throw new Error("Missing `id` prop on one or more items");
1941
- const r = /* @__PURE__ */ new Map();
1942
- t.forEach((i) => {
1943
- i.id = `${i.id}`, r.set(i.id, {
1944
- data: i,
1945
- optimistic: !1,
1946
- errors: /* @__PURE__ */ new Map(),
1947
- transitions: /* @__PURE__ */ new Map()
1948
- });
1949
- }), this.state = P(this.state, (i) => {
1950
- i.items = r;
1951
- }), this.notify();
1952
- };
1953
- setMetadata = (t) => {
1954
- this.state = P(this.state, (n) => {
1955
- n.fetchState.metadata = t;
1956
- }), this.notify();
1957
- };
1958
- setContext = (t) => {
1959
- this.state = P(this.state, (n) => {
1960
- n.context = t;
1961
- }), this.notify();
1962
- };
1963
- remove = (t) => {
1964
- this.state = P(this.state, (n) => {
1965
- n.items.delete(t);
1966
- }), this.notify();
1967
- };
1968
- updateItem = (t) => {
1969
- this.state = P(this.state, (n) => {
1970
- const r = n.items.get(t.id);
1971
- r && (ss(r, "data", t), this.notify());
1972
- });
1973
- };
1974
- clearFetchCache = () => {
1975
- this.fetchCache.remove(this.getCacheKey());
1976
- };
1977
- startFetch = () => {
1978
- this.fetchController.abort(), this.state = P(this.state, (t) => {
1979
- t.fetchState.isLoading = !0;
1980
- }), this.fetchController = new AbortController(), this.notify();
1981
- };
1982
- endFetch = (t = []) => {
1983
- this.state = P(this.state, (n) => {
1984
- n.fetchState.isLoading = !1, n.fetchState.errors = t;
1985
- }), this.notify();
1986
- };
1987
- cancelFetch = () => {
1988
- this.fetchController.abort();
1989
- };
1990
- cancelOperation = (t, n) => {
1991
- const r = this.getControlerId(t, n);
1992
- this.controllers.get(r)?.abort(ne);
1993
- };
1994
- startTransition = ({
1995
- id: t,
1996
- input: n = void 0,
1997
- state: r,
1998
- fromState: i = r,
1999
- // only required for parallel updates
2000
- isOptimistic: o = !1,
2001
- errors: s = [],
2002
- tag: c = "default"
2003
- }) => {
2004
- const a = new AbortController(), f = this.getControlerId(t, c);
2005
- return this.state.items.has(t) && (this.controllers.get(f)?.abort(), this.controllers.set(f, a), this.state = P(this.state, (u) => {
2006
- const l = u.items.get(t);
2007
- l.optimistic = o;
2008
- const p = Et(wt([i, c === "default" ? null : c]), ":");
2009
- r === "idle" ? l.errors.delete(p) : Ie(s) > 0 && l.errors.set(p, s), r === "idle" ? l.transitions.delete(c) : l.transitions.set(c, [r, n, Date.now()]);
2010
- }), this.notify()), a;
2011
- };
2012
- notify = () => {
2013
- this.subscribers.forEach((t) => {
2014
- t();
2015
- });
2016
- };
2017
- getSnapshot = () => this.state;
2018
- subscribe = (t) => (this.subscribers.add(t), () => {
2019
- this.subscribers.delete(t);
2020
- });
2021
- static instances = /* @__PURE__ */ new Map();
2022
- static createStore(t) {
2023
- const { id: n } = t;
2024
- return B.instances.has(n) || B.instances.set(n, new B(n, t)), B.instances.get(n);
2025
- }
2026
- }
2027
- function xs(e) {
2028
- const t = B.createStore(e), n = dn(
2029
- t.subscribe,
2030
- t.getSnapshot,
2031
- e.getServerSnapshot || (() => un)
2032
- ), r = Ts(e.context), i = C(() => {
2033
- t.clearFetchCache(), t.executeFetch(r);
2034
- }, [t, r]), o = C(() => {
2035
- t.cancelFetch();
2036
- }, [t]), s = C(
2037
- (d, b) => {
2038
- t.cancelOperation(d, b);
2039
- },
2040
- [t]
2041
- ), c = C(
2042
- (d) => {
2043
- t.executeCreate(d);
2044
- },
2045
- [t]
2046
- ), a = C(
2047
- (d) => {
2048
- t.executeRemove(d);
2049
- },
2050
- [t]
2051
- ), f = C(
2052
- (d) => {
2053
- t.executeFetch(d);
2054
- },
2055
- [t]
2056
- );
2057
- hn(() => {
2058
- f(r);
2059
- }, [f, r]);
2060
- const u = K(() => [...n.items.values()], [n.items]), l = Ie(n.fetchState.errors) > 0 || us(u, (d) => d.errors.size > 0), p = K(
2061
- () => ({
2062
- itemsById: n.items,
2063
- items: u,
2064
- fetchState: n.fetchState,
2065
- hasError: l,
2066
- cancelFetch: o,
2067
- cancelOperation: s,
2068
- refetch: i,
2069
- create: c,
2070
- remove: a,
2071
- store: t
2072
- }),
2073
- [
2074
- t,
2075
- n.items,
2076
- n.fetchState,
2077
- u,
2078
- o,
2079
- s,
2080
- i,
2081
- c,
2082
- a,
2083
- l
2084
- ]
2085
- );
2086
- return t.customLog("snapshot", p), p;
2087
- }
2088
- function Rs(e, t) {
2089
- const n = B.instances.get(e), r = K(() => t.data, [t.data]), i = K(() => t.transitions, [t.transitions]), o = C(
2090
- (d, { tag: b, isOptimistic: w = !1 } = {}) => {
2091
- n.executeUpdate({ item: r, updater: d, tag: b, isOptimistic: w });
2092
- },
2093
- [r, n]
2094
- ), s = C(() => {
2095
- n.executeRemove(r);
2096
- }, [r, n]), c = C(
2097
- (d, b) => {
2098
- n.executeUpdate({ item: r, updater: d, isOptimistic: !0, skipSave: !0, tag: b });
2099
- },
2100
- [r, n]
2101
- ), a = C(() => {
2102
- n.executeUpdate({ item: r, updater: Ke, isOptimistic: !1 });
2103
- }, [r, n]), f = C(
2104
- (d) => {
2105
- n.cancelOperation(r.id, d);
2106
- },
2107
- [n, r.id]
2108
- ), u = K(() => {
2109
- const d = /* @__PURE__ */ new Set();
2110
- return i.forEach((b, w) => {
2111
- const [_] = b;
2112
- d.add(`${_}${w === "default" ? "" : `:${w}`}`);
2113
- }), d;
2114
- }, [i]), l = K(() => t.errors.size > 0, [t.errors]), p = K(() => t.errors.size, [t.errors]);
2115
- return [
2116
- r,
2117
- {
2118
- update: o,
2119
- change: c,
2120
- save: a,
2121
- remove: s,
2122
- cancel: f,
2123
- errors: t.errors,
2124
- errorCount: p,
2125
- hasError: l,
2126
- states: u,
2127
- itemWithState: t,
2128
- store: n
2129
- }
2130
- ];
2131
- }
2132
- export {
2133
- xs as useCrud,
2134
- Rs as useItemState
2135
- };