hookery 0.0.1 → 1.0.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 (98) hide show
  1. package/README.md +72 -11
  2. package/dist/bridges/auth0.d.mts +16 -0
  3. package/dist/bridges/auth0.d.ts +16 -0
  4. package/dist/bridges/auth0.js +3015 -0
  5. package/dist/bridges/auth0.js.map +1 -0
  6. package/dist/bridges/auth0.mjs +2977 -0
  7. package/dist/bridges/auth0.mjs.map +1 -0
  8. package/dist/bridges/axios.d.mts +17 -0
  9. package/dist/bridges/axios.d.ts +17 -0
  10. package/dist/bridges/axios.js +15351 -0
  11. package/dist/bridges/axios.js.map +1 -0
  12. package/dist/bridges/axios.mjs +15347 -0
  13. package/dist/bridges/axios.mjs.map +1 -0
  14. package/dist/bridges/clerk.d.mts +1 -0
  15. package/dist/bridges/clerk.d.ts +1 -0
  16. package/dist/bridges/clerk.js +5991 -0
  17. package/dist/bridges/clerk.js.map +1 -0
  18. package/dist/bridges/clerk.mjs +5985 -0
  19. package/dist/bridges/clerk.mjs.map +1 -0
  20. package/dist/bridges/firebase.d.mts +14 -0
  21. package/dist/bridges/firebase.d.ts +14 -0
  22. package/dist/bridges/firebase.js +52 -0
  23. package/dist/bridges/firebase.js.map +1 -0
  24. package/dist/bridges/firebase.mjs +25 -0
  25. package/dist/bridges/firebase.mjs.map +1 -0
  26. package/dist/bridges/jotai.d.mts +11 -0
  27. package/dist/bridges/jotai.d.ts +11 -0
  28. package/dist/bridges/jotai.js +870 -0
  29. package/dist/bridges/jotai.js.map +1 -0
  30. package/dist/bridges/jotai.mjs +827 -0
  31. package/dist/bridges/jotai.mjs.map +1 -0
  32. package/dist/bridges/motion.d.mts +6 -0
  33. package/dist/bridges/motion.d.ts +6 -0
  34. package/dist/bridges/motion.js +3752 -0
  35. package/dist/bridges/motion.js.map +1 -0
  36. package/dist/bridges/motion.mjs +3721 -0
  37. package/dist/bridges/motion.mjs.map +1 -0
  38. package/dist/bridges/next.d.mts +10 -0
  39. package/dist/bridges/next.d.ts +10 -0
  40. package/dist/bridges/next.js +2588 -0
  41. package/dist/bridges/next.js.map +1 -0
  42. package/dist/bridges/next.mjs +2582 -0
  43. package/dist/bridges/next.mjs.map +1 -0
  44. package/dist/bridges/redux.d.mts +15 -0
  45. package/dist/bridges/redux.d.ts +15 -0
  46. package/dist/bridges/redux.js +410 -0
  47. package/dist/bridges/redux.js.map +1 -0
  48. package/dist/bridges/redux.mjs +402 -0
  49. package/dist/bridges/redux.mjs.map +1 -0
  50. package/dist/bridges/remix.d.mts +1 -0
  51. package/dist/bridges/remix.d.ts +1 -0
  52. package/dist/bridges/remix.js +2215 -0
  53. package/dist/bridges/remix.js.map +1 -0
  54. package/dist/bridges/remix.mjs +2174 -0
  55. package/dist/bridges/remix.mjs.map +1 -0
  56. package/dist/bridges/stripe.d.mts +15 -0
  57. package/dist/bridges/stripe.d.ts +15 -0
  58. package/dist/bridges/stripe.js +1572 -0
  59. package/dist/bridges/stripe.js.map +1 -0
  60. package/dist/bridges/stripe.mjs +1556 -0
  61. package/dist/bridges/stripe.mjs.map +1 -0
  62. package/dist/bridges/supabase.d.mts +13 -0
  63. package/dist/bridges/supabase.d.ts +13 -0
  64. package/dist/bridges/supabase.js +51 -0
  65. package/dist/bridges/supabase.js.map +1 -0
  66. package/dist/bridges/supabase.mjs +24 -0
  67. package/dist/bridges/supabase.mjs.map +1 -0
  68. package/dist/bridges/tanstack.d.mts +3 -0
  69. package/dist/bridges/tanstack.d.ts +3 -0
  70. package/dist/bridges/tanstack.js +1319 -0
  71. package/dist/bridges/tanstack.js.map +1 -0
  72. package/dist/bridges/tanstack.mjs +1281 -0
  73. package/dist/bridges/tanstack.mjs.map +1 -0
  74. package/dist/bridges/yup.d.mts +16 -0
  75. package/dist/bridges/yup.d.ts +16 -0
  76. package/dist/bridges/yup.js +80 -0
  77. package/dist/bridges/yup.js.map +1 -0
  78. package/dist/bridges/yup.mjs +43 -0
  79. package/dist/bridges/yup.mjs.map +1 -0
  80. package/dist/bridges/zod.d.mts +19 -0
  81. package/dist/bridges/zod.d.ts +19 -0
  82. package/dist/bridges/zod.js +66 -0
  83. package/dist/bridges/zod.js.map +1 -0
  84. package/dist/bridges/zod.mjs +39 -0
  85. package/dist/bridges/zod.mjs.map +1 -0
  86. package/dist/bridges/zustand.d.mts +14 -0
  87. package/dist/bridges/zustand.d.ts +14 -0
  88. package/dist/bridges/zustand.js +58 -0
  89. package/dist/bridges/zustand.js.map +1 -0
  90. package/dist/bridges/zustand.mjs +21 -0
  91. package/dist/bridges/zustand.mjs.map +1 -0
  92. package/dist/index.d.mts +3124 -8
  93. package/dist/index.d.ts +3124 -8
  94. package/dist/index.js +4290 -10
  95. package/dist/index.js.map +1 -0
  96. package/dist/index.mjs +4172 -7
  97. package/dist/index.mjs.map +1 -0
  98. package/package.json +131 -6
