@powerhousedao/connect 1.0.0-dev.229 → 1.0.0-dev.231
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/dist/assets/{app-ZQW92t6O.js → app-DrLeYlAb.js} +5018 -2509
- package/dist/assets/{app-loader-4lDPeVBu.js → app-loader-C4p-IWfP.js} +20 -23
- package/dist/assets/{ccip-BrCn_W71.js → ccip-BEtUPxLs.js} +4 -4
- package/dist/assets/{content-FQ01fqZV.js → content-AMlCFe4r.js} +96 -66
- package/dist/assets/{index-CRaABQnH.js → index-CpnYUECS.js} +4 -4
- package/dist/assets/{index-DI33bCpS.js → index-DBr1VmSJ.js} +80 -34
- package/dist/assets/{index-DqtLcprb.js → index-DtSGN5KF.js} +3 -3
- package/dist/assets/{main.DT1Mf4Jj.js → main.D0ReSJ3B.js} +1 -1
- package/dist/index.html +1 -1
- package/dist/modules/@powerhousedao/reactor-browser/{chunk-4FLW226S.js → chunk-2E6C3NB7.js} +4 -4
- package/dist/modules/@powerhousedao/reactor-browser/{chunk-YIBO3HUQ.js → chunk-45DCPCA7.js} +1 -1
- package/dist/modules/@powerhousedao/reactor-browser/{chunk-NNVEKADD.js → chunk-F3RCGUF6.js} +2 -2
- package/dist/modules/@powerhousedao/reactor-browser/{chunk-EWVIHKMF.js → chunk-F4K6ICY4.js} +1 -1
- package/dist/modules/@powerhousedao/reactor-browser/{chunk-D2ZLIUVV.js → chunk-FW7N6EJH.js} +378 -337
- package/dist/modules/@powerhousedao/reactor-browser/{chunk-AVKPBC5Q.js → chunk-G6LMXRY5.js} +1 -1
- package/dist/modules/@powerhousedao/reactor-browser/{chunk-PLA5FQXD.js → chunk-JWR2PSS2.js} +1 -1
- package/dist/modules/@powerhousedao/reactor-browser/{chunk-56M56AY3.js → chunk-M2UUQ5LH.js} +4 -4
- package/dist/modules/@powerhousedao/reactor-browser/{chunk-VOHVPRMH.js → chunk-NUW2A4R5.js} +1 -1
- package/dist/modules/@powerhousedao/reactor-browser/{chunk-M2DMGCWB.js → chunk-RSZCDZGH.js} +1 -1
- package/dist/modules/@powerhousedao/reactor-browser/context/index.js +2 -2
- package/dist/modules/@powerhousedao/reactor-browser/context/read-mode.js +2 -2
- package/dist/modules/@powerhousedao/reactor-browser/hooks/index.js +8 -8
- package/dist/modules/@powerhousedao/reactor-browser/hooks/useAddDebouncedOperations.js +3 -3
- package/dist/modules/@powerhousedao/reactor-browser/hooks/useConnectCrypto.js +2 -2
- package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocumentDrives.js +2 -2
- package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocumentEditor.js +5 -5
- package/dist/modules/@powerhousedao/reactor-browser/hooks/useDriveActions.js +2 -2
- package/dist/modules/@powerhousedao/reactor-browser/hooks/useDriveActionsWithUiNodes.js +3 -3
- package/dist/modules/@powerhousedao/reactor-browser/index.js +10 -10
- package/dist/modules/@powerhousedao/reactor-browser/reactor.js +2 -2
- package/dist/vite-envs.sh +1 -1
- package/package.json +5 -5
|
@@ -1,65 +1,7 @@
|
|
|
1
|
-
// ../../node_modules/.pnpm/jotai@2.
|
|
2
|
-
var keyCount = 0;
|
|
3
|
-
function atom(read, write) {
|
|
4
|
-
const key = `atom${++keyCount}`;
|
|
5
|
-
const config = {
|
|
6
|
-
toString() {
|
|
7
|
-
return (import.meta.env ? import.meta.env.MODE : void 0) !== "production" && this.debugLabel ? key + ":" + this.debugLabel : key;
|
|
8
|
-
}
|
|
9
|
-
};
|
|
10
|
-
if (typeof read === "function") {
|
|
11
|
-
config.read = read;
|
|
12
|
-
} else {
|
|
13
|
-
config.init = read;
|
|
14
|
-
config.read = defaultRead;
|
|
15
|
-
config.write = defaultWrite;
|
|
16
|
-
}
|
|
17
|
-
if (write) {
|
|
18
|
-
config.write = write;
|
|
19
|
-
}
|
|
20
|
-
return config;
|
|
21
|
-
}
|
|
22
|
-
function defaultRead(get) {
|
|
23
|
-
return get(this);
|
|
24
|
-
}
|
|
25
|
-
function defaultWrite(get, set, arg) {
|
|
26
|
-
return set(
|
|
27
|
-
this,
|
|
28
|
-
typeof arg === "function" ? arg(get(this)) : arg
|
|
29
|
-
);
|
|
30
|
-
}
|
|
1
|
+
// ../../node_modules/.pnpm/jotai@2.12.2_@types+react@18.3.18_react@18.3.1/node_modules/jotai/esm/vanilla/internals.mjs
|
|
31
2
|
var isSelfAtom = (atom2, a) => atom2.unstable_is ? atom2.unstable_is(a) : a === atom2;
|
|
32
3
|
var hasInitialValue = (atom2) => "init" in atom2;
|
|
33
4
|
var isActuallyWritableAtom = (atom2) => !!atom2.write;
|
|
34
|
-
var cancelablePromiseMap = /* @__PURE__ */ new WeakMap();
|
|
35
|
-
var isPendingPromise = (value) => {
|
|
36
|
-
var _a;
|
|
37
|
-
return isPromiseLike(value) && !((_a = cancelablePromiseMap.get(value)) == null ? void 0 : _a[1]);
|
|
38
|
-
};
|
|
39
|
-
var cancelPromise = (promise, nextValue) => {
|
|
40
|
-
const promiseState = cancelablePromiseMap.get(promise);
|
|
41
|
-
if (promiseState) {
|
|
42
|
-
promiseState[1] = true;
|
|
43
|
-
promiseState[0].forEach((fn) => fn(nextValue));
|
|
44
|
-
} else if ((import.meta.env ? import.meta.env.MODE : void 0) !== "production") {
|
|
45
|
-
throw new Error("[Bug] cancelable promise not found");
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
var patchPromiseForCancelability = (promise) => {
|
|
49
|
-
if (cancelablePromiseMap.has(promise)) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
const promiseState = [/* @__PURE__ */ new Set(), false];
|
|
53
|
-
cancelablePromiseMap.set(promise, promiseState);
|
|
54
|
-
const settle = () => {
|
|
55
|
-
promiseState[1] = true;
|
|
56
|
-
};
|
|
57
|
-
promise.then(settle, settle);
|
|
58
|
-
promise.onCancel = (fn) => {
|
|
59
|
-
promiseState[0].add(fn);
|
|
60
|
-
};
|
|
61
|
-
};
|
|
62
|
-
var isPromiseLike = (p) => typeof (p == null ? void 0 : p.then) === "function";
|
|
63
5
|
var isAtomStateInitialized = (atomState) => "v" in atomState || "e" in atomState;
|
|
64
6
|
var returnAtomValue = (atomState) => {
|
|
65
7
|
if ("e" in atomState) {
|
|
@@ -70,6 +12,31 @@ var returnAtomValue = (atomState) => {
|
|
|
70
12
|
}
|
|
71
13
|
return atomState.v;
|
|
72
14
|
};
|
|
15
|
+
var promiseStateMap = /* @__PURE__ */ new WeakMap();
|
|
16
|
+
var isPendingPromise = (value) => {
|
|
17
|
+
var _a;
|
|
18
|
+
return isPromiseLike(value) && !!((_a = promiseStateMap.get(value)) == null ? void 0 : _a[0]);
|
|
19
|
+
};
|
|
20
|
+
var abortPromise = (promise) => {
|
|
21
|
+
const promiseState = promiseStateMap.get(promise);
|
|
22
|
+
if (promiseState == null ? void 0 : promiseState[0]) {
|
|
23
|
+
promiseState[0] = false;
|
|
24
|
+
promiseState[1].forEach((fn) => fn());
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
var registerAbortHandler = (promise, abortHandler) => {
|
|
28
|
+
let promiseState = promiseStateMap.get(promise);
|
|
29
|
+
if (!promiseState) {
|
|
30
|
+
promiseState = [true, /* @__PURE__ */ new Set()];
|
|
31
|
+
promiseStateMap.set(promise, promiseState);
|
|
32
|
+
const settle = () => {
|
|
33
|
+
promiseState[0] = false;
|
|
34
|
+
};
|
|
35
|
+
promise.then(settle, settle);
|
|
36
|
+
}
|
|
37
|
+
promiseState[1].add(abortHandler);
|
|
38
|
+
};
|
|
39
|
+
var isPromiseLike = (p) => typeof (p == null ? void 0 : p.then) === "function";
|
|
73
40
|
var addPendingPromiseToDependency = (atom2, promise, dependencyAtomState) => {
|
|
74
41
|
if (!dependencyAtomState.p.has(atom2)) {
|
|
75
42
|
dependencyAtomState.p.add(atom2);
|
|
@@ -83,45 +50,99 @@ var addPendingPromiseToDependency = (atom2, promise, dependencyAtomState) => {
|
|
|
83
50
|
);
|
|
84
51
|
}
|
|
85
52
|
};
|
|
86
|
-
var
|
|
53
|
+
var setAtomStateValueOrPromise = (atom2, valueOrPromise, ensureAtomState) => {
|
|
54
|
+
const atomState = ensureAtomState(atom2);
|
|
55
|
+
const hasPrevValue = "v" in atomState;
|
|
56
|
+
const prevValue = atomState.v;
|
|
57
|
+
if (isPromiseLike(valueOrPromise)) {
|
|
58
|
+
for (const a of atomState.d.keys()) {
|
|
59
|
+
addPendingPromiseToDependency(atom2, valueOrPromise, ensureAtomState(a));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
atomState.v = valueOrPromise;
|
|
63
|
+
delete atomState.e;
|
|
64
|
+
if (!hasPrevValue || !Object.is(prevValue, atomState.v)) {
|
|
65
|
+
++atomState.n;
|
|
66
|
+
if (isPromiseLike(prevValue)) {
|
|
67
|
+
abortPromise(prevValue);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
var getMountedOrPendingDependents = (atom2, atomState, mountedMap) => {
|
|
87
72
|
var _a;
|
|
88
|
-
|
|
89
|
-
|
|
73
|
+
const dependents = /* @__PURE__ */ new Set();
|
|
74
|
+
for (const a of ((_a = mountedMap.get(atom2)) == null ? void 0 : _a.t) || []) {
|
|
75
|
+
if (mountedMap.has(a)) {
|
|
76
|
+
dependents.add(a);
|
|
77
|
+
}
|
|
90
78
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
addPendingPromiseToDependency(atom2, atomState.v, aState);
|
|
79
|
+
for (const atomWithPendingPromise of atomState.p) {
|
|
80
|
+
dependents.add(atomWithPendingPromise);
|
|
94
81
|
}
|
|
95
|
-
|
|
82
|
+
return dependents;
|
|
96
83
|
};
|
|
97
|
-
var
|
|
98
|
-
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
84
|
+
var createStoreHook = () => {
|
|
85
|
+
const callbacks = /* @__PURE__ */ new Set();
|
|
86
|
+
const notify = () => {
|
|
87
|
+
callbacks.forEach((fn) => fn());
|
|
88
|
+
};
|
|
89
|
+
notify.add = (fn) => {
|
|
90
|
+
callbacks.add(fn);
|
|
91
|
+
return () => {
|
|
92
|
+
callbacks.delete(fn);
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
return notify;
|
|
96
|
+
};
|
|
97
|
+
var createStoreHookForAtoms = () => {
|
|
98
|
+
const all = {};
|
|
99
|
+
const callbacks = /* @__PURE__ */ new WeakMap();
|
|
100
|
+
const notify = (atom2) => {
|
|
101
|
+
var _a, _b;
|
|
102
|
+
(_a = callbacks.get(all)) == null ? void 0 : _a.forEach((fn) => fn(atom2));
|
|
103
|
+
(_b = callbacks.get(atom2)) == null ? void 0 : _b.forEach((fn) => fn());
|
|
104
|
+
};
|
|
105
|
+
notify.add = (atom2, fn) => {
|
|
106
|
+
const key = atom2 || all;
|
|
107
|
+
const fns = (callbacks.has(key) ? callbacks : callbacks.set(key, /* @__PURE__ */ new Set())).get(key);
|
|
108
|
+
fns.add(fn);
|
|
109
|
+
return () => {
|
|
110
|
+
fns == null ? void 0 : fns.delete(fn);
|
|
111
|
+
if (!fns.size) {
|
|
112
|
+
callbacks.delete(key);
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
return notify;
|
|
117
|
+
};
|
|
118
|
+
var initializeStoreHooks = (storeHooks) => {
|
|
119
|
+
storeHooks.c || (storeHooks.c = createStoreHookForAtoms());
|
|
120
|
+
storeHooks.m || (storeHooks.m = createStoreHookForAtoms());
|
|
121
|
+
storeHooks.u || (storeHooks.u = createStoreHookForAtoms());
|
|
122
|
+
storeHooks.f || (storeHooks.f = createStoreHook());
|
|
123
|
+
return storeHooks;
|
|
124
|
+
};
|
|
125
|
+
var BUILDING_BLOCKS = Symbol();
|
|
126
|
+
var buildStore = (atomStateMap = /* @__PURE__ */ new WeakMap(), mountedMap = /* @__PURE__ */ new WeakMap(), invalidatedAtoms = /* @__PURE__ */ new WeakMap(), changedAtoms = /* @__PURE__ */ new Set(), mountCallbacks = /* @__PURE__ */ new Set(), unmountCallbacks = /* @__PURE__ */ new Set(), storeHooks = {}, atomRead = (atom2, ...params) => atom2.read(...params), atomWrite = (atom2, ...params) => atom2.write(...params), atomOnInit = (atom2, store) => {
|
|
127
|
+
var _a;
|
|
128
|
+
return (_a = atom2.unstable_onInit) == null ? void 0 : _a.call(atom2, store);
|
|
129
|
+
}, atomOnMount = (atom2, setAtom) => {
|
|
130
|
+
var _a;
|
|
131
|
+
return (_a = atom2.onMount) == null ? void 0 : _a.call(atom2, setAtom);
|
|
132
|
+
}, ...buildingBlockFunctions) => {
|
|
133
|
+
const ensureAtomState = buildingBlockFunctions[0] || ((atom2) => {
|
|
108
134
|
if ((import.meta.env ? import.meta.env.MODE : void 0) !== "production" && !atom2) {
|
|
109
135
|
throw new Error("Atom is undefined or null");
|
|
110
136
|
}
|
|
111
|
-
let atomState =
|
|
137
|
+
let atomState = atomStateMap.get(atom2);
|
|
112
138
|
if (!atomState) {
|
|
113
139
|
atomState = { d: /* @__PURE__ */ new Map(), p: /* @__PURE__ */ new Set(), n: 0 };
|
|
114
|
-
|
|
140
|
+
atomStateMap.set(atom2, atomState);
|
|
115
141
|
atomOnInit == null ? void 0 : atomOnInit(atom2, store);
|
|
116
142
|
}
|
|
117
143
|
return atomState;
|
|
118
|
-
};
|
|
119
|
-
const
|
|
120
|
-
const changedAtoms = /* @__PURE__ */ new Map();
|
|
121
|
-
const unmountCallbacks = /* @__PURE__ */ new Set();
|
|
122
|
-
const mountCallbacks = /* @__PURE__ */ new Set();
|
|
123
|
-
const flushCallbacks = () => {
|
|
124
|
-
var _a;
|
|
144
|
+
});
|
|
145
|
+
const flushCallbacks = buildingBlockFunctions[1] || (() => {
|
|
125
146
|
const errors = [];
|
|
126
147
|
const call = (fn) => {
|
|
127
148
|
try {
|
|
@@ -131,12 +152,14 @@ var buildStore = (...storeArgs) => {
|
|
|
131
152
|
}
|
|
132
153
|
};
|
|
133
154
|
do {
|
|
134
|
-
(
|
|
155
|
+
if (storeHooks.f) {
|
|
156
|
+
call(storeHooks.f);
|
|
157
|
+
}
|
|
135
158
|
const callbacks = /* @__PURE__ */ new Set();
|
|
136
159
|
const add = callbacks.add.bind(callbacks);
|
|
137
|
-
changedAtoms.forEach((
|
|
138
|
-
var
|
|
139
|
-
return (
|
|
160
|
+
changedAtoms.forEach((atom2) => {
|
|
161
|
+
var _a;
|
|
162
|
+
return (_a = mountedMap.get(atom2)) == null ? void 0 : _a.l.forEach(add);
|
|
140
163
|
});
|
|
141
164
|
changedAtoms.clear();
|
|
142
165
|
unmountCallbacks.forEach(add);
|
|
@@ -149,35 +172,59 @@ var buildStore = (...storeArgs) => {
|
|
|
149
172
|
}
|
|
150
173
|
} while (changedAtoms.size || unmountCallbacks.size || mountCallbacks.size);
|
|
151
174
|
if (errors.length) {
|
|
152
|
-
throw errors
|
|
175
|
+
throw new AggregateError(errors);
|
|
153
176
|
}
|
|
154
|
-
};
|
|
155
|
-
const
|
|
156
|
-
const
|
|
157
|
-
const
|
|
158
|
-
const
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
177
|
+
});
|
|
178
|
+
const recomputeInvalidatedAtoms = buildingBlockFunctions[2] || (() => {
|
|
179
|
+
const topSortedReversed = [];
|
|
180
|
+
const visiting = /* @__PURE__ */ new WeakSet();
|
|
181
|
+
const visited = /* @__PURE__ */ new WeakSet();
|
|
182
|
+
const stack = Array.from(changedAtoms);
|
|
183
|
+
while (stack.length) {
|
|
184
|
+
const a = stack[stack.length - 1];
|
|
185
|
+
const aState = ensureAtomState(a);
|
|
186
|
+
if (visited.has(a)) {
|
|
187
|
+
stack.pop();
|
|
188
|
+
continue;
|
|
189
|
+
}
|
|
190
|
+
if (visiting.has(a)) {
|
|
191
|
+
if (invalidatedAtoms.get(a) === aState.n) {
|
|
192
|
+
topSortedReversed.push([a, aState]);
|
|
193
|
+
} else if ((import.meta.env ? import.meta.env.MODE : void 0) !== "production" && invalidatedAtoms.has(a)) {
|
|
194
|
+
throw new Error("[Bug] invalidated atom exists");
|
|
195
|
+
}
|
|
196
|
+
visited.add(a);
|
|
197
|
+
stack.pop();
|
|
198
|
+
continue;
|
|
199
|
+
}
|
|
200
|
+
visiting.add(a);
|
|
201
|
+
for (const d of getMountedOrPendingDependents(a, aState, mountedMap)) {
|
|
202
|
+
if (!visiting.has(d)) {
|
|
203
|
+
stack.push(d);
|
|
204
|
+
}
|
|
163
205
|
}
|
|
164
|
-
atomState.v = valueOrPromise;
|
|
165
|
-
} else {
|
|
166
|
-
atomState.v = valueOrPromise;
|
|
167
206
|
}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
207
|
+
for (let i = topSortedReversed.length - 1; i >= 0; --i) {
|
|
208
|
+
const [a, aState] = topSortedReversed[i];
|
|
209
|
+
let hasChangedDeps = false;
|
|
210
|
+
for (const dep of aState.d.keys()) {
|
|
211
|
+
if (dep !== a && changedAtoms.has(dep)) {
|
|
212
|
+
hasChangedDeps = true;
|
|
213
|
+
break;
|
|
214
|
+
}
|
|
173
215
|
}
|
|
216
|
+
if (hasChangedDeps) {
|
|
217
|
+
readAtomState(a);
|
|
218
|
+
mountDependencies(a);
|
|
219
|
+
}
|
|
220
|
+
invalidatedAtoms.delete(a);
|
|
174
221
|
}
|
|
175
|
-
};
|
|
176
|
-
const readAtomState = (atom2) => {
|
|
222
|
+
});
|
|
223
|
+
const readAtomState = buildingBlockFunctions[3] || ((atom2) => {
|
|
177
224
|
var _a;
|
|
178
225
|
const atomState = ensureAtomState(atom2);
|
|
179
226
|
if (isAtomStateInitialized(atomState)) {
|
|
180
|
-
if (
|
|
227
|
+
if (mountedMap.has(atom2) && invalidatedAtoms.get(atom2) !== atomState.n) {
|
|
181
228
|
return atomState;
|
|
182
229
|
}
|
|
183
230
|
if (Array.from(atomState.d).every(
|
|
@@ -193,18 +240,19 @@ var buildStore = (...storeArgs) => {
|
|
|
193
240
|
atomState.d.clear();
|
|
194
241
|
let isSync = true;
|
|
195
242
|
const mountDependenciesIfAsync = () => {
|
|
196
|
-
if (
|
|
197
|
-
mountDependencies(atom2
|
|
243
|
+
if (mountedMap.has(atom2)) {
|
|
244
|
+
mountDependencies(atom2);
|
|
198
245
|
recomputeInvalidatedAtoms();
|
|
199
246
|
flushCallbacks();
|
|
200
247
|
}
|
|
201
248
|
};
|
|
202
249
|
const getter = (a) => {
|
|
250
|
+
var _a2;
|
|
203
251
|
if (isSelfAtom(atom2, a)) {
|
|
204
252
|
const aState2 = ensureAtomState(a);
|
|
205
253
|
if (!isAtomStateInitialized(aState2)) {
|
|
206
254
|
if (hasInitialValue(a)) {
|
|
207
|
-
setAtomStateValueOrPromise(a,
|
|
255
|
+
setAtomStateValueOrPromise(a, a.init, ensureAtomState);
|
|
208
256
|
} else {
|
|
209
257
|
throw new Error("no atom init");
|
|
210
258
|
}
|
|
@@ -215,7 +263,11 @@ var buildStore = (...storeArgs) => {
|
|
|
215
263
|
try {
|
|
216
264
|
return returnAtomValue(aState);
|
|
217
265
|
} finally {
|
|
218
|
-
|
|
266
|
+
atomState.d.set(a, aState.n);
|
|
267
|
+
if (isPendingPromise(atomState.v)) {
|
|
268
|
+
addPendingPromiseToDependency(atom2, atomState.v, aState);
|
|
269
|
+
}
|
|
270
|
+
(_a2 = mountedMap.get(a)) == null ? void 0 : _a2.t.add(atom2);
|
|
219
271
|
if (!isSync) {
|
|
220
272
|
mountDependenciesIfAsync();
|
|
221
273
|
}
|
|
@@ -240,19 +292,28 @@ var buildStore = (...storeArgs) => {
|
|
|
240
292
|
console.warn("setSelf function cannot be called in sync");
|
|
241
293
|
}
|
|
242
294
|
if (!isSync) {
|
|
243
|
-
|
|
295
|
+
try {
|
|
296
|
+
return writeAtomState(atom2, ...args);
|
|
297
|
+
} finally {
|
|
298
|
+
recomputeInvalidatedAtoms();
|
|
299
|
+
flushCallbacks();
|
|
300
|
+
}
|
|
244
301
|
}
|
|
245
302
|
};
|
|
246
303
|
}
|
|
247
304
|
return setSelf;
|
|
248
305
|
}
|
|
249
306
|
};
|
|
307
|
+
const prevEpochNumber = atomState.n;
|
|
250
308
|
try {
|
|
251
309
|
const valueOrPromise = atomRead(atom2, getter, options);
|
|
252
|
-
setAtomStateValueOrPromise(atom2,
|
|
310
|
+
setAtomStateValueOrPromise(atom2, valueOrPromise, ensureAtomState);
|
|
253
311
|
if (isPromiseLike(valueOrPromise)) {
|
|
254
|
-
(
|
|
255
|
-
valueOrPromise.then(
|
|
312
|
+
registerAbortHandler(valueOrPromise, () => controller == null ? void 0 : controller.abort());
|
|
313
|
+
valueOrPromise.then(
|
|
314
|
+
mountDependenciesIfAsync,
|
|
315
|
+
mountDependenciesIfAsync
|
|
316
|
+
);
|
|
256
317
|
}
|
|
257
318
|
return atomState;
|
|
258
319
|
} catch (error) {
|
|
@@ -262,89 +323,26 @@ var buildStore = (...storeArgs) => {
|
|
|
262
323
|
return atomState;
|
|
263
324
|
} finally {
|
|
264
325
|
isSync = false;
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
var _a;
|
|
270
|
-
const dependents = /* @__PURE__ */ new Map();
|
|
271
|
-
for (const a of ((_a = atomState.m) == null ? void 0 : _a.t) || []) {
|
|
272
|
-
const aState = ensureAtomState(a);
|
|
273
|
-
if (aState.m) {
|
|
274
|
-
dependents.set(a, aState);
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
for (const atomWithPendingPromise of atomState.p) {
|
|
278
|
-
dependents.set(
|
|
279
|
-
atomWithPendingPromise,
|
|
280
|
-
ensureAtomState(atomWithPendingPromise)
|
|
281
|
-
);
|
|
282
|
-
}
|
|
283
|
-
return dependents;
|
|
284
|
-
};
|
|
285
|
-
const invalidateDependents = (atomState) => {
|
|
286
|
-
const stack = [atomState];
|
|
287
|
-
while (stack.length) {
|
|
288
|
-
const aState = stack.pop();
|
|
289
|
-
for (const [d, s] of getMountedOrPendingDependents(aState)) {
|
|
290
|
-
if (!invalidatedAtoms.has(d)) {
|
|
291
|
-
invalidatedAtoms.set(d, s.n);
|
|
292
|
-
stack.push(s);
|
|
293
|
-
}
|
|
326
|
+
if (prevEpochNumber !== atomState.n && invalidatedAtoms.get(atom2) === prevEpochNumber) {
|
|
327
|
+
invalidatedAtoms.set(atom2, atomState.n);
|
|
328
|
+
changedAtoms.add(atom2);
|
|
329
|
+
(_a = storeHooks.c) == null ? void 0 : _a.call(storeHooks, atom2);
|
|
294
330
|
}
|
|
295
331
|
}
|
|
296
|
-
};
|
|
297
|
-
const
|
|
298
|
-
|
|
299
|
-
const topSortedReversed = [];
|
|
300
|
-
const visiting = /* @__PURE__ */ new WeakSet();
|
|
301
|
-
const visited = /* @__PURE__ */ new WeakSet();
|
|
302
|
-
const stack = Array.from(changedAtoms);
|
|
332
|
+
});
|
|
333
|
+
const invalidateDependents = buildingBlockFunctions[4] || ((atom2) => {
|
|
334
|
+
const stack = [atom2];
|
|
303
335
|
while (stack.length) {
|
|
304
|
-
const
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
if (invalidatedAtoms.get(a) === aState.n) {
|
|
311
|
-
topSortedReversed.push([a, aState, aState.n]);
|
|
312
|
-
} else {
|
|
313
|
-
invalidatedAtoms.delete(a);
|
|
314
|
-
changedAtoms.set(a, aState);
|
|
315
|
-
}
|
|
316
|
-
visited.add(a);
|
|
317
|
-
stack.pop();
|
|
318
|
-
continue;
|
|
319
|
-
}
|
|
320
|
-
visiting.add(a);
|
|
321
|
-
for (const [d, s] of getMountedOrPendingDependents(aState)) {
|
|
322
|
-
if (!visiting.has(d)) {
|
|
323
|
-
stack.push([d, s]);
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
for (let i = topSortedReversed.length - 1; i >= 0; --i) {
|
|
328
|
-
const [a, aState, prevEpochNumber] = topSortedReversed[i];
|
|
329
|
-
let hasChangedDeps = false;
|
|
330
|
-
for (const dep of aState.d.keys()) {
|
|
331
|
-
if (dep !== a && changedAtoms.has(dep)) {
|
|
332
|
-
hasChangedDeps = true;
|
|
333
|
-
break;
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
if (hasChangedDeps) {
|
|
337
|
-
readAtomState(a);
|
|
338
|
-
mountDependencies(a, aState);
|
|
339
|
-
if (prevEpochNumber !== aState.n) {
|
|
340
|
-
changedAtoms.set(a, aState);
|
|
341
|
-
(_a = aState.u) == null ? void 0 : _a.call(aState);
|
|
342
|
-
}
|
|
336
|
+
const a = stack.pop();
|
|
337
|
+
const aState = ensureAtomState(a);
|
|
338
|
+
for (const d of getMountedOrPendingDependents(a, aState, mountedMap)) {
|
|
339
|
+
const dState = ensureAtomState(d);
|
|
340
|
+
invalidatedAtoms.set(d, dState.n);
|
|
341
|
+
stack.push(d);
|
|
343
342
|
}
|
|
344
|
-
invalidatedAtoms.delete(a);
|
|
345
343
|
}
|
|
346
|
-
};
|
|
347
|
-
const writeAtomState = (atom2, ...args) => {
|
|
344
|
+
});
|
|
345
|
+
const writeAtomState = buildingBlockFunctions[5] || ((atom2, ...args) => {
|
|
348
346
|
let isSync = true;
|
|
349
347
|
const getter = (a) => returnAtomValue(readAtomState(a));
|
|
350
348
|
const setter = (a, ...args2) => {
|
|
@@ -357,12 +355,12 @@ var buildStore = (...storeArgs) => {
|
|
|
357
355
|
}
|
|
358
356
|
const prevEpochNumber = aState.n;
|
|
359
357
|
const v = args2[0];
|
|
360
|
-
setAtomStateValueOrPromise(a,
|
|
361
|
-
mountDependencies(a
|
|
358
|
+
setAtomStateValueOrPromise(a, v, ensureAtomState);
|
|
359
|
+
mountDependencies(a);
|
|
362
360
|
if (prevEpochNumber !== aState.n) {
|
|
363
|
-
changedAtoms.
|
|
364
|
-
(_a =
|
|
365
|
-
invalidateDependents(
|
|
361
|
+
changedAtoms.add(a);
|
|
362
|
+
(_a = storeHooks.c) == null ? void 0 : _a.call(storeHooks, a);
|
|
363
|
+
invalidateDependents(a);
|
|
366
364
|
}
|
|
367
365
|
return void 0;
|
|
368
366
|
} else {
|
|
@@ -380,56 +378,52 @@ var buildStore = (...storeArgs) => {
|
|
|
380
378
|
} finally {
|
|
381
379
|
isSync = false;
|
|
382
380
|
}
|
|
383
|
-
};
|
|
384
|
-
const
|
|
385
|
-
try {
|
|
386
|
-
return writeAtomState(atom2, ...args);
|
|
387
|
-
} finally {
|
|
388
|
-
recomputeInvalidatedAtoms();
|
|
389
|
-
flushCallbacks();
|
|
390
|
-
}
|
|
391
|
-
};
|
|
392
|
-
const mountDependencies = (atom2, atomState) => {
|
|
381
|
+
});
|
|
382
|
+
const mountDependencies = buildingBlockFunctions[6] || ((atom2) => {
|
|
393
383
|
var _a;
|
|
394
|
-
|
|
384
|
+
const atomState = ensureAtomState(atom2);
|
|
385
|
+
const mounted = mountedMap.get(atom2);
|
|
386
|
+
if (mounted && !isPendingPromise(atomState.v)) {
|
|
395
387
|
for (const [a, n] of atomState.d) {
|
|
396
|
-
if (!
|
|
388
|
+
if (!mounted.d.has(a)) {
|
|
397
389
|
const aState = ensureAtomState(a);
|
|
398
|
-
const aMounted = mountAtom(a
|
|
390
|
+
const aMounted = mountAtom(a);
|
|
399
391
|
aMounted.t.add(atom2);
|
|
400
|
-
|
|
392
|
+
mounted.d.add(a);
|
|
401
393
|
if (n !== aState.n) {
|
|
402
|
-
changedAtoms.
|
|
403
|
-
(_a =
|
|
404
|
-
invalidateDependents(
|
|
394
|
+
changedAtoms.add(a);
|
|
395
|
+
(_a = storeHooks.c) == null ? void 0 : _a.call(storeHooks, a);
|
|
396
|
+
invalidateDependents(a);
|
|
405
397
|
}
|
|
406
398
|
}
|
|
407
399
|
}
|
|
408
|
-
for (const a of
|
|
400
|
+
for (const a of mounted.d || []) {
|
|
409
401
|
if (!atomState.d.has(a)) {
|
|
410
|
-
|
|
411
|
-
const aMounted = unmountAtom(a
|
|
402
|
+
mounted.d.delete(a);
|
|
403
|
+
const aMounted = unmountAtom(a);
|
|
412
404
|
aMounted == null ? void 0 : aMounted.t.delete(atom2);
|
|
413
405
|
}
|
|
414
406
|
}
|
|
415
407
|
}
|
|
416
|
-
};
|
|
417
|
-
const mountAtom = (atom2
|
|
408
|
+
});
|
|
409
|
+
const mountAtom = buildingBlockFunctions[7] || ((atom2) => {
|
|
418
410
|
var _a;
|
|
419
|
-
|
|
411
|
+
const atomState = ensureAtomState(atom2);
|
|
412
|
+
let mounted = mountedMap.get(atom2);
|
|
413
|
+
if (!mounted) {
|
|
420
414
|
readAtomState(atom2);
|
|
421
415
|
for (const a of atomState.d.keys()) {
|
|
422
|
-
const aMounted = mountAtom(a
|
|
416
|
+
const aMounted = mountAtom(a);
|
|
423
417
|
aMounted.t.add(atom2);
|
|
424
418
|
}
|
|
425
|
-
|
|
419
|
+
mounted = {
|
|
426
420
|
l: /* @__PURE__ */ new Set(),
|
|
427
421
|
d: new Set(atomState.d.keys()),
|
|
428
422
|
t: /* @__PURE__ */ new Set()
|
|
429
423
|
};
|
|
430
|
-
(
|
|
424
|
+
mountedMap.set(atom2, mounted);
|
|
425
|
+
(_a = storeHooks.m) == null ? void 0 : _a.call(storeHooks, atom2);
|
|
431
426
|
if (isActuallyWritableAtom(atom2)) {
|
|
432
|
-
const mounted = atomState.m;
|
|
433
427
|
const processOnMount = () => {
|
|
434
428
|
let isSync = true;
|
|
435
429
|
const setAtom = (...args) => {
|
|
@@ -461,88 +455,149 @@ var buildStore = (...storeArgs) => {
|
|
|
461
455
|
mountCallbacks.add(processOnMount);
|
|
462
456
|
}
|
|
463
457
|
}
|
|
464
|
-
return
|
|
465
|
-
};
|
|
466
|
-
const unmountAtom = (atom2
|
|
458
|
+
return mounted;
|
|
459
|
+
});
|
|
460
|
+
const unmountAtom = buildingBlockFunctions[8] || ((atom2) => {
|
|
467
461
|
var _a;
|
|
468
|
-
|
|
462
|
+
const atomState = ensureAtomState(atom2);
|
|
463
|
+
let mounted = mountedMap.get(atom2);
|
|
464
|
+
if (mounted && !mounted.l.size && !Array.from(mounted.t).some((a) => {
|
|
469
465
|
var _a2;
|
|
470
|
-
return (_a2 =
|
|
466
|
+
return (_a2 = mountedMap.get(a)) == null ? void 0 : _a2.d.has(atom2);
|
|
471
467
|
})) {
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
unmountCallbacks.add(onUnmount);
|
|
468
|
+
if (mounted.u) {
|
|
469
|
+
unmountCallbacks.add(mounted.u);
|
|
475
470
|
}
|
|
476
|
-
|
|
477
|
-
|
|
471
|
+
mounted = void 0;
|
|
472
|
+
mountedMap.delete(atom2);
|
|
473
|
+
(_a = storeHooks.u) == null ? void 0 : _a.call(storeHooks, atom2);
|
|
478
474
|
for (const a of atomState.d.keys()) {
|
|
479
|
-
const aMounted = unmountAtom(a
|
|
475
|
+
const aMounted = unmountAtom(a);
|
|
480
476
|
aMounted == null ? void 0 : aMounted.t.delete(atom2);
|
|
481
477
|
}
|
|
482
478
|
return void 0;
|
|
483
479
|
}
|
|
484
|
-
return
|
|
485
|
-
};
|
|
486
|
-
const
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
480
|
+
return mounted;
|
|
481
|
+
});
|
|
482
|
+
const buildingBlocks = [
|
|
483
|
+
// store state
|
|
484
|
+
atomStateMap,
|
|
485
|
+
mountedMap,
|
|
486
|
+
invalidatedAtoms,
|
|
487
|
+
changedAtoms,
|
|
488
|
+
mountCallbacks,
|
|
489
|
+
unmountCallbacks,
|
|
490
|
+
storeHooks,
|
|
491
|
+
// atom intercepters
|
|
492
|
+
atomRead,
|
|
493
|
+
atomWrite,
|
|
494
|
+
atomOnInit,
|
|
495
|
+
atomOnMount,
|
|
496
|
+
// building-block functions
|
|
497
|
+
ensureAtomState,
|
|
498
|
+
flushCallbacks,
|
|
499
|
+
recomputeInvalidatedAtoms,
|
|
500
|
+
readAtomState,
|
|
501
|
+
invalidateDependents,
|
|
502
|
+
writeAtomState,
|
|
503
|
+
mountDependencies,
|
|
504
|
+
mountAtom,
|
|
505
|
+
unmountAtom
|
|
506
|
+
];
|
|
499
507
|
const store = {
|
|
500
|
-
get:
|
|
501
|
-
set:
|
|
502
|
-
|
|
503
|
-
|
|
508
|
+
get: (atom2) => returnAtomValue(readAtomState(atom2)),
|
|
509
|
+
set: (atom2, ...args) => {
|
|
510
|
+
try {
|
|
511
|
+
return writeAtomState(atom2, ...args);
|
|
512
|
+
} finally {
|
|
513
|
+
recomputeInvalidatedAtoms();
|
|
514
|
+
flushCallbacks();
|
|
515
|
+
}
|
|
516
|
+
},
|
|
517
|
+
sub: (atom2, listener) => {
|
|
518
|
+
const mounted = mountAtom(atom2);
|
|
519
|
+
const listeners = mounted.l;
|
|
520
|
+
listeners.add(listener);
|
|
521
|
+
flushCallbacks();
|
|
522
|
+
return () => {
|
|
523
|
+
listeners.delete(listener);
|
|
524
|
+
unmountAtom(atom2);
|
|
525
|
+
flushCallbacks();
|
|
526
|
+
};
|
|
527
|
+
}
|
|
504
528
|
};
|
|
529
|
+
Object.defineProperty(store, BUILDING_BLOCKS, { value: buildingBlocks });
|
|
505
530
|
return store;
|
|
506
531
|
};
|
|
507
|
-
var
|
|
508
|
-
|
|
509
|
-
|
|
532
|
+
var INTERNAL_buildStoreRev1 = buildStore;
|
|
533
|
+
var INTERNAL_initializeStoreHooks = initializeStoreHooks;
|
|
534
|
+
var INTERNAL_registerAbortHandler = registerAbortHandler;
|
|
535
|
+
|
|
536
|
+
// ../../node_modules/.pnpm/jotai@2.12.2_@types+react@18.3.18_react@18.3.1/node_modules/jotai/esm/vanilla.mjs
|
|
537
|
+
var keyCount = 0;
|
|
538
|
+
function atom(read, write) {
|
|
539
|
+
const key = `atom${++keyCount}`;
|
|
540
|
+
const config = {
|
|
541
|
+
toString() {
|
|
542
|
+
return (import.meta.env ? import.meta.env.MODE : void 0) !== "production" && this.debugLabel ? key + ":" + this.debugLabel : key;
|
|
543
|
+
}
|
|
544
|
+
};
|
|
545
|
+
if (typeof read === "function") {
|
|
546
|
+
config.read = read;
|
|
547
|
+
} else {
|
|
548
|
+
config.init = read;
|
|
549
|
+
config.read = defaultRead;
|
|
550
|
+
config.write = defaultWrite;
|
|
551
|
+
}
|
|
552
|
+
if (write) {
|
|
553
|
+
config.write = write;
|
|
554
|
+
}
|
|
555
|
+
return config;
|
|
556
|
+
}
|
|
557
|
+
function defaultRead(get) {
|
|
558
|
+
return get(this);
|
|
559
|
+
}
|
|
560
|
+
function defaultWrite(get, set, arg) {
|
|
561
|
+
return set(
|
|
562
|
+
this,
|
|
563
|
+
typeof arg === "function" ? arg(get(this)) : arg
|
|
564
|
+
);
|
|
565
|
+
}
|
|
566
|
+
var createDevStoreRev4 = () => {
|
|
510
567
|
let inRestoreAtom = 0;
|
|
511
|
-
const
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
};
|
|
525
|
-
};
|
|
526
|
-
storeArgs[3] = function devAtomWrite(atom2, getter, setter, ...args) {
|
|
568
|
+
const storeHooks = INTERNAL_initializeStoreHooks({});
|
|
569
|
+
const atomStateMap = /* @__PURE__ */ new WeakMap();
|
|
570
|
+
const mountedAtoms = /* @__PURE__ */ new WeakMap();
|
|
571
|
+
const store = INTERNAL_buildStoreRev1(
|
|
572
|
+
atomStateMap,
|
|
573
|
+
mountedAtoms,
|
|
574
|
+
void 0,
|
|
575
|
+
void 0,
|
|
576
|
+
void 0,
|
|
577
|
+
void 0,
|
|
578
|
+
storeHooks,
|
|
579
|
+
void 0,
|
|
580
|
+
(atom2, get, set, ...args) => {
|
|
527
581
|
if (inRestoreAtom) {
|
|
528
|
-
return
|
|
582
|
+
return set(atom2, ...args);
|
|
529
583
|
}
|
|
530
|
-
return
|
|
531
|
-
}
|
|
532
|
-
|
|
584
|
+
return atom2.write(get, set, ...args);
|
|
585
|
+
}
|
|
586
|
+
);
|
|
587
|
+
const debugMountedAtoms = /* @__PURE__ */ new Set();
|
|
588
|
+
storeHooks.m.add(void 0, (atom2) => {
|
|
589
|
+
debugMountedAtoms.add(atom2);
|
|
590
|
+
const atomState = atomStateMap.get(atom2);
|
|
591
|
+
atomState.m = mountedAtoms.get(atom2);
|
|
592
|
+
});
|
|
593
|
+
storeHooks.u.add(void 0, (atom2) => {
|
|
594
|
+
debugMountedAtoms.delete(atom2);
|
|
595
|
+
const atomState = atomStateMap.get(atom2);
|
|
596
|
+
delete atomState.m;
|
|
533
597
|
});
|
|
534
|
-
const savedStoreSet = derivedStore.set;
|
|
535
598
|
const devStore = {
|
|
536
599
|
// store dev methods (these are tentative and subject to change without notice)
|
|
537
|
-
dev4_get_internal_weak_map: () =>
|
|
538
|
-
get: (atom2) => {
|
|
539
|
-
const atomState = savedGetAtomState(atom2);
|
|
540
|
-
if (!atomState || atomState.n === 0) {
|
|
541
|
-
return void 0;
|
|
542
|
-
}
|
|
543
|
-
return atomState;
|
|
544
|
-
}
|
|
545
|
-
}),
|
|
600
|
+
dev4_get_internal_weak_map: () => atomStateMap,
|
|
546
601
|
dev4_get_mounted_atoms: () => debugMountedAtoms,
|
|
547
602
|
dev4_restore_atoms: (values) => {
|
|
548
603
|
const restoreAtom = {
|
|
@@ -551,7 +606,7 @@ var deriveDevStoreRev4 = (store) => {
|
|
|
551
606
|
++inRestoreAtom;
|
|
552
607
|
try {
|
|
553
608
|
for (const [atom2, value] of values) {
|
|
554
|
-
if (
|
|
609
|
+
if ("init" in atom2) {
|
|
555
610
|
set(atom2, value);
|
|
556
611
|
}
|
|
557
612
|
}
|
|
@@ -560,34 +615,20 @@ var deriveDevStoreRev4 = (store) => {
|
|
|
560
615
|
}
|
|
561
616
|
}
|
|
562
617
|
};
|
|
563
|
-
|
|
618
|
+
store.set(restoreAtom);
|
|
564
619
|
}
|
|
565
620
|
};
|
|
566
|
-
return Object.assign(
|
|
621
|
+
return Object.assign(store, devStore);
|
|
567
622
|
};
|
|
568
|
-
|
|
569
|
-
const atomStateMap = /* @__PURE__ */ new WeakMap();
|
|
570
|
-
const store = buildStore(
|
|
571
|
-
(atom2) => atomStateMap.get(atom2),
|
|
572
|
-
(atom2, atomState) => atomStateMap.set(atom2, atomState).get(atom2),
|
|
573
|
-
(atom2, ...params) => atom2.read(...params),
|
|
574
|
-
(atom2, ...params) => atom2.write(...params),
|
|
575
|
-
(atom2, ...params) => {
|
|
576
|
-
var _a;
|
|
577
|
-
return (_a = atom2.unstable_onInit) == null ? void 0 : _a.call(atom2, ...params);
|
|
578
|
-
},
|
|
579
|
-
(atom2, ...params) => {
|
|
580
|
-
var _a;
|
|
581
|
-
return (_a = atom2.onMount) == null ? void 0 : _a.call(atom2, ...params);
|
|
582
|
-
}
|
|
583
|
-
);
|
|
623
|
+
function createStore() {
|
|
584
624
|
if ((import.meta.env ? import.meta.env.MODE : void 0) !== "production") {
|
|
585
|
-
return
|
|
625
|
+
return createDevStoreRev4();
|
|
586
626
|
}
|
|
627
|
+
const store = INTERNAL_buildStoreRev1();
|
|
587
628
|
return store;
|
|
588
|
-
}
|
|
629
|
+
}
|
|
589
630
|
var defaultStore;
|
|
590
|
-
|
|
631
|
+
function getDefaultStore() {
|
|
591
632
|
if (!defaultStore) {
|
|
592
633
|
defaultStore = createStore();
|
|
593
634
|
if ((import.meta.env ? import.meta.env.MODE : void 0) !== "production") {
|
|
@@ -600,17 +641,17 @@ var getDefaultStore = () => {
|
|
|
600
641
|
}
|
|
601
642
|
}
|
|
602
643
|
return defaultStore;
|
|
603
|
-
}
|
|
644
|
+
}
|
|
604
645
|
|
|
605
|
-
// ../../node_modules/.pnpm/jotai@2.
|
|
646
|
+
// ../../node_modules/.pnpm/jotai@2.12.2_@types+react@18.3.18_react@18.3.1/node_modules/jotai/esm/react.mjs
|
|
606
647
|
import ReactExports, { createContext, useContext, useRef, createElement, useReducer, useEffect, useDebugValue, useCallback } from "react";
|
|
607
648
|
var StoreContext = createContext(
|
|
608
649
|
void 0
|
|
609
650
|
);
|
|
610
|
-
|
|
651
|
+
function useStore(options) {
|
|
611
652
|
const store = useContext(StoreContext);
|
|
612
653
|
return (options == null ? void 0 : options.store) || store || getDefaultStore();
|
|
613
|
-
}
|
|
654
|
+
}
|
|
614
655
|
var isPromiseLike2 = (x) => typeof (x == null ? void 0 : x.then) === "function";
|
|
615
656
|
var attachPromiseMeta = (promise) => {
|
|
616
657
|
promise.status = "pending";
|
|
@@ -638,7 +679,7 @@ var use = ReactExports.use || ((promise) => {
|
|
|
638
679
|
}
|
|
639
680
|
});
|
|
640
681
|
var continuablePromiseMap = /* @__PURE__ */ new WeakMap();
|
|
641
|
-
var createContinuablePromise = (promise) => {
|
|
682
|
+
var createContinuablePromise = (promise, getValue) => {
|
|
642
683
|
let continuablePromise = continuablePromiseMap.get(promise);
|
|
643
684
|
if (!continuablePromise) {
|
|
644
685
|
continuablePromise = new Promise((resolve, reject) => {
|
|
@@ -653,25 +694,23 @@ var createContinuablePromise = (promise) => {
|
|
|
653
694
|
reject(e);
|
|
654
695
|
}
|
|
655
696
|
};
|
|
656
|
-
const
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
}
|
|
670
|
-
});
|
|
697
|
+
const onAbort = () => {
|
|
698
|
+
try {
|
|
699
|
+
const nextValue = getValue();
|
|
700
|
+
if (isPromiseLike2(nextValue)) {
|
|
701
|
+
continuablePromiseMap.set(nextValue, continuablePromise);
|
|
702
|
+
curr = nextValue;
|
|
703
|
+
nextValue.then(onFulfilled(nextValue), onRejected(nextValue));
|
|
704
|
+
INTERNAL_registerAbortHandler(nextValue, onAbort);
|
|
705
|
+
} else {
|
|
706
|
+
resolve(nextValue);
|
|
707
|
+
}
|
|
708
|
+
} catch (e) {
|
|
709
|
+
reject(e);
|
|
671
710
|
}
|
|
672
711
|
};
|
|
673
712
|
promise.then(onFulfilled(promise), onRejected(promise));
|
|
674
|
-
|
|
713
|
+
INTERNAL_registerAbortHandler(promise, onAbort);
|
|
675
714
|
});
|
|
676
715
|
continuablePromiseMap.set(promise, continuablePromise);
|
|
677
716
|
}
|
|
@@ -701,7 +740,9 @@ function useAtomValue(atom2, options) {
|
|
|
701
740
|
if (typeof delay === "number") {
|
|
702
741
|
const value2 = store.get(atom2);
|
|
703
742
|
if (isPromiseLike2(value2)) {
|
|
704
|
-
attachPromiseMeta(
|
|
743
|
+
attachPromiseMeta(
|
|
744
|
+
createContinuablePromise(value2, () => store.get(atom2))
|
|
745
|
+
);
|
|
705
746
|
}
|
|
706
747
|
setTimeout(rerender, delay);
|
|
707
748
|
return;
|
|
@@ -713,7 +754,7 @@ function useAtomValue(atom2, options) {
|
|
|
713
754
|
}, [store, atom2, delay]);
|
|
714
755
|
useDebugValue(value);
|
|
715
756
|
if (isPromiseLike2(value)) {
|
|
716
|
-
const promise = createContinuablePromise(value);
|
|
757
|
+
const promise = createContinuablePromise(value, () => store.get(atom2));
|
|
717
758
|
return use(promise);
|
|
718
759
|
}
|
|
719
760
|
return value;
|