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