atomirx 0.0.8 → 0.1.0
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.
- package/README.md +198 -2234
- package/bin/cli.js +90 -0
- package/dist/core/derived.d.ts +2 -2
- package/dist/core/effect.d.ts +3 -2
- package/dist/core/onCreateHook.d.ts +15 -2
- package/dist/core/onErrorHook.d.ts +4 -1
- package/dist/core/pool.d.ts +78 -0
- package/dist/core/pool.test.d.ts +1 -0
- package/dist/core/select-boolean.test.d.ts +1 -0
- package/dist/core/select-pool.test.d.ts +1 -0
- package/dist/core/select.d.ts +278 -86
- package/dist/core/types.d.ts +233 -1
- package/dist/core/withAbort.d.ts +95 -0
- package/dist/core/withReady.d.ts +3 -3
- package/dist/devtools/constants.d.ts +41 -0
- package/dist/devtools/index.cjs +1 -0
- package/dist/devtools/index.d.ts +29 -0
- package/dist/devtools/index.js +429 -0
- package/dist/devtools/registry.d.ts +98 -0
- package/dist/devtools/registry.test.d.ts +1 -0
- package/dist/devtools/setup.d.ts +61 -0
- package/dist/devtools/types.d.ts +311 -0
- package/dist/index-BZEnfIcB.cjs +1 -0
- package/dist/index-BbPZhsDl.js +1653 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.js +18 -14
- package/dist/onDispatchHook-C8yLzr-o.cjs +1 -0
- package/dist/onDispatchHook-SKbiIUaJ.js +5 -0
- package/dist/onErrorHook-BGGy3tqK.js +38 -0
- package/dist/onErrorHook-DHBASmYw.cjs +1 -0
- package/dist/react/index.cjs +1 -1
- package/dist/react/index.js +191 -151
- package/dist/react/onDispatchHook.d.ts +106 -0
- package/dist/react/useAction.d.ts +4 -1
- package/dist/react-devtools/DevToolsPanel.d.ts +93 -0
- package/dist/react-devtools/EntityDetails.d.ts +10 -0
- package/dist/react-devtools/EntityList.d.ts +15 -0
- package/dist/react-devtools/LogList.d.ts +12 -0
- package/dist/react-devtools/hooks.d.ts +50 -0
- package/dist/react-devtools/index.cjs +1 -0
- package/dist/react-devtools/index.d.ts +31 -0
- package/dist/react-devtools/index.js +1589 -0
- package/dist/react-devtools/styles.d.ts +148 -0
- package/package.json +26 -2
- package/skills/atomirx/SKILL.md +456 -0
- package/skills/atomirx/references/async-patterns.md +188 -0
- package/skills/atomirx/references/atom-patterns.md +238 -0
- package/skills/atomirx/references/deferred-loading.md +191 -0
- package/skills/atomirx/references/derived-patterns.md +428 -0
- package/skills/atomirx/references/effect-patterns.md +426 -0
- package/skills/atomirx/references/error-handling.md +140 -0
- package/skills/atomirx/references/hooks.md +322 -0
- package/skills/atomirx/references/pool-patterns.md +229 -0
- package/skills/atomirx/references/react-integration.md +411 -0
- package/skills/atomirx/references/rules.md +407 -0
- package/skills/atomirx/references/select-context.md +309 -0
- package/skills/atomirx/references/service-template.md +172 -0
- package/skills/atomirx/references/store-template.md +205 -0
- package/skills/atomirx/references/testing-patterns.md +431 -0
- package/coverage/base.css +0 -224
- package/coverage/block-navigation.js +0 -87
- package/coverage/clover.xml +0 -1440
- package/coverage/coverage-final.json +0 -14
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +0 -131
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -2
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -210
- package/coverage/src/core/atom.ts.html +0 -889
- package/coverage/src/core/batch.ts.html +0 -223
- package/coverage/src/core/define.ts.html +0 -805
- package/coverage/src/core/emitter.ts.html +0 -919
- package/coverage/src/core/equality.ts.html +0 -631
- package/coverage/src/core/hook.ts.html +0 -460
- package/coverage/src/core/index.html +0 -281
- package/coverage/src/core/isAtom.ts.html +0 -100
- package/coverage/src/core/isPromiseLike.ts.html +0 -133
- package/coverage/src/core/onCreateHook.ts.html +0 -138
- package/coverage/src/core/scheduleNotifyHook.ts.html +0 -94
- package/coverage/src/core/types.ts.html +0 -523
- package/coverage/src/core/withUse.ts.html +0 -253
- package/coverage/src/index.html +0 -116
- package/coverage/src/index.ts.html +0 -106
- package/dist/index-CBVj1kSj.js +0 -1350
- package/dist/index-Cxk9v0um.cjs +0 -1
- package/scripts/publish.js +0 -198
- package/src/core/atom.test.ts +0 -633
- package/src/core/atom.ts +0 -311
- package/src/core/atomState.test.ts +0 -342
- package/src/core/atomState.ts +0 -256
- package/src/core/batch.test.ts +0 -257
- package/src/core/batch.ts +0 -172
- package/src/core/define.test.ts +0 -343
- package/src/core/define.ts +0 -243
- package/src/core/derived.test.ts +0 -1215
- package/src/core/derived.ts +0 -450
- package/src/core/effect.test.ts +0 -802
- package/src/core/effect.ts +0 -188
- package/src/core/emitter.test.ts +0 -364
- package/src/core/emitter.ts +0 -392
- package/src/core/equality.test.ts +0 -392
- package/src/core/equality.ts +0 -182
- package/src/core/getAtomState.ts +0 -69
- package/src/core/hook.test.ts +0 -227
- package/src/core/hook.ts +0 -177
- package/src/core/isAtom.ts +0 -27
- package/src/core/isPromiseLike.test.ts +0 -72
- package/src/core/isPromiseLike.ts +0 -16
- package/src/core/onCreateHook.ts +0 -107
- package/src/core/onErrorHook.test.ts +0 -350
- package/src/core/onErrorHook.ts +0 -52
- package/src/core/promiseCache.test.ts +0 -241
- package/src/core/promiseCache.ts +0 -284
- package/src/core/scheduleNotifyHook.ts +0 -53
- package/src/core/select.ts +0 -729
- package/src/core/selector.test.ts +0 -799
- package/src/core/types.ts +0 -389
- package/src/core/withReady.test.ts +0 -534
- package/src/core/withReady.ts +0 -191
- package/src/core/withUse.test.ts +0 -249
- package/src/core/withUse.ts +0 -56
- package/src/index.test.ts +0 -80
- package/src/index.ts +0 -65
- package/src/react/index.ts +0 -21
- package/src/react/rx.test.tsx +0 -571
- package/src/react/rx.tsx +0 -531
- package/src/react/strictModeTest.tsx +0 -71
- package/src/react/useAction.test.ts +0 -987
- package/src/react/useAction.ts +0 -607
- package/src/react/useSelector.test.ts +0 -182
- package/src/react/useSelector.ts +0 -292
- package/src/react/useStable.test.ts +0 -553
- package/src/react/useStable.ts +0 -288
- package/tsconfig.json +0 -9
- package/v2.md +0 -725
- package/vite.config.ts +0 -42
|
@@ -0,0 +1,1653 @@
|
|
|
1
|
+
var wt = Object.defineProperty;
|
|
2
|
+
var Tt = (e, t, r) => t in e ? wt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
|
|
3
|
+
var O = (e, t, r) => Tt(e, typeof t != "symbol" ? t + "" : t, r);
|
|
4
|
+
import { h as ye, o as Z, a as St } from "./onErrorHook-BGGy3tqK.js";
|
|
5
|
+
const Ct = () => {
|
|
6
|
+
};
|
|
7
|
+
class Et {
|
|
8
|
+
constructor(t) {
|
|
9
|
+
/** Set of registered listeners */
|
|
10
|
+
O(this, "_listeners");
|
|
11
|
+
/** Settled payload (if settled) */
|
|
12
|
+
O(this, "_settledPayload");
|
|
13
|
+
/** Whether the emitter has been settled */
|
|
14
|
+
O(this, "_isSettled", !1);
|
|
15
|
+
O(this, "size", () => this._listeners.size);
|
|
16
|
+
O(this, "settled", () => this._isSettled);
|
|
17
|
+
O(this, "forEach", (t) => {
|
|
18
|
+
this._listeners.forEach(t);
|
|
19
|
+
});
|
|
20
|
+
O(this, "on", (t, r) => {
|
|
21
|
+
let a;
|
|
22
|
+
if (r === void 0)
|
|
23
|
+
a = Array.isArray(t) ? t : [t];
|
|
24
|
+
else {
|
|
25
|
+
const n = t, c = Array.isArray(r) ? r : [r];
|
|
26
|
+
a = [
|
|
27
|
+
(i) => {
|
|
28
|
+
const f = n(i);
|
|
29
|
+
if (f)
|
|
30
|
+
for (let v = 0; v < c.length; v++)
|
|
31
|
+
c[v](f.value);
|
|
32
|
+
}
|
|
33
|
+
];
|
|
34
|
+
}
|
|
35
|
+
if (this._isSettled) {
|
|
36
|
+
const n = this._settledPayload;
|
|
37
|
+
for (let c = 0; c < a.length; c++)
|
|
38
|
+
a[c](n);
|
|
39
|
+
return Ct;
|
|
40
|
+
}
|
|
41
|
+
const o = this._listeners;
|
|
42
|
+
for (let n = 0; n < a.length; n++)
|
|
43
|
+
o.add(a[n]);
|
|
44
|
+
return () => {
|
|
45
|
+
for (let n = 0; n < a.length; n++)
|
|
46
|
+
o.delete(a[n]);
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
O(this, "emit", (t) => {
|
|
50
|
+
this._isSettled || this._doEmit(t, !1, !1);
|
|
51
|
+
});
|
|
52
|
+
O(this, "emitLifo", (t) => {
|
|
53
|
+
this._isSettled || this._doEmit(t, !1, !0);
|
|
54
|
+
});
|
|
55
|
+
O(this, "clear", () => {
|
|
56
|
+
this._listeners.clear();
|
|
57
|
+
});
|
|
58
|
+
O(this, "emitAndClear", (t) => {
|
|
59
|
+
this._isSettled || this._doEmit(t, !0, !1);
|
|
60
|
+
});
|
|
61
|
+
O(this, "emitAndClearLifo", (t) => {
|
|
62
|
+
this._isSettled || this._doEmit(t, !0, !0);
|
|
63
|
+
});
|
|
64
|
+
O(this, "settle", (t) => {
|
|
65
|
+
this._isSettled || (this._settledPayload = t, this._isSettled = !0, this._doEmit(t, !0, !1));
|
|
66
|
+
});
|
|
67
|
+
/**
|
|
68
|
+
* Internal emit implementation.
|
|
69
|
+
* Creates snapshot to handle modifications during iteration.
|
|
70
|
+
*/
|
|
71
|
+
O(this, "_doEmit", (t, r, a) => {
|
|
72
|
+
const o = this._listeners, n = o.size;
|
|
73
|
+
if (n === 0) return;
|
|
74
|
+
const c = Array.from(o);
|
|
75
|
+
if (r && o.clear(), a)
|
|
76
|
+
for (let i = n - 1; i >= 0; i--)
|
|
77
|
+
c[i](t);
|
|
78
|
+
else
|
|
79
|
+
for (let i = 0; i < n; i++)
|
|
80
|
+
c[i](t);
|
|
81
|
+
});
|
|
82
|
+
this._listeners = new Set(t);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
function B(e) {
|
|
86
|
+
return new Et(e);
|
|
87
|
+
}
|
|
88
|
+
var Q = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
|
|
89
|
+
function jt(e) {
|
|
90
|
+
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
91
|
+
}
|
|
92
|
+
function Ot() {
|
|
93
|
+
this.__data__ = [], this.size = 0;
|
|
94
|
+
}
|
|
95
|
+
var Pt = Ot;
|
|
96
|
+
function Dt(e, t) {
|
|
97
|
+
return e === t || e !== e && t !== t;
|
|
98
|
+
}
|
|
99
|
+
var ct = Dt, xt = ct;
|
|
100
|
+
function It(e, t) {
|
|
101
|
+
for (var r = e.length; r--; )
|
|
102
|
+
if (xt(e[r][0], t))
|
|
103
|
+
return r;
|
|
104
|
+
return -1;
|
|
105
|
+
}
|
|
106
|
+
var ce = It, Lt = ce, Mt = Array.prototype, kt = Mt.splice;
|
|
107
|
+
function Gt(e) {
|
|
108
|
+
var t = this.__data__, r = Lt(t, e);
|
|
109
|
+
if (r < 0)
|
|
110
|
+
return !1;
|
|
111
|
+
var a = t.length - 1;
|
|
112
|
+
return r == a ? t.pop() : kt.call(t, r, 1), --this.size, !0;
|
|
113
|
+
}
|
|
114
|
+
var Rt = Gt, qt = ce;
|
|
115
|
+
function Ft(e) {
|
|
116
|
+
var t = this.__data__, r = qt(t, e);
|
|
117
|
+
return r < 0 ? void 0 : t[r][1];
|
|
118
|
+
}
|
|
119
|
+
var Ht = Ft, Bt = ce;
|
|
120
|
+
function zt(e) {
|
|
121
|
+
return Bt(this.__data__, e) > -1;
|
|
122
|
+
}
|
|
123
|
+
var Nt = zt, Ut = ce;
|
|
124
|
+
function Kt(e, t) {
|
|
125
|
+
var r = this.__data__, a = Ut(r, e);
|
|
126
|
+
return a < 0 ? (++this.size, r.push([e, t])) : r[a][1] = t, this;
|
|
127
|
+
}
|
|
128
|
+
var Vt = Kt, Wt = Pt, Yt = Rt, Jt = Ht, Xt = Nt, Zt = Vt;
|
|
129
|
+
function z(e) {
|
|
130
|
+
var t = -1, r = e == null ? 0 : e.length;
|
|
131
|
+
for (this.clear(); ++t < r; ) {
|
|
132
|
+
var a = e[t];
|
|
133
|
+
this.set(a[0], a[1]);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
z.prototype.clear = Wt;
|
|
137
|
+
z.prototype.delete = Yt;
|
|
138
|
+
z.prototype.get = Jt;
|
|
139
|
+
z.prototype.has = Xt;
|
|
140
|
+
z.prototype.set = Zt;
|
|
141
|
+
var ue = z, Qt = ue;
|
|
142
|
+
function er() {
|
|
143
|
+
this.__data__ = new Qt(), this.size = 0;
|
|
144
|
+
}
|
|
145
|
+
var tr = er;
|
|
146
|
+
function rr(e) {
|
|
147
|
+
var t = this.__data__, r = t.delete(e);
|
|
148
|
+
return this.size = t.size, r;
|
|
149
|
+
}
|
|
150
|
+
var ar = rr;
|
|
151
|
+
function nr(e) {
|
|
152
|
+
return this.__data__.get(e);
|
|
153
|
+
}
|
|
154
|
+
var sr = nr;
|
|
155
|
+
function or(e) {
|
|
156
|
+
return this.__data__.has(e);
|
|
157
|
+
}
|
|
158
|
+
var ir = or, cr = typeof Q == "object" && Q && Q.Object === Object && Q, ut = cr, ur = ut, lr = typeof self == "object" && self && self.Object === Object && self, fr = ur || lr || Function("return this")(), M = fr, dr = M, vr = dr.Symbol, Ee = vr, xe = Ee, lt = Object.prototype, hr = lt.hasOwnProperty, gr = lt.toString, Y = xe ? xe.toStringTag : void 0;
|
|
159
|
+
function pr(e) {
|
|
160
|
+
var t = hr.call(e, Y), r = e[Y];
|
|
161
|
+
try {
|
|
162
|
+
e[Y] = void 0;
|
|
163
|
+
var a = !0;
|
|
164
|
+
} catch {
|
|
165
|
+
}
|
|
166
|
+
var o = gr.call(e);
|
|
167
|
+
return a && (t ? e[Y] = r : delete e[Y]), o;
|
|
168
|
+
}
|
|
169
|
+
var yr = pr, _r = Object.prototype, br = _r.toString;
|
|
170
|
+
function mr(e) {
|
|
171
|
+
return br.call(e);
|
|
172
|
+
}
|
|
173
|
+
var $r = mr, Ie = Ee, Ar = yr, wr = $r, Tr = "[object Null]", Sr = "[object Undefined]", Le = Ie ? Ie.toStringTag : void 0;
|
|
174
|
+
function Cr(e) {
|
|
175
|
+
return e == null ? e === void 0 ? Sr : Tr : Le && Le in Object(e) ? Ar(e) : wr(e);
|
|
176
|
+
}
|
|
177
|
+
var le = Cr;
|
|
178
|
+
function Er(e) {
|
|
179
|
+
var t = typeof e;
|
|
180
|
+
return e != null && (t == "object" || t == "function");
|
|
181
|
+
}
|
|
182
|
+
var ft = Er, jr = le, Or = ft, Pr = "[object AsyncFunction]", Dr = "[object Function]", xr = "[object GeneratorFunction]", Ir = "[object Proxy]";
|
|
183
|
+
function Lr(e) {
|
|
184
|
+
if (!Or(e))
|
|
185
|
+
return !1;
|
|
186
|
+
var t = jr(e);
|
|
187
|
+
return t == Dr || t == xr || t == Pr || t == Ir;
|
|
188
|
+
}
|
|
189
|
+
var dt = Lr, Mr = M, kr = Mr["__core-js_shared__"], Gr = kr, he = Gr, Me = function() {
|
|
190
|
+
var e = /[^.]+$/.exec(he && he.keys && he.keys.IE_PROTO || "");
|
|
191
|
+
return e ? "Symbol(src)_1." + e : "";
|
|
192
|
+
}();
|
|
193
|
+
function Rr(e) {
|
|
194
|
+
return !!Me && Me in e;
|
|
195
|
+
}
|
|
196
|
+
var qr = Rr, Fr = Function.prototype, Hr = Fr.toString;
|
|
197
|
+
function Br(e) {
|
|
198
|
+
if (e != null) {
|
|
199
|
+
try {
|
|
200
|
+
return Hr.call(e);
|
|
201
|
+
} catch {
|
|
202
|
+
}
|
|
203
|
+
try {
|
|
204
|
+
return e + "";
|
|
205
|
+
} catch {
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
return "";
|
|
209
|
+
}
|
|
210
|
+
var vt = Br, zr = dt, Nr = qr, Ur = ft, Kr = vt, Vr = /[\\^$.*+?()[\]{}|]/g, Wr = /^\[object .+?Constructor\]$/, Yr = Function.prototype, Jr = Object.prototype, Xr = Yr.toString, Zr = Jr.hasOwnProperty, Qr = RegExp(
|
|
211
|
+
"^" + Xr.call(Zr).replace(Vr, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
|
|
212
|
+
);
|
|
213
|
+
function ea(e) {
|
|
214
|
+
if (!Ur(e) || Nr(e))
|
|
215
|
+
return !1;
|
|
216
|
+
var t = zr(e) ? Qr : Wr;
|
|
217
|
+
return t.test(Kr(e));
|
|
218
|
+
}
|
|
219
|
+
var ta = ea;
|
|
220
|
+
function ra(e, t) {
|
|
221
|
+
return e == null ? void 0 : e[t];
|
|
222
|
+
}
|
|
223
|
+
var aa = ra, na = ta, sa = aa;
|
|
224
|
+
function oa(e, t) {
|
|
225
|
+
var r = sa(e, t);
|
|
226
|
+
return na(r) ? r : void 0;
|
|
227
|
+
}
|
|
228
|
+
var N = oa, ia = N, ca = M, ua = ia(ca, "Map"), je = ua, la = N, fa = la(Object, "create"), fe = fa, ke = fe;
|
|
229
|
+
function da() {
|
|
230
|
+
this.__data__ = ke ? ke(null) : {}, this.size = 0;
|
|
231
|
+
}
|
|
232
|
+
var va = da;
|
|
233
|
+
function ha(e) {
|
|
234
|
+
var t = this.has(e) && delete this.__data__[e];
|
|
235
|
+
return this.size -= t ? 1 : 0, t;
|
|
236
|
+
}
|
|
237
|
+
var ga = ha, pa = fe, ya = "__lodash_hash_undefined__", _a = Object.prototype, ba = _a.hasOwnProperty;
|
|
238
|
+
function ma(e) {
|
|
239
|
+
var t = this.__data__;
|
|
240
|
+
if (pa) {
|
|
241
|
+
var r = t[e];
|
|
242
|
+
return r === ya ? void 0 : r;
|
|
243
|
+
}
|
|
244
|
+
return ba.call(t, e) ? t[e] : void 0;
|
|
245
|
+
}
|
|
246
|
+
var $a = ma, Aa = fe, wa = Object.prototype, Ta = wa.hasOwnProperty;
|
|
247
|
+
function Sa(e) {
|
|
248
|
+
var t = this.__data__;
|
|
249
|
+
return Aa ? t[e] !== void 0 : Ta.call(t, e);
|
|
250
|
+
}
|
|
251
|
+
var Ca = Sa, Ea = fe, ja = "__lodash_hash_undefined__";
|
|
252
|
+
function Oa(e, t) {
|
|
253
|
+
var r = this.__data__;
|
|
254
|
+
return this.size += this.has(e) ? 0 : 1, r[e] = Ea && t === void 0 ? ja : t, this;
|
|
255
|
+
}
|
|
256
|
+
var Pa = Oa, Da = va, xa = ga, Ia = $a, La = Ca, Ma = Pa;
|
|
257
|
+
function U(e) {
|
|
258
|
+
var t = -1, r = e == null ? 0 : e.length;
|
|
259
|
+
for (this.clear(); ++t < r; ) {
|
|
260
|
+
var a = e[t];
|
|
261
|
+
this.set(a[0], a[1]);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
U.prototype.clear = Da;
|
|
265
|
+
U.prototype.delete = xa;
|
|
266
|
+
U.prototype.get = Ia;
|
|
267
|
+
U.prototype.has = La;
|
|
268
|
+
U.prototype.set = Ma;
|
|
269
|
+
var ka = U, Ge = ka, Ga = ue, Ra = je;
|
|
270
|
+
function qa() {
|
|
271
|
+
this.size = 0, this.__data__ = {
|
|
272
|
+
hash: new Ge(),
|
|
273
|
+
map: new (Ra || Ga)(),
|
|
274
|
+
string: new Ge()
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
var Fa = qa;
|
|
278
|
+
function Ha(e) {
|
|
279
|
+
var t = typeof e;
|
|
280
|
+
return t == "string" || t == "number" || t == "symbol" || t == "boolean" ? e !== "__proto__" : e === null;
|
|
281
|
+
}
|
|
282
|
+
var Ba = Ha, za = Ba;
|
|
283
|
+
function Na(e, t) {
|
|
284
|
+
var r = e.__data__;
|
|
285
|
+
return za(t) ? r[typeof t == "string" ? "string" : "hash"] : r.map;
|
|
286
|
+
}
|
|
287
|
+
var de = Na, Ua = de;
|
|
288
|
+
function Ka(e) {
|
|
289
|
+
var t = Ua(this, e).delete(e);
|
|
290
|
+
return this.size -= t ? 1 : 0, t;
|
|
291
|
+
}
|
|
292
|
+
var Va = Ka, Wa = de;
|
|
293
|
+
function Ya(e) {
|
|
294
|
+
return Wa(this, e).get(e);
|
|
295
|
+
}
|
|
296
|
+
var Ja = Ya, Xa = de;
|
|
297
|
+
function Za(e) {
|
|
298
|
+
return Xa(this, e).has(e);
|
|
299
|
+
}
|
|
300
|
+
var Qa = Za, en = de;
|
|
301
|
+
function tn(e, t) {
|
|
302
|
+
var r = en(this, e), a = r.size;
|
|
303
|
+
return r.set(e, t), this.size += r.size == a ? 0 : 1, this;
|
|
304
|
+
}
|
|
305
|
+
var rn = tn, an = Fa, nn = Va, sn = Ja, on = Qa, cn = rn;
|
|
306
|
+
function K(e) {
|
|
307
|
+
var t = -1, r = e == null ? 0 : e.length;
|
|
308
|
+
for (this.clear(); ++t < r; ) {
|
|
309
|
+
var a = e[t];
|
|
310
|
+
this.set(a[0], a[1]);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
K.prototype.clear = an;
|
|
314
|
+
K.prototype.delete = nn;
|
|
315
|
+
K.prototype.get = sn;
|
|
316
|
+
K.prototype.has = on;
|
|
317
|
+
K.prototype.set = cn;
|
|
318
|
+
var ht = K, un = ue, ln = je, fn = ht, dn = 200;
|
|
319
|
+
function vn(e, t) {
|
|
320
|
+
var r = this.__data__;
|
|
321
|
+
if (r instanceof un) {
|
|
322
|
+
var a = r.__data__;
|
|
323
|
+
if (!ln || a.length < dn - 1)
|
|
324
|
+
return a.push([e, t]), this.size = ++r.size, this;
|
|
325
|
+
r = this.__data__ = new fn(a);
|
|
326
|
+
}
|
|
327
|
+
return r.set(e, t), this.size = r.size, this;
|
|
328
|
+
}
|
|
329
|
+
var hn = vn, gn = ue, pn = tr, yn = ar, _n = sr, bn = ir, mn = hn;
|
|
330
|
+
function V(e) {
|
|
331
|
+
var t = this.__data__ = new gn(e);
|
|
332
|
+
this.size = t.size;
|
|
333
|
+
}
|
|
334
|
+
V.prototype.clear = pn;
|
|
335
|
+
V.prototype.delete = yn;
|
|
336
|
+
V.prototype.get = _n;
|
|
337
|
+
V.prototype.has = bn;
|
|
338
|
+
V.prototype.set = mn;
|
|
339
|
+
var $n = V, An = "__lodash_hash_undefined__";
|
|
340
|
+
function wn(e) {
|
|
341
|
+
return this.__data__.set(e, An), this;
|
|
342
|
+
}
|
|
343
|
+
var Tn = wn;
|
|
344
|
+
function Sn(e) {
|
|
345
|
+
return this.__data__.has(e);
|
|
346
|
+
}
|
|
347
|
+
var Cn = Sn, En = ht, jn = Tn, On = Cn;
|
|
348
|
+
function ae(e) {
|
|
349
|
+
var t = -1, r = e == null ? 0 : e.length;
|
|
350
|
+
for (this.__data__ = new En(); ++t < r; )
|
|
351
|
+
this.add(e[t]);
|
|
352
|
+
}
|
|
353
|
+
ae.prototype.add = ae.prototype.push = jn;
|
|
354
|
+
ae.prototype.has = On;
|
|
355
|
+
var Pn = ae;
|
|
356
|
+
function Dn(e, t) {
|
|
357
|
+
for (var r = -1, a = e == null ? 0 : e.length; ++r < a; )
|
|
358
|
+
if (t(e[r], r, e))
|
|
359
|
+
return !0;
|
|
360
|
+
return !1;
|
|
361
|
+
}
|
|
362
|
+
var xn = Dn;
|
|
363
|
+
function In(e, t) {
|
|
364
|
+
return e.has(t);
|
|
365
|
+
}
|
|
366
|
+
var Ln = In, Mn = Pn, kn = xn, Gn = Ln, Rn = 1, qn = 2;
|
|
367
|
+
function Fn(e, t, r, a, o, n) {
|
|
368
|
+
var c = r & Rn, i = e.length, f = t.length;
|
|
369
|
+
if (i != f && !(c && f > i))
|
|
370
|
+
return !1;
|
|
371
|
+
var v = n.get(e), w = n.get(t);
|
|
372
|
+
if (v && w)
|
|
373
|
+
return v == t && w == e;
|
|
374
|
+
var y = -1, _ = !0, $ = r & qn ? new Mn() : void 0;
|
|
375
|
+
for (n.set(e, t), n.set(t, e); ++y < i; ) {
|
|
376
|
+
var m = e[y], T = t[y];
|
|
377
|
+
if (a)
|
|
378
|
+
var u = c ? a(T, m, y, t, e, n) : a(m, T, y, e, t, n);
|
|
379
|
+
if (u !== void 0) {
|
|
380
|
+
if (u)
|
|
381
|
+
continue;
|
|
382
|
+
_ = !1;
|
|
383
|
+
break;
|
|
384
|
+
}
|
|
385
|
+
if ($) {
|
|
386
|
+
if (!kn(t, function(d, p) {
|
|
387
|
+
if (!Gn($, p) && (m === d || o(m, d, r, a, n)))
|
|
388
|
+
return $.push(p);
|
|
389
|
+
})) {
|
|
390
|
+
_ = !1;
|
|
391
|
+
break;
|
|
392
|
+
}
|
|
393
|
+
} else if (!(m === T || o(m, T, r, a, n))) {
|
|
394
|
+
_ = !1;
|
|
395
|
+
break;
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
return n.delete(e), n.delete(t), _;
|
|
399
|
+
}
|
|
400
|
+
var gt = Fn, Hn = M, Bn = Hn.Uint8Array, zn = Bn;
|
|
401
|
+
function Nn(e) {
|
|
402
|
+
var t = -1, r = Array(e.size);
|
|
403
|
+
return e.forEach(function(a, o) {
|
|
404
|
+
r[++t] = [o, a];
|
|
405
|
+
}), r;
|
|
406
|
+
}
|
|
407
|
+
var Un = Nn;
|
|
408
|
+
function Kn(e) {
|
|
409
|
+
var t = -1, r = Array(e.size);
|
|
410
|
+
return e.forEach(function(a) {
|
|
411
|
+
r[++t] = a;
|
|
412
|
+
}), r;
|
|
413
|
+
}
|
|
414
|
+
var Vn = Kn, Re = Ee, qe = zn, Wn = ct, Yn = gt, Jn = Un, Xn = Vn, Zn = 1, Qn = 2, es = "[object Boolean]", ts = "[object Date]", rs = "[object Error]", as = "[object Map]", ns = "[object Number]", ss = "[object RegExp]", os = "[object Set]", is = "[object String]", cs = "[object Symbol]", us = "[object ArrayBuffer]", ls = "[object DataView]", Fe = Re ? Re.prototype : void 0, ge = Fe ? Fe.valueOf : void 0;
|
|
415
|
+
function fs(e, t, r, a, o, n, c) {
|
|
416
|
+
switch (r) {
|
|
417
|
+
case ls:
|
|
418
|
+
if (e.byteLength != t.byteLength || e.byteOffset != t.byteOffset)
|
|
419
|
+
return !1;
|
|
420
|
+
e = e.buffer, t = t.buffer;
|
|
421
|
+
case us:
|
|
422
|
+
return !(e.byteLength != t.byteLength || !n(new qe(e), new qe(t)));
|
|
423
|
+
case es:
|
|
424
|
+
case ts:
|
|
425
|
+
case ns:
|
|
426
|
+
return Wn(+e, +t);
|
|
427
|
+
case rs:
|
|
428
|
+
return e.name == t.name && e.message == t.message;
|
|
429
|
+
case ss:
|
|
430
|
+
case is:
|
|
431
|
+
return e == t + "";
|
|
432
|
+
case as:
|
|
433
|
+
var i = Jn;
|
|
434
|
+
case os:
|
|
435
|
+
var f = a & Zn;
|
|
436
|
+
if (i || (i = Xn), e.size != t.size && !f)
|
|
437
|
+
return !1;
|
|
438
|
+
var v = c.get(e);
|
|
439
|
+
if (v)
|
|
440
|
+
return v == t;
|
|
441
|
+
a |= Qn, c.set(e, t);
|
|
442
|
+
var w = Yn(i(e), i(t), a, o, n, c);
|
|
443
|
+
return c.delete(e), w;
|
|
444
|
+
case cs:
|
|
445
|
+
if (ge)
|
|
446
|
+
return ge.call(e) == ge.call(t);
|
|
447
|
+
}
|
|
448
|
+
return !1;
|
|
449
|
+
}
|
|
450
|
+
var ds = fs;
|
|
451
|
+
function vs(e, t) {
|
|
452
|
+
for (var r = -1, a = t.length, o = e.length; ++r < a; )
|
|
453
|
+
e[o + r] = t[r];
|
|
454
|
+
return e;
|
|
455
|
+
}
|
|
456
|
+
var hs = vs, gs = Array.isArray, Oe = gs, ps = hs, ys = Oe;
|
|
457
|
+
function _s(e, t, r) {
|
|
458
|
+
var a = t(e);
|
|
459
|
+
return ys(e) ? a : ps(a, r(e));
|
|
460
|
+
}
|
|
461
|
+
var bs = _s;
|
|
462
|
+
function ms(e, t) {
|
|
463
|
+
for (var r = -1, a = e == null ? 0 : e.length, o = 0, n = []; ++r < a; ) {
|
|
464
|
+
var c = e[r];
|
|
465
|
+
t(c, r, e) && (n[o++] = c);
|
|
466
|
+
}
|
|
467
|
+
return n;
|
|
468
|
+
}
|
|
469
|
+
var $s = ms;
|
|
470
|
+
function As() {
|
|
471
|
+
return [];
|
|
472
|
+
}
|
|
473
|
+
var ws = As, Ts = $s, Ss = ws, Cs = Object.prototype, Es = Cs.propertyIsEnumerable, He = Object.getOwnPropertySymbols, js = He ? function(e) {
|
|
474
|
+
return e == null ? [] : (e = Object(e), Ts(He(e), function(t) {
|
|
475
|
+
return Es.call(e, t);
|
|
476
|
+
}));
|
|
477
|
+
} : Ss, Os = js;
|
|
478
|
+
function Ps(e, t) {
|
|
479
|
+
for (var r = -1, a = Array(e); ++r < e; )
|
|
480
|
+
a[r] = t(r);
|
|
481
|
+
return a;
|
|
482
|
+
}
|
|
483
|
+
var Ds = Ps;
|
|
484
|
+
function xs(e) {
|
|
485
|
+
return e != null && typeof e == "object";
|
|
486
|
+
}
|
|
487
|
+
var ve = xs, Is = le, Ls = ve, Ms = "[object Arguments]";
|
|
488
|
+
function ks(e) {
|
|
489
|
+
return Ls(e) && Is(e) == Ms;
|
|
490
|
+
}
|
|
491
|
+
var Gs = ks, Be = Gs, Rs = ve, pt = Object.prototype, qs = pt.hasOwnProperty, Fs = pt.propertyIsEnumerable, Hs = Be(/* @__PURE__ */ function() {
|
|
492
|
+
return arguments;
|
|
493
|
+
}()) ? Be : function(e) {
|
|
494
|
+
return Rs(e) && qs.call(e, "callee") && !Fs.call(e, "callee");
|
|
495
|
+
}, Bs = Hs, ne = { exports: {} };
|
|
496
|
+
function zs() {
|
|
497
|
+
return !1;
|
|
498
|
+
}
|
|
499
|
+
var Ns = zs;
|
|
500
|
+
ne.exports;
|
|
501
|
+
(function(e, t) {
|
|
502
|
+
var r = M, a = Ns, o = t && !t.nodeType && t, n = o && !0 && e && !e.nodeType && e, c = n && n.exports === o, i = c ? r.Buffer : void 0, f = i ? i.isBuffer : void 0, v = f || a;
|
|
503
|
+
e.exports = v;
|
|
504
|
+
})(ne, ne.exports);
|
|
505
|
+
var yt = ne.exports, Us = 9007199254740991, Ks = /^(?:0|[1-9]\d*)$/;
|
|
506
|
+
function Vs(e, t) {
|
|
507
|
+
var r = typeof e;
|
|
508
|
+
return t = t ?? Us, !!t && (r == "number" || r != "symbol" && Ks.test(e)) && e > -1 && e % 1 == 0 && e < t;
|
|
509
|
+
}
|
|
510
|
+
var Ws = Vs, Ys = 9007199254740991;
|
|
511
|
+
function Js(e) {
|
|
512
|
+
return typeof e == "number" && e > -1 && e % 1 == 0 && e <= Ys;
|
|
513
|
+
}
|
|
514
|
+
var _t = Js, Xs = le, Zs = _t, Qs = ve, eo = "[object Arguments]", to = "[object Array]", ro = "[object Boolean]", ao = "[object Date]", no = "[object Error]", so = "[object Function]", oo = "[object Map]", io = "[object Number]", co = "[object Object]", uo = "[object RegExp]", lo = "[object Set]", fo = "[object String]", vo = "[object WeakMap]", ho = "[object ArrayBuffer]", go = "[object DataView]", po = "[object Float32Array]", yo = "[object Float64Array]", _o = "[object Int8Array]", bo = "[object Int16Array]", mo = "[object Int32Array]", $o = "[object Uint8Array]", Ao = "[object Uint8ClampedArray]", wo = "[object Uint16Array]", To = "[object Uint32Array]", S = {};
|
|
515
|
+
S[po] = S[yo] = S[_o] = S[bo] = S[mo] = S[$o] = S[Ao] = S[wo] = S[To] = !0;
|
|
516
|
+
S[eo] = S[to] = S[ho] = S[ro] = S[go] = S[ao] = S[no] = S[so] = S[oo] = S[io] = S[co] = S[uo] = S[lo] = S[fo] = S[vo] = !1;
|
|
517
|
+
function So(e) {
|
|
518
|
+
return Qs(e) && Zs(e.length) && !!S[Xs(e)];
|
|
519
|
+
}
|
|
520
|
+
var Co = So;
|
|
521
|
+
function Eo(e) {
|
|
522
|
+
return function(t) {
|
|
523
|
+
return e(t);
|
|
524
|
+
};
|
|
525
|
+
}
|
|
526
|
+
var jo = Eo, se = { exports: {} };
|
|
527
|
+
se.exports;
|
|
528
|
+
(function(e, t) {
|
|
529
|
+
var r = ut, a = t && !t.nodeType && t, o = a && !0 && e && !e.nodeType && e, n = o && o.exports === a, c = n && r.process, i = function() {
|
|
530
|
+
try {
|
|
531
|
+
var f = o && o.require && o.require("util").types;
|
|
532
|
+
return f || c && c.binding && c.binding("util");
|
|
533
|
+
} catch {
|
|
534
|
+
}
|
|
535
|
+
}();
|
|
536
|
+
e.exports = i;
|
|
537
|
+
})(se, se.exports);
|
|
538
|
+
var Oo = se.exports, Po = Co, Do = jo, ze = Oo, Ne = ze && ze.isTypedArray, xo = Ne ? Do(Ne) : Po, bt = xo, Io = Ds, Lo = Bs, Mo = Oe, ko = yt, Go = Ws, Ro = bt, qo = Object.prototype, Fo = qo.hasOwnProperty;
|
|
539
|
+
function Ho(e, t) {
|
|
540
|
+
var r = Mo(e), a = !r && Lo(e), o = !r && !a && ko(e), n = !r && !a && !o && Ro(e), c = r || a || o || n, i = c ? Io(e.length, String) : [], f = i.length;
|
|
541
|
+
for (var v in e)
|
|
542
|
+
(t || Fo.call(e, v)) && !(c && // Safari 9 has enumerable `arguments.length` in strict mode.
|
|
543
|
+
(v == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
|
|
544
|
+
o && (v == "offset" || v == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
|
|
545
|
+
n && (v == "buffer" || v == "byteLength" || v == "byteOffset") || // Skip index properties.
|
|
546
|
+
Go(v, f))) && i.push(v);
|
|
547
|
+
return i;
|
|
548
|
+
}
|
|
549
|
+
var Bo = Ho, zo = Object.prototype;
|
|
550
|
+
function No(e) {
|
|
551
|
+
var t = e && e.constructor, r = typeof t == "function" && t.prototype || zo;
|
|
552
|
+
return e === r;
|
|
553
|
+
}
|
|
554
|
+
var Uo = No;
|
|
555
|
+
function Ko(e, t) {
|
|
556
|
+
return function(r) {
|
|
557
|
+
return e(t(r));
|
|
558
|
+
};
|
|
559
|
+
}
|
|
560
|
+
var Vo = Ko, Wo = Vo, Yo = Wo(Object.keys, Object), Jo = Yo, Xo = Uo, Zo = Jo, Qo = Object.prototype, ei = Qo.hasOwnProperty;
|
|
561
|
+
function ti(e) {
|
|
562
|
+
if (!Xo(e))
|
|
563
|
+
return Zo(e);
|
|
564
|
+
var t = [];
|
|
565
|
+
for (var r in Object(e))
|
|
566
|
+
ei.call(e, r) && r != "constructor" && t.push(r);
|
|
567
|
+
return t;
|
|
568
|
+
}
|
|
569
|
+
var ri = ti, ai = dt, ni = _t;
|
|
570
|
+
function si(e) {
|
|
571
|
+
return e != null && ni(e.length) && !ai(e);
|
|
572
|
+
}
|
|
573
|
+
var oi = si, ii = Bo, ci = ri, ui = oi;
|
|
574
|
+
function li(e) {
|
|
575
|
+
return ui(e) ? ii(e) : ci(e);
|
|
576
|
+
}
|
|
577
|
+
var fi = li, di = bs, vi = Os, hi = fi;
|
|
578
|
+
function gi(e) {
|
|
579
|
+
return di(e, hi, vi);
|
|
580
|
+
}
|
|
581
|
+
var pi = gi, Ue = pi, yi = 1, _i = Object.prototype, bi = _i.hasOwnProperty;
|
|
582
|
+
function mi(e, t, r, a, o, n) {
|
|
583
|
+
var c = r & yi, i = Ue(e), f = i.length, v = Ue(t), w = v.length;
|
|
584
|
+
if (f != w && !c)
|
|
585
|
+
return !1;
|
|
586
|
+
for (var y = f; y--; ) {
|
|
587
|
+
var _ = i[y];
|
|
588
|
+
if (!(c ? _ in t : bi.call(t, _)))
|
|
589
|
+
return !1;
|
|
590
|
+
}
|
|
591
|
+
var $ = n.get(e), m = n.get(t);
|
|
592
|
+
if ($ && m)
|
|
593
|
+
return $ == t && m == e;
|
|
594
|
+
var T = !0;
|
|
595
|
+
n.set(e, t), n.set(t, e);
|
|
596
|
+
for (var u = c; ++y < f; ) {
|
|
597
|
+
_ = i[y];
|
|
598
|
+
var d = e[_], p = t[_];
|
|
599
|
+
if (a)
|
|
600
|
+
var C = c ? a(p, d, _, t, e, n) : a(d, p, _, e, t, n);
|
|
601
|
+
if (!(C === void 0 ? d === p || o(d, p, r, a, n) : C)) {
|
|
602
|
+
T = !1;
|
|
603
|
+
break;
|
|
604
|
+
}
|
|
605
|
+
u || (u = _ == "constructor");
|
|
606
|
+
}
|
|
607
|
+
if (T && !u) {
|
|
608
|
+
var P = e.constructor, j = t.constructor;
|
|
609
|
+
P != j && "constructor" in e && "constructor" in t && !(typeof P == "function" && P instanceof P && typeof j == "function" && j instanceof j) && (T = !1);
|
|
610
|
+
}
|
|
611
|
+
return n.delete(e), n.delete(t), T;
|
|
612
|
+
}
|
|
613
|
+
var $i = mi, Ai = N, wi = M, Ti = Ai(wi, "DataView"), Si = Ti, Ci = N, Ei = M, ji = Ci(Ei, "Promise"), Oi = ji, Pi = N, Di = M, xi = Pi(Di, "Set"), Ii = xi, Li = N, Mi = M, ki = Li(Mi, "WeakMap"), Gi = ki, _e = Si, be = je, me = Oi, $e = Ii, Ae = Gi, mt = le, W = vt, Ke = "[object Map]", Ri = "[object Object]", Ve = "[object Promise]", We = "[object Set]", Ye = "[object WeakMap]", Je = "[object DataView]", qi = W(_e), Fi = W(be), Hi = W(me), Bi = W($e), zi = W(Ae), F = mt;
|
|
614
|
+
(_e && F(new _e(new ArrayBuffer(1))) != Je || be && F(new be()) != Ke || me && F(me.resolve()) != Ve || $e && F(new $e()) != We || Ae && F(new Ae()) != Ye) && (F = function(e) {
|
|
615
|
+
var t = mt(e), r = t == Ri ? e.constructor : void 0, a = r ? W(r) : "";
|
|
616
|
+
if (a)
|
|
617
|
+
switch (a) {
|
|
618
|
+
case qi:
|
|
619
|
+
return Je;
|
|
620
|
+
case Fi:
|
|
621
|
+
return Ke;
|
|
622
|
+
case Hi:
|
|
623
|
+
return Ve;
|
|
624
|
+
case Bi:
|
|
625
|
+
return We;
|
|
626
|
+
case zi:
|
|
627
|
+
return Ye;
|
|
628
|
+
}
|
|
629
|
+
return t;
|
|
630
|
+
});
|
|
631
|
+
var Ni = F, pe = $n, Ui = gt, Ki = ds, Vi = $i, Xe = Ni, Ze = Oe, Qe = yt, Wi = bt, Yi = 1, et = "[object Arguments]", tt = "[object Array]", ee = "[object Object]", Ji = Object.prototype, rt = Ji.hasOwnProperty;
|
|
632
|
+
function Xi(e, t, r, a, o, n) {
|
|
633
|
+
var c = Ze(e), i = Ze(t), f = c ? tt : Xe(e), v = i ? tt : Xe(t);
|
|
634
|
+
f = f == et ? ee : f, v = v == et ? ee : v;
|
|
635
|
+
var w = f == ee, y = v == ee, _ = f == v;
|
|
636
|
+
if (_ && Qe(e)) {
|
|
637
|
+
if (!Qe(t))
|
|
638
|
+
return !1;
|
|
639
|
+
c = !0, w = !1;
|
|
640
|
+
}
|
|
641
|
+
if (_ && !w)
|
|
642
|
+
return n || (n = new pe()), c || Wi(e) ? Ui(e, t, r, a, o, n) : Ki(e, t, f, r, a, o, n);
|
|
643
|
+
if (!(r & Yi)) {
|
|
644
|
+
var $ = w && rt.call(e, "__wrapped__"), m = y && rt.call(t, "__wrapped__");
|
|
645
|
+
if ($ || m) {
|
|
646
|
+
var T = $ ? e.value() : e, u = m ? t.value() : t;
|
|
647
|
+
return n || (n = new pe()), o(T, u, r, a, n);
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
return _ ? (n || (n = new pe()), Vi(e, t, r, a, o, n)) : !1;
|
|
651
|
+
}
|
|
652
|
+
var Zi = Xi, Qi = Zi, at = ve;
|
|
653
|
+
function $t(e, t, r, a, o) {
|
|
654
|
+
return e === t ? !0 : e == null || t == null || !at(e) && !at(t) ? e !== e && t !== t : Qi(e, t, r, a, $t, o);
|
|
655
|
+
}
|
|
656
|
+
var ec = $t, tc = ec;
|
|
657
|
+
function rc(e, t) {
|
|
658
|
+
return tc(e, t);
|
|
659
|
+
}
|
|
660
|
+
var ac = rc;
|
|
661
|
+
const nc = /* @__PURE__ */ jt(ac);
|
|
662
|
+
function sc(e, t) {
|
|
663
|
+
return Object.is(e, t);
|
|
664
|
+
}
|
|
665
|
+
function oe(e, t, r = Object.is) {
|
|
666
|
+
if (Object.is(e, t)) return !0;
|
|
667
|
+
if (typeof e != "object" || e === null || typeof t != "object" || t === null) return !1;
|
|
668
|
+
const a = Object.keys(e), o = Object.keys(t);
|
|
669
|
+
if (a.length !== o.length) return !1;
|
|
670
|
+
for (const n of a)
|
|
671
|
+
if (!Object.prototype.hasOwnProperty.call(t, n) || !r(e[n], t[n])) return !1;
|
|
672
|
+
return !0;
|
|
673
|
+
}
|
|
674
|
+
function Pe(e, t) {
|
|
675
|
+
return oe(e, t, oe);
|
|
676
|
+
}
|
|
677
|
+
function oc(e, t) {
|
|
678
|
+
return oe(e, t, Pe);
|
|
679
|
+
}
|
|
680
|
+
const ic = nc;
|
|
681
|
+
function De(e) {
|
|
682
|
+
return !e || e === "strict" ? sc : e === "shallow" ? oe : e === "shallow2" ? Pe : e === "shallow3" ? oc : e === "deep" ? ic : e;
|
|
683
|
+
}
|
|
684
|
+
function nt(e) {
|
|
685
|
+
const t = e;
|
|
686
|
+
let r = e;
|
|
687
|
+
return Object.assign(
|
|
688
|
+
(...a) => r(...a),
|
|
689
|
+
{
|
|
690
|
+
getOriginal: () => t,
|
|
691
|
+
getCurrent: () => r,
|
|
692
|
+
setCurrent(a) {
|
|
693
|
+
r = a;
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
);
|
|
697
|
+
}
|
|
698
|
+
function cc(e) {
|
|
699
|
+
return typeof e == "function" && "getOriginal" in e && "getCurrent" in e && "setCurrent" in e;
|
|
700
|
+
}
|
|
701
|
+
function mc(e, t, r) {
|
|
702
|
+
return e ? typeof t == "function" ? cc(e.value) ? (e.value.setCurrent(t), [e.value, !0]) : [nt(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" ? [nt(t), !1] : [t, !1];
|
|
703
|
+
}
|
|
704
|
+
const ie = ye((e) => e()), J = Symbol.for("atomirx.atom"), we = Symbol.for("atomirx.derived"), Te = Symbol.for("atomirx.scoped"), Se = Symbol.for("atomirx.pool");
|
|
705
|
+
function X(e) {
|
|
706
|
+
return Object.assign(e, {
|
|
707
|
+
use(t) {
|
|
708
|
+
if (typeof t != "function")
|
|
709
|
+
return X(Object.assign({}, e, t));
|
|
710
|
+
const r = t(e);
|
|
711
|
+
return r ? typeof r == "object" || typeof r == "function" ? X(r) : r : e;
|
|
712
|
+
}
|
|
713
|
+
});
|
|
714
|
+
}
|
|
715
|
+
function I(e) {
|
|
716
|
+
return e !== null && typeof e == "object" && "then" in e && typeof e.then == "function";
|
|
717
|
+
}
|
|
718
|
+
const Ce = /* @__PURE__ */ new WeakMap();
|
|
719
|
+
function st(e) {
|
|
720
|
+
return Ce.get(e);
|
|
721
|
+
}
|
|
722
|
+
function te(e, t) {
|
|
723
|
+
if (t.length === 1) {
|
|
724
|
+
if (e === "allSettled") {
|
|
725
|
+
const a = Promise.allSettled(t).then(() => {
|
|
726
|
+
});
|
|
727
|
+
return Ce.set(a, { type: e, promises: t }), a;
|
|
728
|
+
}
|
|
729
|
+
return t[0];
|
|
730
|
+
}
|
|
731
|
+
const r = Promise[e](t);
|
|
732
|
+
return r.catch(() => {
|
|
733
|
+
}), Ce.set(r, { type: e, promises: t }), r;
|
|
734
|
+
}
|
|
735
|
+
function $c(e, t) {
|
|
736
|
+
if (e === t) return !0;
|
|
737
|
+
if (!e || !t) return !1;
|
|
738
|
+
const r = st(e), a = st(t);
|
|
739
|
+
return !!r && !!a && Pe(r, a);
|
|
740
|
+
}
|
|
741
|
+
const H = /* @__PURE__ */ new WeakMap();
|
|
742
|
+
function L(e) {
|
|
743
|
+
const t = H.get(e);
|
|
744
|
+
if (t)
|
|
745
|
+
return t;
|
|
746
|
+
const r = { status: "pending", promise: e };
|
|
747
|
+
return H.set(e, r), e.then(
|
|
748
|
+
(a) => {
|
|
749
|
+
const o = H.get(e);
|
|
750
|
+
(o == null ? void 0 : o.status) === "pending" && H.set(e, { status: "fulfilled", value: a });
|
|
751
|
+
},
|
|
752
|
+
(a) => {
|
|
753
|
+
const o = H.get(e);
|
|
754
|
+
(o == null ? void 0 : o.status) === "pending" && H.set(e, { status: "rejected", error: a });
|
|
755
|
+
}
|
|
756
|
+
), r;
|
|
757
|
+
}
|
|
758
|
+
function Ac(e) {
|
|
759
|
+
if (!I(e))
|
|
760
|
+
return e;
|
|
761
|
+
const r = L(e);
|
|
762
|
+
switch (r.status) {
|
|
763
|
+
case "pending":
|
|
764
|
+
throw r.promise;
|
|
765
|
+
case "rejected":
|
|
766
|
+
throw r.error;
|
|
767
|
+
case "fulfilled":
|
|
768
|
+
return r.value;
|
|
769
|
+
}
|
|
770
|
+
}
|
|
771
|
+
function wc(e) {
|
|
772
|
+
return I(e) ? L(e).status === "pending" : !1;
|
|
773
|
+
}
|
|
774
|
+
function Tc(e) {
|
|
775
|
+
return I(e) ? L(e).status === "fulfilled" : !1;
|
|
776
|
+
}
|
|
777
|
+
function Sc(e) {
|
|
778
|
+
return I(e) ? L(e).status === "rejected" : !1;
|
|
779
|
+
}
|
|
780
|
+
function uc(e, t = {}) {
|
|
781
|
+
var j, D, k;
|
|
782
|
+
const r = B(), a = De(t.equals);
|
|
783
|
+
let o = null;
|
|
784
|
+
const n = B();
|
|
785
|
+
let c = !1;
|
|
786
|
+
const i = (s) => {
|
|
787
|
+
o && (o.abort(s), o = null), n.emitAndClear();
|
|
788
|
+
}, f = () => (o = new AbortController(), X({
|
|
789
|
+
signal: o.signal,
|
|
790
|
+
onCleanup: n.on
|
|
791
|
+
})), v = typeof e == "function";
|
|
792
|
+
let y = v ? e(f()) : e, _ = !1;
|
|
793
|
+
I(y) && L(y);
|
|
794
|
+
const $ = () => {
|
|
795
|
+
r.forEach((s) => {
|
|
796
|
+
ie.current(s);
|
|
797
|
+
});
|
|
798
|
+
}, m = (s) => {
|
|
799
|
+
if (c) return;
|
|
800
|
+
let l;
|
|
801
|
+
typeof s == "function" ? l = s(y) : l = s, !a(l, y) && (i("value changed"), y = l, _ = !0, I(y) && L(y), $());
|
|
802
|
+
}, T = () => {
|
|
803
|
+
if (c) return;
|
|
804
|
+
i("reset");
|
|
805
|
+
const s = v ? e(f()) : e;
|
|
806
|
+
I(s) && L(s);
|
|
807
|
+
const l = !a(s, y);
|
|
808
|
+
y = s, _ = !1, l && $();
|
|
809
|
+
}, u = () => _, d = () => {
|
|
810
|
+
c || (c = !0, i("disposed"), r.clear());
|
|
811
|
+
}, p = () => {
|
|
812
|
+
}, C = (s) => c ? p : r.on(s), P = X({
|
|
813
|
+
[J]: !0,
|
|
814
|
+
meta: t.meta,
|
|
815
|
+
/**
|
|
816
|
+
* Get the current value (raw, including Promises).
|
|
817
|
+
*/
|
|
818
|
+
get() {
|
|
819
|
+
return y;
|
|
820
|
+
},
|
|
821
|
+
use: void 0,
|
|
822
|
+
set: m,
|
|
823
|
+
reset: T,
|
|
824
|
+
dirty: u,
|
|
825
|
+
_dispose: d,
|
|
826
|
+
on: C
|
|
827
|
+
});
|
|
828
|
+
return (k = (D = Z).current) == null || k.call(D, {
|
|
829
|
+
type: "mutable",
|
|
830
|
+
key: (j = t.meta) == null ? void 0 : j.key,
|
|
831
|
+
meta: t.meta,
|
|
832
|
+
instance: P
|
|
833
|
+
}), P;
|
|
834
|
+
}
|
|
835
|
+
function Cc(e) {
|
|
836
|
+
return e;
|
|
837
|
+
}
|
|
838
|
+
let re = 0;
|
|
839
|
+
function lc(e) {
|
|
840
|
+
if (re++, re === 1) {
|
|
841
|
+
let t = /* @__PURE__ */ new Set();
|
|
842
|
+
const r = (a) => {
|
|
843
|
+
t.add(a);
|
|
844
|
+
};
|
|
845
|
+
try {
|
|
846
|
+
return ye.use([ie(() => r)], e);
|
|
847
|
+
} finally {
|
|
848
|
+
re--, ye.use([ie(() => r)], () => {
|
|
849
|
+
for (; t.size > 0; ) {
|
|
850
|
+
const a = t;
|
|
851
|
+
t = /* @__PURE__ */ new Set();
|
|
852
|
+
for (const o of a)
|
|
853
|
+
o();
|
|
854
|
+
}
|
|
855
|
+
});
|
|
856
|
+
}
|
|
857
|
+
}
|
|
858
|
+
try {
|
|
859
|
+
return e();
|
|
860
|
+
} finally {
|
|
861
|
+
re--;
|
|
862
|
+
}
|
|
863
|
+
}
|
|
864
|
+
function Ec(e, t) {
|
|
865
|
+
let r, a;
|
|
866
|
+
const o = (i) => {
|
|
867
|
+
i && typeof i == "object" && "dispose" in i && typeof i.dispose == "function" && i.dispose();
|
|
868
|
+
}, n = () => {
|
|
869
|
+
o(r), r = void 0;
|
|
870
|
+
};
|
|
871
|
+
return Object.assign(() => {
|
|
872
|
+
var i, f;
|
|
873
|
+
return r || (a ? r = a(e) : r = e(), (f = (i = Z).current) == null || f.call(i, {
|
|
874
|
+
type: "module",
|
|
875
|
+
key: t == null ? void 0 : t.key,
|
|
876
|
+
meta: t == null ? void 0 : t.meta,
|
|
877
|
+
instance: r
|
|
878
|
+
})), r;
|
|
879
|
+
}, {
|
|
880
|
+
key: t == null ? void 0 : t.key,
|
|
881
|
+
override: (i) => {
|
|
882
|
+
if (r !== void 0)
|
|
883
|
+
throw new Error(
|
|
884
|
+
"Cannot override after initialization. Call override() before accessing the service."
|
|
885
|
+
);
|
|
886
|
+
a = i;
|
|
887
|
+
},
|
|
888
|
+
reset: () => {
|
|
889
|
+
a = void 0, n();
|
|
890
|
+
},
|
|
891
|
+
invalidate: () => {
|
|
892
|
+
a = void 0, n();
|
|
893
|
+
},
|
|
894
|
+
isOverridden: () => a !== void 0,
|
|
895
|
+
isInitialized: () => r !== void 0
|
|
896
|
+
});
|
|
897
|
+
}
|
|
898
|
+
function ot(e) {
|
|
899
|
+
return e !== null && typeof e == "object" && J in e && e[J] === !0;
|
|
900
|
+
}
|
|
901
|
+
function fc(e) {
|
|
902
|
+
return e !== null && typeof e == "object" && we in e && e[we] === !0;
|
|
903
|
+
}
|
|
904
|
+
function q(e) {
|
|
905
|
+
if (fc(e))
|
|
906
|
+
return e.state();
|
|
907
|
+
const t = e.get();
|
|
908
|
+
if (!I(t))
|
|
909
|
+
return {
|
|
910
|
+
status: "ready",
|
|
911
|
+
value: t
|
|
912
|
+
};
|
|
913
|
+
const r = L(t);
|
|
914
|
+
switch (r.status) {
|
|
915
|
+
case "fulfilled":
|
|
916
|
+
return {
|
|
917
|
+
status: "ready",
|
|
918
|
+
value: r.value
|
|
919
|
+
};
|
|
920
|
+
case "rejected":
|
|
921
|
+
return {
|
|
922
|
+
status: "error",
|
|
923
|
+
error: r.error
|
|
924
|
+
};
|
|
925
|
+
case "pending":
|
|
926
|
+
return {
|
|
927
|
+
status: "loading",
|
|
928
|
+
promise: r.promise
|
|
929
|
+
};
|
|
930
|
+
}
|
|
931
|
+
}
|
|
932
|
+
const dc = typeof AggregateError < "u" ? AggregateError : class extends Error {
|
|
933
|
+
constructor(r, a) {
|
|
934
|
+
super(a);
|
|
935
|
+
O(this, "errors");
|
|
936
|
+
this.name = "AggregateError", this.errors = r;
|
|
937
|
+
}
|
|
938
|
+
};
|
|
939
|
+
class Oc extends Error {
|
|
940
|
+
constructor(r, a = "All atoms rejected") {
|
|
941
|
+
super(a);
|
|
942
|
+
O(this, "errors");
|
|
943
|
+
this.name = "AllAtomsRejectedError", this.errors = r;
|
|
944
|
+
}
|
|
945
|
+
}
|
|
946
|
+
function vc(e) {
|
|
947
|
+
let t = e;
|
|
948
|
+
const r = (n) => {
|
|
949
|
+
throw new Error(
|
|
950
|
+
`ScopedAtom.${n}() is not allowed. ScopedAtom cannot be accessed directly - use read(virtualAtom) in select context instead. This prevents orphan atom references and ensures proper reactive tracking.`
|
|
951
|
+
);
|
|
952
|
+
}, a = () => {
|
|
953
|
+
if (!t)
|
|
954
|
+
throw new Error(
|
|
955
|
+
"ScopedAtom._getAtom() was called after disposal. ScopedAtoms are only valid during select() execution. Always use from(pool, params) inside the computation, not outside."
|
|
956
|
+
);
|
|
957
|
+
return t;
|
|
958
|
+
};
|
|
959
|
+
return {
|
|
960
|
+
[J]: !0,
|
|
961
|
+
[Te]: !0,
|
|
962
|
+
get meta() {
|
|
963
|
+
return r("meta");
|
|
964
|
+
},
|
|
965
|
+
get() {
|
|
966
|
+
return r("get");
|
|
967
|
+
},
|
|
968
|
+
on(n) {
|
|
969
|
+
return r("on");
|
|
970
|
+
},
|
|
971
|
+
_getAtom() {
|
|
972
|
+
return a();
|
|
973
|
+
},
|
|
974
|
+
_dispose() {
|
|
975
|
+
t = void 0;
|
|
976
|
+
}
|
|
977
|
+
};
|
|
978
|
+
}
|
|
979
|
+
function G(e) {
|
|
980
|
+
return e !== null && typeof e == "object" && Te in e && e[Te] === !0;
|
|
981
|
+
}
|
|
982
|
+
function hc(e, t = null) {
|
|
983
|
+
const r = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map();
|
|
984
|
+
let n = !0, c = !1;
|
|
985
|
+
const i = (s) => {
|
|
986
|
+
if (!n)
|
|
987
|
+
throw new Error(
|
|
988
|
+
`${s}() 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.`
|
|
989
|
+
);
|
|
990
|
+
}, f = (s) => {
|
|
991
|
+
i("track"), !c && (G(s) ? r.add(s._getAtom()) : r.add(s));
|
|
992
|
+
}, v = (s, l) => {
|
|
993
|
+
i("from"), a.has(s) || a.set(s, /* @__PURE__ */ new Set()), a.get(s).add(l);
|
|
994
|
+
const g = s._getAtom(l);
|
|
995
|
+
if (o.has(g))
|
|
996
|
+
return o.get(g);
|
|
997
|
+
const h = vc(g);
|
|
998
|
+
return o.set(g, h), h;
|
|
999
|
+
}, w = (s) => {
|
|
1000
|
+
i("read"), f(s);
|
|
1001
|
+
const l = G(s) ? s._getAtom() : s, g = q(l);
|
|
1002
|
+
switch (g.status) {
|
|
1003
|
+
case "ready":
|
|
1004
|
+
return g.value;
|
|
1005
|
+
case "error":
|
|
1006
|
+
throw g.error;
|
|
1007
|
+
case "loading":
|
|
1008
|
+
throw g.promise;
|
|
1009
|
+
}
|
|
1010
|
+
}, y = (s) => {
|
|
1011
|
+
i("all");
|
|
1012
|
+
const l = [], g = [];
|
|
1013
|
+
for (const h of s) {
|
|
1014
|
+
f(h);
|
|
1015
|
+
const E = G(h) ? h._getAtom() : h, b = q(E);
|
|
1016
|
+
switch (b.status) {
|
|
1017
|
+
case "ready":
|
|
1018
|
+
l.push(b.value);
|
|
1019
|
+
break;
|
|
1020
|
+
case "error":
|
|
1021
|
+
throw b.error;
|
|
1022
|
+
case "loading":
|
|
1023
|
+
g.push(b.promise);
|
|
1024
|
+
break;
|
|
1025
|
+
}
|
|
1026
|
+
}
|
|
1027
|
+
if (g.length > 0)
|
|
1028
|
+
throw te("all", g);
|
|
1029
|
+
return l;
|
|
1030
|
+
}, _ = (s) => {
|
|
1031
|
+
i("race");
|
|
1032
|
+
const l = [], g = Object.entries(s);
|
|
1033
|
+
for (const [h, E] of g) {
|
|
1034
|
+
f(E);
|
|
1035
|
+
const b = G(E) ? E._getAtom() : E, A = q(b);
|
|
1036
|
+
switch (A.status) {
|
|
1037
|
+
case "ready":
|
|
1038
|
+
return {
|
|
1039
|
+
key: h,
|
|
1040
|
+
value: A.value
|
|
1041
|
+
};
|
|
1042
|
+
case "error":
|
|
1043
|
+
throw A.error;
|
|
1044
|
+
case "loading":
|
|
1045
|
+
l.push(A.promise);
|
|
1046
|
+
break;
|
|
1047
|
+
}
|
|
1048
|
+
}
|
|
1049
|
+
throw l.length > 0 ? te("race", l) : new Error("race() called with no atoms");
|
|
1050
|
+
}, $ = (s) => {
|
|
1051
|
+
i("any");
|
|
1052
|
+
const l = [], g = [], h = Object.entries(s);
|
|
1053
|
+
for (const [E, b] of h) {
|
|
1054
|
+
f(b);
|
|
1055
|
+
const A = G(b) ? b._getAtom() : b, x = q(A);
|
|
1056
|
+
switch (x.status) {
|
|
1057
|
+
case "ready":
|
|
1058
|
+
return {
|
|
1059
|
+
key: E,
|
|
1060
|
+
value: x.value
|
|
1061
|
+
};
|
|
1062
|
+
case "error":
|
|
1063
|
+
l.push(x.error);
|
|
1064
|
+
break;
|
|
1065
|
+
case "loading":
|
|
1066
|
+
g.push(x.promise);
|
|
1067
|
+
break;
|
|
1068
|
+
}
|
|
1069
|
+
}
|
|
1070
|
+
throw g.length > 0 ? te("race", g) : new dc(l, "All atoms rejected");
|
|
1071
|
+
}, m = (s) => {
|
|
1072
|
+
i("settled");
|
|
1073
|
+
const l = [], g = [];
|
|
1074
|
+
for (const h of s) {
|
|
1075
|
+
f(h);
|
|
1076
|
+
const E = G(h) ? h._getAtom() : h, b = q(E);
|
|
1077
|
+
switch (b.status) {
|
|
1078
|
+
case "ready":
|
|
1079
|
+
l.push({ status: "ready", value: b.value });
|
|
1080
|
+
break;
|
|
1081
|
+
case "error":
|
|
1082
|
+
l.push({ status: "error", error: b.error });
|
|
1083
|
+
break;
|
|
1084
|
+
case "loading":
|
|
1085
|
+
g.push(b.promise);
|
|
1086
|
+
break;
|
|
1087
|
+
}
|
|
1088
|
+
}
|
|
1089
|
+
if (g.length > 0)
|
|
1090
|
+
throw te("allSettled", g);
|
|
1091
|
+
return l;
|
|
1092
|
+
}, T = (s) => {
|
|
1093
|
+
i("safe");
|
|
1094
|
+
try {
|
|
1095
|
+
return [void 0, s()];
|
|
1096
|
+
} catch (l) {
|
|
1097
|
+
if (I(l))
|
|
1098
|
+
throw l;
|
|
1099
|
+
return [l, void 0];
|
|
1100
|
+
}
|
|
1101
|
+
};
|
|
1102
|
+
function u(s) {
|
|
1103
|
+
if (i("state"), ot(s)) {
|
|
1104
|
+
f(s);
|
|
1105
|
+
const l = G(s) ? s._getAtom() : s, g = q(l);
|
|
1106
|
+
switch (g.status) {
|
|
1107
|
+
case "ready":
|
|
1108
|
+
return {
|
|
1109
|
+
status: "ready",
|
|
1110
|
+
value: g.value,
|
|
1111
|
+
error: void 0
|
|
1112
|
+
};
|
|
1113
|
+
case "error":
|
|
1114
|
+
return {
|
|
1115
|
+
status: "error",
|
|
1116
|
+
value: void 0,
|
|
1117
|
+
error: g.error
|
|
1118
|
+
};
|
|
1119
|
+
case "loading":
|
|
1120
|
+
return {
|
|
1121
|
+
status: "loading",
|
|
1122
|
+
value: void 0,
|
|
1123
|
+
error: void 0
|
|
1124
|
+
};
|
|
1125
|
+
}
|
|
1126
|
+
}
|
|
1127
|
+
try {
|
|
1128
|
+
return {
|
|
1129
|
+
status: "ready",
|
|
1130
|
+
value: s(),
|
|
1131
|
+
error: void 0
|
|
1132
|
+
};
|
|
1133
|
+
} catch (l) {
|
|
1134
|
+
return I(l) ? {
|
|
1135
|
+
status: "loading",
|
|
1136
|
+
value: void 0,
|
|
1137
|
+
error: void 0
|
|
1138
|
+
} : {
|
|
1139
|
+
status: "error",
|
|
1140
|
+
value: void 0,
|
|
1141
|
+
error: l
|
|
1142
|
+
};
|
|
1143
|
+
}
|
|
1144
|
+
}
|
|
1145
|
+
const d = (s) => {
|
|
1146
|
+
if (typeof s == "boolean")
|
|
1147
|
+
return s;
|
|
1148
|
+
if (typeof s == "function") {
|
|
1149
|
+
const l = s();
|
|
1150
|
+
return typeof l == "boolean" ? l : !!w(l);
|
|
1151
|
+
}
|
|
1152
|
+
return !!w(s);
|
|
1153
|
+
}, p = (s) => {
|
|
1154
|
+
i("and");
|
|
1155
|
+
for (const l of s)
|
|
1156
|
+
if (!d(l))
|
|
1157
|
+
return !1;
|
|
1158
|
+
return !0;
|
|
1159
|
+
}, C = (s) => {
|
|
1160
|
+
i("or");
|
|
1161
|
+
for (const l of s)
|
|
1162
|
+
if (d(l))
|
|
1163
|
+
return !0;
|
|
1164
|
+
return !1;
|
|
1165
|
+
};
|
|
1166
|
+
function P(s) {
|
|
1167
|
+
if (i("untrack"), ot(s)) {
|
|
1168
|
+
const g = G(s) ? s._getAtom() : s, h = q(g);
|
|
1169
|
+
switch (h.status) {
|
|
1170
|
+
case "ready":
|
|
1171
|
+
return h.value;
|
|
1172
|
+
case "error":
|
|
1173
|
+
throw h.error;
|
|
1174
|
+
case "loading":
|
|
1175
|
+
throw h.promise;
|
|
1176
|
+
}
|
|
1177
|
+
}
|
|
1178
|
+
const l = c;
|
|
1179
|
+
c = !0;
|
|
1180
|
+
try {
|
|
1181
|
+
return s();
|
|
1182
|
+
} finally {
|
|
1183
|
+
c = l;
|
|
1184
|
+
}
|
|
1185
|
+
}
|
|
1186
|
+
const j = X({
|
|
1187
|
+
read: w,
|
|
1188
|
+
from: v,
|
|
1189
|
+
track: f,
|
|
1190
|
+
all: y,
|
|
1191
|
+
any: $,
|
|
1192
|
+
race: _,
|
|
1193
|
+
settled: m,
|
|
1194
|
+
safe: T,
|
|
1195
|
+
state: u,
|
|
1196
|
+
and: p,
|
|
1197
|
+
or: C,
|
|
1198
|
+
untrack: P
|
|
1199
|
+
});
|
|
1200
|
+
let D;
|
|
1201
|
+
try {
|
|
1202
|
+
const s = e(j);
|
|
1203
|
+
if (I(s))
|
|
1204
|
+
throw new Error(
|
|
1205
|
+
"select() selector must return a synchronous value, not a Promise. For async data, create an async atom with atom(Promise) and use read() to read it."
|
|
1206
|
+
);
|
|
1207
|
+
D = {
|
|
1208
|
+
value: s,
|
|
1209
|
+
error: void 0,
|
|
1210
|
+
promise: void 0,
|
|
1211
|
+
dependencies: r,
|
|
1212
|
+
// Backward compatibility
|
|
1213
|
+
_atomDeps: r,
|
|
1214
|
+
_poolDeps: a
|
|
1215
|
+
};
|
|
1216
|
+
} catch (s) {
|
|
1217
|
+
I(s) ? D = {
|
|
1218
|
+
value: void 0,
|
|
1219
|
+
error: void 0,
|
|
1220
|
+
promise: s,
|
|
1221
|
+
dependencies: r,
|
|
1222
|
+
_atomDeps: r,
|
|
1223
|
+
_poolDeps: a
|
|
1224
|
+
} : D = {
|
|
1225
|
+
value: void 0,
|
|
1226
|
+
error: s,
|
|
1227
|
+
promise: void 0,
|
|
1228
|
+
dependencies: r,
|
|
1229
|
+
_atomDeps: r,
|
|
1230
|
+
_poolDeps: a
|
|
1231
|
+
};
|
|
1232
|
+
} finally {
|
|
1233
|
+
n = !1;
|
|
1234
|
+
for (const s of o.values())
|
|
1235
|
+
s._dispose();
|
|
1236
|
+
o.clear();
|
|
1237
|
+
}
|
|
1238
|
+
return { result: D, startTracking: (s) => {
|
|
1239
|
+
const l = [];
|
|
1240
|
+
for (const g of r)
|
|
1241
|
+
l.push(g.on(s));
|
|
1242
|
+
for (const [g, h] of a)
|
|
1243
|
+
for (const E of h)
|
|
1244
|
+
l.push(g._onRemove(E, s));
|
|
1245
|
+
return () => {
|
|
1246
|
+
for (const g of l)
|
|
1247
|
+
g();
|
|
1248
|
+
};
|
|
1249
|
+
} };
|
|
1250
|
+
}
|
|
1251
|
+
function it(e) {
|
|
1252
|
+
if (e == null)
|
|
1253
|
+
throw new Promise(() => {
|
|
1254
|
+
});
|
|
1255
|
+
if (I(e)) {
|
|
1256
|
+
const t = L(e);
|
|
1257
|
+
if (t.status === "pending")
|
|
1258
|
+
throw t.promise;
|
|
1259
|
+
if (t.status === "fulfilled")
|
|
1260
|
+
return t.value;
|
|
1261
|
+
throw t.error;
|
|
1262
|
+
}
|
|
1263
|
+
return e;
|
|
1264
|
+
}
|
|
1265
|
+
function gc() {
|
|
1266
|
+
return (e) => ({
|
|
1267
|
+
...e,
|
|
1268
|
+
ready: (t, r) => {
|
|
1269
|
+
if (typeof t == "function") {
|
|
1270
|
+
const n = t();
|
|
1271
|
+
if (I(n))
|
|
1272
|
+
throw new Error(
|
|
1273
|
+
"ready(callback) overload does not support async callbacks. Use ready(atom, selector?) instead."
|
|
1274
|
+
);
|
|
1275
|
+
return it(n);
|
|
1276
|
+
}
|
|
1277
|
+
const a = e.read(t), o = r ? r(a) : a;
|
|
1278
|
+
return it(o);
|
|
1279
|
+
}
|
|
1280
|
+
});
|
|
1281
|
+
}
|
|
1282
|
+
function pc(e, t = {}) {
|
|
1283
|
+
var s, l, g;
|
|
1284
|
+
const r = B(), a = De(t.equals), o = "fallback" in t, n = t.fallback;
|
|
1285
|
+
let c, i, f = null, v = !1, w = !1, y = !1, _ = 0, $ = null, m = null;
|
|
1286
|
+
const T = /* @__PURE__ */ new Map();
|
|
1287
|
+
let u = [], d;
|
|
1288
|
+
const p = (h) => {
|
|
1289
|
+
var b, A, x;
|
|
1290
|
+
(b = t.onError) == null || b.call(t, h);
|
|
1291
|
+
const E = t._errorSource ?? d;
|
|
1292
|
+
(x = (A = St).current) == null || x.call(A, { source: E, error: h });
|
|
1293
|
+
}, C = () => {
|
|
1294
|
+
r.forEach((h) => {
|
|
1295
|
+
ie.current(h);
|
|
1296
|
+
});
|
|
1297
|
+
}, P = (h) => {
|
|
1298
|
+
const E = h._atomDeps, b = h._poolDeps;
|
|
1299
|
+
for (const [A, x] of T)
|
|
1300
|
+
E.has(A) || (x(), T.delete(A));
|
|
1301
|
+
for (const A of E)
|
|
1302
|
+
if (!T.has(A)) {
|
|
1303
|
+
const x = A.on(() => {
|
|
1304
|
+
j();
|
|
1305
|
+
});
|
|
1306
|
+
T.set(A, x);
|
|
1307
|
+
}
|
|
1308
|
+
for (const A of u)
|
|
1309
|
+
A();
|
|
1310
|
+
u = [];
|
|
1311
|
+
for (const [A, x] of b)
|
|
1312
|
+
for (const R of x) {
|
|
1313
|
+
const At = A._onRemove(R, () => {
|
|
1314
|
+
j();
|
|
1315
|
+
});
|
|
1316
|
+
u.push(At);
|
|
1317
|
+
}
|
|
1318
|
+
}, j = (h = !1) => {
|
|
1319
|
+
const E = ++_;
|
|
1320
|
+
return w = !0, i = void 0, $ || (f = new Promise((b, A) => {
|
|
1321
|
+
$ = b, m = A;
|
|
1322
|
+
}), f.catch(() => {
|
|
1323
|
+
})), (async () => {
|
|
1324
|
+
for (; ; ) {
|
|
1325
|
+
if (_ !== E) return;
|
|
1326
|
+
const { result: b } = hc((R) => e(R.use(gc())));
|
|
1327
|
+
if (P(b), b.promise) {
|
|
1328
|
+
h || C();
|
|
1329
|
+
try {
|
|
1330
|
+
if (await b.promise, _ !== E) return;
|
|
1331
|
+
continue;
|
|
1332
|
+
} catch (R) {
|
|
1333
|
+
if (_ !== E) return;
|
|
1334
|
+
w = !1, i = R, m == null || m(R), $ = null, m = null, p(R), C();
|
|
1335
|
+
return;
|
|
1336
|
+
}
|
|
1337
|
+
}
|
|
1338
|
+
if (b.error !== void 0) {
|
|
1339
|
+
w = !1, i = b.error, m == null || m(b.error), $ = null, m = null, p(b.error), h || C();
|
|
1340
|
+
return;
|
|
1341
|
+
}
|
|
1342
|
+
const A = b.value, x = !c;
|
|
1343
|
+
w = !1, i = void 0, (!c || !a(A, c.value)) && (c = { value: A }, (x || !h) && C()), $ == null || $(A), $ = null, m = null;
|
|
1344
|
+
return;
|
|
1345
|
+
}
|
|
1346
|
+
})(), f;
|
|
1347
|
+
}, D = () => {
|
|
1348
|
+
v || (v = !0, j(!0));
|
|
1349
|
+
}, k = {
|
|
1350
|
+
[J]: !0,
|
|
1351
|
+
[we]: !0,
|
|
1352
|
+
meta: t.meta,
|
|
1353
|
+
/**
|
|
1354
|
+
* Get the computed value as a Promise.
|
|
1355
|
+
* Always returns Promise<T>, even for sync computations.
|
|
1356
|
+
*/
|
|
1357
|
+
get() {
|
|
1358
|
+
return D(), f;
|
|
1359
|
+
},
|
|
1360
|
+
/**
|
|
1361
|
+
* The stale value - fallback or last resolved value.
|
|
1362
|
+
* - Without fallback: T | undefined
|
|
1363
|
+
* - With fallback: T (guaranteed)
|
|
1364
|
+
*/
|
|
1365
|
+
get staleValue() {
|
|
1366
|
+
if (D(), c)
|
|
1367
|
+
return c.value;
|
|
1368
|
+
if (o)
|
|
1369
|
+
return n;
|
|
1370
|
+
},
|
|
1371
|
+
/**
|
|
1372
|
+
* Get the current state of the derived atom.
|
|
1373
|
+
* Returns the actual underlying state (loading/ready/error).
|
|
1374
|
+
* Use staleValue if you need fallback/cached value during loading.
|
|
1375
|
+
*/
|
|
1376
|
+
state() {
|
|
1377
|
+
return D(), w ? { status: "loading", promise: f } : i !== void 0 ? { status: "error", error: i } : c ? { status: "ready", value: c.value } : { status: "loading", promise: f };
|
|
1378
|
+
},
|
|
1379
|
+
/**
|
|
1380
|
+
* Re-run the computation.
|
|
1381
|
+
*/
|
|
1382
|
+
refresh() {
|
|
1383
|
+
y || (v ? j() : D());
|
|
1384
|
+
},
|
|
1385
|
+
/**
|
|
1386
|
+
* Subscribe to value changes.
|
|
1387
|
+
* Returns no-op unsubscribe if atom is disposed.
|
|
1388
|
+
*/
|
|
1389
|
+
on(h) {
|
|
1390
|
+
return y ? () => {
|
|
1391
|
+
} : (D(), r.on(h));
|
|
1392
|
+
},
|
|
1393
|
+
/**
|
|
1394
|
+
* Dispose the derived atom, cleaning up all subscriptions.
|
|
1395
|
+
* After disposal, refresh is a no-op and new subscriptions return no-op unsubscribe.
|
|
1396
|
+
* @internal - Reserved for future use.
|
|
1397
|
+
*/
|
|
1398
|
+
_dispose() {
|
|
1399
|
+
if (!y) {
|
|
1400
|
+
y = !0;
|
|
1401
|
+
for (const h of T.values())
|
|
1402
|
+
h();
|
|
1403
|
+
T.clear();
|
|
1404
|
+
for (const h of u)
|
|
1405
|
+
h();
|
|
1406
|
+
u = [], r.clear();
|
|
1407
|
+
}
|
|
1408
|
+
}
|
|
1409
|
+
};
|
|
1410
|
+
return d = {
|
|
1411
|
+
type: "derived",
|
|
1412
|
+
key: (s = t.meta) == null ? void 0 : s.key,
|
|
1413
|
+
meta: t.meta,
|
|
1414
|
+
instance: k
|
|
1415
|
+
}, (g = (l = Z).current) == null || g.call(l, d), k;
|
|
1416
|
+
}
|
|
1417
|
+
function yc(e) {
|
|
1418
|
+
return (t) => {
|
|
1419
|
+
const r = new AbortController();
|
|
1420
|
+
return e(() => r.abort()), {
|
|
1421
|
+
...t,
|
|
1422
|
+
signal: r.signal,
|
|
1423
|
+
// Safe abort - no-op if already aborted
|
|
1424
|
+
abort: () => !r.signal.aborted && r.abort()
|
|
1425
|
+
};
|
|
1426
|
+
};
|
|
1427
|
+
}
|
|
1428
|
+
function Pc(e, t) {
|
|
1429
|
+
var i, f, v;
|
|
1430
|
+
let r = !1;
|
|
1431
|
+
const a = B(), o = {
|
|
1432
|
+
meta: t == null ? void 0 : t.meta,
|
|
1433
|
+
dispose: () => {
|
|
1434
|
+
r || (r = !0, a.emitAndClear());
|
|
1435
|
+
}
|
|
1436
|
+
}, n = {
|
|
1437
|
+
type: "effect",
|
|
1438
|
+
key: (i = t == null ? void 0 : t.meta) == null ? void 0 : i.key,
|
|
1439
|
+
meta: t == null ? void 0 : t.meta,
|
|
1440
|
+
instance: o
|
|
1441
|
+
};
|
|
1442
|
+
return pc(
|
|
1443
|
+
(w) => {
|
|
1444
|
+
if (a.emitAndClear(), r) return;
|
|
1445
|
+
const y = a.on, _ = w.use({ onCleanup: y }).use(yc(y));
|
|
1446
|
+
lc(() => e(_));
|
|
1447
|
+
},
|
|
1448
|
+
{
|
|
1449
|
+
onError: t == null ? void 0 : t.onError,
|
|
1450
|
+
_errorSource: n
|
|
1451
|
+
}
|
|
1452
|
+
).get(), (v = (f = Z).current) == null || v.call(f, n), o;
|
|
1453
|
+
}
|
|
1454
|
+
function Dc(e, t) {
|
|
1455
|
+
var m, T;
|
|
1456
|
+
const { gcTime: r, meta: a } = t, o = De(t.equals ?? "shallow"), n = [], c = /* @__PURE__ */ new WeakMap(), i = B(), f = (u) => u !== null && (typeof u == "object" || typeof u == "function"), v = (u) => {
|
|
1457
|
+
if (f(u)) {
|
|
1458
|
+
const d = c.get(u);
|
|
1459
|
+
if (d) {
|
|
1460
|
+
const p = n.indexOf(d);
|
|
1461
|
+
if (p !== -1)
|
|
1462
|
+
return { entry: d, index: p };
|
|
1463
|
+
c.delete(u);
|
|
1464
|
+
}
|
|
1465
|
+
}
|
|
1466
|
+
for (let d = 0; d < n.length; d++)
|
|
1467
|
+
if (o(n[d].params, u))
|
|
1468
|
+
return f(u) && c.set(u, n[d]), { entry: n[d], index: d };
|
|
1469
|
+
}, w = (u) => {
|
|
1470
|
+
const d = uc((s) => e(u, s));
|
|
1471
|
+
let p = {}, C = null;
|
|
1472
|
+
const P = (s) => {
|
|
1473
|
+
C && (clearTimeout(C), C = null);
|
|
1474
|
+
const l = p = {};
|
|
1475
|
+
if (I(s) && L(s).status === "pending") {
|
|
1476
|
+
const h = () => {
|
|
1477
|
+
p === l && P(s);
|
|
1478
|
+
};
|
|
1479
|
+
s.then(h, h);
|
|
1480
|
+
return;
|
|
1481
|
+
}
|
|
1482
|
+
C = setTimeout(() => {
|
|
1483
|
+
p === l && _(u);
|
|
1484
|
+
}, r);
|
|
1485
|
+
}, j = () => P(d.get()), D = () => {
|
|
1486
|
+
C && (clearTimeout(C), C = null), k();
|
|
1487
|
+
}, k = d.on(() => {
|
|
1488
|
+
p = {};
|
|
1489
|
+
const s = d.get();
|
|
1490
|
+
j(), i.emit({ type: "change", params: u, value: s });
|
|
1491
|
+
});
|
|
1492
|
+
return j(), {
|
|
1493
|
+
atom: d,
|
|
1494
|
+
params: u,
|
|
1495
|
+
disposeEmitter: B(),
|
|
1496
|
+
// For entry-specific removal listeners
|
|
1497
|
+
resetGC: j,
|
|
1498
|
+
cleanup: D
|
|
1499
|
+
};
|
|
1500
|
+
}, y = (u) => {
|
|
1501
|
+
const d = v(u);
|
|
1502
|
+
if (d)
|
|
1503
|
+
return d.entry;
|
|
1504
|
+
const p = w(u);
|
|
1505
|
+
return n.push(p), i.emit({ type: "create", params: u, value: p.atom.get() }), p;
|
|
1506
|
+
}, _ = (u) => {
|
|
1507
|
+
const d = v(u);
|
|
1508
|
+
if (!d) return;
|
|
1509
|
+
const { entry: p, index: C } = d;
|
|
1510
|
+
p.atom._dispose(), p.cleanup();
|
|
1511
|
+
const P = p.atom.get(), j = p.params;
|
|
1512
|
+
p.disposeEmitter.emitAndClear(), n.splice(C, 1), i.emit({
|
|
1513
|
+
type: "remove",
|
|
1514
|
+
params: j,
|
|
1515
|
+
value: P
|
|
1516
|
+
});
|
|
1517
|
+
}, $ = {
|
|
1518
|
+
// Symbol marker for type identification
|
|
1519
|
+
[Se]: !0,
|
|
1520
|
+
// User-provided metadata (for devtools, debugging)
|
|
1521
|
+
meta: a,
|
|
1522
|
+
/**
|
|
1523
|
+
* Returns the number of entries in the pool.
|
|
1524
|
+
*/
|
|
1525
|
+
size() {
|
|
1526
|
+
return n.length;
|
|
1527
|
+
},
|
|
1528
|
+
/**
|
|
1529
|
+
* Gets the value for params.
|
|
1530
|
+
* Creates entry if it doesn't exist.
|
|
1531
|
+
* Resets GC timer on access (keeps entry alive).
|
|
1532
|
+
*/
|
|
1533
|
+
get(u) {
|
|
1534
|
+
const d = y(u);
|
|
1535
|
+
return d.resetGC(), d.atom.get();
|
|
1536
|
+
},
|
|
1537
|
+
/**
|
|
1538
|
+
* Sets the value for params.
|
|
1539
|
+
* Creates entry if it doesn't exist.
|
|
1540
|
+
* Resets GC timer on access.
|
|
1541
|
+
*
|
|
1542
|
+
* Accepts either a direct value or an updater function.
|
|
1543
|
+
*/
|
|
1544
|
+
set(u, d) {
|
|
1545
|
+
const p = y(u);
|
|
1546
|
+
p.resetGC(), p.atom.set(d);
|
|
1547
|
+
},
|
|
1548
|
+
/**
|
|
1549
|
+
* Checks if an entry exists for params.
|
|
1550
|
+
* Does NOT create entry or reset GC timer.
|
|
1551
|
+
*/
|
|
1552
|
+
has(u) {
|
|
1553
|
+
return v(u) !== void 0;
|
|
1554
|
+
},
|
|
1555
|
+
/**
|
|
1556
|
+
* Removes an entry from the pool.
|
|
1557
|
+
* Triggers "remove" event and cleanup.
|
|
1558
|
+
*/
|
|
1559
|
+
remove(u) {
|
|
1560
|
+
_(u);
|
|
1561
|
+
},
|
|
1562
|
+
/**
|
|
1563
|
+
* Removes all entries from the pool.
|
|
1564
|
+
* Triggers "remove" event for each entry.
|
|
1565
|
+
*/
|
|
1566
|
+
clear() {
|
|
1567
|
+
const u = [...n];
|
|
1568
|
+
for (const d of u)
|
|
1569
|
+
_(d.params);
|
|
1570
|
+
},
|
|
1571
|
+
/**
|
|
1572
|
+
* Iterates over all entries in the pool.
|
|
1573
|
+
* Callback receives (value, params) for each entry.
|
|
1574
|
+
*/
|
|
1575
|
+
forEach(u) {
|
|
1576
|
+
for (const d of n)
|
|
1577
|
+
u(d.atom.get(), d.params);
|
|
1578
|
+
},
|
|
1579
|
+
/**
|
|
1580
|
+
* Subscribes to pool events.
|
|
1581
|
+
*
|
|
1582
|
+
* Events:
|
|
1583
|
+
* - "create": New entry created
|
|
1584
|
+
* - "change": Entry value changed
|
|
1585
|
+
* - "remove": Entry removed (manual or GC)
|
|
1586
|
+
*
|
|
1587
|
+
* @returns Unsubscribe function
|
|
1588
|
+
*/
|
|
1589
|
+
on(u) {
|
|
1590
|
+
return i.on(u);
|
|
1591
|
+
},
|
|
1592
|
+
// =========================================================================
|
|
1593
|
+
// Internal API (used by SelectContext)
|
|
1594
|
+
// =========================================================================
|
|
1595
|
+
/**
|
|
1596
|
+
* Gets the underlying atom for params.
|
|
1597
|
+
* @internal Used by SelectContext.from() to create ScopedAtom
|
|
1598
|
+
*/
|
|
1599
|
+
_getAtom(u) {
|
|
1600
|
+
return y(u).atom;
|
|
1601
|
+
},
|
|
1602
|
+
/**
|
|
1603
|
+
* Subscribes to removal of a specific entry.
|
|
1604
|
+
* @internal Used by SelectContext for automatic recomputation
|
|
1605
|
+
*
|
|
1606
|
+
* When an entry is removed while a derived/effect depends on it,
|
|
1607
|
+
* this listener triggers recomputation to get a fresh entry.
|
|
1608
|
+
*/
|
|
1609
|
+
_onRemove(u, d) {
|
|
1610
|
+
const p = v(u);
|
|
1611
|
+
return p ? p.entry.disposeEmitter.on(d) : () => {
|
|
1612
|
+
};
|
|
1613
|
+
}
|
|
1614
|
+
};
|
|
1615
|
+
return (T = (m = Z).current) == null || T.call(m, {
|
|
1616
|
+
type: "pool",
|
|
1617
|
+
key: a == null ? void 0 : a.key,
|
|
1618
|
+
meta: a,
|
|
1619
|
+
instance: $
|
|
1620
|
+
}), $;
|
|
1621
|
+
}
|
|
1622
|
+
function xc(e) {
|
|
1623
|
+
return e !== null && typeof e == "object" && Se in e && e[Se] === !0;
|
|
1624
|
+
}
|
|
1625
|
+
export {
|
|
1626
|
+
Oc as A,
|
|
1627
|
+
oe as a,
|
|
1628
|
+
I as b,
|
|
1629
|
+
uc as c,
|
|
1630
|
+
ic as d,
|
|
1631
|
+
Cc as e,
|
|
1632
|
+
lc as f,
|
|
1633
|
+
Ec as g,
|
|
1634
|
+
pc as h,
|
|
1635
|
+
ot as i,
|
|
1636
|
+
Pc as j,
|
|
1637
|
+
B as k,
|
|
1638
|
+
fc as l,
|
|
1639
|
+
xc as m,
|
|
1640
|
+
G as n,
|
|
1641
|
+
q as o,
|
|
1642
|
+
Dc as p,
|
|
1643
|
+
wc as q,
|
|
1644
|
+
De as r,
|
|
1645
|
+
hc as s,
|
|
1646
|
+
mc as t,
|
|
1647
|
+
Tc as u,
|
|
1648
|
+
Sc as v,
|
|
1649
|
+
X as w,
|
|
1650
|
+
L as x,
|
|
1651
|
+
Ac as y,
|
|
1652
|
+
$c as z
|
|
1653
|
+
};
|