atomirx 0.0.1 → 0.0.4

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