@depup/jotai 2.19.0-depup.0 → 2.19.1-depup.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.
Files changed (36) hide show
  1. package/README.md +2 -2
  2. package/benchmarks/diamond.d.ts +2 -0
  3. package/benchmarks/read-write.d.ts +2 -0
  4. package/benchmarks/run-all.d.ts +2 -0
  5. package/benchmarks/select-atom.d.ts +2 -0
  6. package/benchmarks/subscription.d.ts +2 -0
  7. package/benchmarks/wide-fan-out.d.ts +2 -0
  8. package/changes.json +1 -1
  9. package/esm/vanilla/internals.d.mts +5 -2
  10. package/esm/vanilla/internals.mjs +65 -32
  11. package/esm/vanilla/utils/atomWithObservable.d.mts +1 -1
  12. package/package.json +3 -3
  13. package/system/vanilla/internals.development.js +65 -32
  14. package/system/vanilla/internals.production.js +1 -1
  15. package/system/vanilla/utils.production.js +1 -1
  16. package/ts3.8/benchmarks/diamond.d.ts +3 -0
  17. package/ts3.8/benchmarks/read-write.d.ts +3 -0
  18. package/ts3.8/benchmarks/run-all.d.ts +3 -0
  19. package/ts3.8/benchmarks/select-atom.d.ts +3 -0
  20. package/ts3.8/benchmarks/subscription.d.ts +3 -0
  21. package/ts3.8/benchmarks/wide-fan-out.d.ts +3 -0
  22. package/ts3.8/esm/vanilla/internals.d.ts +4 -1
  23. package/ts3.8/esm/vanilla/utils/atomWithObservable.d.ts +1 -1
  24. package/ts3.8/vanilla/internals.d.ts +4 -1
  25. package/ts3.8/vanilla/utils/atomWithObservable.d.ts +1 -1
  26. package/umd/vanilla/internals.development.js +102 -69
  27. package/umd/vanilla/internals.production.js +1 -1
  28. package/vanilla/internals.d.ts +5 -2
  29. package/vanilla/internals.js +102 -69
  30. package/vanilla/utils/atomWithObservable.d.ts +1 -1
  31. /package/benchmarks/{simple-read.d.ts → atom-creation.d.ts} +0 -0
  32. /package/benchmarks/{simple-write.d.ts → computed-read.d.ts} +0 -0
  33. /package/benchmarks/{subscribe-write.d.ts → derived-chain.d.ts} +0 -0
  34. /package/ts3.8/benchmarks/{simple-read.d.ts → atom-creation.d.ts} +0 -0
  35. /package/ts3.8/benchmarks/{simple-write.d.ts → computed-read.d.ts} +0 -0
  36. /package/ts3.8/benchmarks/{subscribe-write.d.ts → derived-chain.d.ts} +0 -0
package/README.md CHANGED
@@ -13,8 +13,8 @@ npm install @depup/jotai
13
13
 
14
14
  | Field | Value |
15
15
  |-------|-------|
