atomirx 0.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 (121) hide show
  1. package/README.md +1666 -0
  2. package/coverage/base.css +224 -0
  3. package/coverage/block-navigation.js +87 -0
  4. package/coverage/clover.xml +1440 -0
  5. package/coverage/coverage-final.json +14 -0
  6. package/coverage/favicon.png +0 -0
  7. package/coverage/index.html +131 -0
  8. package/coverage/prettify.css +1 -0
  9. package/coverage/prettify.js +2 -0
  10. package/coverage/sort-arrow-sprite.png +0 -0
  11. package/coverage/sorter.js +210 -0
  12. package/coverage/src/core/atom.ts.html +889 -0
  13. package/coverage/src/core/batch.ts.html +223 -0
  14. package/coverage/src/core/define.ts.html +805 -0
  15. package/coverage/src/core/emitter.ts.html +919 -0
  16. package/coverage/src/core/equality.ts.html +631 -0
  17. package/coverage/src/core/hook.ts.html +460 -0
  18. package/coverage/src/core/index.html +281 -0
  19. package/coverage/src/core/isAtom.ts.html +100 -0
  20. package/coverage/src/core/isPromiseLike.ts.html +133 -0
  21. package/coverage/src/core/onCreateHook.ts.html +136 -0
  22. package/coverage/src/core/scheduleNotifyHook.ts.html +94 -0
  23. package/coverage/src/core/types.ts.html +523 -0
  24. package/coverage/src/core/withUse.ts.html +253 -0
  25. package/coverage/src/index.html +116 -0
  26. package/coverage/src/index.ts.html +106 -0
  27. package/dist/core/atom.d.ts +63 -0
  28. package/dist/core/atom.test.d.ts +1 -0
  29. package/dist/core/atomState.d.ts +104 -0
  30. package/dist/core/atomState.test.d.ts +1 -0
  31. package/dist/core/batch.d.ts +126 -0
  32. package/dist/core/batch.test.d.ts +1 -0
  33. package/dist/core/define.d.ts +173 -0
  34. package/dist/core/define.test.d.ts +1 -0
  35. package/dist/core/derived.d.ts +102 -0
  36. package/dist/core/derived.test.d.ts +1 -0
  37. package/dist/core/effect.d.ts +120 -0
  38. package/dist/core/effect.test.d.ts +1 -0
  39. package/dist/core/emitter.d.ts +237 -0
  40. package/dist/core/emitter.test.d.ts +1 -0
  41. package/dist/core/equality.d.ts +62 -0
  42. package/dist/core/equality.test.d.ts +1 -0
  43. package/dist/core/hook.d.ts +134 -0
  44. package/dist/core/hook.test.d.ts +1 -0
  45. package/dist/core/isAtom.d.ts +9 -0
  46. package/dist/core/isPromiseLike.d.ts +9 -0
  47. package/dist/core/isPromiseLike.test.d.ts +1 -0
  48. package/dist/core/onCreateHook.d.ts +79 -0
  49. package/dist/core/promiseCache.d.ts +134 -0
  50. package/dist/core/promiseCache.test.d.ts +1 -0
  51. package/dist/core/scheduleNotifyHook.d.ts +51 -0
  52. package/dist/core/select.d.ts +151 -0
  53. package/dist/core/selector.test.d.ts +1 -0
  54. package/dist/core/types.d.ts +279 -0
  55. package/dist/core/withUse.d.ts +38 -0
  56. package/dist/core/withUse.test.d.ts +1 -0
  57. package/dist/index-2ok7ilik.js +1217 -0
  58. package/dist/index-B_5SFzfl.cjs +1 -0
  59. package/dist/index.cjs +1 -0
  60. package/dist/index.d.ts +14 -0
  61. package/dist/index.js +20 -0
  62. package/dist/index.test.d.ts +1 -0
  63. package/dist/react/index.cjs +30 -0
  64. package/dist/react/index.d.ts +7 -0
  65. package/dist/react/index.js +823 -0
  66. package/dist/react/rx.d.ts +250 -0
  67. package/dist/react/rx.test.d.ts +1 -0
  68. package/dist/react/strictModeTest.d.ts +10 -0
  69. package/dist/react/useAction.d.ts +381 -0
  70. package/dist/react/useAction.test.d.ts +1 -0
  71. package/dist/react/useStable.d.ts +183 -0
  72. package/dist/react/useStable.test.d.ts +1 -0
  73. package/dist/react/useValue.d.ts +134 -0
  74. package/dist/react/useValue.test.d.ts +1 -0
  75. package/package.json +57 -0
  76. package/scripts/publish.js +198 -0
  77. package/src/core/atom.test.ts +369 -0
  78. package/src/core/atom.ts +189 -0
  79. package/src/core/atomState.test.ts +342 -0
  80. package/src/core/atomState.ts +256 -0
  81. package/src/core/batch.test.ts +257 -0
  82. package/src/core/batch.ts +172 -0
  83. package/src/core/define.test.ts +342 -0
  84. package/src/core/define.ts +243 -0
  85. package/src/core/derived.test.ts +381 -0
  86. package/src/core/derived.ts +339 -0
  87. package/src/core/effect.test.ts +196 -0
  88. package/src/core/effect.ts +184 -0
  89. package/src/core/emitter.test.ts +364 -0
  90. package/src/core/emitter.ts +392 -0
  91. package/src/core/equality.test.ts +392 -0
  92. package/src/core/equality.ts +182 -0
  93. package/src/core/hook.test.ts +227 -0
  94. package/src/core/hook.ts +177 -0
  95. package/src/core/isAtom.ts +27 -0
  96. package/src/core/isPromiseLike.test.ts +72 -0
  97. package/src/core/isPromiseLike.ts +16 -0
  98. package/src/core/onCreateHook.ts +92 -0
  99. package/src/core/promiseCache.test.ts +239 -0
  100. package/src/core/promiseCache.ts +279 -0
  101. package/src/core/scheduleNotifyHook.ts +53 -0
  102. package/src/core/select.ts +454 -0
  103. package/src/core/selector.test.ts +257 -0
  104. package/src/core/types.ts +311 -0
  105. package/src/core/withUse.test.ts +249 -0
  106. package/src/core/withUse.ts +56 -0
  107. package/src/index.test.ts +80 -0
  108. package/src/index.ts +51 -0
  109. package/src/react/index.ts +20 -0
  110. package/src/react/rx.test.tsx +416 -0
  111. package/src/react/rx.tsx +300 -0
  112. package/src/react/strictModeTest.tsx +71 -0
  113. package/src/react/useAction.test.ts +989 -0
  114. package/src/react/useAction.ts +605 -0
  115. package/src/react/useStable.test.ts +553 -0
  116. package/src/react/useStable.ts +288 -0
  117. package/src/react/useValue.test.ts +182 -0
  118. package/src/react/useValue.ts +261 -0
  119. package/tsconfig.json +9 -0
  120. package/v2.md +725 -0
  121. package/vite.config.ts +39 -0