@@ -0,0 +1,870 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/bridges/jotai/index.ts
31
+ var jotai_exports = {};
32
+ __export(jotai_exports, {
33
+ useAtom: () => useAtom,
34
+ useAtomValue: () => useAtomValue,
35
+ useJotai: () => useJotai,
36
+ useSetAtom: () => useSetAtom
37
+ });
38
+ module.exports = __toCommonJS(jotai_exports);
39
+
40
+ // node_modules/jotai/esm/vanilla/internals.mjs
41
+ var import_meta = {};
42
+ function hasInitialValue(atom) {
43
+ return "init" in atom;
44
+ }
45
+ function isActuallyWritableAtom(atom) {
46
+ return !!atom.write;
47
+ }
48
+ function isAtomStateInitialized(atomState) {
49
+ return "v" in atomState || "e" in atomState;
50
+ }
51
+ function returnAtomValue(atomState) {
52
+ if ("e" in atomState) {
53
+ throw atomState.e;
54
+ }
55
+ if ((import_meta.env ? import_meta.env.MODE : void 0) !== "production" && !("v" in atomState)) {
56
+ throw new Error("[Bug] atom state is not initialized");
57
+ }
58
+ return atomState.v;
59
+ }
60
+ var promiseStateMap = /* @__PURE__ */ new WeakMap();
61
+ function isPendingPromise(value) {
62
+ var _a;
63
+ return isPromiseLike(value) && !!((_a = promiseStateMap.get(value)) == null ? void 0 : _a[0]);
64
+ }
65
+ function abortPromise(promise) {
66
+ const promiseState = promiseStateMap.get(promise);
67
+ if (promiseState == null ? void 0 : promiseState[0]) {
68
+ promiseState[0] = false;
69
+ promiseState[1].forEach((fn) => fn());
70
+ }
71
+ }
72
+ function registerAbortHandler(promise, abortHandler) {
73
+ let promiseState = promiseStateMap.get(promise);
74
+ if (!promiseState) {
75
+ promiseState = [true, /* @__PURE__ */ new Set()];
76
+ promiseStateMap.set(promise, promiseState);
77
+ const settle = () => {
78
+ promiseState[0] = false;
79
+ };
80
+ promise.then(settle, settle);
81
+ }
82
+ promiseState[1].add(abortHandler);
83
+ }
84
+ function isPromiseLike(p) {
85
+ return typeof (p == null ? void 0 : p.then) === "function";
86
+ }
87
+ function addPendingPromiseToDependency(atom, promise, dependencyAtomState) {
88
+ if (!dependencyAtomState.p.has(atom)) {
89
+ dependencyAtomState.p.add(atom);
90
+ const cleanup = () => dependencyAtomState.p.delete(atom);
91
+ promise.then(cleanup, cleanup);
92
+ }
93
+ }
94
+ function getMountedOrPendingDependents(atom, atomState, mountedMap) {
95
+ var _a;
96
+ const dependents = /* @__PURE__ */ new Set();
97
+ for (const a of ((_a = mountedMap.get(atom)) == null ? void 0 : _a.t) || []) {
98
+ dependents.add(a);
99
+ }
100
+ for (const atomWithPendingPromise of atomState.p) {
101
+ dependents.add(atomWithPendingPromise);
102
+ }
103
+ return dependents;
104
+ }
105
+ var BUILDING_BLOCK_atomRead = (_store, atom, ...params) => atom.read(...params);
106
+ var BUILDING_BLOCK_atomWrite = (_store, atom, ...params) => atom.write(...params);
107
+ var BUILDING_BLOCK_atomOnInit = (store, atom) => {
108
+ if (atom.INTERNAL_onInit) {
109
+ return atom.INTERNAL_onInit(store);
110
+ }
111
+ };
112
+ var BUILDING_BLOCK_atomOnMount = (_store, atom, setAtom) => {
113
+ var _a;
114
+ return (_a = atom.onMount) == null ? void 0 : _a.call(atom, setAtom);
115
+ };
116
+ var BUILDING_BLOCK_ensureAtomState = (store, atom) => {
117
+ var _a;
118
+ const buildingBlocks = getInternalBuildingBlocks(store);
119
+ const atomStateMap = buildingBlocks[0];
120
+ const storeHooks = buildingBlocks[6];
121
+ const atomOnInit = buildingBlocks[9];
122
+ if ((import_meta.env ? import_meta.env.MODE : void 0) !== "production" && !atom) {
123
+ throw new Error("Atom is undefined or null");
124
+ }
125
+ let atomState = atomStateMap.get(atom);
126
+ if (!atomState) {
127
+ atomState = { d: /* @__PURE__ */ new Map(), p: /* @__PURE__ */ new Set(), n: 0 };
128
+ atomStateMap.set(atom, atomState);
129
+ (_a = storeHooks.i) == null ? void 0 : _a.call(storeHooks, atom);
130
+ atomOnInit == null ? void 0 : atomOnInit(store, atom);
131
+ }
132
+ return atomState;
133
+ };
134
+ var BUILDING_BLOCK_flushCallbacks = (store) => {
135
+ const buildingBlocks = getInternalBuildingBlocks(store);
136
+ const mountedMap = buildingBlocks[1];
137
+ const changedAtoms = buildingBlocks[3];
138
+ const mountCallbacks = buildingBlocks[4];
139
+ const unmountCallbacks = buildingBlocks[5];
140
+ const storeHooks = buildingBlocks[6];
141
+ const recomputeInvalidatedAtoms = buildingBlocks[13];
142
+ const errors = [];
143
+ const call = (fn) => {
144
+ try {
145
+ fn();
146
+ } catch (e) {
147
+ errors.push(e);
148
+ }
149
+ };
150
+ do {
151
+ if (storeHooks.f) {
152
+ call(storeHooks.f);
153
+ }
154
+ const callbacks = /* @__PURE__ */ new Set();
155
+ const add = callbacks.add.bind(callbacks);
156
+ changedAtoms.forEach((atom) => {
157
+ var _a;
158
+ return (_a = mountedMap.get(atom)) == null ? void 0 : _a.l.forEach(add);
159
+ });
160
+ changedAtoms.clear();
161
+ unmountCallbacks.forEach(add);
162
+ unmountCallbacks.clear();
163
+ mountCallbacks.forEach(add);
164
+ mountCallbacks.clear();
165
+ callbacks.forEach(call);
166
+ if (changedAtoms.size) {
167
+ recomputeInvalidatedAtoms(store);
168
+ }
169
+ } while (changedAtoms.size || unmountCallbacks.size || mountCallbacks.size);
170
+ if (errors.length) {
171
+ throw new AggregateError(errors);
172
+ }
173
+ };
174
+ var BUILDING_BLOCK_recomputeInvalidatedAtoms = (store) => {
175
+ const buildingBlocks = getInternalBuildingBlocks(store);
176
+ const mountedMap = buildingBlocks[1];
177
+ const invalidatedAtoms = buildingBlocks[2];
178
+ const changedAtoms = buildingBlocks[3];
179
+ const ensureAtomState = buildingBlocks[11];
180
+ const readAtomState = buildingBlocks[14];
181
+ const mountDependencies = buildingBlocks[17];
182
+ const topSortedReversed = [];
183
+ const visiting = /* @__PURE__ */ new WeakSet();
184
+ const visited = /* @__PURE__ */ new WeakSet();
185
+ const stack = Array.from(changedAtoms);
186
+ while (stack.length) {
187
+ const a = stack[stack.length - 1];
188
+ const aState = ensureAtomState(store, a);
189
+ if (visited.has(a)) {
190
+ stack.pop();
191
+ continue;
192
+ }
193
+ if (visiting.has(a)) {
194
+ if (invalidatedAtoms.get(a) === aState.n) {
195
+ topSortedReversed.push([a, aState]);
196
+ } else if ((import_meta.env ? import_meta.env.MODE : void 0) !== "production" && invalidatedAtoms.has(a)) {
197
+ throw new Error("[Bug] invalidated atom exists");
198
+ }
199
+ visited.add(a);
200
+ stack.pop();
201
+ continue;
202
+ }
203
+ visiting.add(a);
204
+ for (const d of getMountedOrPendingDependents(a, aState, mountedMap)) {
205
+ if (!visiting.has(d)) {
206
+ stack.push(d);
207
+ }
208
+ }
209
+ }
210
+ for (let i = topSortedReversed.length - 1; i >= 0; --i) {
211
+ const [a, aState] = topSortedReversed[i];
212
+ let hasChangedDeps = false;
213
+ for (const dep of aState.d.keys()) {
214
+ if (dep !== a && changedAtoms.has(dep)) {
215
+ hasChangedDeps = true;
216
+ break;
217
+ }
218
+ }
219
+ if (hasChangedDeps) {
220
+ readAtomState(store, a);
221
+ mountDependencies(store, a);
222
+ }
223
+ invalidatedAtoms.delete(a);
224
+ }
225
+ };
226
+ var storeMutationSet = /* @__PURE__ */ new WeakSet();
227
+ var BUILDING_BLOCK_readAtomState = (store, atom) => {
228
+ var _a, _b;
229
+ const buildingBlocks = getInternalBuildingBlocks(store);
230
+ const mountedMap = buildingBlocks[1];
231
+ const invalidatedAtoms = buildingBlocks[2];
232
+ const changedAtoms = buildingBlocks[3];
233
+ const storeHooks = buildingBlocks[6];
234
+ const atomRead = buildingBlocks[7];
235
+ const ensureAtomState = buildingBlocks[11];
236
+ const flushCallbacks = buildingBlocks[12];
237
+ const recomputeInvalidatedAtoms = buildingBlocks[13];
238
+ const readAtomState = buildingBlocks[14];
239
+ const writeAtomState = buildingBlocks[16];
240
+ const mountDependencies = buildingBlocks[17];
241
+ const setAtomStateValueOrPromise = buildingBlocks[20];
242
+ const atomState = ensureAtomState(store, atom);
243
+ if (isAtomStateInitialized(atomState)) {
244
+ if (mountedMap.has(atom) && invalidatedAtoms.get(atom) !== atomState.n) {
245
+ return atomState;
246
+ }
247
+ let hasChangedDeps = false;
248
+ for (const [a, n] of atomState.d) {
249
+ if (readAtomState(store, a).n !== n) {
250
+ hasChangedDeps = true;
251
+ break;
252
+ }
253
+ }
254
+ if (!hasChangedDeps) {
255
+ return atomState;
256
+ }
257
+ }
258
+ atomState.d.clear();
259
+ let isSync = true;
260
+ function mountDependenciesIfAsync() {
261
+ if (mountedMap.has(atom)) {
262
+ mountDependencies(store, atom);
263
+ recomputeInvalidatedAtoms(store);
264
+ flushCallbacks(store);
265
+ }
266
+ }
267
+ function getter(a) {
268
+ var _a2;
269
+ if (a === atom) {
270
+ const aState2 = ensureAtomState(store, a);
271
+ if (!isAtomStateInitialized(aState2)) {
272
+ if (hasInitialValue(a)) {
273
+ setAtomStateValueOrPromise(store, a, a.init);
274
+ } else {
275
+ throw new Error("no atom init");
276
+ }
277
+ }
278
+ return returnAtomValue(aState2);
279
+ }
280
+ const aState = readAtomState(store, a);
281
+ try {
282
+ return returnAtomValue(aState);
283
+ } finally {
284
+ atomState.d.set(a, aState.n);
285
+ if (isPendingPromise(atomState.v)) {
286
+ addPendingPromiseToDependency(atom, atomState.v, aState);
287
+ }
288
+ if (mountedMap.has(atom)) {
289
+ (_a2 = mountedMap.get(a)) == null ? void 0 : _a2.t.add(atom);
290
+ }
291
+ if (!isSync) {
292
+ mountDependenciesIfAsync();
293
+ }
294
+ }
295
+ }
296
+ let controller;
297
+ let setSelf;
298
+ const options = {
299
+ get signal() {
300
+ if (!controller) {
301
+ controller = new AbortController();
302
+ }
303
+ return controller.signal;
304
+ },
305
+ get setSelf() {
306
+ if ((import_meta.env ? import_meta.env.MODE : void 0) !== "production") {
307
+ console.warn(
308
+ "[DEPRECATED] setSelf is deprecated and will be removed in v3."
309
+ );
310
+ }
311
+ if ((import_meta.env ? import_meta.env.MODE : void 0) !== "production" && !isActuallyWritableAtom(atom)) {
312
+ console.warn("setSelf function cannot be used with read-only atom");
313
+ }
314
+ if (!setSelf && isActuallyWritableAtom(atom)) {
315
+ setSelf = (...args) => {
316
+ if ((import_meta.env ? import_meta.env.MODE : void 0) !== "production" && isSync) {
317
+ console.warn("setSelf function cannot be called in sync");
318
+ }
319
+ if (!isSync) {
320
+ try {
321
+ return writeAtomState(store, atom, ...args);
322
+ } finally {
323
+ recomputeInvalidatedAtoms(store);
324
+ flushCallbacks(store);
325
+ }
326
+ }
327
+ };
328
+ }
329
+ return setSelf;
330
+ }
331
+ };
332
+ const prevEpochNumber = atomState.n;
333
+ try {
334
+ if ((import_meta.env ? import_meta.env.MODE : void 0) !== "production") {
335
+ storeMutationSet.delete(store);
336
+ }
337
+ const valueOrPromise = atomRead(store, atom, getter, options);
338
+ if ((import_meta.env ? import_meta.env.MODE : void 0) !== "production" && storeMutationSet.has(store)) {
339
+ console.warn(
340
+ "Detected store mutation during atom read. This is not supported."
341
+ );
342
+ }
343
+ setAtomStateValueOrPromise(store, atom, valueOrPromise);
344
+ if (isPromiseLike(valueOrPromise)) {
345
+ registerAbortHandler(valueOrPromise, () => controller == null ? void 0 : controller.abort());
346
+ valueOrPromise.then(mountDependenciesIfAsync, mountDependenciesIfAsync);
347
+ }
348
+ (_a = storeHooks.r) == null ? void 0 : _a.call(storeHooks, atom);
349
+ return atomState;
350
+ } catch (error) {
351
+ delete atomState.v;
352
+ atomState.e = error;
353
+ ++atomState.n;
354
+ return atomState;
355
+ } finally {
356
+ isSync = false;
357
+ if (prevEpochNumber !== atomState.n && invalidatedAtoms.get(atom) === prevEpochNumber) {
358
+ invalidatedAtoms.set(atom, atomState.n);
359
+ changedAtoms.add(atom);
360
+ (_b = storeHooks.c) == null ? void 0 : _b.call(storeHooks, atom);
361
+ }
362
+ }
363
+ };
364
+ var BUILDING_BLOCK_invalidateDependents = (store, atom) => {
365
+ const buildingBlocks = getInternalBuildingBlocks(store);
366
+ const mountedMap = buildingBlocks[1];
367
+ const invalidatedAtoms = buildingBlocks[2];
368
+ const ensureAtomState = buildingBlocks[11];
369
+ const stack = [atom];
370
+ while (stack.length) {
371
+ const a = stack.pop();
372
+ const aState = ensureAtomState(store, a);
373
+ for (const d of getMountedOrPendingDependents(a, aState, mountedMap)) {
374
+ const dState = ensureAtomState(store, d);
375
+ invalidatedAtoms.set(d, dState.n);
376
+ stack.push(d);
377
+ }
378
+ }
379
+ };
380
+ var BUILDING_BLOCK_writeAtomState = (store, atom, ...args) => {
381
+ const buildingBlocks = getInternalBuildingBlocks(store);
382
+ const changedAtoms = buildingBlocks[3];
383
+ const storeHooks = buildingBlocks[6];
384
+ const atomWrite = buildingBlocks[8];
385
+ const ensureAtomState = buildingBlocks[11];
386
+ const flushCallbacks = buildingBlocks[12];
387
+ const recomputeInvalidatedAtoms = buildingBlocks[13];
388
+ const readAtomState = buildingBlocks[14];
389
+ const invalidateDependents = buildingBlocks[15];
390
+ const writeAtomState = buildingBlocks[16];
391
+ const mountDependencies = buildingBlocks[17];
392
+ const setAtomStateValueOrPromise = buildingBlocks[20];
393
+ let isSync = true;
394
+ const getter = (a) => returnAtomValue(readAtomState(store, a));
395
+ const setter = (a, ...args2) => {
396
+ var _a;
397
+ const aState = ensureAtomState(store, a);
398
+ try {
399
+ if (a === atom) {
400
+ if (!hasInitialValue(a)) {
401
+ throw new Error("atom not writable");
402
+ }
403
+ if ((import_meta.env ? import_meta.env.MODE : void 0) !== "production") {
404
+ storeMutationSet.add(store);
405
+ }
406
+ const prevEpochNumber = aState.n;
407
+ const v = args2[0];
408
+ setAtomStateValueOrPromise(store, a, v);
409
+ mountDependencies(store, a);
410
+ if (prevEpochNumber !== aState.n) {
411
+ changedAtoms.add(a);
412
+ invalidateDependents(store, a);
413
+ (_a = storeHooks.c) == null ? void 0 : _a.call(storeHooks, a);
414
+ }
415
+ return void 0;
416
+ } else {
417
+ return writeAtomState(store, a, ...args2);
418
+ }
419
+ } finally {
420
+ if (!isSync) {
421
+ recomputeInvalidatedAtoms(store);
422
+ flushCallbacks(store);
423
+ }
424
+ }
425
+ };
426
+ try {
427
+ return atomWrite(store, atom, getter, setter, ...args);
428
+ } finally {
429
+ isSync = false;
430
+ }
431
+ };
432
+ var BUILDING_BLOCK_mountDependencies = (store, atom) => {
433
+ var _a;
434
+ const buildingBlocks = getInternalBuildingBlocks(store);
435
+ const mountedMap = buildingBlocks[1];
436
+ const changedAtoms = buildingBlocks[3];
437
+ const storeHooks = buildingBlocks[6];
438
+ const ensureAtomState = buildingBlocks[11];
439
+ const invalidateDependents = buildingBlocks[15];
440
+ const mountAtom = buildingBlocks[18];
441
+ const unmountAtom = buildingBlocks[19];
442
+ const atomState = ensureAtomState(store, atom);
443
+ const mounted = mountedMap.get(atom);
444
+ if (mounted && !isPendingPromise(atomState.v)) {
445
+ for (const [a, n] of atomState.d) {
446
+ if (!mounted.d.has(a)) {
447
+ const aState = ensureAtomState(store, a);
448
+ const aMounted = mountAtom(store, a);
449
+ aMounted.t.add(atom);
450
+ mounted.d.add(a);
451
+ if (n !== aState.n) {
452
+ changedAtoms.add(a);
453
+ invalidateDependents(store, a);
454
+ (_a = storeHooks.c) == null ? void 0 : _a.call(storeHooks, a);
455
+ }
456
+ }
457
+ }
458
+ for (const a of mounted.d) {
459
+ if (!atomState.d.has(a)) {
460
+ mounted.d.delete(a);
461
+ const aMounted = unmountAtom(store, a);
462
+ aMounted == null ? void 0 : aMounted.t.delete(atom);
463
+ }
464
+ }
465
+ }
466
+ };
467
+ var BUILDING_BLOCK_mountAtom = (store, atom) => {
468
+ var _a;
469
+ const buildingBlocks = getInternalBuildingBlocks(store);
470
+ const mountedMap = buildingBlocks[1];
471
+ const mountCallbacks = buildingBlocks[4];
472
+ const storeHooks = buildingBlocks[6];
473
+ const atomOnMount = buildingBlocks[10];
474
+ const ensureAtomState = buildingBlocks[11];
475
+ const flushCallbacks = buildingBlocks[12];
476
+ const recomputeInvalidatedAtoms = buildingBlocks[13];
477
+ const readAtomState = buildingBlocks[14];
478
+ const writeAtomState = buildingBlocks[16];
479
+ const mountAtom = buildingBlocks[18];
480
+ const atomState = ensureAtomState(store, atom);
481
+ let mounted = mountedMap.get(atom);
482
+ if (!mounted) {
483
+ readAtomState(store, atom);
484
+ for (const a of atomState.d.keys()) {
485
+ const aMounted = mountAtom(store, a);
486
+ aMounted.t.add(atom);
487
+ }
488
+ mounted = {
489
+ l: /* @__PURE__ */ new Set(),
490
+ d: new Set(atomState.d.keys()),
491
+ t: /* @__PURE__ */ new Set()
492
+ };
493
+ mountedMap.set(atom, mounted);
494
+ if (isActuallyWritableAtom(atom)) {
495
+ const processOnMount = () => {
496
+ let isSync = true;
497
+ const setAtom = (...args) => {
498
+ try {
499
+ return writeAtomState(store, atom, ...args);
500
+ } finally {
501
+ if (!isSync) {
502
+ recomputeInvalidatedAtoms(store);
503
+ flushCallbacks(store);
504
+ }
505
+ }
506
+ };
507
+ try {
508
+ const onUnmount = atomOnMount(store, atom, setAtom);
509
+ if (onUnmount) {
510
+ mounted.u = () => {
511
+ isSync = true;
512
+ try {
513
+ onUnmount();
514
+ } finally {
515
+ isSync = false;
516
+ }
517
+ };
518
+ }
519
+ } finally {
520
+ isSync = false;
521
+ }
522
+ };
523
+ mountCallbacks.add(processOnMount);
524
+ }
525
+ (_a = storeHooks.m) == null ? void 0 : _a.call(storeHooks, atom);
526
+ }
527
+ return mounted;
528
+ };
529
+ var BUILDING_BLOCK_unmountAtom = (store, atom) => {
530
+ var _a, _b;
531
+ const buildingBlocks = getInternalBuildingBlocks(store);
532
+ const mountedMap = buildingBlocks[1];
533
+ const unmountCallbacks = buildingBlocks[5];
534
+ const storeHooks = buildingBlocks[6];
535
+ const ensureAtomState = buildingBlocks[11];
536
+ const unmountAtom = buildingBlocks[19];
537
+ const atomState = ensureAtomState(store, atom);
538
+ let mounted = mountedMap.get(atom);
539
+ if (!mounted || mounted.l.size) {
540
+ return mounted;
541
+ }
542
+ let isDependent = false;
543
+ for (const a of mounted.t) {
544
+ if ((_a = mountedMap.get(a)) == null ? void 0 : _a.d.has(atom)) {
545
+ isDependent = true;
546
+ break;
547
+ }
548
+ }
549
+ if (!isDependent) {
550
+ if (mounted.u) {
551
+ unmountCallbacks.add(mounted.u);
552
+ }
553
+ mounted = void 0;
554
+ mountedMap.delete(atom);
555
+ for (const a of atomState.d.keys()) {
556
+ const aMounted = unmountAtom(store, a);
557
+ aMounted == null ? void 0 : aMounted.t.delete(atom);
558
+ }
559
+ (_b = storeHooks.u) == null ? void 0 : _b.call(storeHooks, atom);
560
+ return void 0;
561
+ }
562
+ return mounted;
563
+ };
564
+ var BUILDING_BLOCK_setAtomStateValueOrPromise = (store, atom, valueOrPromise) => {
565
+ const ensureAtomState = getInternalBuildingBlocks(store)[11];
566
+ const atomState = ensureAtomState(store, atom);
567
+ const hasPrevValue = "v" in atomState;
568
+ const prevValue = atomState.v;
569
+ if (isPromiseLike(valueOrPromise)) {
570
+ for (const a of atomState.d.keys()) {
571
+ addPendingPromiseToDependency(
572
+ atom,
573
+ valueOrPromise,
574
+ ensureAtomState(store, a)
575
+ );
576
+ }
577
+ }
578
+ atomState.v = valueOrPromise;
579
+ delete atomState.e;
580
+ if (!hasPrevValue || !Object.is(prevValue, atomState.v)) {
581
+ ++atomState.n;
582
+ if (isPromiseLike(prevValue)) {
583
+ abortPromise(prevValue);
584
+ }
585
+ }
586
+ };
587
+ var BUILDING_BLOCK_storeGet = (store, atom) => {
588
+ const readAtomState = getInternalBuildingBlocks(store)[14];
589
+ return returnAtomValue(readAtomState(store, atom));
590
+ };
591
+ var BUILDING_BLOCK_storeSet = (store, atom, ...args) => {
592
+ const buildingBlocks = getInternalBuildingBlocks(store);
593
+ const flushCallbacks = buildingBlocks[12];
594
+ const recomputeInvalidatedAtoms = buildingBlocks[13];
595
+ const writeAtomState = buildingBlocks[16];
596
+ try {
597
+ return writeAtomState(store, atom, ...args);
598
+ } finally {
599
+ recomputeInvalidatedAtoms(store);
600
+ flushCallbacks(store);
601
+ }
602
+ };
603
+ var BUILDING_BLOCK_storeSub = (store, atom, listener) => {
604
+ const buildingBlocks = getInternalBuildingBlocks(store);
605
+ const flushCallbacks = buildingBlocks[12];
606
+ const mountAtom = buildingBlocks[18];
607
+ const unmountAtom = buildingBlocks[19];
608
+ const mounted = mountAtom(store, atom);
609
+ const listeners = mounted.l;
610
+ listeners.add(listener);
611
+ flushCallbacks(store);
612
+ return () => {
613
+ listeners.delete(listener);
614
+ unmountAtom(store, atom);
615
+ flushCallbacks(store);
616
+ };
617
+ };
618
+ var buildingBlockMap = /* @__PURE__ */ new WeakMap();
619
+ var getInternalBuildingBlocks = (store) => {
620
+ const buildingBlocks = buildingBlockMap.get(store);
621
+ if ((import_meta.env ? import_meta.env.MODE : void 0) !== "production" && !buildingBlocks) {
622
+ throw new Error(
623
+ "Store must be created by buildStore to read its building blocks"
624
+ );
625
+ }
626
+ return buildingBlocks;
627
+ };
628
+ function buildStore(...buildArgs) {
629
+ const store = {
630
+ get(atom) {
631
+ const storeGet = getInternalBuildingBlocks(store)[21];
632
+ return storeGet(store, atom);
633
+ },
634
+ set(atom, ...args) {
635
+ const storeSet = getInternalBuildingBlocks(store)[22];
636
+ return storeSet(store, atom, ...args);
637
+ },
638
+ sub(atom, listener) {
639
+ const storeSub = getInternalBuildingBlocks(store)[23];
640
+ return storeSub(store, atom, listener);
641
+ }
642
+ };
643
+ const buildingBlocks = [
644
+ // store state
645
+ /* @__PURE__ */ new WeakMap(),
646
+ // atomStateMap
647
+ /* @__PURE__ */ new WeakMap(),
648
+ // mountedMap
649
+ /* @__PURE__ */ new WeakMap(),
650
+ // invalidatedAtoms
651
+ /* @__PURE__ */ new Set(),
652
+ // changedAtoms
653
+ /* @__PURE__ */ new Set(),
654
+ // mountCallbacks
655
+ /* @__PURE__ */ new Set(),
656
+ // unmountCallbacks
657
+ {},
658
+ // storeHooks
659
+ // atom interceptors
660
+ BUILDING_BLOCK_atomRead,
661
+ BUILDING_BLOCK_atomWrite,
662
+ BUILDING_BLOCK_atomOnInit,
663
+ BUILDING_BLOCK_atomOnMount,
664
+ // building-block functions
665
+ BUILDING_BLOCK_ensureAtomState,
666
+ BUILDING_BLOCK_flushCallbacks,
667
+ BUILDING_BLOCK_recomputeInvalidatedAtoms,
668
+ BUILDING_BLOCK_readAtomState,
669
+ BUILDING_BLOCK_invalidateDependents,
670
+ BUILDING_BLOCK_writeAtomState,
671
+ BUILDING_BLOCK_mountDependencies,
672
+ BUILDING_BLOCK_mountAtom,
673
+ BUILDING_BLOCK_unmountAtom,
674
+ BUILDING_BLOCK_setAtomStateValueOrPromise,
675
+ BUILDING_BLOCK_storeGet,
676
+ BUILDING_BLOCK_storeSet,
677
+ BUILDING_BLOCK_storeSub,
678
+ void 0
679
+ ].map((fn, i) => buildArgs[i] || fn);
680
+ buildingBlockMap.set(store, Object.freeze(buildingBlocks));
681
+ return store;
682
+ }
683
+
684
+ // node_modules/jotai/esm/vanilla.mjs
685
+ var import_meta2 = {};
686
+ var overriddenCreateStore;
687
+ function createStore() {
688
+ if (overriddenCreateStore) {
689
+ return overriddenCreateStore();
690
+ }
691
+ return buildStore();
692
+ }
693
+ var defaultStore;
694
+ function getDefaultStore() {
695
+ if (!defaultStore) {
696
+ defaultStore = createStore();
697
+ if ((import_meta2.env ? import_meta2.env.MODE : void 0) !== "production") {
698
+ globalThis.__JOTAI_DEFAULT_STORE__ || (globalThis.__JOTAI_DEFAULT_STORE__ = defaultStore);
699
+ if (globalThis.__JOTAI_DEFAULT_STORE__ !== defaultStore) {
700
+ console.warn(
701
+ "Detected multiple Jotai instances. It may cause unexpected behavior with the default store. https://github.com/pmndrs/jotai/discussions/2044"
702
+ );
703
+ }
704
+ }
705
+ }
706
+ return defaultStore;
707
+ }
708
+
709
+ // node_modules/jotai/esm/react.mjs
710
+ var import_react = __toESM(require("react"), 1);
711
+ var import_meta3 = {};
712
+ var StoreContext = (0, import_react.createContext)(
713
+ void 0
714
+ );
715
+ function useStore(options) {
716
+ const store = (0, import_react.useContext)(StoreContext);
717
+ return (options == null ? void 0 : options.store) || store || getDefaultStore();
718
+ }
719
+ var isPromiseLike2 = (x) => typeof (x == null ? void 0 : x.then) === "function";
720
+ var attachPromiseStatus = (promise) => {
721
+ if (!promise.status) {
722
+ promise.status = "pending";
723
+ promise.then(
724
+ (v) => {
725
+ promise.status = "fulfilled";
726
+ promise.value = v;
727
+ },
728
+ (e) => {
729
+ promise.status = "rejected";
730
+ promise.reason = e;
731
+ }
732
+ );
733
+ }
734
+ };
735
+ var use = import_react.default.use || // A shim for older React versions
736
+ ((promise) => {
737
+ if (promise.status === "pending") {
738
+ throw promise;
739
+ } else if (promise.status === "fulfilled") {
740
+ return promise.value;
741
+ } else if (promise.status === "rejected") {
742
+ throw promise.reason;
743
+ } else {
744
+ attachPromiseStatus(promise);
745
+ throw promise;
746
+ }
747
+ });
748
+ var continuablePromiseMap = /* @__PURE__ */ new WeakMap();
749
+ var createContinuablePromise = (promise, getValue) => {
750
+ let continuablePromise = continuablePromiseMap.get(promise);
751
+ if (!continuablePromise) {
752
+ continuablePromise = new Promise((resolve, reject) => {
753
+ let curr = promise;
754
+ const onFulfilled = (me) => (v) => {
755
+ if (curr === me) {
756
+ resolve(v);
757
+ }
758
+ };
759
+ const onRejected = (me) => (e) => {
760
+ if (curr === me) {
761
+ reject(e);
762
+ }
763
+ };
764
+ const onAbort = () => {
765
+ try {
766
+ const nextValue = getValue();
767
+ if (isPromiseLike2(nextValue)) {
768
+ continuablePromiseMap.set(nextValue, continuablePromise);
769
+ curr = nextValue;
770
+ nextValue.then(onFulfilled(nextValue), onRejected(nextValue));
771
+ registerAbortHandler(nextValue, onAbort);
772
+ } else {
773
+ resolve(nextValue);
774
+ }
775
+ } catch (e) {
776
+ reject(e);
777
+ }
778
+ };
779
+ promise.then(onFulfilled(promise), onRejected(promise));
780
+ registerAbortHandler(promise, onAbort);
781
+ });
782
+ continuablePromiseMap.set(promise, continuablePromise);
783
+ }
784
+ return continuablePromise;
785
+ };
786
+ function useAtomValue(atom, options) {
787
+ const { delay, unstable_promiseStatus: promiseStatus = !import_react.default.use } = options || {};
788
+ const store = useStore(options);
789
+ const [[valueFromReducer, storeFromReducer, atomFromReducer], rerender] = (0, import_react.useReducer)(
790
+ (prev) => {
791
+ const nextValue = store.get(atom);
792
+ if (Object.is(prev[0], nextValue) && prev[1] === store && prev[2] === atom) {
793
+ return prev;
794
+ }
795
+ return [nextValue, store, atom];
796
+ },
797
+ void 0,
798
+ () => [store.get(atom), store, atom]
799
+ );
800
+ let value = valueFromReducer;
801
+ if (storeFromReducer !== store || atomFromReducer !== atom) {
802
+ rerender();
803
+ value = store.get(atom);
804
+ }
805
+ (0, import_react.useEffect)(() => {
806
+ const unsub = store.sub(atom, () => {
807
+ if (promiseStatus) {
808
+ try {
809
+ const value2 = store.get(atom);
810
+ if (isPromiseLike2(value2)) {
811
+ attachPromiseStatus(
812
+ createContinuablePromise(value2, () => store.get(atom))
813
+ );
814
+ }
815
+ } catch (e) {
816
+ }
817
+ }
818
+ if (typeof delay === "number") {
819
+ setTimeout(rerender, delay);
820
+ return;
821
+ }
822
+ rerender();
823
+ });
824
+ rerender();
825
+ return unsub;
826
+ }, [store, atom, delay, promiseStatus]);
827
+ (0, import_react.useDebugValue)(value);
828
+ if (isPromiseLike2(value)) {
829
+ const promise = createContinuablePromise(value, () => store.get(atom));
830
+ if (promiseStatus) {
831
+ attachPromiseStatus(promise);
832
+ }
833
+ return use(promise);
834
+ }
835
+ return value;
836
+ }
837
+ function useSetAtom(atom, options) {
838
+ const store = useStore(options);
839
+ const setAtom = (0, import_react.useCallback)(
840
+ (...args) => {
841
+ if ((import_meta3.env ? import_meta3.env.MODE : void 0) !== "production" && !("write" in atom)) {
842
+ throw new Error("not writable atom");
843
+ }
844
+ return store.set(atom, ...args);
845
+ },
846
+ [store, atom]
847
+ );
848
+ return setAtom;
849
+ }
850
+ function useAtom(atom, options) {
851
+ return [
852
+ useAtomValue(atom, options),
853
+ // We do wrong type assertion here, which results in throwing an error.
854
+ useSetAtom(atom, options)
855
+ ];
856
+ }
857
+
858
+ // src/bridges/jotai/useJotai.ts
859
+ function useJotai(atom) {
860
+ const [value, setValue] = useAtom(atom);
861
+ return [value, setValue];
862
+ }
863
+ // Annotate the CommonJS export names for ESM import in node:
864
+ 0 && (module.exports = {
865
+ useAtom,
866
+ useAtomValue,
867
+ useJotai,
868
+ useSetAtom
869
+ });
870
+ //# sourceMappingURL=jotai.js.map