16
- | Original | [jotai](https://www.npmjs.com/package/jotai) @ 2.19.0 |
17
- | Processed | 2026-03-24 |
16
+ | Original | [jotai](https://www.npmjs.com/package/jotai) @ 2.19.1 |
17
+ | Processed | 2026-04-07 |
18
18
  | Smoke test | failed |
19
19
  | Deps updated | 0 |
20
20
 
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env npx tsx
2
+ export {};
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env npx tsx
2
+ export {};
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env npx tsx
2
+ export {};
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env npx tsx
2
+ export {};
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env npx tsx
2
+ export {};
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env npx tsx
2
+ export {};
package/changes.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "bumped": {},
3
- "timestamp": "2026-03-24T08:21:53.715Z",
3
+ "timestamp": "2026-04-07T16:33:27.833Z",
4
4
  "totalUpdated": 0
5
5
  }
@@ -1,8 +1,11 @@
1
- import type { Atom, WritableAtom } from './atom.mjs';
1
+ import { type Atom, type WritableAtom } from './atom.mjs';
2
2
  type AnyValue = unknown;
3
3
  type AnyError = unknown;
4
4
  type AnyAtom = Atom<AnyValue>;
5
5
  type AnyWritableAtom = WritableAtom<AnyValue, unknown[], unknown>;
6
+ type WritableAtomWithOnMount<Value, Args extends unknown[], Result> = Omit<WritableAtom<Value, Args, Result>, 'onMount'> & {
7
+ onMount: NonNullable<WritableAtom<Value, Args, Result>['onMount']>;
8
+ };
6
9
  type OnUnmount = () => void;
7
10
  type EpochNumber = number;
8
11
  /**
@@ -73,7 +76,7 @@ type Callbacks = SetLike<() => void>;
73
76
  type AtomRead = <Value>(store: Store, atom: Atom<Value>, ...params: Parameters<Atom<Value>['read']>) => Value;
74
77
  type AtomWrite = <Value, Args extends unknown[], Result>(store: Store, atom: WritableAtom<Value, Args, Result>, ...params: Parameters<WritableAtom<Value, Args, Result>['write']>) => Result;
75
78
  type AtomOnInit = <Value>(store: Store, atom: Atom<Value>) => void;
76
- type AtomOnMount = <Value, Args extends unknown[], Result>(store: Store, atom: WritableAtom<Value, Args, Result>, setAtom: (...args: Args) => Result) => OnUnmount | void;
79
+ type AtomOnMount = <Value, Args extends unknown[], Result>(store: Store, atom: WritableAtomWithOnMount<Value, Args, Result>, setAtom: (...args: Args) => Result) => OnUnmount | void;
77
80
  type EnsureAtomState = <Value>(store: Store, atom: Atom<Value>) => AtomState<Value>;
78
81
  type FlushCallbacks = (store: Store) => void;
79
82
  type RecomputeInvalidatedAtoms = (store: Store) => void;
@@ -4,6 +4,9 @@ function hasInitialValue(atom) {
4
4
  function isActuallyWritableAtom(atom) {
5
5
  return !!atom.write;
6
6
  }
7
+ function hasOnMount(atom) {
8
+ return !!atom.onMount;
9
+ }
7
10
  function isAtomStateInitialized(atomState) {
8
11
  return "v" in atomState || "e" in atomState;
9
12
  }
@@ -27,13 +30,18 @@ function addPendingPromiseToDependency(atom, promise, dependencyAtomState) {
27
30
  }
28
31
  }
29
32
  function getMountedOrPendingDependents(atom, atomState, mountedMap) {
30
- var _a;
31
- const dependents = /* @__PURE__ */ new Set();
32
- for (const a of ((_a = mountedMap.get(atom)) == null ? void 0 : _a.t) || []) {
33
- dependents.add(a);
33
+ const mounted = mountedMap.get(atom);
34
+ const mountedDependents = mounted == null ? void 0 : mounted.t;
35
+ const pendingDependents = atomState.p;
36
+ if (!(mountedDependents == null ? void 0 : mountedDependents.size)) {
37
+ return pendingDependents;
38
+ }
39
+ if (!pendingDependents.size) {
40
+ return mountedDependents;
34
41
  }
35
- for (const atomWithPendingPromise of atomState.p) {
36
- dependents.add(atomWithPendingPromise);
42
+ const dependents = new Set(mountedDependents);
43
+ for (const a of pendingDependents) {
44
+ dependents.add(a);
37
45
  }
38
46
  return dependents;
39
47
  }
@@ -109,6 +117,7 @@ const BUILDING_BLOCK_ensureAtomState = (store, atom) => {
109
117
  return atomState;
110
118
  };
111
119
  const BUILDING_BLOCK_flushCallbacks = (store) => {
120
+ var _a;
112
121
  const buildingBlocks = getInternalBuildingBlocks(store);
113
122
  const mountedMap = buildingBlocks[1];
114
123
  const changedAtoms = buildingBlocks[3];
@@ -116,6 +125,9 @@ const BUILDING_BLOCK_flushCallbacks = (store) => {
116
125
  const unmountCallbacks = buildingBlocks[5];
117
126
  const storeHooks = buildingBlocks[6];
118
127
  const recomputeInvalidatedAtoms = buildingBlocks[13];
128
+ if (!storeHooks.f && !changedAtoms.size && !mountCallbacks.size && !unmountCallbacks.size) {
129
+ return;
130
+ }
119
131
  const errors = [];
120
132
  const call = (fn) => {
121
133
  try {
@@ -129,17 +141,26 @@ const BUILDING_BLOCK_flushCallbacks = (store) => {
129
141
  call(storeHooks.f);
130
142
  }
131
143
  const callbacks = /* @__PURE__ */ new Set();
132
- const add = callbacks.add.bind(callbacks);
133
- changedAtoms.forEach((atom) => {
134
- var _a;
135
- return (_a = mountedMap.get(atom)) == null ? void 0 : _a.l.forEach(add);
136
- });
144
+ for (const atom of changedAtoms) {
145
+ const listeners = (_a = mountedMap.get(atom)) == null ? void 0 : _a.l;
146
+ if (listeners) {
147
+ for (const listener of listeners) {
148
+ callbacks.add(listener);
149
+ }
150
+ }
151
+ }
137
152
  changedAtoms.clear();
138
- unmountCallbacks.forEach(add);
153
+ for (const fn of unmountCallbacks) {
154
+ callbacks.add(fn);
155
+ }
139
156
  unmountCallbacks.clear();
140
- mountCallbacks.forEach(add);
157
+ for (const fn of mountCallbacks) {
158
+ callbacks.add(fn);
159
+ }
141
160
  mountCallbacks.clear();
142
- callbacks.forEach(call);
161
+ for (const fn of callbacks) {
162
+ call(fn);
163
+ }
143
164
  if (changedAtoms.size) {
144
165
  recomputeInvalidatedAtoms(store);
145
166
  }
@@ -156,36 +177,51 @@ const BUILDING_BLOCK_recomputeInvalidatedAtoms = (store) => {
156
177
  const ensureAtomState = buildingBlocks[11];
157
178
  const readAtomState = buildingBlocks[14];
158
179
  const mountDependencies = buildingBlocks[17];
159
- const topSortedReversed = [];
180
+ if (!changedAtoms.size) {
181
+ return;
182
+ }
183
+ const sortedReversedAtoms = [];
184
+ const sortedReversedStates = [];
160
185
  const visiting = /* @__PURE__ */ new WeakSet();
161
186
  const visited = /* @__PURE__ */ new WeakSet();
162
- const stack = Array.from(changedAtoms);
163
- while (stack.length) {
164
- const a = stack[stack.length - 1];
165
- const aState = ensureAtomState(store, a);
187
+ const stackAtoms = [];
188
+ const stackStates = [];
189
+ for (const atom of changedAtoms) {
190
+ stackAtoms.push(atom);
191
+ stackStates.push(ensureAtomState(store, atom));
192
+ }
193
+ while (stackAtoms.length) {
194
+ const top = stackAtoms.length - 1;
195
+ const a = stackAtoms[top];
196
+ const aState = stackStates[top];
166
197
  if (visited.has(a)) {
167
- stack.pop();
198
+ stackAtoms.pop();
199
+ stackStates.pop();
168
200
  continue;
169
201
  }
170
202
  if (visiting.has(a)) {
171
203
  if (invalidatedAtoms.get(a) === aState.n) {
172
- topSortedReversed.push([a, aState]);
204
+ sortedReversedAtoms.push(a);
205
+ sortedReversedStates.push(aState);
173
206
  } else if ((import.meta.env ? import.meta.env.MODE : void 0) !== "production" && invalidatedAtoms.has(a)) {
174
207
  throw new Error("[Bug] invalidated atom exists");
175
208
  }
176
209
  visited.add(a);
177
- stack.pop();
210
+ stackAtoms.pop();
211
+ stackStates.pop();
178
212
  continue;
179
213
  }
180
214
  visiting.add(a);
181
215
  for (const d of getMountedOrPendingDependents(a, aState, mountedMap)) {
182
216
  if (!visiting.has(d)) {
183
- stack.push(d);
217
+ stackAtoms.push(d);
218
+ stackStates.push(ensureAtomState(store, d));
184
219
  }
185
220
  }
186
221
  }
187
- for (let i = topSortedReversed.length - 1; i >= 0; --i) {
188
- const [a, aState] = topSortedReversed[i];
222
+ for (let i = sortedReversedAtoms.length - 1; i >= 0; --i) {
223
+ const a = sortedReversedAtoms[i];
224
+ const aState = sortedReversedStates[i];
189
225
  let hasChangedDeps = false;
190
226
  for (const dep of aState.d.keys()) {
191
227
  if (dep !== a && changedAtoms.has(dep)) {
@@ -247,12 +283,9 @@ const BUILDING_BLOCK_readAtomState = (store, atom) => {
247
283
  }
248
284
  let isSync = true;
249
285
  const prevDeps = new Set(atomState.d.keys());
250
- const nextDeps = /* @__PURE__ */ new Map();
251
286
  const pruneDependencies = () => {
252
287
  for (const a of prevDeps) {
253
- if (!nextDeps.has(a)) {
254
- atomState.d.delete(a);
255
- }
288
+ atomState.d.delete(a);
256
289
  }
257
290
  };
258
291
  const mountDependenciesIfAsync = () => {
@@ -282,7 +315,7 @@ const BUILDING_BLOCK_readAtomState = (store, atom) => {
282
315
  try {
283
316
  return returnAtomValue(aState);
284
317
  } finally {
285
- nextDeps.set(a, aState.n);
318
+ prevDeps.delete(a);
286
319
  atomState.d.set(a, aState.n);
287
320
  if (isPromiseLike(atomState.v)) {
288
321
  addPendingPromiseToDependency(atom, atomState.v, aState);
@@ -456,7 +489,7 @@ const BUILDING_BLOCK_mountDependencies = (store, atom) => {
456
489
  const unmountAtom = buildingBlocks[19];
457
490
  const atomState = ensureAtomState(store, atom);
458
491
  const mounted = mountedMap.get(atom);
459
- if (mounted) {
492
+ if (mounted && atomState.d.size > 0) {
460
493
  for (const [a, n] of atomState.d) {
461
494
  if (!mounted.d.has(a)) {
462
495
  const aState = ensureAtomState(store, a);
@@ -506,7 +539,7 @@ const BUILDING_BLOCK_mountAtom = (store, atom) => {
506
539
  t: /* @__PURE__ */ new Set()
507
540
  };
508
541
  mountedMap.set(atom, mounted);
509
- if (isActuallyWritableAtom(atom)) {
542
+ if (isActuallyWritableAtom(atom) && hasOnMount(atom)) {
510
543
  const processOnMount = () => {
511
544
  let isSync = true;
512
545
  const setAtom = (...args) => {
@@ -17,7 +17,7 @@ type SubscribableObservable<T> = {
17
17
  subscribe(next: (value: T) => void): Subscription;
18
18
  };
19
19
  type SymbolObservable<T> = {
20
- [Symbol.observable]: () => SubscribableObservable<T>;
20
+ [key: symbol]: () => SubscribableObservable<T>;
21
21
  };
22
22
  type ObservableLike<T> = SubscribableObservable<T> | SymbolObservable<T>;
23
23
  type SubjectLike<T> = ObservableLike<T> & Observer<T>;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@depup/jotai",
3
3
  "description": "👻 Primitive and flexible state management for React (with updated dependencies)",
4
4
  "type": "commonjs",
5
- "version": "2.19.0-depup.0",
5
+ "version": "2.19.1-depup.0",
6
6
  "main": "./index.js",
7
7
  "types": "./index.d.ts",
8
8
  "typesVersions": {
@@ -121,8 +121,8 @@
121
121
  "changes": {},
122
122
  "depsUpdated": 0,
123
123
  "originalPackage": "jotai",
124
- "originalVersion": "2.19.0",
125
- "processedAt": "2026-03-24T08:21:54.402Z",
124
+ "originalVersion": "2.19.1",
125
+ "processedAt": "2026-04-07T16:33:28.631Z",
126
126
  "smokeTest": "failed"
127
127
  }
128
128
  }
@@ -22,6 +22,9 @@ System.register([], (function (exports) {
22
22
  function isActuallyWritableAtom(atom) {
23
23
  return !!atom.write;
24
24
  }
25
+ function hasOnMount(atom) {
26
+ return !!atom.onMount;
27
+ }
25
28
  function isAtomStateInitialized(atomState) {
26
29
  return "v" in atomState || "e" in atomState;
27
30
  }
@@ -45,13 +48,18 @@ System.register([], (function (exports) {
45
48
  }
46
49
  }
47
50
  function getMountedOrPendingDependents(atom, atomState, mountedMap) {
48
- var _a;
49
- const dependents = /* @__PURE__ */ new Set();
50
- for (const a of ((_a = mountedMap.get(atom)) == null ? void 0 : _a.t) || []) {
51
- dependents.add(a);
51
+ const mounted = mountedMap.get(atom);
52
+ const mountedDependents = mounted == null ? void 0 : mounted.t;
53
+ const pendingDependents = atomState.p;
54
+ if (!(mountedDependents == null ? void 0 : mountedDependents.size)) {
55
+ return pendingDependents;
56
+ }
57
+ if (!pendingDependents.size) {
58
+ return mountedDependents;
52
59
  }
53
- for (const atomWithPendingPromise of atomState.p) {
54
- dependents.add(atomWithPendingPromise);
60
+ const dependents = new Set(mountedDependents);
61
+ for (const a of pendingDependents) {
62
+ dependents.add(a);
55
63
  }
56
64
  return dependents;
57
65
  }
@@ -127,6 +135,7 @@ System.register([], (function (exports) {
127
135
  return atomState;
128
136
  };
129
137
  const BUILDING_BLOCK_flushCallbacks = (store) => {
138
+ var _a;
130
139
  const buildingBlocks = getInternalBuildingBlocks(store);
131
140
  const mountedMap = buildingBlocks[1];
132
141
  const changedAtoms = buildingBlocks[3];
@@ -134,6 +143,9 @@ System.register([], (function (exports) {
134
143
  const unmountCallbacks = buildingBlocks[5];
135
144
  const storeHooks = buildingBlocks[6];
136
145
  const recomputeInvalidatedAtoms = buildingBlocks[13];
146
+ if (!storeHooks.f && !changedAtoms.size && !mountCallbacks.size && !unmountCallbacks.size) {
147
+ return;
148
+ }
137
149
  const errors = [];
138
150
  const call = (fn) => {
139
151
  try {
@@ -147,17 +159,26 @@ System.register([], (function (exports) {
147
159
  call(storeHooks.f);
148
160
  }
149
161
  const callbacks = /* @__PURE__ */ new Set();
150
- const add = callbacks.add.bind(callbacks);
151
- changedAtoms.forEach((atom) => {
152
- var _a;
153
- return (_a = mountedMap.get(atom)) == null ? void 0 : _a.l.forEach(add);
154
- });
162
+ for (const atom of changedAtoms) {
163
+ const listeners = (_a = mountedMap.get(atom)) == null ? void 0 : _a.l;
164
+ if (listeners) {
165
+ for (const listener of listeners) {
166
+ callbacks.add(listener);
167
+ }
168
+ }
169
+ }
155
170
  changedAtoms.clear();
156
- unmountCallbacks.forEach(add);
171
+ for (const fn of unmountCallbacks) {
172
+ callbacks.add(fn);
173
+ }
157
174
  unmountCallbacks.clear();
158
- mountCallbacks.forEach(add);
175
+ for (const fn of mountCallbacks) {
176
+ callbacks.add(fn);
177
+ }
159
178
  mountCallbacks.clear();
160
- callbacks.forEach(call);
179
+ for (const fn of callbacks) {
180
+ call(fn);
181
+ }
161
182
  if (changedAtoms.size) {
162
183
  recomputeInvalidatedAtoms(store);
163
184
  }
@@ -174,36 +195,51 @@ System.register([], (function (exports) {
174
195
  const ensureAtomState = buildingBlocks[11];
175
196
  const readAtomState = buildingBlocks[14];
176
197
  const mountDependencies = buildingBlocks[17];
177
- const topSortedReversed = [];
198
+ if (!changedAtoms.size) {
199
+ return;
200
+ }
201
+ const sortedReversedAtoms = [];
202
+ const sortedReversedStates = [];
178
203
  const visiting = /* @__PURE__ */ new WeakSet();
179
204
  const visited = /* @__PURE__ */ new WeakSet();
180
- const stack = Array.from(changedAtoms);
181
- while (stack.length) {
182
- const a = stack[stack.length - 1];
183
- const aState = ensureAtomState(store, a);
205
+ const stackAtoms = [];
206
+ const stackStates = [];
207
+ for (const atom of changedAtoms) {
208
+ stackAtoms.push(atom);
209
+ stackStates.push(ensureAtomState(store, atom));
210
+ }
211
+ while (stackAtoms.length) {
212
+ const top = stackAtoms.length - 1;
213
+ const a = stackAtoms[top];
214
+ const aState = stackStates[top];
184
215
  if (visited.has(a)) {
185
- stack.pop();
216
+ stackAtoms.pop();
217
+ stackStates.pop();
186
218
  continue;
187
219
  }
188
220
  if (visiting.has(a)) {
189
221
  if (invalidatedAtoms.get(a) === aState.n) {
190
- topSortedReversed.push([a, aState]);
222
+ sortedReversedAtoms.push(a);
223
+ sortedReversedStates.push(aState);
191
224
  } else if (invalidatedAtoms.has(a)) {
192
225
  throw new Error("[Bug] invalidated atom exists");
193
226
  }
194
227
  visited.add(a);
195
- stack.pop();
228
+ stackAtoms.pop();
229
+ stackStates.pop();
196
230
  continue;
197
231
  }
198
232
  visiting.add(a);
199
233
  for (const d of getMountedOrPendingDependents(a, aState, mountedMap)) {
200
234
  if (!visiting.has(d)) {
201
- stack.push(d);
235
+ stackAtoms.push(d);
236
+ stackStates.push(ensureAtomState(store, d));
202
237
  }
203
238
  }
204
239
  }
205
- for (let i = topSortedReversed.length - 1; i >= 0; --i) {
206
- const [a, aState] = topSortedReversed[i];
240
+ for (let i = sortedReversedAtoms.length - 1; i >= 0; --i) {
241
+ const a = sortedReversedAtoms[i];
242
+ const aState = sortedReversedStates[i];
207
243
  let hasChangedDeps = false;
208
244
  for (const dep of aState.d.keys()) {
209
245
  if (dep !== a && changedAtoms.has(dep)) {
@@ -265,12 +301,9 @@ System.register([], (function (exports) {
265
301
  }
266
302
  let isSync = true;
267
303
  const prevDeps = new Set(atomState.d.keys());
268
- const nextDeps = /* @__PURE__ */ new Map();
269
304
  const pruneDependencies = () => {
270
305
  for (const a of prevDeps) {
271
- if (!nextDeps.has(a)) {
272
- atomState.d.delete(a);
273
- }
306
+ atomState.d.delete(a);
274
307
  }
275
308
  };
276
309
  const mountDependenciesIfAsync = () => {
@@ -300,7 +333,7 @@ System.register([], (function (exports) {
300
333
  try {
301
334
  return returnAtomValue(aState);
302
335
  } finally {
303
- nextDeps.set(a, aState.n);
336
+ prevDeps.delete(a);
304
337
  atomState.d.set(a, aState.n);
305
338
  if (isPromiseLike(atomState.v)) {
306
339
  addPendingPromiseToDependency(atom, atomState.v, aState);
@@ -474,7 +507,7 @@ System.register([], (function (exports) {
474
507
  const unmountAtom = buildingBlocks[19];
475
508
  const atomState = ensureAtomState(store, atom);
476
509
  const mounted = mountedMap.get(atom);
477
- if (mounted) {
510
+ if (mounted && atomState.d.size > 0) {
478
511
  for (const [a, n] of atomState.d) {
479
512
  if (!mounted.d.has(a)) {
480
513
  const aState = ensureAtomState(store, a);
@@ -524,7 +557,7 @@ System.register([], (function (exports) {
524
557
  t: /* @__PURE__ */ new Set()
525
558
  };
526
559
  mountedMap.set(atom, mounted);
527
- if (isActuallyWritableAtom(atom)) {
560
+ if (isActuallyWritableAtom(atom) && hasOnMount(atom)) {
528
561
  const processOnMount = () => {
529
562
  let isSync = true;
530
563
  const setAtom = (...args) => {
@@ -1 +1 @@
1
- System.register([],(function(q){"use strict";return{execute:(function(){q({INTERNAL_addPendingPromiseToDependency:O,INTERNAL_buildStoreRev2:hn,INTERNAL_getBuildingBlocksRev2:dn,INTERNAL_getMountedOrPendingDependents:V,INTERNAL_hasInitialValue:W,INTERNAL_initializeStoreHooksRev2:G,INTERNAL_isActuallyWritableAtom:P,INTERNAL_isAtomStateInitialized:B,INTERNAL_isPromiseLike:R,INTERNAL_returnAtomValue:I});function W(n){return"init"in n}function P(n){return!!n.write}function B(n){return"v"in n||"e"in n}function I(n){if("e"in n)throw n.e;return n.v}function R(n){return typeof(n==null?void 0:n.then)=="function"}function O(n,e,o){if(!o.p.has(n)){o.p.add(n);const t=()=>o.p.delete(n);e.then(t,t)}}function V(n,e,o){var t;const r=new Set;for(const l of((t=o.get(n))==null?void 0:t.t)||[])r.add(l);for(const l of e.p)r.add(l);return r}const F=()=>{const n=new Set,e=()=>n.forEach(o=>o());return e.add=o=>(n.add(o),()=>n.delete(o)),e},b=()=>{const n={},e=new WeakMap,o=t=>{var r,l;(r=e.get(n))==null||r.forEach(s=>s(t)),(l=e.get(t))==null||l.forEach(s=>s())};return o.add=(t,r)=>{const l=t||n;let s=e.get(l);return s||(s=new Set,e.set(l,s)),s.add(r),()=>{s.delete(r),s.size||e.delete(l)}},o};function G(n){return n.i||(n.i=b()),n.r||(n.r=b()),n.c||(n.c=b()),n.m||(n.m=b()),n.u||(n.u=b()),n.f||(n.f=F()),n}const J=(n,e,...o)=>e.read(...o),K=(n,e,...o)=>e.write(...o),Q=(n,e)=>{var o;return(o=e.INTERNAL_onInit)==null?void 0:o.call(e,n)},U=(n,e,o)=>{var t;return(t=e.onMount)==null?void 0:t.call(e,o)},X=(n,e)=>{var o;const t=v(n),r=t[0],l=t[6],s=t[9];let c=r.get(e);return c||(c={d:new Map,p:new Set,n:0},r.set(e,c),(o=l.i)==null||o.call(l,e),s==null||s(n,e)),c},Y=n=>{const e=v(n),o=e[1],t=e[3],r=e[4],l=e[5],s=e[6],c=e[13],d=[],g=p=>{try{p()}catch(u){d.push(u)}};do{s.f&&g(s.f);const p=new Set,u=p.add.bind(p);t.forEach(f=>{var i;return(i=o.get(f))==null?void 0:i.l.forEach(u)}),t.clear(),l.forEach(u),l.clear(),r.forEach(u),r.clear(),p.forEach(g),t.size&&c(n)}while(t.size||l.size||r.size);if(d.length)throw new AggregateError(d)},Z=n=>{const e=v(n),o=e[1],t=e[2],r=e[3],l=e[11],s=e[14],c=e[17],d=[],g=new WeakSet,p=new WeakSet,u=Array.from(r);for(;u.length;){const f=u[u.length-1],i=l(n,f);if(p.has(f)){u.pop();continue}if(g.has(f)){t.get(f)===i.n&&d.push([f,i]),p.add(f),u.pop();continue}g.add(f);for(const w of V(f,i,o))g.has(w)||u.push(w)}for(let f=d.length-1;f>=0;--f){const[i,w]=d[f];let m=!1;for(const A of w.d.keys())if(A!==i&&r.has(A)){m=!0;break}m&&(t.set(i,w.n),s(n,i),c(n,i)),t.delete(i)}},$=(n,e)=>{var o,t;const r=v(n),l=r[1],s=r[2],c=r[3],d=r[6],g=r[7],p=r[11],u=r[12],f=r[13],i=r[14],w=r[16],m=r[17],A=r[20],k=r[26],z=r[28],a=p(n,e),y=z[0];if(B(a)){if(l.has(e)&&s.get(e)!==a.n||a.m===y)return a.m=y,a;let h=!1;for(const[N,S]of a.d)if(i(n,N).n!==S){h=!0;break}if(!h)return a.m=y,a}let E=!0;const T=new Set(a.d.keys()),_=new Map,M=()=>{for(const h of T)_.has(h)||a.d.delete(h)},x=()=>{if(l.has(e)){const h=!c.size;m(n,e),h&&(f(n),u(n))}},gn=h=>{var N;if(h===e){const H=p(n,h);if(!B(H))if(W(h))A(n,h,h.init);else throw new Error("no atom init");return I(H)}const S=i(n,h);try{return I(S)}finally{_.set(h,S.n),a.d.set(h,S.n),R(a.v)&&O(e,a.v,S),l.has(e)&&((N=l.get(h))==null||N.t.add(e)),E||x()}};let L,j;const pn={get signal(){return L||(L=new AbortController),L.signal},get setSelf(){return!j&&P(e)&&(j=(...h)=>{if(!E)try{return w(n,e,...h)}finally{f(n),u(n)}}),j}},C=a.n,wn=s.get(e)===C;try{const h=g(n,e,gn,pn);if(A(n,e,h),R(h)){k(n,h,()=>L==null?void 0:L.abort());const N=()=>{M(),x()};h.then(N,N)}else M();return(o=d.r)==null||o.call(d,e),a.m=y,a}catch(h){return delete a.v,a.e=h,++a.n,a.m=y,a}finally{E=!1,a.n!==C&&wn&&(s.set(e,a.n),c.add(e),(t=d.c)==null||t.call(d,e))}},nn=(n,e)=>{const o=v(n),t=o[1],r=o[2],l=o[11],s=[e];for(;s.length;){const c=s.pop(),d=l(n,c);for(const g of V(c,d,t)){const p=l(n,g);r.get(g)!==p.n&&(r.set(g,p.n),s.push(g))}}},en=(n,e,...o)=>{const t=v(n),r=t[3],l=t[6],s=t[8],c=t[11],d=t[12],g=t[13],p=t[14],u=t[15],f=t[16],i=t[17],w=t[20],m=t[28];let A=!0;const k=a=>I(p(n,a)),z=(a,...y)=>{var E;const T=c(n,a);try{if(a===e){if(!W(a))throw new Error("atom not writable");const _=T.n,M=y[0];w(n,a,M),i(n,a),_!==T.n&&(++m[0],r.add(a),u(n,a),(E=l.c)==null||E.call(l,a));return}else return f(n,a,...y)}finally{A||(g(n),d(n))}};try{return s(n,e,k,z,...o)}finally{A=!1}},tn=(n,e)=>{var o;const t=v(n),r=t[1],l=t[3],s=t[6],c=t[11],d=t[15],g=t[18],p=t[19],u=c(n,e),f=r.get(e);if(f){for(const[i,w]of u.d)if(!f.d.has(i)){const m=c(n,i);g(n,i).t.add(e),f.d.add(i),w!==m.n&&(l.add(i),d(n,i),(o=s.c)==null||o.call(s,i))}for(const i of f.d)if(!u.d.has(i)){f.d.delete(i);const w=p(n,i);w==null||w.t.delete(e)}}},rn=(n,e)=>{var o;const t=v(n),r=t[1],l=t[4],s=t[6],c=t[10],d=t[11],g=t[12],p=t[13],u=t[14],f=t[16],i=t[18],w=d(n,e);let m=r.get(e);if(!m){u(n,e);for(const A of w.d.keys())i(n,A).t.add(e);if(m={l:new Set,d:new Set(w.d.keys()),t:new Set},r.set(e,m),P(e)){const A=()=>{let k=!0;const z=(...a)=>{try{return f(n,e,...a)}finally{k||(p(n),g(n))}};try{const a=c(n,e,z);a&&(m.u=()=>{k=!0;try{a()}finally{k=!1}})}finally{k=!1}};l.add(A)}(o=s.m)==null||o.call(s,e)}return m},on=(n,e)=>{var o,t;const r=v(n),l=r[1],s=r[5],c=r[6],d=r[11],g=r[19],p=d(n,e);let u=l.get(e);if(!u||u.l.size)return u;let f=!1;for(const i of u.t)if((o=l.get(i))!=null&&o.d.has(e)){f=!0;break}if(!f){u.u&&s.add(u.u),u=void 0,l.delete(e);for(const i of p.d.keys()){const w=g(n,i);w==null||w.t.delete(e)}(t=c.u)==null||t.call(c,e);return}return u},ln=(n,e,o)=>{const t=v(n),r=t[11],l=t[27],s=r(n,e),c="v"in s,d=s.v;if(R(o))for(const g of s.d.keys())O(e,o,r(n,g));s.v=o,delete s.e,(!c||!Object.is(d,s.v))&&(++s.n,R(d)&&l(n,d))},sn=(n,e)=>{const o=v(n)[14];return I(o(n,e))},an=(n,e,...o)=>{const t=v(n),r=t[3],l=t[12],s=t[13],c=t[16],d=r.size;try{return c(n,e,...o)}finally{r.size!==d&&(s(n),l(n))}},cn=(n,e,o)=>{const t=v(n),r=t[12],l=t[18],s=t[19],c=l(n,e).l;return c.add(o),r(n),()=>{c.delete(o),s(n,e),r(n)}},un=(n,e,o)=>{const t=v(n)[25];let r=t.get(e);if(!r){r=new Set,t.set(e,r);const l=()=>t.delete(e);e.then(l,l)}r.add(o)},fn=(n,e)=>{const o=v(n)[25].get(e);o==null||o.forEach(t=>t())},D=new WeakMap,v=n=>D.get(n);function dn(n){const e=v(n),o=e[24];return o?o(e):e}function hn(...n){const e={get(t){const r=v(e)[21];return r(e,t)},set(t,...r){const l=v(e)[22];return l(e,t,...r)},sub(t,r){const l=v(e)[23];return l(e,t,r)}},o=[new WeakMap,new WeakMap,new WeakMap,new Set,new Set,new Set,{},J,K,Q,U,X,Y,Z,$,nn,en,tn,rn,on,ln,sn,an,cn,void 0,new WeakMap,un,fn,[0]].map((t,r)=>n[r]||t);return D.set(e,Object.freeze(o)),e}})}}));
1
+ System.register([],(function(H){"use strict";return{execute:(function(){H({INTERNAL_addPendingPromiseToDependency:j,INTERNAL_buildStoreRev2:hn,INTERNAL_getBuildingBlocksRev2:dn,INTERNAL_getMountedOrPendingDependents:D,INTERNAL_hasInitialValue:b,INTERNAL_initializeStoreHooksRev2:G,INTERNAL_isActuallyWritableAtom:P,INTERNAL_isAtomStateInitialized:O,INTERNAL_isPromiseLike:S,INTERNAL_returnAtomValue:I});function b(n){return"init"in n}function P(n){return!!n.write}function q(n){return!!n.onMount}function O(n){return"v"in n||"e"in n}function I(n){if("e"in n)throw n.e;return n.v}function S(n){return typeof(n==null?void 0:n.then)=="function"}function j(n,e,r){if(!r.p.has(n)){r.p.add(n);const t=()=>r.p.delete(n);e.then(t,t)}}function D(n,e,r){const t=r.get(n),o=t==null?void 0:t.t,s=e.p;if(!(o!=null&&o.size))return s;if(!s.size)return o;const l=new Set(o);for(const a of s)l.add(a);return l}const F=()=>{const n=new Set,e=()=>n.forEach(r=>r());return e.add=r=>(n.add(r),()=>n.delete(r)),e},R=()=>{const n={},e=new WeakMap,r=t=>{var o,s;(o=e.get(n))==null||o.forEach(l=>l(t)),(s=e.get(t))==null||s.forEach(l=>l())};return r.add=(t,o)=>{const s=t||n;let l=e.get(s);return l||(l=new Set,e.set(s,l)),l.add(o),()=>{l.delete(o),l.size||e.delete(s)}},r};function G(n){return n.i||(n.i=R()),n.r||(n.r=R()),n.c||(n.c=R()),n.m||(n.m=R()),n.u||(n.u=R()),n.f||(n.f=F()),n}const J=(n,e,...r)=>e.read(...r),K=(n,e,...r)=>e.write(...r),Q=(n,e)=>{var r;return(r=e.INTERNAL_onInit)==null?void 0:r.call(e,n)},U=(n,e,r)=>{var t;return(t=e.onMount)==null?void 0:t.call(e,r)},X=(n,e)=>{var r;const t=v(n),o=t[0],s=t[6],l=t[9];let a=o.get(e);return a||(a={d:new Map,p:new Set,n:0},o.set(e,a),(r=s.i)==null||r.call(s,e),l==null||l(n,e)),a},Y=n=>{var e;const r=v(n),t=r[1],o=r[3],s=r[4],l=r[5],a=r[6],h=r[13];if(!a.f&&!o.size&&!s.size&&!l.size)return;const w=[],y=f=>{try{f()}catch(c){w.push(c)}};do{a.f&&y(a.f);const f=new Set;for(const c of o){const u=(e=t.get(c))==null?void 0:e.l;if(u)for(const d of u)f.add(d)}o.clear();for(const c of l)f.add(c);l.clear();for(const c of s)f.add(c);s.clear();for(const c of f)y(c);o.size&&h(n)}while(o.size||l.size||s.size);if(w.length)throw new AggregateError(w)},Z=n=>{const e=v(n),r=e[1],t=e[2],o=e[3],s=e[11],l=e[14],a=e[17];if(!o.size)return;const h=[],w=[],y=new WeakSet,f=new WeakSet,c=[],u=[];for(const d of o)c.push(d),u.push(s(n,d));for(;c.length;){const d=c.length-1,p=c[d],m=u[d];if(f.has(p)){c.pop(),u.pop();continue}if(y.has(p)){t.get(p)===m.n&&(h.push(p),w.push(m)),f.add(p),c.pop(),u.pop();continue}y.add(p);for(const A of D(p,m,r))y.has(A)||(c.push(A),u.push(s(n,A)))}for(let d=h.length-1;d>=0;--d){const p=h[d],m=w[d];let A=!1;for(const k of m.d.keys())if(k!==p&&o.has(k)){A=!0;break}A&&(t.set(p,m.n),l(n,p),a(n,p)),t.delete(p)}},$=(n,e)=>{var r,t;const o=v(n),s=o[1],l=o[2],a=o[3],h=o[6],w=o[7],y=o[11],f=o[12],c=o[13],u=o[14],d=o[16],p=o[17],m=o[20],A=o[26],k=o[28],i=y(n,e),N=k[0];if(O(i)){if(s.has(e)&&l.get(e)!==i.n||i.m===N)return i.m=N,i;let g=!1;for(const[z,_]of i.d)if(u(n,z).n!==_){g=!0;break}if(!g)return i.m=N,i}let E=!0;const L=new Set(i.d.keys()),M=()=>{for(const g of L)i.d.delete(g)},W=()=>{if(s.has(e)){const g=!a.size;p(n,e),g&&(c(n),f(n))}},pn=g=>{var z;if(g===e){const C=y(n,g);if(!O(C))if(b(g))m(n,g,g.init);else throw new Error("no atom init");return I(C)}const _=u(n,g);try{return I(_)}finally{L.delete(g),i.d.set(g,_.n),S(i.v)&&j(e,i.v,_),s.has(e)&&((z=s.get(g))==null||z.t.add(e)),E||W()}};let T,V;const gn={get signal(){return T||(T=new AbortController),T.signal},get setSelf(){return!V&&P(e)&&(V=(...g)=>{if(!E)try{return d(n,e,...g)}finally{c(n),f(n)}}),V}},B=i.n,wn=l.get(e)===B;try{const g=w(n,e,pn,gn);if(m(n,e,g),S(g)){A(n,g,()=>T==null?void 0:T.abort());const z=()=>{M(),W()};g.then(z,z)}else M();return(r=h.r)==null||r.call(h,e),i.m=N,i}catch(g){return delete i.v,i.e=g,++i.n,i.m=N,i}finally{E=!1,i.n!==B&&wn&&(l.set(e,i.n),a.add(e),(t=h.c)==null||t.call(h,e))}},nn=(n,e)=>{const r=v(n),t=r[1],o=r[2],s=r[11],l=[e];for(;l.length;){const a=l.pop(),h=s(n,a);for(const w of D(a,h,t)){const y=s(n,w);o.get(w)!==y.n&&(o.set(w,y.n),l.push(w))}}},en=(n,e,...r)=>{const t=v(n),o=t[3],s=t[6],l=t[8],a=t[11],h=t[12],w=t[13],y=t[14],f=t[15],c=t[16],u=t[17],d=t[20],p=t[28];let m=!0;const A=i=>I(y(n,i)),k=(i,...N)=>{var E;const L=a(n,i);try{if(i===e){if(!b(i))throw new Error("atom not writable");const M=L.n,W=N[0];d(n,i,W),u(n,i),M!==L.n&&(++p[0],o.add(i),f(n,i),(E=s.c)==null||E.call(s,i));return}else return c(n,i,...N)}finally{m||(w(n),h(n))}};try{return l(n,e,A,k,...r)}finally{m=!1}},tn=(n,e)=>{var r;const t=v(n),o=t[1],s=t[3],l=t[6],a=t[11],h=t[15],w=t[18],y=t[19],f=a(n,e),c=o.get(e);if(c&&f.d.size>0){for(const[u,d]of f.d)if(!c.d.has(u)){const p=a(n,u);w(n,u).t.add(e),c.d.add(u),d!==p.n&&(s.add(u),h(n,u),(r=l.c)==null||r.call(l,u))}for(const u of c.d)if(!f.d.has(u)){c.d.delete(u);const d=y(n,u);d==null||d.t.delete(e)}}},on=(n,e)=>{var r;const t=v(n),o=t[1],s=t[4],l=t[6],a=t[10],h=t[11],w=t[12],y=t[13],f=t[14],c=t[16],u=t[18],d=h(n,e);let p=o.get(e);if(!p){f(n,e);for(const m of d.d.keys())u(n,m).t.add(e);if(p={l:new Set,d:new Set(d.d.keys()),t:new Set},o.set(e,p),P(e)&&q(e)){const m=()=>{let A=!0;const k=(...i)=>{try{return c(n,e,...i)}finally{A||(y(n),w(n))}};try{const i=a(n,e,k);i&&(p.u=()=>{A=!0;try{i()}finally{A=!1}})}finally{A=!1}};s.add(m)}(r=l.m)==null||r.call(l,e)}return p},rn=(n,e)=>{var r,t;const o=v(n),s=o[1],l=o[5],a=o[6],h=o[11],w=o[19],y=h(n,e);let f=s.get(e);if(!f||f.l.size)return f;let c=!1;for(const u of f.t)if((r=s.get(u))!=null&&r.d.has(e)){c=!0;break}if(!c){f.u&&l.add(f.u),f=void 0,s.delete(e);for(const u of y.d.keys()){const d=w(n,u);d==null||d.t.delete(e)}(t=a.u)==null||t.call(a,e);return}return f},sn=(n,e,r)=>{const t=v(n),o=t[11],s=t[27],l=o(n,e),a="v"in l,h=l.v;if(S(r))for(const w of l.d.keys())j(e,r,o(n,w));l.v=r,delete l.e,(!a||!Object.is(h,l.v))&&(++l.n,S(h)&&s(n,h))},ln=(n,e)=>{const r=v(n)[14];return I(r(n,e))},an=(n,e,...r)=>{const t=v(n),o=t[3],s=t[12],l=t[13],a=t[16],h=o.size;try{return a(n,e,...r)}finally{o.size!==h&&(l(n),s(n))}},cn=(n,e,r)=>{const t=v(n),o=t[12],s=t[18],l=t[19],a=s(n,e).l;return a.add(r),o(n),()=>{a.delete(r),l(n,e),o(n)}},un=(n,e,r)=>{const t=v(n)[25];let o=t.get(e);if(!o){o=new Set,t.set(e,o);const s=()=>t.delete(e);e.then(s,s)}o.add(r)},fn=(n,e)=>{const r=v(n)[25].get(e);r==null||r.forEach(t=>t())},x=new WeakMap,v=n=>x.get(n);function dn(n){const e=v(n),r=e[24];return r?r(e):e}function hn(...n){const e={get(t){const o=v(e)[21];return o(e,t)},set(t,...o){const s=v(e)[22];return s(e,t,...o)},sub(t,o){const s=v(e)[23];return s(e,t,o)}},r=[new WeakMap,new WeakMap,new WeakMap,new Set,new Set,new Set,{},J,K,Q,U,X,Y,Z,$,nn,en,tn,on,rn,sn,ln,an,cn,void 0,new WeakMap,un,fn,[0]].map((t,o)=>n[o]||t);return x.set(e,Object.freeze(r)),e}})}}));
@@ -1 +1 @@
1
- System.register(["jotai/vanilla"],(function(x){"use strict";var m;return{setters:[function(O){m=O.atom}],execute:(function(){x({atomFamily:$,atomWithDefault:X,atomWithLazy:lt,atomWithObservable:nt,atomWithReducer:P,atomWithRefresh:at,atomWithReset:J,atomWithStorage:tt,createJSONStorage:V,freezeAtom:T,freezeAtomCreator:q,loadable:ct,selectAtom:K,splitAtom:U,unstable_withStorageValidator:Y,unwrap:_});const O=x("RESET",Symbol(""));function J(t){const e=m(t,(s,u,c)=>{const a=typeof c=="function"?c(s(e)):c;u(e,a===O?t:a)});return e}function P(t,e){return m(t,function(s,u,c){u(this,e(s(this),c))})}function $(t,e){let s=null;const u=new Map,c=new Set,a=i=>{let n;if(e===void 0)n=u.get(i);else for(const[l,f]of u)if(e(l,i)){n=f;break}if(n!==void 0)if(s!=null&&s(n[1],i))a.remove(i);else return n[0];const r=t(i);return u.set(i,[r,Date.now()]),o("CREATE",i,r),r},o=(i,n,r)=>{for(const l of c)l({type:i,param:n,atom:r})};return a.unstable_listen=i=>(c.add(i),()=>{c.delete(i)}),a.getParams=()=>u.keys(),a.remove=i=>{if(e===void 0){if(!u.has(i))return;const[n]=u.get(i);u.delete(i),o("REMOVE",i,n)}else for(const[n,[r]]of u)if(e(n,i)){u.delete(n),o("REMOVE",n,r);break}},a.setShouldRemove=i=>{if(s=i,!!s)for(const[n,[r,l]]of u)s(l,n)&&(u.delete(n),o("REMOVE",n,r))},a}const I=(t,e,s)=>(e.has(s)?e:e.set(s,t())).get(s),C=new WeakMap,F=(t,e,s,u)=>{const c=I(()=>new WeakMap,C,e),a=I(()=>new WeakMap,c,s);return I(t,a,u)};function K(t,e,s=Object.is){return F(()=>{const u=Symbol(),c=([o,i])=>{if(i===u)return e(o);const n=e(o,i);return s(i,n)?i:n},a=m(o=>{const i=o(a),n=o(t);return c([n,i])});return a.init=u,a},t,e,s)}const A=new WeakSet,L=t=>{if(typeof t!="object"||t===null)return t;Object.freeze(t);const e=Object.getOwnPropertyNames(t);for(const s of e)L(t[s]);return t};function T(t){if(A.has(t))return t;A.add(t);const e=t.read;if(t.read=function(s,u){return L(e.call(this,s,u))},"write"in t){const s=t.write;t.write=function(u,c,...a){return s.call(this,u,(...o)=>(o[0]===t&&(o[1]=L(o[1])),c(...o)),...a)}}return t}function q(t){return((...e)=>T(t(...e)))}const j=(t,e,s)=>(e.has(s)?e:e.set(s,t())).get(s),B=new WeakMap,G=(t,e,s)=>{const u=j(()=>new WeakMap,B,e);return j(t,u,s)},H={},N=t=>!!t.write,Q=t=>typeof t=="function";function U(t,e){return G(()=>{const s=new WeakMap,u=(o,i)=>{let n=s.get(o);if(n)return n;const r=i&&s.get(i),l=[],f=[];return o.forEach((b,v)=>{const d=e?e(b):v;f[v]=d;const g=r&&r.atomList[r.keyList.indexOf(d)];if(g){l[v]=g;return}const W=w=>{const y=w(c),h=w(t),S=u(h,y==null?void 0:y.arr).keyList.indexOf(d);if(S<0||S>=h.length){const p=o[u(o).keyList.indexOf(d)];if(p)return p;throw new Error("splitAtom: index out of bounds for read")}return h[S]},E=(w,y,h)=>{const S=w(c),p=w(t),k=u(p,S==null?void 0:S.arr).keyList.indexOf(d);if(k<0||k>=p.length)throw new Error("splitAtom: index out of bounds for write");const D=Q(h)?h(p[k]):h;Object.is(p[k],D)||y(t,[...p.slice(0,k),D,...p.slice(k+1)])};l[v]=N(t)?m(W,E):m(W)}),r&&r.keyList.length===f.length&&r.keyList.every((b,v)=>b===f[v])?n=r:n={arr:o,atomList:l,keyList:f},s.set(o,n),n},c=m(o=>{const i=o(c),n=o(t);return u(n,i==null?void 0:i.arr)});c.init=void 0;const a=N(t)?m(o=>o(c).atomList,(o,i,n)=>{switch(n.type){case"remove":{const r=o(a).indexOf(n.atom);if(r>=0){const l=o(t);i(t,[...l.slice(0,r),...l.slice(r+1)])}break}case"insert":{const r=n.before?o(a).indexOf(n.before):o(a).length;if(r>=0){const l=o(t);i(t,[...l.slice(0,r),n.value,...l.slice(r)])}break}case"move":{const r=o(a).indexOf(n.atom),l=n.before?o(a).indexOf(n.before):o(a).length;if(r>=0&&l>=0){const f=o(t);r<l?i(t,[...f.slice(0,r),...f.slice(r+1,l),f[r],...f.slice(l)]):i(t,[...f.slice(0,l),f[r],...f.slice(l,r),...f.slice(r+1)])}break}}}):m(o=>o(c).atomList);return a},t,e||H)}function X(t){const e=Symbol(),s=m(e),u=m((c,a)=>{const o=c(s);return o!==e?o:t(c,a)},(c,a,o)=>{const i=typeof o=="function"?o(c(u)):o;a(s,i===O?e:i)});return u}const M=t=>typeof(t==null?void 0:t.then)=="function";function Y(t){return e=>({...e,getItem:(s,u)=>{const c=o=>t(o)?o:u,a=e.getItem(s,u);return M(a)?a.then(c):c(a)}})}function V(t=()=>{try{return window.localStorage}catch(s){return}},e){var s;let u,c;const a={getItem:(n,r)=>{var l,f;const b=d=>{if(d=d||"",u!==d){try{c=JSON.parse(d,e==null?void 0:e.reviver)}catch(g){return r}u=d}return c},v=(f=(l=t())==null?void 0:l.getItem(n))!=null?f:null;return M(v)?v.then(b):b(v)},setItem:(n,r)=>{var l;return(l=t())==null?void 0:l.setItem(n,JSON.stringify(r,e==null?void 0:e.replacer))},removeItem:n=>{var r;return(r=t())==null?void 0:r.removeItem(n)}},o=n=>(r,l,f)=>n(r,b=>{let v;try{v=JSON.parse(b||"")}catch(d){v=f}l(v)});let i;try{i=(s=t())==null?void 0:s.subscribe}catch(n){}return!i&&typeof window!="undefined"&&typeof window.addEventListener=="function"&&window.Storage&&(i=(n,r)=>{if(!(t()instanceof window.Storage))return()=>{};const l=f=>{f.storageArea===t()&&f.key===n&&r(f.newValue)};return window.addEventListener("storage",l),()=>{window.removeEventListener("storage",l)}}),i&&(a.subscribe=o(i)),a}const Z=V();function tt(t,e,s=Z,u){const c=u==null?void 0:u.getOnInit,a=m(c?s.getItem(t,e):e);return a.onMount=o=>{var i;return o(s.getItem(t,e)),(i=s.subscribe)==null?void 0:i.call(s,t,o,e)},m(o=>o(a),(o,i,n)=>{const r=typeof n=="function"?n(o(a)):n;return r===O?(i(a,e),s.removeItem(t)):M(r)?r.then(l=>(i(a,l),s.setItem(t,l))):(i(a,r),s.setItem(t,r))})}const et=t=>typeof(t==null?void 0:t.then)=="function";function nt(t,e){const s=c=>{if("e"in c)throw c.e;return c.d},u=m(c=>{var a;const o=t(c),i=((a=o[Symbol.observable])==null?void 0:a.call(o))||o;let n;const r=()=>new Promise(h=>{n=h}),l=e&&"initialValue"in e?{d:typeof e.initialValue=="function"?e.initialValue():e.initialValue}:r();let f,b;const v=h=>{b=h,n==null||n(h),f==null||f(h)};let d,g;const W=()=>!f,E=()=>{d&&(d.unsubscribe(),d=void 0)},w=()=>{d&&(clearTimeout(g),d.unsubscribe()),d=i.subscribe({next:h=>v({d:h}),error:h=>v({e:h}),complete:()=>{}}),W()&&e!=null&&e.unstable_timeout&&(g=setTimeout(E,e.unstable_timeout))};w();const y=m(b||l);return y.onMount=h=>(f=h,b&&h(b),d?clearTimeout(g):w(),()=>{f=void 0,e!=null&&e.unstable_timeout?g=setTimeout(E,e.unstable_timeout):E()}),[y,o,r,w,W]});return m(c=>{const[a]=c(u),o=c(a);return et(o)?o.then(s):s(o)},(c,a,o)=>{const[i,n,r,l,f]=c(u);if("next"in n)f()&&(a(i,r()),l()),n.next(o);else throw new Error("observable is not subject")})}const z=(t,e,s)=>(e.has(s)?e:e.set(s,t())).get(s),ot=new WeakMap,rt=(t,e,s)=>{const u=z(()=>new WeakMap,ot,e);return z(t,u,s)},it=t=>typeof(t==null?void 0:t.then)=="function",st=()=>{};function _(t,e=st){return rt(()=>{const s=new WeakMap,u=new WeakMap,c=m(0),a=m([]);a.INTERNAL_onInit=i=>{i.set(a,[()=>i.set(c,n=>n+1)])};const o=m(i=>{i(c);let n;try{n=i(o)}catch(l){}const r=i(t);if(!it(r))return{v:r};if(r!==(n==null?void 0:n.p)&&r.then(l=>{u.set(r,l);const[f]=i(a);f()},l=>{s.set(r,l);const[f]=i(a);f()}),s.has(r))throw s.get(r);return u.has(r)?{p:r,v:u.get(r)}:n&&"v"in n?{p:r,f:e(n.v),v:n.v}:{p:r,f:e()}});return o.init=void 0,m(i=>{const n=i(o);return"f"in n?n.f:n.v},(i,n,...r)=>n(t,...r))},t,e)}const R=new WeakMap,ut=(t,e)=>(R.has(e)?R:R.set(e,t())).get(e);function ct(t){return ut(()=>{const e={state:"loading"},s=_(t,()=>e);return m(u=>{try{const c=u(s);return c===e?e:{state:"hasData",data:c}}catch(c){return{state:"hasError",error:c}}})},t)}function at(t,e){const s=m(0);return m((u,c)=>(u(s),t(u,c)),(u,c,...a)=>{if(a.length===0)c(s,o=>o+1);else if(e)return e(u,c,...a)})}function lt(t){const e=m(void 0);return delete e.init,Object.defineProperty(e,"init",{get(){return t()}}),e}})}}));
1
+ System.register(["jotai/vanilla"],(function(x){"use strict";var m;return{setters:[function(O){m=O.atom}],execute:(function(){x({atomFamily:$,atomWithDefault:X,atomWithLazy:lt,atomWithObservable:nt,atomWithReducer:P,atomWithRefresh:ct,atomWithReset:J,atomWithStorage:tt,createJSONStorage:V,freezeAtom:T,freezeAtomCreator:q,loadable:ut,selectAtom:K,splitAtom:U,unstable_withStorageValidator:Y,unwrap:_});const O=x("RESET",Symbol(""));function J(t){const e=m(t,(s,a,u)=>{const c=typeof u=="function"?u(s(e)):u;a(e,c===O?t:c)});return e}function P(t,e){return m(t,function(s,a,u){a(this,e(s(this),u))})}function $(t,e){let s=null;const a=new Map,u=new Set,c=i=>{let n;if(e===void 0)n=a.get(i);else for(const[l,f]of a)if(e(l,i)){n=f;break}if(n!==void 0)if(s!=null&&s(n[1],i))c.remove(i);else return n[0];const o=t(i);return a.set(i,[o,Date.now()]),r("CREATE",i,o),o},r=(i,n,o)=>{for(const l of u)l({type:i,param:n,atom:o})};return c.unstable_listen=i=>(u.add(i),()=>{u.delete(i)}),c.getParams=()=>a.keys(),c.remove=i=>{if(e===void 0){if(!a.has(i))return;const[n]=a.get(i);a.delete(i),r("REMOVE",i,n)}else for(const[n,[o]]of a)if(e(n,i)){a.delete(n),r("REMOVE",n,o);break}},c.setShouldRemove=i=>{if(s=i,!!s)for(const[n,[o,l]]of a)s(l,n)&&(a.delete(n),r("REMOVE",n,o))},c}const I=(t,e,s)=>(e.has(s)?e:e.set(s,t())).get(s),C=new WeakMap,F=(t,e,s,a)=>{const u=I(()=>new WeakMap,C,e),c=I(()=>new WeakMap,u,s);return I(t,c,a)};function K(t,e,s=Object.is){return F(()=>{const a=Symbol(),u=([r,i])=>{if(i===a)return e(r);const n=e(r,i);return s(i,n)?i:n},c=m(r=>{const i=r(c),n=r(t);return u([n,i])});return c.init=a,c},t,e,s)}const R=new WeakSet,L=t=>{if(typeof t!="object"||t===null)return t;Object.freeze(t);const e=Object.getOwnPropertyNames(t);for(const s of e)L(t[s]);return t};function T(t){if(R.has(t))return t;R.add(t);const e=t.read;if(t.read=function(s,a){return L(e.call(this,s,a))},"write"in t){const s=t.write;t.write=function(a,u,...c){return s.call(this,a,(...r)=>(r[0]===t&&(r[1]=L(r[1])),u(...r)),...c)}}return t}function q(t){return((...e)=>T(t(...e)))}const j=(t,e,s)=>(e.has(s)?e:e.set(s,t())).get(s),B=new WeakMap,G=(t,e,s)=>{const a=j(()=>new WeakMap,B,e);return j(t,a,s)},H={},N=t=>!!t.write,Q=t=>typeof t=="function";function U(t,e){return G(()=>{const s=new WeakMap,a=(r,i)=>{let n=s.get(r);if(n)return n;const o=i&&s.get(i),l=[],f=[];return r.forEach((w,v)=>{const d=e?e(w):v;f[v]=d;const g=o&&o.atomList[o.keyList.indexOf(d)];if(g){l[v]=g;return}const W=b=>{const y=b(u),h=b(t),S=a(h,y==null?void 0:y.arr).keyList.indexOf(d);if(S<0||S>=h.length){const p=r[a(r).keyList.indexOf(d)];if(p)return p;throw new Error("splitAtom: index out of bounds for read")}return h[S]},E=(b,y,h)=>{const S=b(u),p=b(t),k=a(p,S==null?void 0:S.arr).keyList.indexOf(d);if(k<0||k>=p.length)throw new Error("splitAtom: index out of bounds for write");const D=Q(h)?h(p[k]):h;Object.is(p[k],D)||y(t,[...p.slice(0,k),D,...p.slice(k+1)])};l[v]=N(t)?m(W,E):m(W)}),o&&o.keyList.length===f.length&&o.keyList.every((w,v)=>w===f[v])?n=o:n={arr:r,atomList:l,keyList:f},s.set(r,n),n},u=m(r=>{const i=r(u),n=r(t);return a(n,i==null?void 0:i.arr)});u.init=void 0;const c=N(t)?m(r=>r(u).atomList,(r,i,n)=>{switch(n.type){case"remove":{const o=r(c).indexOf(n.atom);if(o>=0){const l=r(t);i(t,[...l.slice(0,o),...l.slice(o+1)])}break}case"insert":{const o=n.before?r(c).indexOf(n.before):r(c).length;if(o>=0){const l=r(t);i(t,[...l.slice(0,o),n.value,...l.slice(o)])}break}case"move":{const o=r(c).indexOf(n.atom),l=n.before?r(c).indexOf(n.before):r(c).length;if(o>=0&&l>=0){const f=r(t);o<l?i(t,[...f.slice(0,o),...f.slice(o+1,l),f[o],...f.slice(l)]):i(t,[...f.slice(0,l),f[o],...f.slice(l,o),...f.slice(o+1)])}break}}}):m(r=>r(u).atomList);return c},t,e||H)}function X(t){const e=Symbol(),s=m(e),a=m((u,c)=>{const r=u(s);return r!==e?r:t(u,c)},(u,c,r)=>{const i=typeof r=="function"?r(u(a)):r;c(s,i===O?e:i)});return a}const M=t=>typeof(t==null?void 0:t.then)=="function";function Y(t){return e=>({...e,getItem:(s,a)=>{const u=r=>t(r)?r:a,c=e.getItem(s,a);return M(c)?c.then(u):u(c)}})}function V(t=()=>{try{return window.localStorage}catch(s){return}},e){var s;let a,u;const c={getItem:(n,o)=>{var l,f;const w=d=>{if(d=d||"",a!==d){try{u=JSON.parse(d,e==null?void 0:e.reviver)}catch(g){return o}a=d}return u},v=(f=(l=t())==null?void 0:l.getItem(n))!=null?f:null;return M(v)?v.then(w):w(v)},setItem:(n,o)=>{var l;return(l=t())==null?void 0:l.setItem(n,JSON.stringify(o,e==null?void 0:e.replacer))},removeItem:n=>{var o;return(o=t())==null?void 0:o.removeItem(n)}},r=n=>(o,l,f)=>n(o,w=>{let v;try{v=JSON.parse(w||"")}catch(d){v=f}l(v)});let i;try{i=(s=t())==null?void 0:s.subscribe}catch(n){}return!i&&typeof window!="undefined"&&typeof window.addEventListener=="function"&&window.Storage&&(i=(n,o)=>{if(!(t()instanceof window.Storage))return()=>{};const l=f=>{f.storageArea===t()&&f.key===n&&o(f.newValue)};return window.addEventListener("storage",l),()=>{window.removeEventListener("storage",l)}}),i&&(c.subscribe=r(i)),c}const Z=V();function tt(t,e,s=Z,a){const u=a==null?void 0:a.getOnInit,c=m(u?s.getItem(t,e):e);return c.onMount=r=>{var i;return r(s.getItem(t,e)),(i=s.subscribe)==null?void 0:i.call(s,t,r,e)},m(r=>r(c),(r,i,n)=>{const o=typeof n=="function"?n(r(c)):n;return o===O?(i(c,e),s.removeItem(t)):M(o)?o.then(l=>(i(c,l),s.setItem(t,l))):(i(c,o),s.setItem(t,o))})}const et=t=>typeof(t==null?void 0:t.then)=="function";function nt(t,e){const s=u=>{if("e"in u)throw u.e;return u.d},a=m(u=>{var c;const r=t(u),i=((c=r[Symbol.observable])==null?void 0:c.call(r))||r;let n;const o=()=>new Promise(h=>{n=h}),l=e&&"initialValue"in e?{d:typeof e.initialValue=="function"?e.initialValue():e.initialValue}:o();let f,w;const v=h=>{w=h,n==null||n(h),f==null||f(h)};let d,g;const W=()=>!f,E=()=>{d&&(d.unsubscribe(),d=void 0)},b=()=>{d&&(clearTimeout(g),d.unsubscribe()),d=i.subscribe({next:h=>v({d:h}),error:h=>v({e:h}),complete:()=>{}}),W()&&e!=null&&e.unstable_timeout&&(g=setTimeout(E,e.unstable_timeout))};b();const y=m(w||l);return y.onMount=h=>(f=h,w&&h(w),d?clearTimeout(g):b(),()=>{f=void 0,e!=null&&e.unstable_timeout?g=setTimeout(E,e.unstable_timeout):E()}),[y,r,o,b,W]});return m(u=>{const[c]=u(a),r=u(c);return et(r)?r.then(s):s(r)},(u,c,r)=>{const[i,n,o,l,f]=u(a);if("next"in n)f()&&(c(i,o()),l()),n.next(r);else throw new Error("observable is not subject")})}const z=(t,e,s)=>(e.has(s)?e:e.set(s,t())).get(s),rt=new WeakMap,ot=(t,e,s)=>{const a=z(()=>new WeakMap,rt,e);return z(t,a,s)},it=t=>typeof(t==null?void 0:t.then)=="function",st=()=>{};function _(t,e=st){return ot(()=>{const s=new WeakMap,a=new WeakMap,u=m(0),c=m([]);c.INTERNAL_onInit=i=>{i.set(c,[()=>i.set(u,n=>n+1)])};const r=m(i=>{i(u);let n;try{n=i(r)}catch(l){}const o=i(t);if(!it(o))return{v:o};if(o!==(n==null?void 0:n.p)&&o.then(l=>{a.set(o,l);const[f]=i(c);f()},l=>{s.set(o,l);const[f]=i(c);f()}),s.has(o))throw s.get(o);return a.has(o)?{p:o,v:a.get(o)}:n&&"v"in n?{p:o,f:e(n.v),v:n.v}:{p:o,f:e()}});return r.init=void 0,m(i=>{const n=i(r);return"f"in n?n.f:n.v},(i,n,...o)=>n(t,...o))},t,e)}const A=new WeakMap,at=(t,e)=>(A.has(e)?A:A.set(e,t())).get(e);function ut(t){return at(()=>{const e={state:"loading"},s=_(t,()=>e);return m(a=>{try{const u=a(s);return u===e?e:{state:"hasData",data:u}}catch(u){return{state:"hasError",error:u}}})},t)}function ct(t,e){const s=m(0);return m((a,u)=>(a(s),t(a,u)),(a,u,...c)=>{if(c.length===0)u(s,r=>r+1);else if(e)return e(a,u,...c)})}function lt(t){const e=m(void 0);return delete e.init,Object.defineProperty(e,"init",{get(){return t()}}),e}})}}));
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env npx tsx
2
+ export {};
3
+ declare type Awaited<T> = T extends Promise<infer V> ? V : T;
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env npx tsx
2
+ export {};
3
+ declare type Awaited<T> = T extends Promise<infer V> ? V : T;
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env npx tsx
2
+ export {};
3
+ declare type Awaited<T> = T extends Promise<infer V> ? V : T;
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env npx tsx
2
+ export {};
3
+ declare type Awaited<T> = T extends Promise<infer V> ? V : T;
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env npx tsx
2
+ export {};
3
+ declare type Awaited<T> = T extends Promise<infer V> ? V : T;
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env npx tsx
2
+ export {};
3
+ declare type Awaited<T> = T extends Promise<infer V> ? V : T;