@@ -0,0 +1,1217 @@
1
+ var ct = Object.defineProperty;
2
+ var lt = (e, t, r) => t in e ? ct(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
3
+ var p = (e, t, r) => lt(e, typeof t != "symbol" ? t + "" : t, r);
4
+ function ft(e) {
5
+ const t = Object.assign(
6
+ (r) => () => {
7
+ const a = t.current;
8
+ return t.current = r(a), () => {
9
+ t.current = a;
10
+ };
11
+ },
12
+ {
13
+ current: e,
14
+ // Override method for direct mutation using reducer
15
+ override: (r) => {
16
+ t.current = r(t.current);
17
+ },
18
+ reset: () => {
19
+ t.current = e;
20
+ }
21
+ }
22
+ );
23
+ return t;
24
+ }
25
+ function dt(e, t) {
26
+ const r = [];
27
+ for (const a of e)
28
+ r.push(a());
29
+ try {
30
+ return t();
31
+ } finally {
32
+ for (const a of r.reverse())
33
+ a();
34
+ }
35
+ }
36
+ const U = Object.assign(ft, { use: dt }), T = U(), vt = () => {
37
+ };
38
+ class ht {
39
+ constructor(t) {
40
+ /** Set of registered listeners */
41
+ p(this, "_listeners");
42
+ /** Settled payload (if settled) */
43
+ p(this, "_settledPayload");
44
+ /** Whether the emitter has been settled */
45
+ p(this, "_isSettled", !1);
46
+ p(this, "size", () => this._listeners.size);
47
+ p(this, "settled", () => this._isSettled);
48
+ p(this, "forEach", (t) => {
49
+ this._listeners.forEach(t);
50
+ });
51
+ p(this, "on", (t, r) => {
52
+ let a;
53
+ if (r === void 0)
54
+ a = Array.isArray(t) ? t : [t];
55
+ else {
56
+ const n = t, o = Array.isArray(r) ? r : [r];
57
+ a = [
58
+ (i) => {
59
+ const c = n(i);
60
+ if (c)
61
+ for (let u = 0; u < o.length; u++)
62
+ o[u](c.value);
63
+ }
64
+ ];
65
+ }
66
+ if (this._isSettled) {
67
+ const n = this._settledPayload;
68
+ for (let o = 0; o < a.length; o++)
69
+ a[o](n);
70
+ return vt;
71
+ }
72
+ const s = this._listeners;
73
+ for (let n = 0; n < a.length; n++)
74
+ s.add(a[n]);
75
+ return () => {
76
+ for (let n = 0; n < a.length; n++)
77
+ s.delete(a[n]);
78
+ };
79
+ });
80
+ p(this, "emit", (t) => {
81
+ this._isSettled || this._doEmit(t, !1, !1);
82
+ });
83
+ p(this, "emitLifo", (t) => {
84
+ this._isSettled || this._doEmit(t, !1, !0);
85
+ });
86
+ p(this, "clear", () => {
87
+ this._listeners.clear();
88
+ });
89
+ p(this, "emitAndClear", (t) => {
90
+ this._isSettled || this._doEmit(t, !0, !1);
91
+ });
92
+ p(this, "emitAndClearLifo", (t) => {
93
+ this._isSettled || this._doEmit(t, !0, !0);
94
+ });
95
+ p(this, "settle", (t) => {
96
+ this._isSettled || (this._settledPayload = t, this._isSettled = !0, this._doEmit(t, !0, !1));
97
+ });
98
+ /**
99
+ * Internal emit implementation.
100
+ * Creates snapshot to handle modifications during iteration.
101
+ */
102
+ p(this, "_doEmit", (t, r, a) => {
103
+ const s = this._listeners, n = s.size;
104
+ if (n === 0) return;
105
+ const o = Array.from(s);
106
+ if (r && s.clear(), a)
107
+ for (let i = n - 1; i >= 0; i--)
108
+ o[i](t);
109
+ else
110
+ for (let i = 0; i < n; i++)
111
+ o[i](t);
112
+ });
113
+ this._listeners = new Set(t);
114
+ }
115
+ }
116
+ function K(e) {
117
+ return new ht(e);
118
+ }
119
+ var z = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
120
+ function gt(e) {
121
+ return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
122
+ }
123
+ function pt() {
124
+ this.__data__ = [], this.size = 0;
125
+ }
126
+ var yt = pt;
127
+ function _t(e, t) {
128
+ return e === t || e !== e && t !== t;
129
+ }
130
+ var ke = _t, bt = ke;
131
+ function $t(e, t) {
132
+ for (var r = e.length; r--; )
133
+ if (bt(e[r][0], t))
134
+ return r;
135
+ return -1;
136
+ }
137
+ var Z = $t, mt = Z, At = Array.prototype, wt = At.splice;
138
+ function Tt(e) {
139
+ var t = this.__data__, r = mt(t, e);
140
+ if (r < 0)
141
+ return !1;
142
+ var a = t.length - 1;
143
+ return r == a ? t.pop() : wt.call(t, r, 1), --this.size, !0;
144
+ }
145
+ var jt = Tt, St = Z;
146
+ function Ot(e) {
147
+ var t = this.__data__, r = St(t, e);
148
+ return r < 0 ? void 0 : t[r][1];
149
+ }
150
+ var Et = Ot, Ct = Z;
151
+ function Pt(e) {
152
+ return Ct(this.__data__, e) > -1;
153
+ }
154
+ var Dt = Pt, It = Z;
155
+ function Lt(e, t) {
156
+ var r = this.__data__, a = It(r, e);
157
+ return a < 0 ? (++this.size, r.push([e, t])) : r[a][1] = t, this;
158
+ }
159
+ var xt = Lt, Mt = yt, Gt = jt, Ft = Et, Rt = Dt, qt = xt;
160
+ function D(e) {
161
+ var t = -1, r = e == null ? 0 : e.length;
162
+ for (this.clear(); ++t < r; ) {
163
+ var a = e[t];
164
+ this.set(a[0], a[1]);
165
+ }
166
+ }
167
+ D.prototype.clear = Mt;
168
+ D.prototype.delete = Gt;
169
+ D.prototype.get = Ft;
170
+ D.prototype.has = Rt;
171
+ D.prototype.set = qt;
172
+ var Q = D, Nt = Q;
173
+ function zt() {
174
+ this.__data__ = new Nt(), this.size = 0;
175
+ }
176
+ var Ht = zt;
177
+ function Bt(e) {
178
+ var t = this.__data__, r = t.delete(e);
179
+ return this.size = t.size, r;
180
+ }
181
+ var Ut = Bt;
182
+ function Kt(e) {
183
+ return this.__data__.get(e);
184
+ }
185
+ var kt = Kt;
186
+ function Vt(e) {
187
+ return this.__data__.has(e);
188
+ }
189
+ var Wt = Vt, Jt = typeof z == "object" && z && z.Object === Object && z, Ve = Jt, Yt = Ve, Xt = typeof self == "object" && self && self.Object === Object && self, Zt = Yt || Xt || Function("return this")(), S = Zt, Qt = S, er = Qt.Symbol, ve = er, _e = ve, We = Object.prototype, tr = We.hasOwnProperty, rr = We.toString, q = _e ? _e.toStringTag : void 0;
190
+ function ar(e) {
191
+ var t = tr.call(e, q), r = e[q];
192
+ try {
193
+ e[q] = void 0;
194
+ var a = !0;
195
+ } catch {
196
+ }
197
+ var s = rr.call(e);
198
+ return a && (t ? e[q] = r : delete e[q]), s;
199
+ }
200
+ var nr = ar, sr = Object.prototype, ir = sr.toString;
201
+ function or(e) {
202
+ return ir.call(e);
203
+ }
204
+ var ur = or, be = ve, cr = nr, lr = ur, fr = "[object Null]", dr = "[object Undefined]", $e = be ? be.toStringTag : void 0;
205
+ function vr(e) {
206
+ return e == null ? e === void 0 ? dr : fr : $e && $e in Object(e) ? cr(e) : lr(e);
207
+ }
208
+ var ee = vr;
209
+ function hr(e) {
210
+ var t = typeof e;
211
+ return e != null && (t == "object" || t == "function");
212
+ }
213
+ var Je = hr, gr = ee, pr = Je, yr = "[object AsyncFunction]", _r = "[object Function]", br = "[object GeneratorFunction]", $r = "[object Proxy]";
214
+ function mr(e) {
215
+ if (!pr(e))
216
+ return !1;
217
+ var t = gr(e);
218
+ return t == _r || t == br || t == yr || t == $r;
219
+ }
220
+ var Ye = mr, Ar = S, wr = Ar["__core-js_shared__"], Tr = wr, ne = Tr, me = function() {
221
+ var e = /[^.]+$/.exec(ne && ne.keys && ne.keys.IE_PROTO || "");
222
+ return e ? "Symbol(src)_1." + e : "";
223
+ }();
224
+ function jr(e) {
225
+ return !!me && me in e;
226
+ }
227
+ var Sr = jr, Or = Function.prototype, Er = Or.toString;
228
+ function Cr(e) {
229
+ if (e != null) {
230
+ try {
231
+ return Er.call(e);
232
+ } catch {
233
+ }
234
+ try {
235
+ return e + "";
236
+ } catch {
237
+ }
238
+ }
239
+ return "";
240
+ }
241
+ var Xe = Cr, Pr = Ye, Dr = Sr, Ir = Je, Lr = Xe, xr = /[\\^$.*+?()[\]{}|]/g, Mr = /^\[object .+?Constructor\]$/, Gr = Function.prototype, Fr = Object.prototype, Rr = Gr.toString, qr = Fr.hasOwnProperty, Nr = RegExp(
242
+ "^" + Rr.call(qr).replace(xr, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
243
+ );
244
+ function zr(e) {
245
+ if (!Ir(e) || Dr(e))
246
+ return !1;
247
+ var t = Pr(e) ? Nr : Mr;
248
+ return t.test(Lr(e));
249
+ }
250
+ var Hr = zr;
251
+ function Br(e, t) {
252
+ return e == null ? void 0 : e[t];
253
+ }
254
+ var Ur = Br, Kr = Hr, kr = Ur;
255
+ function Vr(e, t) {
256
+ var r = kr(e, t);
257
+ return Kr(r) ? r : void 0;
258
+ }
259
+ var I = Vr, Wr = I, Jr = S, Yr = Wr(Jr, "Map"), he = Yr, Xr = I, Zr = Xr(Object, "create"), te = Zr, Ae = te;
260
+ function Qr() {
261
+ this.__data__ = Ae ? Ae(null) : {}, this.size = 0;
262
+ }
263
+ var ea = Qr;
264
+ function ta(e) {
265
+ var t = this.has(e) && delete this.__data__[e];
266
+ return this.size -= t ? 1 : 0, t;
267
+ }
268
+ var ra = ta, aa = te, na = "__lodash_hash_undefined__", sa = Object.prototype, ia = sa.hasOwnProperty;
269
+ function oa(e) {
270
+ var t = this.__data__;
271
+ if (aa) {
272
+ var r = t[e];
273
+ return r === na ? void 0 : r;
274
+ }
275
+ return ia.call(t, e) ? t[e] : void 0;
276
+ }
277
+ var ua = oa, ca = te, la = Object.prototype, fa = la.hasOwnProperty;
278
+ function da(e) {
279
+ var t = this.__data__;
280
+ return ca ? t[e] !== void 0 : fa.call(t, e);
281
+ }
282
+ var va = da, ha = te, ga = "__lodash_hash_undefined__";
283
+ function pa(e, t) {
284
+ var r = this.__data__;
285
+ return this.size += this.has(e) ? 0 : 1, r[e] = ha && t === void 0 ? ga : t, this;
286
+ }
287
+ var ya = pa, _a = ea, ba = ra, $a = ua, ma = va, Aa = ya;
288
+ function L(e) {
289
+ var t = -1, r = e == null ? 0 : e.length;
290
+ for (this.clear(); ++t < r; ) {
291
+ var a = e[t];
292
+ this.set(a[0], a[1]);
293
+ }
294
+ }
295
+ L.prototype.clear = _a;
296
+ L.prototype.delete = ba;
297
+ L.prototype.get = $a;
298
+ L.prototype.has = ma;
299
+ L.prototype.set = Aa;
300
+ var wa = L, we = wa, Ta = Q, ja = he;
301
+ function Sa() {
302
+ this.size = 0, this.__data__ = {
303
+ hash: new we(),
304
+ map: new (ja || Ta)(),
305
+ string: new we()
306
+ };
307
+ }
308
+ var Oa = Sa;
309
+ function Ea(e) {
310
+ var t = typeof e;
311
+ return t == "string" || t == "number" || t == "symbol" || t == "boolean" ? e !== "__proto__" : e === null;
312
+ }
313
+ var Ca = Ea, Pa = Ca;
314
+ function Da(e, t) {
315
+ var r = e.__data__;
316
+ return Pa(t) ? r[typeof t == "string" ? "string" : "hash"] : r.map;
317
+ }
318
+ var re = Da, Ia = re;
319
+ function La(e) {
320
+ var t = Ia(this, e).delete(e);
321
+ return this.size -= t ? 1 : 0, t;
322
+ }
323
+ var xa = La, Ma = re;
324
+ function Ga(e) {
325
+ return Ma(this, e).get(e);
326
+ }
327
+ var Fa = Ga, Ra = re;
328
+ function qa(e) {
329
+ return Ra(this, e).has(e);
330
+ }
331
+ var Na = qa, za = re;
332
+ function Ha(e, t) {
333
+ var r = za(this, e), a = r.size;
334
+ return r.set(e, t), this.size += r.size == a ? 0 : 1, this;
335
+ }
336
+ var Ba = Ha, Ua = Oa, Ka = xa, ka = Fa, Va = Na, Wa = Ba;
337
+ function x(e) {
338
+ var t = -1, r = e == null ? 0 : e.length;
339
+ for (this.clear(); ++t < r; ) {
340
+ var a = e[t];
341
+ this.set(a[0], a[1]);
342
+ }
343
+ }
344
+ x.prototype.clear = Ua;
345
+ x.prototype.delete = Ka;
346
+ x.prototype.get = ka;
347
+ x.prototype.has = Va;
348
+ x.prototype.set = Wa;
349
+ var Ze = x, Ja = Q, Ya = he, Xa = Ze, Za = 200;
350
+ function Qa(e, t) {
351
+ var r = this.__data__;
352
+ if (r instanceof Ja) {
353
+ var a = r.__data__;
354
+ if (!Ya || a.length < Za - 1)
355
+ return a.push([e, t]), this.size = ++r.size, this;
356
+ r = this.__data__ = new Xa(a);
357
+ }
358
+ return r.set(e, t), this.size = r.size, this;
359
+ }
360
+ var en = Qa, tn = Q, rn = Ht, an = Ut, nn = kt, sn = Wt, on = en;
361
+ function M(e) {
362
+ var t = this.__data__ = new tn(e);
363
+ this.size = t.size;
364
+ }
365
+ M.prototype.clear = rn;
366
+ M.prototype.delete = an;
367
+ M.prototype.get = nn;
368
+ M.prototype.has = sn;
369
+ M.prototype.set = on;
370
+ var un = M, cn = "__lodash_hash_undefined__";
371
+ function ln(e) {
372
+ return this.__data__.set(e, cn), this;
373
+ }
374
+ var fn = ln;
375
+ function dn(e) {
376
+ return this.__data__.has(e);
377
+ }
378
+ var vn = dn, hn = Ze, gn = fn, pn = vn;
379
+ function k(e) {
380
+ var t = -1, r = e == null ? 0 : e.length;
381
+ for (this.__data__ = new hn(); ++t < r; )
382
+ this.add(e[t]);
383
+ }
384
+ k.prototype.add = k.prototype.push = gn;
385
+ k.prototype.has = pn;
386
+ var yn = k;
387
+ function _n(e, t) {
388
+ for (var r = -1, a = e == null ? 0 : e.length; ++r < a; )
389
+ if (t(e[r], r, e))
390
+ return !0;
391
+ return !1;
392
+ }
393
+ var bn = _n;
394
+ function $n(e, t) {
395
+ return e.has(t);
396
+ }
397
+ var mn = $n, An = yn, wn = bn, Tn = mn, jn = 1, Sn = 2;
398
+ function On(e, t, r, a, s, n) {
399
+ var o = r & jn, i = e.length, c = t.length;
400
+ if (i != c && !(o && c > i))
401
+ return !1;
402
+ var u = n.get(e), f = n.get(t);
403
+ if (u && f)
404
+ return u == t && f == e;
405
+ var d = -1, l = !0, y = r & Sn ? new An() : void 0;
406
+ for (n.set(e, t), n.set(t, e); ++d < i; ) {
407
+ var v = e[d], g = t[d];
408
+ if (a)
409
+ var b = o ? a(g, v, d, t, e, n) : a(v, g, d, e, t, n);
410
+ if (b !== void 0) {
411
+ if (b)
412
+ continue;
413
+ l = !1;
414
+ break;
415
+ }
416
+ if (y) {
417
+ if (!wn(t, function(A, w) {
418
+ if (!Tn(y, w) && (v === A || s(v, A, r, a, n)))
419
+ return y.push(w);
420
+ })) {
421
+ l = !1;
422
+ break;
423
+ }
424
+ } else if (!(v === g || s(v, g, r, a, n))) {
425
+ l = !1;
426
+ break;
427
+ }
428
+ }
429
+ return n.delete(e), n.delete(t), l;
430
+ }
431
+ var Qe = On, En = S, Cn = En.Uint8Array, Pn = Cn;
432
+ function Dn(e) {
433
+ var t = -1, r = Array(e.size);
434
+ return e.forEach(function(a, s) {
435
+ r[++t] = [s, a];
436
+ }), r;
437
+ }
438
+ var In = Dn;
439
+ function Ln(e) {
440
+ var t = -1, r = Array(e.size);
441
+ return e.forEach(function(a) {
442
+ r[++t] = a;
443
+ }), r;
444
+ }
445
+ var xn = Ln, Te = ve, je = Pn, Mn = ke, Gn = Qe, Fn = In, Rn = xn, qn = 1, Nn = 2, zn = "[object Boolean]", Hn = "[object Date]", Bn = "[object Error]", Un = "[object Map]", Kn = "[object Number]", kn = "[object RegExp]", Vn = "[object Set]", Wn = "[object String]", Jn = "[object Symbol]", Yn = "[object ArrayBuffer]", Xn = "[object DataView]", Se = Te ? Te.prototype : void 0, se = Se ? Se.valueOf : void 0;
446
+ function Zn(e, t, r, a, s, n, o) {
447
+ switch (r) {
448
+ case Xn:
449
+ if (e.byteLength != t.byteLength || e.byteOffset != t.byteOffset)
450
+ return !1;
451
+ e = e.buffer, t = t.buffer;
452
+ case Yn:
453
+ return !(e.byteLength != t.byteLength || !n(new je(e), new je(t)));
454
+ case zn:
455
+ case Hn:
456
+ case Kn:
457
+ return Mn(+e, +t);
458
+ case Bn:
459
+ return e.name == t.name && e.message == t.message;
460
+ case kn:
461
+ case Wn:
462
+ return e == t + "";
463
+ case Un:
464
+ var i = Fn;
465
+ case Vn:
466
+ var c = a & qn;
467
+ if (i || (i = Rn), e.size != t.size && !c)
468
+ return !1;
469
+ var u = o.get(e);
470
+ if (u)
471
+ return u == t;
472
+ a |= Nn, o.set(e, t);
473
+ var f = Gn(i(e), i(t), a, s, n, o);
474
+ return o.delete(e), f;
475
+ case Jn:
476
+ if (se)
477
+ return se.call(e) == se.call(t);
478
+ }
479
+ return !1;
480
+ }
481
+ var Qn = Zn;
482
+ function es(e, t) {
483
+ for (var r = -1, a = t.length, s = e.length; ++r < a; )
484
+ e[s + r] = t[r];
485
+ return e;
486
+ }
487
+ var ts = es, rs = Array.isArray, ge = rs, as = ts, ns = ge;
488
+ function ss(e, t, r) {
489
+ var a = t(e);
490
+ return ns(e) ? a : as(a, r(e));
491
+ }
492
+ var is = ss;
493
+ function os(e, t) {
494
+ for (var r = -1, a = e == null ? 0 : e.length, s = 0, n = []; ++r < a; ) {
495
+ var o = e[r];
496
+ t(o, r, e) && (n[s++] = o);
497
+ }
498
+ return n;
499
+ }
500
+ var us = os;
501
+ function cs() {
502
+ return [];
503
+ }
504
+ var ls = cs, fs = us, ds = ls, vs = Object.prototype, hs = vs.propertyIsEnumerable, Oe = Object.getOwnPropertySymbols, gs = Oe ? function(e) {
505
+ return e == null ? [] : (e = Object(e), fs(Oe(e), function(t) {
506
+ return hs.call(e, t);
507
+ }));
508
+ } : ds, ps = gs;
509
+ function ys(e, t) {
510
+ for (var r = -1, a = Array(e); ++r < e; )
511
+ a[r] = t(r);
512
+ return a;
513
+ }
514
+ var _s = ys;
515
+ function bs(e) {
516
+ return e != null && typeof e == "object";
517
+ }
518
+ var ae = bs, $s = ee, ms = ae, As = "[object Arguments]";
519
+ function ws(e) {
520
+ return ms(e) && $s(e) == As;
521
+ }
522
+ var Ts = ws, Ee = Ts, js = ae, et = Object.prototype, Ss = et.hasOwnProperty, Os = et.propertyIsEnumerable, Es = Ee(/* @__PURE__ */ function() {
523
+ return arguments;
524
+ }()) ? Ee : function(e) {
525
+ return js(e) && Ss.call(e, "callee") && !Os.call(e, "callee");
526
+ }, Cs = Es, V = { exports: {} };
527
+ function Ps() {
528
+ return !1;
529
+ }
530
+ var Ds = Ps;
531
+ V.exports;
532
+ (function(e, t) {
533
+ var r = S, a = Ds, s = t && !t.nodeType && t, n = s && !0 && e && !e.nodeType && e, o = n && n.exports === s, i = o ? r.Buffer : void 0, c = i ? i.isBuffer : void 0, u = c || a;
534
+ e.exports = u;
535
+ })(V, V.exports);
536
+ var tt = V.exports, Is = 9007199254740991, Ls = /^(?:0|[1-9]\d*)$/;
537
+ function xs(e, t) {
538
+ var r = typeof e;
539
+ return t = t ?? Is, !!t && (r == "number" || r != "symbol" && Ls.test(e)) && e > -1 && e % 1 == 0 && e < t;
540
+ }
541
+ var Ms = xs, Gs = 9007199254740991;
542
+ function Fs(e) {
543
+ return typeof e == "number" && e > -1 && e % 1 == 0 && e <= Gs;
544
+ }
545
+ var rt = Fs, Rs = ee, qs = rt, Ns = ae, zs = "[object Arguments]", Hs = "[object Array]", Bs = "[object Boolean]", Us = "[object Date]", Ks = "[object Error]", ks = "[object Function]", Vs = "[object Map]", Ws = "[object Number]", Js = "[object Object]", Ys = "[object RegExp]", Xs = "[object Set]", Zs = "[object String]", Qs = "[object WeakMap]", ei = "[object ArrayBuffer]", ti = "[object DataView]", ri = "[object Float32Array]", ai = "[object Float64Array]", ni = "[object Int8Array]", si = "[object Int16Array]", ii = "[object Int32Array]", oi = "[object Uint8Array]", ui = "[object Uint8ClampedArray]", ci = "[object Uint16Array]", li = "[object Uint32Array]", h = {};
546
+ h[ri] = h[ai] = h[ni] = h[si] = h[ii] = h[oi] = h[ui] = h[ci] = h[li] = !0;
547
+ h[zs] = h[Hs] = h[ei] = h[Bs] = h[ti] = h[Us] = h[Ks] = h[ks] = h[Vs] = h[Ws] = h[Js] = h[Ys] = h[Xs] = h[Zs] = h[Qs] = !1;
548
+ function fi(e) {
549
+ return Ns(e) && qs(e.length) && !!h[Rs(e)];
550
+ }
551
+ var di = fi;
552
+ function vi(e) {
553
+ return function(t) {
554
+ return e(t);
555
+ };
556
+ }
557
+ var hi = vi, W = { exports: {} };
558
+ W.exports;
559
+ (function(e, t) {
560
+ var r = Ve, a = t && !t.nodeType && t, s = a && !0 && e && !e.nodeType && e, n = s && s.exports === a, o = n && r.process, i = function() {
561
+ try {
562
+ var c = s && s.require && s.require("util").types;
563
+ return c || o && o.binding && o.binding("util");
564
+ } catch {
565
+ }
566
+ }();
567
+ e.exports = i;
568
+ })(W, W.exports);
569
+ var gi = W.exports, pi = di, yi = hi, Ce = gi, Pe = Ce && Ce.isTypedArray, _i = Pe ? yi(Pe) : pi, at = _i, bi = _s, $i = Cs, mi = ge, Ai = tt, wi = Ms, Ti = at, ji = Object.prototype, Si = ji.hasOwnProperty;
570
+ function Oi(e, t) {
571
+ var r = mi(e), a = !r && $i(e), s = !r && !a && Ai(e), n = !r && !a && !s && Ti(e), o = r || a || s || n, i = o ? bi(e.length, String) : [], c = i.length;
572
+ for (var u in e)
573
+ (t || Si.call(e, u)) && !(o && // Safari 9 has enumerable `arguments.length` in strict mode.
574
+ (u == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
575
+ s && (u == "offset" || u == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
576
+ n && (u == "buffer" || u == "byteLength" || u == "byteOffset") || // Skip index properties.
577
+ wi(u, c))) && i.push(u);
578
+ return i;
579
+ }
580
+ var Ei = Oi, Ci = Object.prototype;
581
+ function Pi(e) {
582
+ var t = e && e.constructor, r = typeof t == "function" && t.prototype || Ci;
583
+ return e === r;
584
+ }
585
+ var Di = Pi;
586
+ function Ii(e, t) {
587
+ return function(r) {
588
+ return e(t(r));
589
+ };
590
+ }
591
+ var Li = Ii, xi = Li, Mi = xi(Object.keys, Object), Gi = Mi, Fi = Di, Ri = Gi, qi = Object.prototype, Ni = qi.hasOwnProperty;
592
+ function zi(e) {
593
+ if (!Fi(e))
594
+ return Ri(e);
595
+ var t = [];
596
+ for (var r in Object(e))
597
+ Ni.call(e, r) && r != "constructor" && t.push(r);
598
+ return t;
599
+ }
600
+ var Hi = zi, Bi = Ye, Ui = rt;
601
+ function Ki(e) {
602
+ return e != null && Ui(e.length) && !Bi(e);
603
+ }
604
+ var ki = Ki, Vi = Ei, Wi = Hi, Ji = ki;
605
+ function Yi(e) {
606
+ return Ji(e) ? Vi(e) : Wi(e);
607
+ }
608
+ var Xi = Yi, Zi = is, Qi = ps, eo = Xi;
609
+ function to(e) {
610
+ return Zi(e, eo, Qi);
611
+ }
612
+ var ro = to, De = ro, ao = 1, no = Object.prototype, so = no.hasOwnProperty;
613
+ function io(e, t, r, a, s, n) {
614
+ var o = r & ao, i = De(e), c = i.length, u = De(t), f = u.length;
615
+ if (c != f && !o)
616
+ return !1;
617
+ for (var d = c; d--; ) {
618
+ var l = i[d];
619
+ if (!(o ? l in t : so.call(t, l)))
620
+ return !1;
621
+ }
622
+ var y = n.get(e), v = n.get(t);
623
+ if (y && v)
624
+ return y == t && v == e;
625
+ var g = !0;
626
+ n.set(e, t), n.set(t, e);
627
+ for (var b = o; ++d < c; ) {
628
+ l = i[d];
629
+ var A = e[l], w = t[l];
630
+ if (a)
631
+ var F = o ? a(w, A, l, t, e, n) : a(A, w, l, e, t, n);
632
+ if (!(F === void 0 ? A === w || s(A, w, r, a, n) : F)) {
633
+ g = !1;
634
+ break;
635
+ }
636
+ b || (b = l == "constructor");
637
+ }
638
+ if (g && !b) {
639
+ var _ = e.constructor, $ = t.constructor;
640
+ _ != $ && "constructor" in e && "constructor" in t && !(typeof _ == "function" && _ instanceof _ && typeof $ == "function" && $ instanceof $) && (g = !1);
641
+ }
642
+ return n.delete(e), n.delete(t), g;
643
+ }
644
+ var oo = io, uo = I, co = S, lo = uo(co, "DataView"), fo = lo, vo = I, ho = S, go = vo(ho, "Promise"), po = go, yo = I, _o = S, bo = yo(_o, "Set"), $o = bo, mo = I, Ao = S, wo = mo(Ao, "WeakMap"), To = wo, ue = fo, ce = he, le = po, fe = $o, de = To, nt = ee, G = Xe, Ie = "[object Map]", jo = "[object Object]", Le = "[object Promise]", xe = "[object Set]", Me = "[object WeakMap]", Ge = "[object DataView]", So = G(ue), Oo = G(ce), Eo = G(le), Co = G(fe), Po = G(de), E = nt;
645
+ (ue && E(new ue(new ArrayBuffer(1))) != Ge || ce && E(new ce()) != Ie || le && E(le.resolve()) != Le || fe && E(new fe()) != xe || de && E(new de()) != Me) && (E = function(e) {
646
+ var t = nt(e), r = t == jo ? e.constructor : void 0, a = r ? G(r) : "";
647
+ if (a)
648
+ switch (a) {
649
+ case So:
650
+ return Ge;
651
+ case Oo:
652
+ return Ie;
653
+ case Eo:
654
+ return Le;
655
+ case Co:
656
+ return xe;
657
+ case Po:
658
+ return Me;
659
+ }
660
+ return t;
661
+ });
662
+ var Do = E, ie = un, Io = Qe, Lo = Qn, xo = oo, Fe = Do, Re = ge, qe = tt, Mo = at, Go = 1, Ne = "[object Arguments]", ze = "[object Array]", H = "[object Object]", Fo = Object.prototype, He = Fo.hasOwnProperty;
663
+ function Ro(e, t, r, a, s, n) {
664
+ var o = Re(e), i = Re(t), c = o ? ze : Fe(e), u = i ? ze : Fe(t);
665
+ c = c == Ne ? H : c, u = u == Ne ? H : u;
666
+ var f = c == H, d = u == H, l = c == u;
667
+ if (l && qe(e)) {
668
+ if (!qe(t))
669
+ return !1;
670
+ o = !0, f = !1;
671
+ }
672
+ if (l && !f)
673
+ return n || (n = new ie()), o || Mo(e) ? Io(e, t, r, a, s, n) : Lo(e, t, c, r, a, s, n);
674
+ if (!(r & Go)) {
675
+ var y = f && He.call(e, "__wrapped__"), v = d && He.call(t, "__wrapped__");
676
+ if (y || v) {
677
+ var g = y ? e.value() : e, b = v ? t.value() : t;
678
+ return n || (n = new ie()), s(g, b, r, a, n);
679
+ }
680
+ }
681
+ return l ? (n || (n = new ie()), xo(e, t, r, a, s, n)) : !1;
682
+ }
683
+ var qo = Ro, No = qo, Be = ae;
684
+ function st(e, t, r, a, s) {
685
+ return e === t ? !0 : e == null || t == null || !Be(e) && !Be(t) ? e !== e && t !== t : No(e, t, r, a, st, s);
686
+ }
687
+ var zo = st, Ho = zo;
688
+ function Bo(e, t) {
689
+ return Ho(e, t);
690
+ }
691
+ var Uo = Bo;
692
+ const Ko = /* @__PURE__ */ gt(Uo);
693
+ function ko(e, t) {
694
+ return Object.is(e, t);
695
+ }
696
+ function J(e, t, r = Object.is) {
697
+ if (Object.is(e, t)) return !0;
698
+ if (typeof e != "object" || e === null || typeof t != "object" || t === null) return !1;
699
+ const a = Object.keys(e), s = Object.keys(t);
700
+ if (a.length !== s.length) return !1;
701
+ for (const n of a)
702
+ if (!Object.prototype.hasOwnProperty.call(t, n) || !r(e[n], t[n])) return !1;
703
+ return !0;
704
+ }
705
+ function it(e, t) {
706
+ return J(e, t, J);
707
+ }
708
+ function Vo(e, t) {
709
+ return J(e, t, it);
710
+ }
711
+ const Wo = Ko;
712
+ function ot(e) {
713
+ return !e || e === "strict" ? ko : e === "shallow" ? J : e === "shallow2" ? it : e === "shallow3" ? Vo : e === "deep" ? Wo : e;
714
+ }
715
+ function Ue(e) {
716
+ const t = e;
717
+ let r = e;
718
+ return Object.assign(
719
+ (...a) => r(...a),
720
+ {
721
+ getOriginal: () => t,
722
+ getCurrent: () => r,
723
+ setCurrent(a) {
724
+ r = a;
725
+ }
726
+ }
727
+ );
728
+ }
729
+ function Jo(e) {
730
+ return typeof e == "function" && "getOriginal" in e && "getCurrent" in e && "setCurrent" in e;
731
+ }
732
+ function ru(e, t, r) {
733
+ return e ? typeof t == "function" ? Jo(e.value) ? (e.value.setCurrent(t), [e.value, !0]) : [Ue(t), !1] : t && t instanceof Date ? e.value && e.value instanceof Date && t.getTime() === e.value.getTime() ? [e.value, !0] : [t, !1] : r(e.value, t) ? [e.value, !0] : [t, !1] : typeof t == "function" ? [Ue(t), !1] : [t, !1];
734
+ }
735
+ const Y = U((e) => e()), X = Symbol.for("atomirx.atom"), N = Symbol.for("atomirx.derived");
736
+ function ut(e) {
737
+ return Object.assign(e, {
738
+ use(t) {
739
+ const r = t(e);
740
+ return r ? typeof r == "object" || typeof r == "function" ? "use" in r ? r : ut(r) : r : e;
741
+ }
742
+ });
743
+ }
744
+ function m(e) {
745
+ return e !== null && typeof e == "object" && "then" in e && typeof e.then == "function";
746
+ }
747
+ const P = /* @__PURE__ */ new WeakMap();
748
+ function j(e) {
749
+ const t = P.get(e);
750
+ if (t)
751
+ return t;
752
+ const r = { status: "pending", promise: e };
753
+ return P.set(e, r), e.then(
754
+ (a) => {
755
+ const s = P.get(e);
756
+ (s == null ? void 0 : s.status) === "pending" && P.set(e, { status: "fulfilled", value: a });
757
+ },
758
+ (a) => {
759
+ const s = P.get(e);
760
+ (s == null ? void 0 : s.status) === "pending" && P.set(e, { status: "rejected", error: a });
761
+ }
762
+ ), r;
763
+ }
764
+ function Yo(e) {
765
+ return e !== null && typeof e == "object" && N in e && e[N] === !0;
766
+ }
767
+ function oe(e) {
768
+ if (Yo(e))
769
+ return e.state();
770
+ const t = e.value;
771
+ if (!m(t))
772
+ return {
773
+ status: "ready",
774
+ value: t
775
+ };
776
+ const r = j(t);
777
+ switch (r.status) {
778
+ case "fulfilled":
779
+ return {
780
+ status: "ready",
781
+ value: r.value
782
+ };
783
+ case "rejected":
784
+ return {
785
+ status: "error",
786
+ error: r.error
787
+ };
788
+ case "pending":
789
+ return {
790
+ status: "loading",
791
+ promise: r.promise
792
+ };
793
+ }
794
+ }
795
+ function au(e) {
796
+ if (!m(e))
797
+ return e;
798
+ const r = j(e);
799
+ switch (r.status) {
800
+ case "pending":
801
+ throw r.promise;
802
+ case "rejected":
803
+ throw r.error;
804
+ case "fulfilled":
805
+ return r.value;
806
+ }
807
+ }
808
+ function nu(e) {
809
+ return m(e) ? j(e).status === "pending" : !1;
810
+ }
811
+ function su(e) {
812
+ return m(e) ? j(e).status === "fulfilled" : !1;
813
+ }
814
+ function iu(e) {
815
+ return m(e) ? j(e).status === "rejected" : !1;
816
+ }
817
+ function ou(e, t = {}) {
818
+ var l, y;
819
+ const r = K(), a = ot(t.equals);
820
+ let n = typeof e == "function" ? e() : e, o = !1;
821
+ m(n) && j(n);
822
+ const i = () => {
823
+ r.forEach((v) => {
824
+ Y.current(v);
825
+ });
826
+ }, c = (v) => {
827
+ let g;
828
+ typeof v == "function" ? g = v(n) : g = v, !a(g, n) && (n = g, o = !0, m(n) && j(n), i());
829
+ }, u = () => {
830
+ const v = typeof e == "function" ? e() : e;
831
+ m(v) && j(v);
832
+ const g = !a(v, n);
833
+ n = v, o = !1, g && i();
834
+ }, f = () => o, d = ut({
835
+ [X]: !0,
836
+ meta: t.meta,
837
+ /**
838
+ * Current value (raw, including Promises).
839
+ */
840
+ get value() {
841
+ return n;
842
+ },
843
+ set: c,
844
+ reset: u,
845
+ dirty: f,
846
+ /**
847
+ * Subscribe to value changes.
848
+ */
849
+ on: r.on
850
+ });
851
+ return (y = T.current) == null || y.call(T, {
852
+ type: "mutable",
853
+ key: (l = t.meta) == null ? void 0 : l.key,
854
+ meta: t.meta,
855
+ atom: d
856
+ }), d;
857
+ }
858
+ let B = 0;
859
+ function Xo(e) {
860
+ if (B++, B === 1) {
861
+ let t = /* @__PURE__ */ new Set();
862
+ const r = (a) => {
863
+ t.add(a);
864
+ };
865
+ try {
866
+ return U.use([Y(() => r)], e);
867
+ } finally {
868
+ B--, U.use([Y(() => r)], () => {
869
+ for (; t.size > 0; ) {
870
+ const a = t;
871
+ t = /* @__PURE__ */ new Set();
872
+ for (const s of a)
873
+ s();
874
+ }
875
+ });
876
+ }
877
+ }
878
+ try {
879
+ return e();
880
+ } finally {
881
+ B--;
882
+ }
883
+ }
884
+ function uu(e, t) {
885
+ let r, a;
886
+ const s = (i) => {
887
+ i && typeof i == "object" && "dispose" in i && typeof i.dispose == "function" && i.dispose();
888
+ }, n = () => {
889
+ s(r), r = void 0;
890
+ };
891
+ return Object.assign(() => {
892
+ var i;
893
+ return r || (a ? r = a(e) : r = e(), (i = T.current) == null || i.call(T, {
894
+ type: "module",
895
+ key: t == null ? void 0 : t.key,
896
+ meta: t == null ? void 0 : t.meta,
897
+ module: r
898
+ })), r;
899
+ }, {
900
+ key: t == null ? void 0 : t.key,
901
+ override: (i) => {
902
+ if (r !== void 0)
903
+ throw new Error(
904
+ "Cannot override after initialization. Call override() before accessing the service."
905
+ );
906
+ a = i;
907
+ },
908
+ reset: () => {
909
+ a = void 0, n();
910
+ },
911
+ invalidate: () => {
912
+ a = void 0, n();
913
+ },
914
+ isOverridden: () => a !== void 0,
915
+ isInitialized: () => r !== void 0
916
+ });
917
+ }
918
+ const Zo = typeof AggregateError < "u" ? AggregateError : class extends Error {
919
+ constructor(r, a) {
920
+ super(a);
921
+ p(this, "errors");
922
+ this.name = "AggregateError", this.errors = r;
923
+ }
924
+ };
925
+ class lu extends Error {
926
+ constructor(r, a = "All atoms rejected") {
927
+ super(a);
928
+ p(this, "errors");
929
+ this.name = "AllAtomsRejectedError", this.errors = r;
930
+ }
931
+ }
932
+ function Qo(e) {
933
+ const t = /* @__PURE__ */ new Set(), i = { get: (c) => {
934
+ t.add(c);
935
+ const u = oe(c);
936
+ switch (u.status) {
937
+ case "ready":
938
+ return u.value;
939
+ case "error":
940
+ throw u.error;
941
+ case "loading":
942
+ throw u.promise;
943
+ }
944
+ }, all: (...c) => {
945
+ const u = [];
946
+ let f = null;
947
+ for (const d of c) {
948
+ t.add(d);
949
+ const l = oe(d);
950
+ switch (l.status) {
951
+ case "ready":
952
+ u.push(l.value);
953
+ break;
954
+ case "error":
955
+ throw l.error;
956
+ case "loading":
957
+ f || (f = l.promise);
958
+ break;
959
+ }
960
+ }
961
+ if (f)
962
+ throw f;
963
+ return u;
964
+ }, any: (...c) => {
965
+ const u = [];
966
+ let f = null;
967
+ for (const d of c) {
968
+ t.add(d);
969
+ const l = Ke(d);
970
+ switch (l.status) {
971
+ case "ready":
972
+ return l.value;
973
+ case "error":
974
+ u.push(l.error);
975
+ break;
976
+ case "loading":
977
+ f || (f = l.promise);
978
+ break;
979
+ }
980
+ }
981
+ throw f || new Zo(u, "All atoms rejected");
982
+ }, race: (...c) => {
983
+ let u = null;
984
+ for (const f of c) {
985
+ t.add(f);
986
+ const d = Ke(f);
987
+ switch (d.status) {
988
+ case "ready":
989
+ return d.value;
990
+ case "error":
991
+ throw d.error;
992
+ case "loading":
993
+ u || (u = d.promise);
994
+ break;
995
+ }
996
+ }
997
+ throw u || new Error("race() called with no atoms");
998
+ }, settled: (...c) => {
999
+ const u = [];
1000
+ let f = null;
1001
+ for (const d of c) {
1002
+ t.add(d);
1003
+ const l = oe(d);
1004
+ switch (l.status) {
1005
+ case "ready":
1006
+ u.push({ status: "ready", value: l.value });
1007
+ break;
1008
+ case "error":
1009
+ u.push({ status: "error", error: l.error });
1010
+ break;
1011
+ case "loading":
1012
+ f || (f = l.promise);
1013
+ break;
1014
+ }
1015
+ }
1016
+ if (f)
1017
+ throw f;
1018
+ return u;
1019
+ } };
1020
+ try {
1021
+ const c = e(i);
1022
+ if (m(c))
1023
+ throw new Error(
1024
+ "select() selector must return a synchronous value, not a Promise. For async data, create an async atom with atom(Promise) and use get() to read it."
1025
+ );
1026
+ return {
1027
+ value: c,
1028
+ error: void 0,
1029
+ promise: void 0,
1030
+ dependencies: t
1031
+ };
1032
+ } catch (c) {
1033
+ return m(c) ? {
1034
+ value: void 0,
1035
+ error: void 0,
1036
+ promise: c,
1037
+ dependencies: t
1038
+ } : {
1039
+ value: void 0,
1040
+ error: c,
1041
+ promise: void 0,
1042
+ dependencies: t
1043
+ };
1044
+ }
1045
+ }
1046
+ function Ke(e) {
1047
+ const t = e.value;
1048
+ if (!m(t))
1049
+ return {
1050
+ status: "ready",
1051
+ value: t
1052
+ };
1053
+ const r = j(t);
1054
+ switch (r.status) {
1055
+ case "fulfilled":
1056
+ return {
1057
+ status: "ready",
1058
+ value: r.value
1059
+ };
1060
+ case "rejected":
1061
+ return {
1062
+ status: "error",
1063
+ error: r.error
1064
+ };
1065
+ case "pending":
1066
+ return {
1067
+ status: "loading",
1068
+ promise: r.promise
1069
+ };
1070
+ }
1071
+ }
1072
+ function eu(e, t = {}) {
1073
+ var w, F;
1074
+ const r = K(), a = ot(t.equals), s = "fallback" in t, n = t.fallback;
1075
+ let o, i, c = null, u = !1, f = !1, d = 0;
1076
+ const l = /* @__PURE__ */ new Map(), y = () => {
1077
+ r.forEach((_) => {
1078
+ Y.current(_);
1079
+ });
1080
+ }, v = (_) => {
1081
+ for (const [$, R] of l)
1082
+ _.has($) || (R(), l.delete($));
1083
+ for (const $ of _)
1084
+ if (!l.has($)) {
1085
+ const R = $.on(() => {
1086
+ g();
1087
+ });
1088
+ l.set($, R);
1089
+ }
1090
+ }, g = (_ = !1) => {
1091
+ const $ = ++d;
1092
+ return f = !0, i = void 0, c = new Promise((R, pe) => {
1093
+ const ye = () => {
1094
+ const O = Qo(e);
1095
+ if (v(O.dependencies), O.promise)
1096
+ O.promise.then(
1097
+ () => {
1098
+ d === $ && ye();
1099
+ },
1100
+ (C) => {
1101
+ d === $ && (f = !1, i = C, pe(C), _ || y());
1102
+ }
1103
+ );
1104
+ else if (O.error !== void 0)
1105
+ f = !1, i = O.error, pe(O.error), _ || y();
1106
+ else {
1107
+ const C = O.value;
1108
+ f = !1, i = void 0, (!o || !a(C, o.value)) && (o = { value: C }, _ || y()), R(C);
1109
+ }
1110
+ };
1111
+ ye();
1112
+ }), c;
1113
+ }, b = () => {
1114
+ u || (u = !0, g(!0));
1115
+ }, A = {
1116
+ [X]: !0,
1117
+ [N]: !0,
1118
+ meta: t.meta,
1119
+ /**
1120
+ * The computed value as a Promise.
1121
+ * Always returns Promise<T>, even for sync computations.
1122
+ */
1123
+ get value() {
1124
+ return b(), c;
1125
+ },
1126
+ /**
1127
+ * The stale value - fallback or last resolved value.
1128
+ * - Without fallback: T | undefined
1129
+ * - With fallback: T (guaranteed)
1130
+ */
1131
+ get staleValue() {
1132
+ if (b(), o)
1133
+ return o.value;
1134
+ if (s)
1135
+ return n;
1136
+ },
1137
+ /**
1138
+ * Get the current state of the derived atom.
1139
+ * Returns the actual underlying state (loading/ready/error).
1140
+ * Use staleValue if you need fallback/cached value during loading.
1141
+ */
1142
+ state() {
1143
+ return b(), f ? { status: "loading", promise: c } : i !== void 0 ? { status: "error", error: i } : o ? { status: "ready", value: o.value } : { status: "loading", promise: c };
1144
+ },
1145
+ /**
1146
+ * Re-run the computation.
1147
+ */
1148
+ refresh() {
1149
+ u ? g() : b();
1150
+ },
1151
+ /**
1152
+ * Subscribe to value changes.
1153
+ */
1154
+ on(_) {
1155
+ return b(), r.on(_);
1156
+ }
1157
+ };
1158
+ return (F = T.current) == null || F.call(T, {
1159
+ type: "derived",
1160
+ key: (w = t.meta) == null ? void 0 : w.key,
1161
+ meta: t.meta,
1162
+ atom: A
1163
+ }), A;
1164
+ }
1165
+ function fu(e, t) {
1166
+ let r = !1;
1167
+ const a = K(), s = K();
1168
+ return eu((o) => {
1169
+ if (s.clear(), a.emitAndClear(), !r)
1170
+ try {
1171
+ Xo(
1172
+ () => e({
1173
+ ...o,
1174
+ onCleanup: a.on,
1175
+ onError: s.on
1176
+ })
1177
+ );
1178
+ } catch (i) {
1179
+ if (m(i))
1180
+ throw i;
1181
+ s.size() > 0 ? s.emitAndClear(i) : t != null && t.onError && i instanceof Error && t.onError(i);
1182
+ }
1183
+ }).value.catch((o) => {
1184
+ t != null && t.onError && o instanceof Error && t.onError(o);
1185
+ }), () => {
1186
+ r || (r = !0, s.clear(), a.emitAndClear());
1187
+ };
1188
+ }
1189
+ function du(e) {
1190
+ return e !== null && typeof e == "object" && X in e && e[X] === !0;
1191
+ }
1192
+ function vu(e) {
1193
+ return e !== null && typeof e == "object" && N in e && e[N] === !0;
1194
+ }
1195
+ export {
1196
+ lu as A,
1197
+ m as a,
1198
+ J as b,
1199
+ ou as c,
1200
+ Xo as d,
1201
+ uu as e,
1202
+ eu as f,
1203
+ fu as g,
1204
+ K as h,
1205
+ du as i,
1206
+ vu as j,
1207
+ oe as k,
1208
+ nu as l,
1209
+ su as m,
1210
+ iu as n,
1211
+ j as o,
1212
+ T as p,
1213
+ ot as r,
1214
+ Qo as s,
1215
+ ru as t,
1216
+ au as u
1217
+ };