@solidjs/signals 0.13.3 → 0.13.5
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/dev.js +588 -354
- package/dist/node.cjs +1211 -1016
- package/dist/prod.js +1054 -852
- package/dist/types/core/async.d.ts +2 -1
- package/dist/types/core/effect.d.ts +2 -2
- package/dist/types/core/index.d.ts +1 -1
- package/dist/types/core/lanes.d.ts +4 -0
- package/dist/types/core/owner.d.ts +1 -1
- package/dist/types/core/scheduler.d.ts +3 -0
- package/dist/types/core/types.d.ts +4 -0
- package/dist/types/index.d.ts +2 -2
- package/dist/types/signals.d.ts +2 -0
- package/dist/types/store/projection.d.ts +1 -0
- package/package.json +1 -1
package/dist/node.cjs
CHANGED
|
@@ -32,14 +32,14 @@ const s = 1 << 4;
|
|
|
32
32
|
const o = 1 << 5;
|
|
33
33
|
const u = 1 << 6;
|
|
34
34
|
const f = 1 << 7;
|
|
35
|
-
const
|
|
36
|
-
const
|
|
35
|
+
const c = 1 << 8;
|
|
36
|
+
const l = 1 << 9;
|
|
37
37
|
const a = 1 << 0;
|
|
38
38
|
const d = 1 << 1;
|
|
39
39
|
const p = 1 << 2;
|
|
40
40
|
const h = 1;
|
|
41
|
-
const
|
|
42
|
-
const
|
|
41
|
+
const g = 2;
|
|
42
|
+
const y = 3;
|
|
43
43
|
const S = {};
|
|
44
44
|
const w = {};
|
|
45
45
|
const m = "sp";
|
|
@@ -108,7 +108,7 @@ function markNode(e, r = n) {
|
|
|
108
108
|
markNode(n.k, t);
|
|
109
109
|
}
|
|
110
110
|
if (e.C !== null) {
|
|
111
|
-
for (let n = e.C; n !== null; n = n.
|
|
111
|
+
for (let n = e.C; n !== null; n = n.W) {
|
|
112
112
|
for (let e = n.O; e !== null; e = e.P) {
|
|
113
113
|
markNode(e.k, t);
|
|
114
114
|
}
|
|
@@ -117,12 +117,12 @@ function markNode(e, r = n) {
|
|
|
117
117
|
}
|
|
118
118
|
function runHeap(e, t) {
|
|
119
119
|
e._ = false;
|
|
120
|
-
for (e.
|
|
121
|
-
let n = e.l[e.
|
|
120
|
+
for (e.j = 0; e.j <= e.S; e.j++) {
|
|
121
|
+
let n = e.l[e.j];
|
|
122
122
|
while (n !== undefined) {
|
|
123
123
|
if (n.m & i) t(n);
|
|
124
124
|
else adjustHeight(n, e);
|
|
125
|
-
n = e.l[e.
|
|
125
|
+
n = e.l[e.j];
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
e.S = 0;
|
|
@@ -130,10 +130,10 @@ function runHeap(e, t) {
|
|
|
130
130
|
function adjustHeight(e, t) {
|
|
131
131
|
deleteFromHeap(e, t);
|
|
132
132
|
let n = e.o;
|
|
133
|
-
for (let t = e.
|
|
133
|
+
for (let t = e.A; t; t = t.N) {
|
|
134
134
|
const e = t.L;
|
|
135
135
|
const r = e.I || e;
|
|
136
|
-
if (r.
|
|
136
|
+
if (r.T && r.o >= n) n = r.o + 1;
|
|
137
137
|
}
|
|
138
138
|
if (e.o !== n) {
|
|
139
139
|
e.o = n;
|
|
@@ -143,16 +143,20 @@ function adjustHeight(e, t) {
|
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
145
|
const x = new Set();
|
|
146
|
-
const P = { l: new Array(2e3).fill(undefined), _: false,
|
|
147
|
-
const v = { l: new Array(2e3).fill(undefined), _: false,
|
|
148
|
-
let
|
|
149
|
-
let
|
|
150
|
-
let
|
|
151
|
-
let
|
|
146
|
+
const P = { l: new Array(2e3).fill(undefined), _: false, j: 0, S: 0 };
|
|
147
|
+
const v = { l: new Array(2e3).fill(undefined), _: false, j: 0, S: 0 };
|
|
148
|
+
let E = 0;
|
|
149
|
+
let k = null;
|
|
150
|
+
let C = false;
|
|
151
|
+
let W = false;
|
|
152
|
+
let j = null;
|
|
152
153
|
function enforceLoadingBoundary(e) {}
|
|
154
|
+
function shouldReadStashedOptimisticValue(e) {
|
|
155
|
+
return !!j?.has(e);
|
|
156
|
+
}
|
|
153
157
|
function runLaneEffects(e) {
|
|
154
|
-
for (const t of
|
|
155
|
-
if (t.R || t.
|
|
158
|
+
for (const t of L) {
|
|
159
|
+
if (t.R || t.H.size > 0) continue;
|
|
156
160
|
const n = t.q[e - 1];
|
|
157
161
|
if (n.length) {
|
|
158
162
|
t.q[e - 1] = [];
|
|
@@ -160,27 +164,100 @@ function runLaneEffects(e) {
|
|
|
160
164
|
}
|
|
161
165
|
}
|
|
162
166
|
}
|
|
167
|
+
function queueStashedOptimisticEffects(e) {
|
|
168
|
+
for (let t = e.O; t !== null; t = t.P) {
|
|
169
|
+
const e = t.k;
|
|
170
|
+
if (!e.D) continue;
|
|
171
|
+
if (e.D === y) {
|
|
172
|
+
if (!e.V) {
|
|
173
|
+
e.V = true;
|
|
174
|
+
e.B.enqueue(g, e.F);
|
|
175
|
+
}
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
178
|
+
const n = e.m & o ? v : P;
|
|
179
|
+
if (n.j > e.o) n.j = e.o;
|
|
180
|
+
insertIntoHeap(e, n);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
163
183
|
function setProjectionWriteActive(e) {
|
|
164
|
-
|
|
184
|
+
W = e;
|
|
185
|
+
}
|
|
186
|
+
function mergeTransitionState(e, t) {
|
|
187
|
+
t.M = e;
|
|
188
|
+
e.G.push(...t.G);
|
|
189
|
+
for (const n of L) {
|
|
190
|
+
if (n.K === t) n.K = e;
|
|
191
|
+
}
|
|
192
|
+
e.U.push(...t.U);
|
|
193
|
+
for (const n of t.J) e.J.add(n);
|
|
194
|
+
for (const n of t.X) {
|
|
195
|
+
if (!e.X.includes(n)) e.X.push(n);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
function resolveOptimisticNodes(e) {
|
|
199
|
+
for (let t = 0; t < e.length; t++) {
|
|
200
|
+
const n = e[t];
|
|
201
|
+
n.Y = undefined;
|
|
202
|
+
if (n.Z !== S) {
|
|
203
|
+
n.$ = n.Z;
|
|
204
|
+
n.Z = S;
|
|
205
|
+
}
|
|
206
|
+
const r = n.ee;
|
|
207
|
+
n.ee = S;
|
|
208
|
+
if (r !== S && n.$ !== r) insertSubs(n, true);
|
|
209
|
+
n.K = null;
|
|
210
|
+
}
|
|
211
|
+
e.length = 0;
|
|
212
|
+
}
|
|
213
|
+
function cleanupCompletedLanes(e) {
|
|
214
|
+
for (const t of L) {
|
|
215
|
+
const n = e ? t.K === e : !t.K;
|
|
216
|
+
if (!n) continue;
|
|
217
|
+
if (!t.R) {
|
|
218
|
+
if (t.q[0].length) runQueue(t.q[0], h);
|
|
219
|
+
if (t.q[1].length) runQueue(t.q[1], g);
|
|
220
|
+
}
|
|
221
|
+
if (t.te.Y === t) t.te.Y = undefined;
|
|
222
|
+
t.H.clear();
|
|
223
|
+
t.q[0].length = 0;
|
|
224
|
+
t.q[1].length = 0;
|
|
225
|
+
L.delete(t);
|
|
226
|
+
N.delete(t.te);
|
|
227
|
+
}
|
|
165
228
|
}
|
|
166
229
|
function schedule() {
|
|
167
|
-
if (
|
|
168
|
-
|
|
169
|
-
if (!A.
|
|
230
|
+
if (C) return;
|
|
231
|
+
C = true;
|
|
232
|
+
if (!A.ne && !W) queueMicrotask(flush);
|
|
233
|
+
}
|
|
234
|
+
function addTransitionBlocker(e) {
|
|
235
|
+
if (k && !k.X.includes(e)) {
|
|
236
|
+
k.X.push(e);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
function removeTransitionBlocker(e) {
|
|
240
|
+
const remove = t => {
|
|
241
|
+
if (!t) return;
|
|
242
|
+
const n = t.indexOf(e);
|
|
243
|
+
if (n >= 0) t.splice(n, 1);
|
|
244
|
+
};
|
|
245
|
+
remove(e.K?.X);
|
|
246
|
+
remove(k?.X);
|
|
170
247
|
}
|
|
171
248
|
class Queue {
|
|
172
249
|
i = null;
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
created =
|
|
250
|
+
re = [[], []];
|
|
251
|
+
ie = [];
|
|
252
|
+
created = E;
|
|
176
253
|
addChild(e) {
|
|
177
|
-
this.
|
|
254
|
+
this.ie.push(e);
|
|
178
255
|
e.i = this;
|
|
179
256
|
}
|
|
180
257
|
removeChild(e) {
|
|
181
|
-
const t = this.
|
|
258
|
+
const t = this.ie.indexOf(e);
|
|
182
259
|
if (t >= 0) {
|
|
183
|
-
this.
|
|
260
|
+
this.ie.splice(t, 1);
|
|
184
261
|
e.i = null;
|
|
185
262
|
}
|
|
186
263
|
}
|
|
@@ -189,107 +266,123 @@ class Queue {
|
|
|
189
266
|
return false;
|
|
190
267
|
}
|
|
191
268
|
run(e) {
|
|
192
|
-
if (this.
|
|
193
|
-
const t = this.
|
|
194
|
-
this.
|
|
269
|
+
if (this.re[e - 1].length) {
|
|
270
|
+
const t = this.re[e - 1];
|
|
271
|
+
this.re[e - 1] = [];
|
|
195
272
|
runQueue(t, e);
|
|
196
273
|
}
|
|
197
|
-
for (let t = 0; t < this.
|
|
274
|
+
for (let t = 0; t < this.ie.length; t++) this.ie[t].run?.(e);
|
|
198
275
|
}
|
|
199
276
|
enqueue(e, t) {
|
|
200
277
|
if (e) {
|
|
201
|
-
if (
|
|
202
|
-
const n = findLane(
|
|
278
|
+
if (F) {
|
|
279
|
+
const n = findLane(F);
|
|
203
280
|
n.q[e - 1].push(t);
|
|
204
281
|
} else {
|
|
205
|
-
this.
|
|
282
|
+
this.re[e - 1].push(t);
|
|
206
283
|
}
|
|
207
284
|
}
|
|
208
285
|
schedule();
|
|
209
286
|
}
|
|
210
287
|
stashQueues(e) {
|
|
211
|
-
e.
|
|
212
|
-
e.
|
|
213
|
-
this.
|
|
214
|
-
for (let t = 0; t < this.
|
|
215
|
-
let n = this.
|
|
216
|
-
let r = e.
|
|
288
|
+
e.re[0].push(...this.re[0]);
|
|
289
|
+
e.re[1].push(...this.re[1]);
|
|
290
|
+
this.re = [[], []];
|
|
291
|
+
for (let t = 0; t < this.ie.length; t++) {
|
|
292
|
+
let n = this.ie[t];
|
|
293
|
+
let r = e.ie[t];
|
|
217
294
|
if (!r) {
|
|
218
|
-
r = {
|
|
219
|
-
e.
|
|
295
|
+
r = { re: [[], []], ie: [] };
|
|
296
|
+
e.ie[t] = r;
|
|
220
297
|
}
|
|
221
298
|
n.stashQueues(r);
|
|
222
299
|
}
|
|
223
300
|
}
|
|
224
301
|
restoreQueues(e) {
|
|
225
|
-
this.
|
|
226
|
-
this.
|
|
227
|
-
for (let t = 0; t < e.
|
|
228
|
-
const n = e.
|
|
229
|
-
let r = this.
|
|
302
|
+
this.re[0].push(...e.re[0]);
|
|
303
|
+
this.re[1].push(...e.re[1]);
|
|
304
|
+
for (let t = 0; t < e.ie.length; t++) {
|
|
305
|
+
const n = e.ie[t];
|
|
306
|
+
let r = this.ie[t];
|
|
230
307
|
if (r) r.restoreQueues(n);
|
|
231
308
|
}
|
|
232
309
|
}
|
|
233
310
|
}
|
|
234
311
|
class GlobalQueue extends Queue {
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
static
|
|
240
|
-
static
|
|
241
|
-
static
|
|
312
|
+
ne = false;
|
|
313
|
+
se = [];
|
|
314
|
+
U = [];
|
|
315
|
+
J = new Set();
|
|
316
|
+
static oe;
|
|
317
|
+
static ue;
|
|
318
|
+
static fe = null;
|
|
242
319
|
flush() {
|
|
243
|
-
if (this.
|
|
244
|
-
this.
|
|
320
|
+
if (this.ne) return;
|
|
321
|
+
this.ne = true;
|
|
245
322
|
try {
|
|
246
|
-
runHeap(P, GlobalQueue.
|
|
247
|
-
if (
|
|
248
|
-
const e = transitionComplete(
|
|
323
|
+
runHeap(P, GlobalQueue.oe);
|
|
324
|
+
if (k) {
|
|
325
|
+
const e = transitionComplete(k);
|
|
249
326
|
if (!e) {
|
|
250
|
-
|
|
251
|
-
runHeap(v, GlobalQueue.
|
|
252
|
-
this.
|
|
253
|
-
this.
|
|
254
|
-
this.
|
|
327
|
+
const e = k;
|
|
328
|
+
runHeap(v, GlobalQueue.oe);
|
|
329
|
+
this.se = [];
|
|
330
|
+
this.U = [];
|
|
331
|
+
this.J = new Set();
|
|
255
332
|
runLaneEffects(h);
|
|
256
|
-
runLaneEffects(
|
|
257
|
-
this.stashQueues(
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
reassignPendingTransition(
|
|
261
|
-
|
|
262
|
-
|
|
333
|
+
runLaneEffects(g);
|
|
334
|
+
this.stashQueues(e.ce);
|
|
335
|
+
E++;
|
|
336
|
+
C = P.S >= P.j;
|
|
337
|
+
reassignPendingTransition(e.se);
|
|
338
|
+
k = null;
|
|
339
|
+
if (!e.G.length && e.U.length) {
|
|
340
|
+
j = new Set();
|
|
341
|
+
for (let t = 0; t < e.U.length; t++) {
|
|
342
|
+
const n = e.U[t];
|
|
343
|
+
if (n.T || n.le) continue;
|
|
344
|
+
j.add(n);
|
|
345
|
+
queueStashedOptimisticEffects(n);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
try {
|
|
349
|
+
finalizePureQueue(null, true);
|
|
350
|
+
} finally {
|
|
351
|
+
j = null;
|
|
352
|
+
}
|
|
263
353
|
return;
|
|
264
354
|
}
|
|
265
|
-
this.
|
|
266
|
-
this.restoreQueues(
|
|
267
|
-
x.delete(
|
|
268
|
-
const t =
|
|
269
|
-
|
|
270
|
-
reassignPendingTransition(this.
|
|
355
|
+
this.se !== k.se && this.se.push(...k.se);
|
|
356
|
+
this.restoreQueues(k.ce);
|
|
357
|
+
x.delete(k);
|
|
358
|
+
const t = k;
|
|
359
|
+
k = null;
|
|
360
|
+
reassignPendingTransition(this.se);
|
|
271
361
|
finalizePureQueue(t);
|
|
272
362
|
} else {
|
|
273
|
-
if (x.size) runHeap(v, GlobalQueue.
|
|
363
|
+
if (x.size) runHeap(v, GlobalQueue.oe);
|
|
274
364
|
finalizePureQueue();
|
|
275
365
|
}
|
|
276
|
-
|
|
277
|
-
|
|
366
|
+
E++;
|
|
367
|
+
C = P.S >= P.j;
|
|
278
368
|
runLaneEffects(h);
|
|
279
369
|
this.run(h);
|
|
280
|
-
runLaneEffects(
|
|
281
|
-
this.run(
|
|
370
|
+
runLaneEffects(g);
|
|
371
|
+
this.run(g);
|
|
282
372
|
} finally {
|
|
283
|
-
this.
|
|
373
|
+
this.ne = false;
|
|
284
374
|
}
|
|
285
375
|
}
|
|
286
376
|
notify(e, t, n, r) {
|
|
287
377
|
if (t & a) {
|
|
288
378
|
if (n & a) {
|
|
289
|
-
const t = r !== undefined ? r : e.
|
|
290
|
-
if (
|
|
291
|
-
|
|
292
|
-
|
|
379
|
+
const t = r !== undefined ? r : e.ae;
|
|
380
|
+
if (k && t) {
|
|
381
|
+
const e = t.source;
|
|
382
|
+
if (!k.X.includes(e)) {
|
|
383
|
+
k.X.push(e);
|
|
384
|
+
schedule();
|
|
385
|
+
}
|
|
293
386
|
}
|
|
294
387
|
}
|
|
295
388
|
return true;
|
|
@@ -298,60 +391,58 @@ class GlobalQueue extends Queue {
|
|
|
298
391
|
}
|
|
299
392
|
initTransition(e) {
|
|
300
393
|
if (e) e = currentTransition(e);
|
|
301
|
-
if (e && e ===
|
|
302
|
-
if (!e &&
|
|
303
|
-
if (!
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
394
|
+
if (e && e === k) return;
|
|
395
|
+
if (!e && k && k.de === E) return;
|
|
396
|
+
if (!k) {
|
|
397
|
+
k = e ?? {
|
|
398
|
+
de: E,
|
|
399
|
+
se: [],
|
|
400
|
+
X: [],
|
|
401
|
+
U: [],
|
|
402
|
+
J: new Set(),
|
|
403
|
+
G: [],
|
|
404
|
+
ce: { re: [[], []], ie: [] },
|
|
405
|
+
M: false
|
|
313
406
|
};
|
|
314
407
|
} else if (e) {
|
|
315
|
-
const t =
|
|
316
|
-
t
|
|
317
|
-
e.ee.push(...t.ee);
|
|
318
|
-
for (const n of N) {
|
|
319
|
-
if (n.ne === t) n.ne = e;
|
|
320
|
-
}
|
|
321
|
-
e.B.push(...t.B);
|
|
322
|
-
for (const n of t.G) {
|
|
323
|
-
e.G.add(n);
|
|
324
|
-
}
|
|
408
|
+
const t = k;
|
|
409
|
+
mergeTransitionState(e, t);
|
|
325
410
|
x.delete(t);
|
|
326
|
-
|
|
411
|
+
k = e;
|
|
327
412
|
}
|
|
328
|
-
x.add(
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
413
|
+
x.add(k);
|
|
414
|
+
k.de = E;
|
|
415
|
+
if (this.se !== k.se) {
|
|
416
|
+
for (let e = 0; e < this.se.length; e++) {
|
|
417
|
+
const t = this.se[e];
|
|
418
|
+
t.K = k;
|
|
419
|
+
k.se.push(t);
|
|
420
|
+
}
|
|
421
|
+
this.se = k.se;
|
|
422
|
+
}
|
|
423
|
+
if (this.U !== k.U) {
|
|
424
|
+
for (let e = 0; e < this.U.length; e++) {
|
|
425
|
+
const t = this.U[e];
|
|
426
|
+
t.K = k;
|
|
427
|
+
k.U.push(t);
|
|
428
|
+
}
|
|
429
|
+
this.U = k.U;
|
|
334
430
|
}
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
const t = this.B[e];
|
|
338
|
-
t.ne = C;
|
|
339
|
-
C.B.push(t);
|
|
431
|
+
for (const e of L) {
|
|
432
|
+
if (!e.K) e.K = k;
|
|
340
433
|
}
|
|
341
|
-
this.
|
|
342
|
-
|
|
343
|
-
|
|
434
|
+
if (this.J !== k.J) {
|
|
435
|
+
for (const e of this.J) k.J.add(e);
|
|
436
|
+
this.J = k.J;
|
|
344
437
|
}
|
|
345
|
-
for (const e of this.G) C.G.add(e);
|
|
346
|
-
this.G = C.G;
|
|
347
438
|
}
|
|
348
439
|
}
|
|
349
440
|
function insertSubs(e, t = false) {
|
|
350
|
-
const n = e.
|
|
351
|
-
const r = e.
|
|
441
|
+
const n = e.Y || F;
|
|
442
|
+
const r = e.pe !== undefined;
|
|
352
443
|
for (let i = e.O; i !== null; i = i.P) {
|
|
353
|
-
if (r && i.k.
|
|
354
|
-
i.k.m |=
|
|
444
|
+
if (r && i.k.he) {
|
|
445
|
+
i.k.m |= c;
|
|
355
446
|
continue;
|
|
356
447
|
}
|
|
357
448
|
if (t && n) {
|
|
@@ -359,104 +450,72 @@ function insertSubs(e, t = false) {
|
|
|
359
450
|
assignOrMergeLane(i.k, n);
|
|
360
451
|
} else if (t) {
|
|
361
452
|
i.k.m |= f;
|
|
362
|
-
i.k.
|
|
453
|
+
i.k.Y = undefined;
|
|
363
454
|
}
|
|
364
455
|
const e = i.k;
|
|
365
|
-
if (e.
|
|
366
|
-
if (!e.
|
|
367
|
-
e.
|
|
368
|
-
e.
|
|
456
|
+
if (e.D === y) {
|
|
457
|
+
if (!e.V) {
|
|
458
|
+
e.V = true;
|
|
459
|
+
e.B.enqueue(g, e.F);
|
|
369
460
|
}
|
|
370
461
|
continue;
|
|
371
462
|
}
|
|
372
463
|
const s = i.k.m & o ? v : P;
|
|
373
|
-
if (s.
|
|
464
|
+
if (s.j > i.k.o) s.j = i.k.o;
|
|
374
465
|
insertIntoHeap(i.k, s);
|
|
375
466
|
}
|
|
376
467
|
}
|
|
377
468
|
function commitPendingNodes() {
|
|
378
|
-
const e = A.
|
|
469
|
+
const e = A.se;
|
|
379
470
|
for (let t = 0; t < e.length; t++) {
|
|
380
471
|
const n = e[t];
|
|
381
|
-
if (n.
|
|
382
|
-
n
|
|
383
|
-
n.
|
|
384
|
-
if (n.
|
|
472
|
+
if (n.Z !== S) {
|
|
473
|
+
n.$ = n.Z;
|
|
474
|
+
n.Z = S;
|
|
475
|
+
if (n.D && n.D !== y) n.V = true;
|
|
385
476
|
}
|
|
386
|
-
if (n.
|
|
387
|
-
|
|
388
|
-
if (e && !(e.de & a)) {
|
|
389
|
-
n.de &= -6;
|
|
390
|
-
n.Y = null;
|
|
391
|
-
}
|
|
392
|
-
} else n.de &= ~p;
|
|
393
|
-
if (n.H) GlobalQueue.U(n, false, true);
|
|
477
|
+
if (!(n.ge & a)) n.ge &= ~p;
|
|
478
|
+
if (n.T) GlobalQueue.ue(n, false, true);
|
|
394
479
|
}
|
|
395
480
|
e.length = 0;
|
|
396
481
|
}
|
|
397
482
|
function finalizePureQueue(e = null, t = false) {
|
|
398
|
-
|
|
483
|
+
const n = !t;
|
|
399
484
|
if (n) commitPendingNodes();
|
|
400
485
|
if (!t) checkBoundaryChildren(A);
|
|
401
|
-
if (P.S >= P.
|
|
486
|
+
if (P.S >= P.j) runHeap(P, GlobalQueue.oe);
|
|
402
487
|
if (n) {
|
|
403
488
|
commitPendingNodes();
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
n.ae = n.ce;
|
|
410
|
-
n.ce = S;
|
|
411
|
-
}
|
|
412
|
-
const r = n.pe;
|
|
413
|
-
n.pe = S;
|
|
414
|
-
if (r !== S && n.ae !== r) insertSubs(n, true);
|
|
415
|
-
n.ne = null;
|
|
416
|
-
}
|
|
417
|
-
t.length = 0;
|
|
418
|
-
const n = e ? e.G : A.G;
|
|
419
|
-
if (GlobalQueue.J && n.size) {
|
|
420
|
-
for (const e of n) {
|
|
421
|
-
GlobalQueue.J(e);
|
|
422
|
-
}
|
|
423
|
-
n.clear();
|
|
424
|
-
schedule();
|
|
425
|
-
}
|
|
426
|
-
for (const t of N) {
|
|
427
|
-
const n = e ? t.ne === e : !t.ne;
|
|
428
|
-
if (!n) continue;
|
|
429
|
-
if (!t.R) {
|
|
430
|
-
if (t.q[0].length) runQueue(t.q[0], h);
|
|
431
|
-
if (t.q[1].length) runQueue(t.q[1], y);
|
|
489
|
+
resolveOptimisticNodes(e ? e.U : A.U);
|
|
490
|
+
const t = e ? e.J : A.J;
|
|
491
|
+
if (GlobalQueue.fe && t.size) {
|
|
492
|
+
for (const e of t) {
|
|
493
|
+
GlobalQueue.fe(e);
|
|
432
494
|
}
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
t.q[0].length = 0;
|
|
436
|
-
t.q[1].length = 0;
|
|
437
|
-
N.delete(t);
|
|
438
|
-
W.delete(t.he);
|
|
495
|
+
t.clear();
|
|
496
|
+
schedule();
|
|
439
497
|
}
|
|
498
|
+
cleanupCompletedLanes(e);
|
|
440
499
|
}
|
|
441
500
|
}
|
|
442
501
|
function checkBoundaryChildren(e) {
|
|
443
|
-
for (const t of e.
|
|
502
|
+
for (const t of e.ie) {
|
|
444
503
|
t.checkSources?.();
|
|
445
504
|
checkBoundaryChildren(t);
|
|
446
505
|
}
|
|
447
506
|
}
|
|
448
507
|
function trackOptimisticStore(e) {
|
|
449
|
-
A.
|
|
508
|
+
A.J.add(e);
|
|
450
509
|
schedule();
|
|
451
510
|
}
|
|
452
511
|
function reassignPendingTransition(e) {
|
|
453
512
|
for (let t = 0; t < e.length; t++) {
|
|
454
|
-
e[t].
|
|
513
|
+
e[t].K = k;
|
|
455
514
|
}
|
|
456
515
|
}
|
|
457
516
|
const A = new GlobalQueue();
|
|
458
517
|
function flush() {
|
|
459
|
-
while (
|
|
518
|
+
while (C || k) {
|
|
460
519
|
A.flush();
|
|
461
520
|
}
|
|
462
521
|
}
|
|
@@ -464,48 +523,48 @@ function runQueue(e, t) {
|
|
|
464
523
|
for (let n = 0; n < e.length; n++) e[n](t);
|
|
465
524
|
}
|
|
466
525
|
function transitionComplete(e) {
|
|
467
|
-
if (e.
|
|
468
|
-
if (e.
|
|
526
|
+
if (e.M) return true;
|
|
527
|
+
if (e.G.length) return false;
|
|
469
528
|
let t = true;
|
|
470
|
-
for (let n = 0; n < e.
|
|
471
|
-
const r = e.
|
|
472
|
-
if (r.
|
|
529
|
+
for (let n = 0; n < e.X.length; n++) {
|
|
530
|
+
const r = e.X[n];
|
|
531
|
+
if (r.ge & a && r.ae?.source === r) {
|
|
473
532
|
t = false;
|
|
474
533
|
break;
|
|
475
534
|
}
|
|
476
535
|
}
|
|
477
|
-
t && (e.
|
|
536
|
+
t && (e.M = true);
|
|
478
537
|
return t;
|
|
479
538
|
}
|
|
480
539
|
function currentTransition(e) {
|
|
481
|
-
while (e.
|
|
540
|
+
while (e.M && typeof e.M === "object") e = e.M;
|
|
482
541
|
return e;
|
|
483
542
|
}
|
|
484
543
|
function setActiveTransition(e) {
|
|
485
|
-
|
|
544
|
+
k = e;
|
|
486
545
|
}
|
|
487
546
|
function runInTransition(e, t) {
|
|
488
|
-
const n =
|
|
547
|
+
const n = k;
|
|
489
548
|
try {
|
|
490
|
-
|
|
549
|
+
k = currentTransition(e);
|
|
491
550
|
return t();
|
|
492
551
|
} finally {
|
|
493
|
-
|
|
552
|
+
k = n;
|
|
494
553
|
}
|
|
495
554
|
}
|
|
496
|
-
const
|
|
497
|
-
const
|
|
555
|
+
const N = new WeakMap();
|
|
556
|
+
const L = new Set();
|
|
498
557
|
function getOrCreateLane(e) {
|
|
499
|
-
let t =
|
|
558
|
+
let t = N.get(e);
|
|
500
559
|
if (t) {
|
|
501
560
|
return findLane(t);
|
|
502
561
|
}
|
|
503
562
|
const n = e.ye;
|
|
504
|
-
const r = n?.
|
|
505
|
-
t = {
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
e.
|
|
563
|
+
const r = n?.Y ? findLane(n.Y) : null;
|
|
564
|
+
t = { te: e, H: new Set(), q: [[], []], R: null, K: k, Se: r };
|
|
565
|
+
N.set(e, t);
|
|
566
|
+
L.add(t);
|
|
567
|
+
e.we = false;
|
|
509
568
|
return t;
|
|
510
569
|
}
|
|
511
570
|
function findLane(e) {
|
|
@@ -517,88 +576,182 @@ function mergeLanes(e, t) {
|
|
|
517
576
|
t = findLane(t);
|
|
518
577
|
if (e === t) return e;
|
|
519
578
|
t.R = e;
|
|
520
|
-
for (const n of t.
|
|
579
|
+
for (const n of t.H) e.H.add(n);
|
|
521
580
|
e.q[0].push(...t.q[0]);
|
|
522
581
|
e.q[1].push(...t.q[1]);
|
|
523
582
|
return e;
|
|
524
583
|
}
|
|
525
584
|
function resolveLane(e) {
|
|
526
|
-
const t = e.
|
|
585
|
+
const t = e.Y;
|
|
527
586
|
if (!t) return undefined;
|
|
528
587
|
const n = findLane(t);
|
|
529
|
-
if (
|
|
530
|
-
e.
|
|
588
|
+
if (L.has(n)) return n;
|
|
589
|
+
e.Y = undefined;
|
|
531
590
|
return undefined;
|
|
532
591
|
}
|
|
592
|
+
function resolveTransition(e) {
|
|
593
|
+
return resolveLane(e)?.K ?? e.K;
|
|
594
|
+
}
|
|
533
595
|
function hasActiveOverride(e) {
|
|
534
|
-
return !!(e.
|
|
596
|
+
return !!(e.ee !== undefined && e.ee !== S);
|
|
535
597
|
}
|
|
536
598
|
function assignOrMergeLane(e, t) {
|
|
537
599
|
const n = findLane(t);
|
|
538
|
-
const r = e.
|
|
600
|
+
const r = e.Y;
|
|
539
601
|
if (r) {
|
|
540
602
|
if (r.R) {
|
|
541
|
-
e.
|
|
603
|
+
e.Y = t;
|
|
542
604
|
return;
|
|
543
605
|
}
|
|
544
606
|
const i = findLane(r);
|
|
545
|
-
if (
|
|
607
|
+
if (L.has(i)) {
|
|
546
608
|
if (i !== n && !hasActiveOverride(e)) {
|
|
547
|
-
if (n.
|
|
548
|
-
e.
|
|
549
|
-
} else if (i.
|
|
609
|
+
if (n.Se && findLane(n.Se) === i) {
|
|
610
|
+
e.Y = t;
|
|
611
|
+
} else if (i.Se && findLane(i.Se) === n);
|
|
550
612
|
else mergeLanes(n, i);
|
|
551
613
|
}
|
|
552
614
|
return;
|
|
553
615
|
}
|
|
554
616
|
}
|
|
555
|
-
e.
|
|
617
|
+
e.Y = t;
|
|
618
|
+
}
|
|
619
|
+
function addPendingSource(e, t) {
|
|
620
|
+
if (e.me === t || e.be?.has(t)) return false;
|
|
621
|
+
if (!e.me) {
|
|
622
|
+
e.me = t;
|
|
623
|
+
return true;
|
|
624
|
+
}
|
|
625
|
+
if (!e.be) {
|
|
626
|
+
e.be = new Set([e.me, t]);
|
|
627
|
+
} else {
|
|
628
|
+
e.be.add(t);
|
|
629
|
+
}
|
|
630
|
+
e.me = undefined;
|
|
631
|
+
return true;
|
|
632
|
+
}
|
|
633
|
+
function removePendingSource(e, t) {
|
|
634
|
+
if (e.me) {
|
|
635
|
+
if (e.me !== t) return false;
|
|
636
|
+
e.me = undefined;
|
|
637
|
+
return true;
|
|
638
|
+
}
|
|
639
|
+
if (!e.be?.delete(t)) return false;
|
|
640
|
+
if (e.be.size === 1) {
|
|
641
|
+
e.me = e.be.values().next().value;
|
|
642
|
+
e.be = undefined;
|
|
643
|
+
} else if (e.be.size === 0) {
|
|
644
|
+
e.be = undefined;
|
|
645
|
+
}
|
|
646
|
+
return true;
|
|
647
|
+
}
|
|
648
|
+
function clearPendingSources(e) {
|
|
649
|
+
e.me = undefined;
|
|
650
|
+
e.be?.clear();
|
|
651
|
+
e.be = undefined;
|
|
652
|
+
}
|
|
653
|
+
function setPendingError(e, t, n) {
|
|
654
|
+
if (!t) {
|
|
655
|
+
e.ae = null;
|
|
656
|
+
return;
|
|
657
|
+
}
|
|
658
|
+
if (n instanceof NotReadyError && n.source === t) {
|
|
659
|
+
e.ae = n;
|
|
660
|
+
return;
|
|
661
|
+
}
|
|
662
|
+
const r = e.ae;
|
|
663
|
+
if (!(r instanceof NotReadyError) || r.source !== t) {
|
|
664
|
+
e.ae = new NotReadyError(t);
|
|
665
|
+
}
|
|
666
|
+
}
|
|
667
|
+
function forEachDependent(e, t) {
|
|
668
|
+
for (let n = e.O; n !== null; n = n.P) t(n.k);
|
|
669
|
+
for (let n = e.C; n !== null; n = n.W) {
|
|
670
|
+
for (let e = n.O; e !== null; e = e.P) t(e.k);
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
function settlePendingSource(e) {
|
|
674
|
+
let t = false;
|
|
675
|
+
const n = new Set();
|
|
676
|
+
const settle = r => {
|
|
677
|
+
if (n.has(r) || !removePendingSource(r, e)) return;
|
|
678
|
+
n.add(r);
|
|
679
|
+
r.de = E;
|
|
680
|
+
const i = r.me ?? r.be?.values().next().value;
|
|
681
|
+
if (i) {
|
|
682
|
+
setPendingError(r, i);
|
|
683
|
+
updatePendingSignal(r);
|
|
684
|
+
} else {
|
|
685
|
+
r.ge &= ~a;
|
|
686
|
+
setPendingError(r);
|
|
687
|
+
updatePendingSignal(r);
|
|
688
|
+
if (r._e) {
|
|
689
|
+
if (r.D === y) {
|
|
690
|
+
const e = r;
|
|
691
|
+
if (!e.V) {
|
|
692
|
+
e.V = true;
|
|
693
|
+
e.B.enqueue(g, e.F);
|
|
694
|
+
}
|
|
695
|
+
} else {
|
|
696
|
+
const e = r.m & o ? v : P;
|
|
697
|
+
if (e.j > r.o) e.j = r.o;
|
|
698
|
+
insertIntoHeap(r, e);
|
|
699
|
+
}
|
|
700
|
+
t = true;
|
|
701
|
+
}
|
|
702
|
+
r._e = false;
|
|
703
|
+
}
|
|
704
|
+
forEachDependent(r, settle);
|
|
705
|
+
};
|
|
706
|
+
forEachDependent(e, settle);
|
|
707
|
+
if (t) schedule();
|
|
556
708
|
}
|
|
557
709
|
function handleAsync(e, t, r) {
|
|
558
710
|
const i = typeof t === "object" && t !== null;
|
|
559
711
|
const s = i && untrack(() => t[Symbol.asyncIterator]);
|
|
560
712
|
const o = !s && i && untrack(() => typeof t.then === "function");
|
|
561
713
|
if (!o && !s) {
|
|
562
|
-
e.
|
|
714
|
+
e.Oe = null;
|
|
563
715
|
return t;
|
|
564
716
|
}
|
|
565
|
-
e.
|
|
717
|
+
e.Oe = t;
|
|
566
718
|
let u;
|
|
567
719
|
const handleError = n => {
|
|
568
|
-
if (e.
|
|
569
|
-
A.initTransition(e
|
|
720
|
+
if (e.Oe !== t) return;
|
|
721
|
+
A.initTransition(resolveTransition(e));
|
|
570
722
|
notifyStatus(e, n instanceof NotReadyError ? a : d, n);
|
|
571
|
-
e
|
|
723
|
+
e.de = E;
|
|
572
724
|
};
|
|
573
725
|
const asyncWrite = (i, s) => {
|
|
574
|
-
if (e.
|
|
726
|
+
if (e.Oe !== t) return;
|
|
575
727
|
if (e.m & (n | f)) return;
|
|
576
|
-
A.initTransition(e
|
|
728
|
+
A.initTransition(resolveTransition(e));
|
|
577
729
|
clearStatus(e);
|
|
578
730
|
const o = resolveLane(e);
|
|
579
|
-
if (o) o.
|
|
731
|
+
if (o) o.H.delete(e);
|
|
580
732
|
if (r) r(i);
|
|
581
|
-
else if (e.
|
|
582
|
-
if (e.
|
|
733
|
+
else if (e.ee !== undefined) {
|
|
734
|
+
if (e.ee !== undefined && e.ee !== S) e.Z = i;
|
|
583
735
|
else {
|
|
584
|
-
e
|
|
736
|
+
e.$ = i;
|
|
585
737
|
insertSubs(e);
|
|
586
738
|
}
|
|
587
|
-
e
|
|
739
|
+
e.de = E;
|
|
588
740
|
} else if (o) {
|
|
589
|
-
const t = e
|
|
590
|
-
const n = e.
|
|
741
|
+
const t = e.$;
|
|
742
|
+
const n = e.xe;
|
|
591
743
|
if (!n || !n(i, t)) {
|
|
592
|
-
e
|
|
593
|
-
e
|
|
594
|
-
if (e.
|
|
595
|
-
setSignal(e.
|
|
744
|
+
e.$ = i;
|
|
745
|
+
e.de = E;
|
|
746
|
+
if (e.Pe) {
|
|
747
|
+
setSignal(e.Pe, i);
|
|
596
748
|
}
|
|
597
749
|
insertSubs(e, true);
|
|
598
750
|
}
|
|
599
751
|
} else {
|
|
600
752
|
setSignal(e, () => i);
|
|
601
753
|
}
|
|
754
|
+
settlePendingSource(e);
|
|
602
755
|
schedule();
|
|
603
756
|
flush();
|
|
604
757
|
s?.();
|
|
@@ -619,8 +772,8 @@ function handleAsync(e, t, r) {
|
|
|
619
772
|
);
|
|
620
773
|
r = false;
|
|
621
774
|
if (!n) {
|
|
622
|
-
A.initTransition(e
|
|
623
|
-
throw new NotReadyError(
|
|
775
|
+
A.initTransition(resolveTransition(e));
|
|
776
|
+
throw new NotReadyError(B);
|
|
624
777
|
}
|
|
625
778
|
}
|
|
626
779
|
if (s) {
|
|
@@ -655,126 +808,92 @@ function handleAsync(e, t, r) {
|
|
|
655
808
|
};
|
|
656
809
|
const i = iterate();
|
|
657
810
|
if (!r && !i) {
|
|
658
|
-
A.initTransition(e
|
|
659
|
-
throw new NotReadyError(
|
|
811
|
+
A.initTransition(resolveTransition(e));
|
|
812
|
+
throw new NotReadyError(B);
|
|
660
813
|
}
|
|
661
814
|
}
|
|
662
815
|
return u;
|
|
663
816
|
}
|
|
664
|
-
function clearStatus(e) {
|
|
665
|
-
e
|
|
666
|
-
e
|
|
817
|
+
function clearStatus(e, t = false) {
|
|
818
|
+
clearPendingSources(e);
|
|
819
|
+
removeTransitionBlocker(e);
|
|
820
|
+
e._e = false;
|
|
821
|
+
e.ge = t ? 0 : e.ge & p;
|
|
822
|
+
setPendingError(e);
|
|
667
823
|
updatePendingSignal(e);
|
|
668
|
-
e.
|
|
824
|
+
e.ve?.();
|
|
669
825
|
}
|
|
670
826
|
function notifyStatus(e, t, n, r, i) {
|
|
671
827
|
if (t === d && !(n instanceof StatusError) && !(n instanceof NotReadyError))
|
|
672
828
|
n = new StatusError(e, n);
|
|
673
|
-
const s = n instanceof NotReadyError
|
|
674
|
-
const o =
|
|
675
|
-
const u =
|
|
829
|
+
const s = t === a && n instanceof NotReadyError ? n.source : undefined;
|
|
830
|
+
const o = s === e;
|
|
831
|
+
const u = t === a && e.ee !== undefined && !o;
|
|
832
|
+
const f = u && hasActiveOverride(e);
|
|
676
833
|
if (!r) {
|
|
677
|
-
|
|
678
|
-
|
|
834
|
+
if (t === a && s) {
|
|
835
|
+
addPendingSource(e, s);
|
|
836
|
+
e.ge = a | (e.ge & p);
|
|
837
|
+
setPendingError(e, e.me ?? e.be?.values().next().value, n);
|
|
838
|
+
if (s === e) addTransitionBlocker(e);
|
|
839
|
+
} else {
|
|
840
|
+
clearPendingSources(e);
|
|
841
|
+
removeTransitionBlocker(e);
|
|
842
|
+
e.ge = t | (t !== d ? e.ge & p : 0);
|
|
843
|
+
e.ae = n;
|
|
844
|
+
}
|
|
679
845
|
updatePendingSignal(e);
|
|
680
846
|
}
|
|
681
847
|
if (i && !r) {
|
|
682
848
|
assignOrMergeLane(e, i);
|
|
683
849
|
}
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
}
|
|
690
|
-
const f = r || u;
|
|
691
|
-
const l = r || o ? undefined : i;
|
|
692
|
-
if (e._e) {
|
|
693
|
-
if (f) {
|
|
694
|
-
e._e(t, n);
|
|
850
|
+
const c = r || f;
|
|
851
|
+
const l = r || u ? undefined : i;
|
|
852
|
+
if (e.ve) {
|
|
853
|
+
if (c) {
|
|
854
|
+
e.ve(t, n);
|
|
695
855
|
} else {
|
|
696
|
-
e.
|
|
856
|
+
e.ve();
|
|
697
857
|
}
|
|
698
858
|
return;
|
|
699
859
|
}
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
if (
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
for (let e = r.O; e !== null; e = e.P) {
|
|
709
|
-
e.k.$ = k;
|
|
710
|
-
if (e.k.Y !== n) {
|
|
711
|
-
!e.k.ne && A.D.push(e.k);
|
|
712
|
-
notifyStatus(e.k, t, n, f, l);
|
|
713
|
-
}
|
|
714
|
-
}
|
|
715
|
-
}
|
|
716
|
-
}
|
|
717
|
-
function unlinkSubs(e) {
|
|
718
|
-
const t = e.L;
|
|
719
|
-
const n = e.N;
|
|
720
|
-
const r = e.P;
|
|
721
|
-
const i = e.Oe;
|
|
722
|
-
if (r !== null) r.Oe = i;
|
|
723
|
-
else t.xe = i;
|
|
724
|
-
if (i !== null) i.P = r;
|
|
725
|
-
else {
|
|
726
|
-
t.O = r;
|
|
727
|
-
if (r === null) {
|
|
728
|
-
t.Pe?.();
|
|
729
|
-
t.H && !t.ve && !(t.m & o) && unobserved(t);
|
|
730
|
-
}
|
|
731
|
-
}
|
|
732
|
-
return n;
|
|
733
|
-
}
|
|
734
|
-
function unobserved(e) {
|
|
735
|
-
deleteFromHeap(e, e.m & o ? v : P);
|
|
736
|
-
let t = e.W;
|
|
737
|
-
while (t !== null) {
|
|
738
|
-
t = unlinkSubs(t);
|
|
739
|
-
}
|
|
740
|
-
e.W = null;
|
|
741
|
-
disposeChildren(e, true);
|
|
742
|
-
}
|
|
743
|
-
function link(e, t) {
|
|
744
|
-
const n = t.ke;
|
|
745
|
-
if (n !== null && n.L === e) return;
|
|
746
|
-
let i = null;
|
|
747
|
-
const s = t.m & r;
|
|
748
|
-
if (s) {
|
|
749
|
-
i = n !== null ? n.N : t.W;
|
|
750
|
-
if (i !== null && i.L === e) {
|
|
751
|
-
t.ke = i;
|
|
752
|
-
return;
|
|
860
|
+
forEachDependent(e, e => {
|
|
861
|
+
e.de = E;
|
|
862
|
+
if (
|
|
863
|
+
(t === a && s && e.me !== s && !e.be?.has(s)) ||
|
|
864
|
+
(t !== a && (e.ae !== n || e.me || e.be))
|
|
865
|
+
) {
|
|
866
|
+
!e.K && A.se.push(e);
|
|
867
|
+
notifyStatus(e, t, n, c, l);
|
|
753
868
|
}
|
|
754
|
-
}
|
|
755
|
-
const o = e.xe;
|
|
756
|
-
if (o !== null && o.k === t && (!s || isValidLink(o, t))) return;
|
|
757
|
-
const u = (t.ke = e.xe = { L: e, k: t, N: i, Oe: o, P: null });
|
|
758
|
-
if (n !== null) n.N = u;
|
|
759
|
-
else t.W = u;
|
|
760
|
-
if (o !== null) o.P = u;
|
|
761
|
-
else e.O = u;
|
|
869
|
+
});
|
|
762
870
|
}
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
871
|
+
let I = null;
|
|
872
|
+
function enableExternalSource(e) {
|
|
873
|
+
const { factory: t, untrack: n = e => e() } = e;
|
|
874
|
+
if (I) {
|
|
875
|
+
const { factory: e, untrack: r } = I;
|
|
876
|
+
I = {
|
|
877
|
+
factory: (n, r) => {
|
|
878
|
+
const i = e(n, r);
|
|
879
|
+
const s = t(e => i.track(e), r);
|
|
880
|
+
return {
|
|
881
|
+
track: e => s.track(e),
|
|
882
|
+
dispose() {
|
|
883
|
+
s.dispose();
|
|
884
|
+
i.dispose();
|
|
885
|
+
}
|
|
886
|
+
};
|
|
887
|
+
},
|
|
888
|
+
untrack: e => r(() => n(e))
|
|
889
|
+
};
|
|
890
|
+
} else {
|
|
891
|
+
I = { factory: t, untrack: n };
|
|
772
892
|
}
|
|
773
|
-
return false;
|
|
774
893
|
}
|
|
775
|
-
const
|
|
894
|
+
const T = {};
|
|
776
895
|
function markDisposal(e) {
|
|
777
|
-
let t = e.
|
|
896
|
+
let t = e.Ee;
|
|
778
897
|
while (t) {
|
|
779
898
|
t.m |= o;
|
|
780
899
|
if (t.m & i) {
|
|
@@ -782,47 +901,47 @@ function markDisposal(e) {
|
|
|
782
901
|
insertIntoHeap(t, v);
|
|
783
902
|
}
|
|
784
903
|
markDisposal(t);
|
|
785
|
-
t = t.
|
|
904
|
+
t = t.ke;
|
|
786
905
|
}
|
|
787
906
|
}
|
|
788
907
|
function dispose(e) {
|
|
789
|
-
let t = e.
|
|
908
|
+
let t = e.A || null;
|
|
790
909
|
do {
|
|
791
910
|
t = unlinkSubs(t);
|
|
792
911
|
} while (t !== null);
|
|
793
|
-
e.
|
|
794
|
-
e.
|
|
912
|
+
e.A = null;
|
|
913
|
+
e.Ce = null;
|
|
795
914
|
disposeChildren(e, true);
|
|
796
915
|
}
|
|
797
916
|
function disposeChildren(e, t = false, n) {
|
|
798
917
|
if (e.m & u) return;
|
|
799
918
|
if (t) e.m = u;
|
|
800
|
-
let r = n ? e.
|
|
919
|
+
let r = n ? e.We : e.Ee;
|
|
801
920
|
while (r) {
|
|
802
|
-
const e = r.
|
|
803
|
-
if (r.
|
|
921
|
+
const e = r.ke;
|
|
922
|
+
if (r.A) {
|
|
804
923
|
const e = r;
|
|
805
924
|
deleteFromHeap(e, e.m & o ? v : P);
|
|
806
|
-
let t = e.
|
|
925
|
+
let t = e.A;
|
|
807
926
|
do {
|
|
808
927
|
t = unlinkSubs(t);
|
|
809
928
|
} while (t !== null);
|
|
810
|
-
e.
|
|
811
|
-
e.
|
|
929
|
+
e.A = null;
|
|
930
|
+
e.Ce = null;
|
|
812
931
|
}
|
|
813
932
|
disposeChildren(r, true);
|
|
814
933
|
r = e;
|
|
815
934
|
}
|
|
816
935
|
if (n) {
|
|
817
|
-
e.
|
|
936
|
+
e.We = null;
|
|
818
937
|
} else {
|
|
819
|
-
e.
|
|
820
|
-
e.
|
|
938
|
+
e.Ee = null;
|
|
939
|
+
e.je = 0;
|
|
821
940
|
}
|
|
822
941
|
runDisposal(e, n);
|
|
823
942
|
}
|
|
824
943
|
function runDisposal(e, t) {
|
|
825
|
-
let n = t ? e.
|
|
944
|
+
let n = t ? e.Ae : e.Ne;
|
|
826
945
|
if (!n) return;
|
|
827
946
|
if (Array.isArray(n)) {
|
|
828
947
|
for (let e = 0; e < n.length; e++) {
|
|
@@ -832,12 +951,12 @@ function runDisposal(e, t) {
|
|
|
832
951
|
} else {
|
|
833
952
|
n.call(n);
|
|
834
953
|
}
|
|
835
|
-
t ? (e.
|
|
954
|
+
t ? (e.Ae = null) : (e.Ne = null);
|
|
836
955
|
}
|
|
837
956
|
function childId(e, t) {
|
|
838
957
|
let n = e;
|
|
839
958
|
while (n.Le && n.i) n = n.i;
|
|
840
|
-
if (n.id != null) return formatId(n.id, t ? n.
|
|
959
|
+
if (n.id != null) return formatId(n.id, t ? n.je++ : n.je);
|
|
841
960
|
throw new Error("Cannot get child id from owner without an id");
|
|
842
961
|
}
|
|
843
962
|
function getNextChildId(e) {
|
|
@@ -852,50 +971,50 @@ function formatId(e, t) {
|
|
|
852
971
|
return e + (r ? String.fromCharCode(64 + r) : "") + n;
|
|
853
972
|
}
|
|
854
973
|
function getObserver() {
|
|
855
|
-
if (
|
|
856
|
-
return
|
|
974
|
+
if (q || V) return T;
|
|
975
|
+
return R ? B : null;
|
|
857
976
|
}
|
|
858
977
|
function getOwner() {
|
|
859
|
-
return
|
|
978
|
+
return B;
|
|
860
979
|
}
|
|
861
|
-
function
|
|
862
|
-
if (!
|
|
863
|
-
if (!
|
|
864
|
-
else if (Array.isArray(
|
|
865
|
-
else
|
|
980
|
+
function cleanup(e) {
|
|
981
|
+
if (!B) return e;
|
|
982
|
+
if (!B.Ne) B.Ne = e;
|
|
983
|
+
else if (Array.isArray(B.Ne)) B.Ne.push(e);
|
|
984
|
+
else B.Ne = [B.Ne, e];
|
|
866
985
|
return e;
|
|
867
986
|
}
|
|
868
987
|
function isDisposed(e) {
|
|
869
988
|
return !!(e.m & (u | o));
|
|
870
989
|
}
|
|
871
990
|
function createOwner(e) {
|
|
872
|
-
const t =
|
|
991
|
+
const t = B;
|
|
873
992
|
const n = e?.transparent ?? false;
|
|
874
993
|
const r = {
|
|
875
994
|
id: e?.id ?? (n ? t?.id : t?.id != null ? getNextChildId(t) : undefined),
|
|
876
995
|
Le: n || undefined,
|
|
877
996
|
t: true,
|
|
878
997
|
u: t?.t ? t.u : t,
|
|
879
|
-
Ce: null,
|
|
880
998
|
Ee: null,
|
|
999
|
+
ke: null,
|
|
881
1000
|
Ne: null,
|
|
882
|
-
|
|
1001
|
+
B: t?.B ?? A,
|
|
883
1002
|
Ie: t?.Ie || _,
|
|
884
|
-
|
|
1003
|
+
je: 0,
|
|
1004
|
+
Ae: null,
|
|
885
1005
|
We: null,
|
|
886
|
-
je: null,
|
|
887
1006
|
i: t,
|
|
888
1007
|
dispose(e = true) {
|
|
889
1008
|
disposeChildren(r, e);
|
|
890
1009
|
}
|
|
891
1010
|
};
|
|
892
1011
|
if (t) {
|
|
893
|
-
const e = t.
|
|
1012
|
+
const e = t.Ee;
|
|
894
1013
|
if (e === null) {
|
|
895
|
-
t.
|
|
1014
|
+
t.Ee = r;
|
|
896
1015
|
} else {
|
|
897
|
-
r.
|
|
898
|
-
t.
|
|
1016
|
+
r.ke = e;
|
|
1017
|
+
t.Ee = r;
|
|
899
1018
|
}
|
|
900
1019
|
}
|
|
901
1020
|
return r;
|
|
@@ -904,125 +1023,76 @@ function createRoot(e, t) {
|
|
|
904
1023
|
const n = createOwner(t);
|
|
905
1024
|
return runWithOwner(n, () => e(n.dispose));
|
|
906
1025
|
}
|
|
907
|
-
function
|
|
908
|
-
|
|
909
|
-
const
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
o.Qe = n;
|
|
921
|
-
o.Te = undefined;
|
|
922
|
-
o.oe = i?.render ? h : y;
|
|
923
|
-
o._e = (e, t) => {
|
|
924
|
-
const n = e !== undefined ? e : o.de;
|
|
925
|
-
const r = t !== undefined ? t : o.Y;
|
|
926
|
-
if (n & d) {
|
|
927
|
-
let e = r;
|
|
928
|
-
o.fe.notify(o, a, 0);
|
|
929
|
-
if (o.oe === y) {
|
|
930
|
-
try {
|
|
931
|
-
return o.Qe
|
|
932
|
-
? o.Qe(e, () => {
|
|
933
|
-
o.Te?.();
|
|
934
|
-
o.Te = undefined;
|
|
935
|
-
})
|
|
936
|
-
: console.error(e);
|
|
937
|
-
} catch (t) {
|
|
938
|
-
e = t;
|
|
939
|
-
}
|
|
940
|
-
}
|
|
941
|
-
if (!o.fe.notify(o, d, d)) throw e;
|
|
942
|
-
} else if (o.oe === h) {
|
|
943
|
-
o.fe.notify(o, a | d, n, r);
|
|
1026
|
+
function unlinkSubs(e) {
|
|
1027
|
+
const t = e.L;
|
|
1028
|
+
const n = e.N;
|
|
1029
|
+
const r = e.P;
|
|
1030
|
+
const i = e.Te;
|
|
1031
|
+
if (r !== null) r.Te = i;
|
|
1032
|
+
else t.Re = i;
|
|
1033
|
+
if (i !== null) i.P = r;
|
|
1034
|
+
else {
|
|
1035
|
+
t.O = r;
|
|
1036
|
+
if (r === null) {
|
|
1037
|
+
t.He?.();
|
|
1038
|
+
t.T && !t.Qe && !(t.m & o) && unobserved(t);
|
|
944
1039
|
}
|
|
945
|
-
}
|
|
946
|
-
|
|
947
|
-
!i?.defer && (o.oe === y ? o.fe.enqueue(o.oe, runEffect.bind(o)) : runEffect.call(o));
|
|
948
|
-
s = true;
|
|
949
|
-
onCleanup(() => o.Te?.());
|
|
1040
|
+
}
|
|
1041
|
+
return n;
|
|
950
1042
|
}
|
|
951
|
-
function
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
this.Te = this.Re(this.ae, this.He);
|
|
957
|
-
} catch (e) {
|
|
958
|
-
this.Y = new StatusError(this, e);
|
|
959
|
-
this.de |= d;
|
|
960
|
-
if (!this.fe.notify(this, d, d)) throw e;
|
|
961
|
-
} finally {
|
|
962
|
-
this.He = this.ae;
|
|
963
|
-
this.ue = false;
|
|
1043
|
+
function unobserved(e) {
|
|
1044
|
+
deleteFromHeap(e, e.m & o ? v : P);
|
|
1045
|
+
let t = e.A;
|
|
1046
|
+
while (t !== null) {
|
|
1047
|
+
t = unlinkSubs(t);
|
|
964
1048
|
}
|
|
1049
|
+
e.A = null;
|
|
1050
|
+
disposeChildren(e, true);
|
|
965
1051
|
}
|
|
966
|
-
function
|
|
967
|
-
const
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
()
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
);
|
|
984
|
-
|
|
985
|
-
n.ue = true;
|
|
986
|
-
n.oe = g;
|
|
987
|
-
n.le = run;
|
|
988
|
-
n.fe.enqueue(y, run);
|
|
989
|
-
onCleanup(() => n.Te?.());
|
|
1052
|
+
function link(e, t) {
|
|
1053
|
+
const n = t.Ce;
|
|
1054
|
+
if (n !== null && n.L === e) return;
|
|
1055
|
+
let i = null;
|
|
1056
|
+
const s = t.m & r;
|
|
1057
|
+
if (s) {
|
|
1058
|
+
i = n !== null ? n.N : t.A;
|
|
1059
|
+
if (i !== null && i.L === e) {
|
|
1060
|
+
t.Ce = i;
|
|
1061
|
+
return;
|
|
1062
|
+
}
|
|
1063
|
+
}
|
|
1064
|
+
const o = e.Re;
|
|
1065
|
+
if (o !== null && o.k === t && (!s || isValidLink(o, t))) return;
|
|
1066
|
+
const u = (t.Ce = e.Re = { L: e, k: t, N: i, Te: o, P: null });
|
|
1067
|
+
if (n !== null) n.N = u;
|
|
1068
|
+
else t.A = u;
|
|
1069
|
+
if (o !== null) o.P = u;
|
|
1070
|
+
else e.O = u;
|
|
990
1071
|
}
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
return {
|
|
1001
|
-
track: e => s.track(e),
|
|
1002
|
-
dispose() {
|
|
1003
|
-
s.dispose();
|
|
1004
|
-
i.dispose();
|
|
1005
|
-
}
|
|
1006
|
-
};
|
|
1007
|
-
},
|
|
1008
|
-
untrack: e => r(() => n(e))
|
|
1009
|
-
};
|
|
1010
|
-
} else {
|
|
1011
|
-
I = { factory: t, untrack: n };
|
|
1072
|
+
function isValidLink(e, t) {
|
|
1073
|
+
const n = t.Ce;
|
|
1074
|
+
if (n !== null) {
|
|
1075
|
+
let r = t.A;
|
|
1076
|
+
do {
|
|
1077
|
+
if (r === e) return true;
|
|
1078
|
+
if (r === n) break;
|
|
1079
|
+
r = r.N;
|
|
1080
|
+
} while (r !== null);
|
|
1012
1081
|
}
|
|
1082
|
+
return false;
|
|
1013
1083
|
}
|
|
1014
|
-
GlobalQueue.
|
|
1015
|
-
GlobalQueue.
|
|
1016
|
-
let H = false;
|
|
1084
|
+
GlobalQueue.oe = recompute;
|
|
1085
|
+
GlobalQueue.ue = disposeChildren;
|
|
1017
1086
|
let R = false;
|
|
1087
|
+
let H = false;
|
|
1018
1088
|
let Q = false;
|
|
1019
|
-
let T = false;
|
|
1020
1089
|
let q = false;
|
|
1021
|
-
let F = false;
|
|
1022
|
-
let M = null;
|
|
1023
|
-
let V = null;
|
|
1024
1090
|
let D = false;
|
|
1091
|
+
let V = false;
|
|
1025
1092
|
let B = null;
|
|
1093
|
+
let F = null;
|
|
1094
|
+
let M = false;
|
|
1095
|
+
let G = null;
|
|
1026
1096
|
function ownerInSnapshotScope(e) {
|
|
1027
1097
|
while (e) {
|
|
1028
1098
|
if (e.qe) return true;
|
|
@@ -1031,8 +1101,8 @@ function ownerInSnapshotScope(e) {
|
|
|
1031
1101
|
return false;
|
|
1032
1102
|
}
|
|
1033
1103
|
function setSnapshotCapture(e) {
|
|
1034
|
-
|
|
1035
|
-
if (e && !
|
|
1104
|
+
M = e;
|
|
1105
|
+
if (e && !G) G = new Set();
|
|
1036
1106
|
}
|
|
1037
1107
|
function markSnapshotScope(e) {
|
|
1038
1108
|
e.qe = true;
|
|
@@ -1043,138 +1113,139 @@ function releaseSnapshotScope(e) {
|
|
|
1043
1113
|
schedule();
|
|
1044
1114
|
}
|
|
1045
1115
|
function releaseSubtree(e) {
|
|
1046
|
-
let t = e.
|
|
1116
|
+
let t = e.Ee;
|
|
1047
1117
|
while (t) {
|
|
1048
1118
|
if (t.qe) {
|
|
1049
|
-
t = t.
|
|
1119
|
+
t = t.ke;
|
|
1050
1120
|
continue;
|
|
1051
1121
|
}
|
|
1052
|
-
if (t.
|
|
1122
|
+
if (t.T) {
|
|
1053
1123
|
const e = t;
|
|
1054
|
-
e.
|
|
1055
|
-
if (e.m &
|
|
1056
|
-
e.m &= ~
|
|
1124
|
+
e.he = false;
|
|
1125
|
+
if (e.m & c) {
|
|
1126
|
+
e.m &= ~c;
|
|
1057
1127
|
e.m |= n;
|
|
1058
|
-
if (P.
|
|
1128
|
+
if (P.j > e.o) P.j = e.o;
|
|
1059
1129
|
insertIntoHeap(e, P);
|
|
1060
1130
|
}
|
|
1061
1131
|
}
|
|
1062
1132
|
releaseSubtree(t);
|
|
1063
|
-
t = t.
|
|
1133
|
+
t = t.ke;
|
|
1064
1134
|
}
|
|
1065
1135
|
}
|
|
1066
1136
|
function clearSnapshots() {
|
|
1067
|
-
if (
|
|
1068
|
-
for (const e of
|
|
1069
|
-
delete e.
|
|
1137
|
+
if (G) {
|
|
1138
|
+
for (const e of G) {
|
|
1139
|
+
delete e.pe;
|
|
1070
1140
|
delete e[m];
|
|
1071
1141
|
}
|
|
1072
|
-
|
|
1142
|
+
G = null;
|
|
1073
1143
|
}
|
|
1074
|
-
|
|
1144
|
+
M = false;
|
|
1075
1145
|
}
|
|
1076
1146
|
function recompute(t, n = false) {
|
|
1077
|
-
const i = t.
|
|
1147
|
+
const i = t.D;
|
|
1078
1148
|
if (!n) {
|
|
1079
|
-
if (t.
|
|
1149
|
+
if (t.K && (!i || k) && k !== t.K) A.initTransition(t.K);
|
|
1080
1150
|
deleteFromHeap(t, t.m & o ? v : P);
|
|
1081
|
-
if (t.
|
|
1151
|
+
if (t.K || i === y) disposeChildren(t);
|
|
1082
1152
|
else {
|
|
1083
1153
|
markDisposal(t);
|
|
1084
|
-
t.
|
|
1085
|
-
t.
|
|
1154
|
+
t.Ae = t.Ne;
|
|
1155
|
+
t.We = t.Ee;
|
|
1086
1156
|
t.Ne = null;
|
|
1087
|
-
t.
|
|
1088
|
-
t.
|
|
1157
|
+
t.Ee = null;
|
|
1158
|
+
t.je = 0;
|
|
1089
1159
|
}
|
|
1090
1160
|
}
|
|
1091
1161
|
const s = !!(t.m & f);
|
|
1092
|
-
const u = t.
|
|
1093
|
-
const
|
|
1094
|
-
const p =
|
|
1095
|
-
|
|
1096
|
-
t.
|
|
1162
|
+
const u = t.ee !== undefined && t.ee !== S;
|
|
1163
|
+
const l = !!(t.ge & a);
|
|
1164
|
+
const p = B;
|
|
1165
|
+
B = t;
|
|
1166
|
+
t.Ce = null;
|
|
1097
1167
|
t.m = r;
|
|
1098
|
-
t
|
|
1099
|
-
let h = t.
|
|
1100
|
-
let
|
|
1101
|
-
let w =
|
|
1102
|
-
let m =
|
|
1103
|
-
|
|
1168
|
+
t.de = E;
|
|
1169
|
+
let h = t.Z === S ? t.$ : t.Z;
|
|
1170
|
+
let g = t.o;
|
|
1171
|
+
let w = R;
|
|
1172
|
+
let m = F;
|
|
1173
|
+
R = true;
|
|
1104
1174
|
if (s) {
|
|
1105
1175
|
const e = resolveLane(t);
|
|
1106
|
-
if (e)
|
|
1176
|
+
if (e) F = e;
|
|
1107
1177
|
}
|
|
1108
1178
|
try {
|
|
1109
|
-
h = handleAsync(t, t.
|
|
1110
|
-
clearStatus(t);
|
|
1179
|
+
h = handleAsync(t, t.T(h));
|
|
1180
|
+
clearStatus(t, n);
|
|
1111
1181
|
const e = resolveLane(t);
|
|
1112
1182
|
if (e) {
|
|
1113
|
-
e.
|
|
1114
|
-
updatePendingSignal(e.
|
|
1183
|
+
e.H.delete(t);
|
|
1184
|
+
updatePendingSignal(e.te);
|
|
1115
1185
|
}
|
|
1116
1186
|
} catch (e) {
|
|
1117
|
-
if (e instanceof NotReadyError &&
|
|
1118
|
-
const e = findLane(
|
|
1119
|
-
if (e.
|
|
1120
|
-
e.
|
|
1121
|
-
t.
|
|
1122
|
-
updatePendingSignal(e.
|
|
1187
|
+
if (e instanceof NotReadyError && F) {
|
|
1188
|
+
const e = findLane(F);
|
|
1189
|
+
if (e.te !== t) {
|
|
1190
|
+
e.H.add(t);
|
|
1191
|
+
t.Y = e;
|
|
1192
|
+
updatePendingSignal(e.te);
|
|
1123
1193
|
}
|
|
1124
1194
|
}
|
|
1195
|
+
if (e instanceof NotReadyError) t._e = true;
|
|
1125
1196
|
notifyStatus(
|
|
1126
1197
|
t,
|
|
1127
1198
|
e instanceof NotReadyError ? a : d,
|
|
1128
1199
|
e,
|
|
1129
1200
|
undefined,
|
|
1130
|
-
e instanceof NotReadyError ? t.
|
|
1201
|
+
e instanceof NotReadyError ? t.Y : undefined
|
|
1131
1202
|
);
|
|
1132
1203
|
} finally {
|
|
1133
|
-
|
|
1134
|
-
t.m = e | (n ? t.m &
|
|
1135
|
-
|
|
1204
|
+
R = w;
|
|
1205
|
+
t.m = e | (n ? t.m & c : 0);
|
|
1206
|
+
B = p;
|
|
1136
1207
|
}
|
|
1137
|
-
if (!t.
|
|
1138
|
-
const e = t.
|
|
1139
|
-
let r = e !== null ? e.N : t.
|
|
1208
|
+
if (!t.ae) {
|
|
1209
|
+
const e = t.Ce;
|
|
1210
|
+
let r = e !== null ? e.N : t.A;
|
|
1140
1211
|
if (r !== null) {
|
|
1141
1212
|
do {
|
|
1142
1213
|
r = unlinkSubs(r);
|
|
1143
1214
|
} while (r !== null);
|
|
1144
1215
|
if (e !== null) e.N = null;
|
|
1145
|
-
else t.
|
|
1146
|
-
}
|
|
1147
|
-
const f = u ? t.
|
|
1148
|
-
const
|
|
1149
|
-
if (
|
|
1150
|
-
const e = u ? t.
|
|
1151
|
-
if (n || (i &&
|
|
1152
|
-
t
|
|
1216
|
+
else t.A = null;
|
|
1217
|
+
}
|
|
1218
|
+
const f = u ? t.ee : t.Z === S ? t.$ : t.Z;
|
|
1219
|
+
const c = !t.xe || !t.xe(f, h);
|
|
1220
|
+
if (c) {
|
|
1221
|
+
const e = u ? t.ee : undefined;
|
|
1222
|
+
if (n || (i && k !== t.K) || s) {
|
|
1223
|
+
t.$ = h;
|
|
1153
1224
|
if (u && s) {
|
|
1154
|
-
t.
|
|
1155
|
-
t.
|
|
1225
|
+
t.ee = h;
|
|
1226
|
+
t.Z = h;
|
|
1156
1227
|
}
|
|
1157
|
-
} else t.
|
|
1158
|
-
if (u && !s &&
|
|
1159
|
-
if (!u || s || t.
|
|
1228
|
+
} else t.Z = h;
|
|
1229
|
+
if (u && !s && l && !t.we) t.ee = h;
|
|
1230
|
+
if (!u || s || t.ee !== e) insertSubs(t, s || u);
|
|
1160
1231
|
} else if (u) {
|
|
1161
|
-
t.
|
|
1162
|
-
} else if (t.o !=
|
|
1232
|
+
t.Z = h;
|
|
1233
|
+
} else if (t.o != g) {
|
|
1163
1234
|
for (let e = t.O; e !== null; e = e.P) {
|
|
1164
1235
|
insertIntoHeapHeight(e.k, e.k.m & o ? v : P);
|
|
1165
1236
|
}
|
|
1166
1237
|
}
|
|
1167
1238
|
}
|
|
1168
|
-
|
|
1169
|
-
(!n || t.
|
|
1170
|
-
t.
|
|
1239
|
+
F = m;
|
|
1240
|
+
(!n || t.ge & a) && !t.K && !(k && u) && A.se.push(t);
|
|
1241
|
+
t.K && i && k !== t.K && runInTransition(t.K, () => recompute(t));
|
|
1171
1242
|
}
|
|
1172
1243
|
function updateIfNecessary(r) {
|
|
1173
1244
|
if (r.m & t) {
|
|
1174
|
-
for (let e = r.
|
|
1245
|
+
for (let e = r.A; e; e = e.N) {
|
|
1175
1246
|
const t = e.L;
|
|
1176
1247
|
const i = t.I || t;
|
|
1177
|
-
if (i.
|
|
1248
|
+
if (i.T) {
|
|
1178
1249
|
updateIfNecessary(i);
|
|
1179
1250
|
}
|
|
1180
1251
|
if (r.m & n) {
|
|
@@ -1182,173 +1253,177 @@ function updateIfNecessary(r) {
|
|
|
1182
1253
|
}
|
|
1183
1254
|
}
|
|
1184
1255
|
}
|
|
1185
|
-
if (r.m & (n | f) || (r.
|
|
1256
|
+
if (r.m & (n | f) || (r.ae && r.de < E && !r.Oe)) {
|
|
1186
1257
|
recompute(r);
|
|
1187
1258
|
}
|
|
1188
|
-
r.m = e | (r.m &
|
|
1259
|
+
r.m = e | (r.m & c);
|
|
1189
1260
|
}
|
|
1190
1261
|
function computed(t, n, r) {
|
|
1191
1262
|
const i = r?.transparent ?? false;
|
|
1192
1263
|
const s = {
|
|
1193
|
-
id: r?.id ?? (i ?
|
|
1264
|
+
id: r?.id ?? (i ? B?.id : B?.id != null ? getNextChildId(B) : undefined),
|
|
1194
1265
|
Le: i || undefined,
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1266
|
+
xe: r?.equals != null ? r.equals : isEqual,
|
|
1267
|
+
le: !!r?.pureWrite,
|
|
1268
|
+
He: r?.unobserved,
|
|
1198
1269
|
Ne: null,
|
|
1199
|
-
|
|
1200
|
-
Ie:
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1270
|
+
B: B?.B ?? A,
|
|
1271
|
+
Ie: B?.Ie ?? _,
|
|
1272
|
+
je: 0,
|
|
1273
|
+
T: t,
|
|
1274
|
+
$: n,
|
|
1204
1275
|
o: 0,
|
|
1205
1276
|
C: null,
|
|
1206
1277
|
h: undefined,
|
|
1207
1278
|
p: null,
|
|
1208
|
-
|
|
1209
|
-
|
|
1279
|
+
A: null,
|
|
1280
|
+
Ce: null,
|
|
1210
1281
|
O: null,
|
|
1211
|
-
|
|
1212
|
-
i:
|
|
1282
|
+
Re: null,
|
|
1283
|
+
i: B,
|
|
1284
|
+
ke: null,
|
|
1213
1285
|
Ee: null,
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
de:
|
|
1217
|
-
|
|
1218
|
-
|
|
1286
|
+
m: r?.lazy ? l : e,
|
|
1287
|
+
ge: p,
|
|
1288
|
+
de: E,
|
|
1289
|
+
Z: S,
|
|
1290
|
+
Ae: null,
|
|
1219
1291
|
We: null,
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
ne: null
|
|
1292
|
+
Oe: null,
|
|
1293
|
+
K: null
|
|
1223
1294
|
};
|
|
1224
1295
|
s.p = s;
|
|
1225
|
-
const o =
|
|
1226
|
-
if (
|
|
1227
|
-
const e =
|
|
1296
|
+
const o = B?.t ? B.u : B;
|
|
1297
|
+
if (B) {
|
|
1298
|
+
const e = B.Ee;
|
|
1228
1299
|
if (e === null) {
|
|
1229
|
-
|
|
1300
|
+
B.Ee = s;
|
|
1230
1301
|
} else {
|
|
1231
|
-
s.
|
|
1232
|
-
|
|
1302
|
+
s.ke = e;
|
|
1303
|
+
B.Ee = s;
|
|
1233
1304
|
}
|
|
1234
1305
|
}
|
|
1235
1306
|
if (o) s.o = o.o + 1;
|
|
1236
|
-
if (
|
|
1307
|
+
if (M && ownerInSnapshotScope(B)) s.he = true;
|
|
1237
1308
|
if (I) {
|
|
1238
1309
|
const e = signal(undefined, { equals: false, pureWrite: true });
|
|
1239
|
-
const t = I.factory(s.
|
|
1310
|
+
const t = I.factory(s.T, () => {
|
|
1240
1311
|
setSignal(e, undefined);
|
|
1241
1312
|
});
|
|
1242
|
-
|
|
1243
|
-
s.
|
|
1313
|
+
cleanup(() => t.dispose());
|
|
1314
|
+
s.T = n => {
|
|
1244
1315
|
read(e);
|
|
1245
1316
|
return t.track(n);
|
|
1246
1317
|
};
|
|
1247
1318
|
}
|
|
1248
1319
|
!r?.lazy && recompute(s, true);
|
|
1249
|
-
if (
|
|
1250
|
-
if (!(s.
|
|
1251
|
-
s.
|
|
1252
|
-
|
|
1320
|
+
if (M && !r?.lazy) {
|
|
1321
|
+
if (!(s.ge & a)) {
|
|
1322
|
+
s.pe = s.$ === undefined ? w : s.$;
|
|
1323
|
+
G.add(s);
|
|
1253
1324
|
}
|
|
1254
1325
|
}
|
|
1255
1326
|
return s;
|
|
1256
1327
|
}
|
|
1257
1328
|
function signal(e, t, n = null) {
|
|
1258
1329
|
const r = {
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1330
|
+
xe: t?.equals != null ? t.equals : isEqual,
|
|
1331
|
+
le: !!t?.pureWrite,
|
|
1332
|
+
De: !!t?.De,
|
|
1333
|
+
He: t?.unobserved,
|
|
1334
|
+
$: e,
|
|
1264
1335
|
O: null,
|
|
1265
|
-
|
|
1266
|
-
|
|
1336
|
+
Re: null,
|
|
1337
|
+
de: E,
|
|
1267
1338
|
I: n,
|
|
1268
|
-
|
|
1269
|
-
|
|
1339
|
+
W: n?.C || null,
|
|
1340
|
+
Z: S
|
|
1270
1341
|
};
|
|
1271
1342
|
n && (n.C = r);
|
|
1272
|
-
if (
|
|
1273
|
-
r.
|
|
1274
|
-
|
|
1343
|
+
if (M && !r.De && !((n?.ge ?? 0) & a)) {
|
|
1344
|
+
r.pe = e === undefined ? w : e;
|
|
1345
|
+
G.add(r);
|
|
1275
1346
|
}
|
|
1276
1347
|
return r;
|
|
1277
1348
|
}
|
|
1278
1349
|
function optimisticSignal(e, t) {
|
|
1279
1350
|
const n = signal(e, t);
|
|
1280
|
-
n.
|
|
1351
|
+
n.ee = S;
|
|
1281
1352
|
return n;
|
|
1282
1353
|
}
|
|
1283
1354
|
function optimisticComputed(e, t, n) {
|
|
1284
1355
|
const r = computed(e, t, n);
|
|
1285
|
-
r.
|
|
1356
|
+
r.ee = S;
|
|
1286
1357
|
return r;
|
|
1287
1358
|
}
|
|
1288
1359
|
function isEqual(e, t) {
|
|
1289
1360
|
return e === t;
|
|
1290
1361
|
}
|
|
1291
1362
|
function untrack(e, t) {
|
|
1292
|
-
if (!I && !
|
|
1293
|
-
const n =
|
|
1294
|
-
|
|
1363
|
+
if (!I && !R && true) return e();
|
|
1364
|
+
const n = R;
|
|
1365
|
+
R = false;
|
|
1295
1366
|
try {
|
|
1296
1367
|
if (I) return I.untrack(e);
|
|
1297
1368
|
return e();
|
|
1298
1369
|
} finally {
|
|
1299
|
-
|
|
1370
|
+
R = n;
|
|
1300
1371
|
}
|
|
1301
1372
|
}
|
|
1302
1373
|
function read(e) {
|
|
1303
|
-
if (
|
|
1374
|
+
if (V) {
|
|
1304
1375
|
const t = getLatestValueComputed(e);
|
|
1305
|
-
const n =
|
|
1306
|
-
|
|
1307
|
-
const r = e.
|
|
1376
|
+
const n = V;
|
|
1377
|
+
V = false;
|
|
1378
|
+
const r = e.ee !== undefined && e.ee !== S ? e.ee : e.$;
|
|
1308
1379
|
let i;
|
|
1309
1380
|
try {
|
|
1310
1381
|
i = read(t);
|
|
1311
1382
|
} catch (e) {
|
|
1312
|
-
if (!
|
|
1383
|
+
if (!B && e instanceof NotReadyError) return r;
|
|
1313
1384
|
throw e;
|
|
1314
1385
|
} finally {
|
|
1315
|
-
|
|
1386
|
+
V = n;
|
|
1316
1387
|
}
|
|
1317
|
-
if (t.
|
|
1318
|
-
if (
|
|
1319
|
-
const e = findLane(t.
|
|
1320
|
-
const n = findLane(
|
|
1321
|
-
if (e !== n && e.
|
|
1388
|
+
if (t.ge & a) return r;
|
|
1389
|
+
if (H && F && t.Y) {
|
|
1390
|
+
const e = findLane(t.Y);
|
|
1391
|
+
const n = findLane(F);
|
|
1392
|
+
if (e !== n && e.H.size > 0) {
|
|
1322
1393
|
return r;
|
|
1323
1394
|
}
|
|
1324
1395
|
}
|
|
1325
1396
|
return i;
|
|
1326
1397
|
}
|
|
1327
|
-
if (
|
|
1328
|
-
const t = e.I
|
|
1329
|
-
const n =
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1398
|
+
if (q) {
|
|
1399
|
+
const t = e.I;
|
|
1400
|
+
const n = q;
|
|
1401
|
+
q = false;
|
|
1402
|
+
if (t && e.ee !== undefined) {
|
|
1403
|
+
if (e.ee !== S && (t.Oe || !!(t.ge & a))) {
|
|
1404
|
+
D = true;
|
|
1405
|
+
}
|
|
1406
|
+
} else {
|
|
1407
|
+
if (read(getPendingSignal(e))) D = true;
|
|
1408
|
+
if (t && read(getPendingSignal(t))) D = true;
|
|
1334
1409
|
}
|
|
1335
|
-
|
|
1336
|
-
return e
|
|
1410
|
+
q = n;
|
|
1411
|
+
return e.$;
|
|
1337
1412
|
}
|
|
1338
|
-
let t =
|
|
1413
|
+
let t = B;
|
|
1339
1414
|
if (t?.t) t = t.u;
|
|
1340
|
-
if (Q && e.
|
|
1341
|
-
if (e.m &
|
|
1342
|
-
e.m &= ~
|
|
1415
|
+
if (Q && e.T) recompute(e);
|
|
1416
|
+
if (e.m & l) {
|
|
1417
|
+
e.m &= ~l;
|
|
1343
1418
|
recompute(e, true);
|
|
1344
1419
|
}
|
|
1345
1420
|
const n = e.I || e;
|
|
1346
|
-
if (t &&
|
|
1347
|
-
if (e.
|
|
1421
|
+
if (t && R) {
|
|
1422
|
+
if (e.T && e.m & u) recompute(e);
|
|
1348
1423
|
link(e, t);
|
|
1349
|
-
if (n.
|
|
1424
|
+
if (n.T) {
|
|
1350
1425
|
const r = e.m & o;
|
|
1351
|
-
if (n.o >= (r ? v.
|
|
1426
|
+
if (n.o >= (r ? v.j : P.j)) {
|
|
1352
1427
|
markNode(t);
|
|
1353
1428
|
markHeap(r ? v : P);
|
|
1354
1429
|
updateIfNecessary(n);
|
|
@@ -1359,96 +1434,97 @@ function read(e) {
|
|
|
1359
1434
|
}
|
|
1360
1435
|
}
|
|
1361
1436
|
}
|
|
1362
|
-
if (n.
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
const r = n.re;
|
|
1368
|
-
const i = findLane(V);
|
|
1437
|
+
if (n.ge & a) {
|
|
1438
|
+
if (t && !(H && n.K && k !== n.K)) {
|
|
1439
|
+
if (F) {
|
|
1440
|
+
const r = n.Y;
|
|
1441
|
+
const i = findLane(F);
|
|
1369
1442
|
if (r && findLane(r) === i && !hasActiveOverride(n)) {
|
|
1370
|
-
if (!
|
|
1371
|
-
throw n.
|
|
1443
|
+
if (!R && e !== t) link(e, t);
|
|
1444
|
+
throw n.ae;
|
|
1372
1445
|
}
|
|
1373
1446
|
} else {
|
|
1374
|
-
if (!
|
|
1375
|
-
throw n.
|
|
1447
|
+
if (!R && e !== t) link(e, t);
|
|
1448
|
+
throw n.ae;
|
|
1376
1449
|
}
|
|
1377
|
-
} else if (!t && n.
|
|
1378
|
-
throw n.
|
|
1450
|
+
} else if (!t && n.ge & p) {
|
|
1451
|
+
throw n.ae;
|
|
1379
1452
|
}
|
|
1380
1453
|
}
|
|
1381
|
-
if (e.
|
|
1382
|
-
if (e
|
|
1454
|
+
if (e.T && e.ge & d) {
|
|
1455
|
+
if (e.de < E) {
|
|
1383
1456
|
recompute(e, true);
|
|
1384
1457
|
return read(e);
|
|
1385
|
-
} else throw e.
|
|
1458
|
+
} else throw e.ae;
|
|
1386
1459
|
}
|
|
1387
|
-
if (
|
|
1388
|
-
const n = e.
|
|
1460
|
+
if (M && t && t.he) {
|
|
1461
|
+
const n = e.pe;
|
|
1389
1462
|
if (n !== undefined) {
|
|
1390
1463
|
const r = n === w ? undefined : n;
|
|
1391
|
-
const i = e.
|
|
1392
|
-
if (i !== r) t.m |=
|
|
1464
|
+
const i = e.Z !== S ? e.Z : e.$;
|
|
1465
|
+
if (i !== r) t.m |= c;
|
|
1393
1466
|
return r;
|
|
1394
1467
|
}
|
|
1395
1468
|
}
|
|
1396
|
-
if (e.
|
|
1469
|
+
if (e.ee !== undefined && e.ee !== S) {
|
|
1470
|
+
if (t && H && shouldReadStashedOptimisticValue(e)) return e.$;
|
|
1471
|
+
return e.ee;
|
|
1472
|
+
}
|
|
1397
1473
|
return !t ||
|
|
1398
|
-
(
|
|
1399
|
-
e.
|
|
1400
|
-
(
|
|
1401
|
-
? e
|
|
1402
|
-
: e.
|
|
1474
|
+
(F !== null && (e.ee !== undefined || e.Y || (n === e && H) || !!(n.ge & a))) ||
|
|
1475
|
+
e.Z === S ||
|
|
1476
|
+
(H && e.K && k !== e.K)
|
|
1477
|
+
? e.$
|
|
1478
|
+
: e.Z;
|
|
1403
1479
|
}
|
|
1404
1480
|
function setSignal(e, t) {
|
|
1405
|
-
if (e.
|
|
1406
|
-
const n = e.
|
|
1407
|
-
const r = e.
|
|
1408
|
-
const i = n ? (r ? e.
|
|
1481
|
+
if (e.K && k !== e.K) A.initTransition(e.K);
|
|
1482
|
+
const n = e.ee !== undefined && !W;
|
|
1483
|
+
const r = e.ee !== undefined && e.ee !== S;
|
|
1484
|
+
const i = n ? (r ? e.ee : e.$) : e.Z === S ? e.$ : e.Z;
|
|
1409
1485
|
if (typeof t === "function") t = t(i);
|
|
1410
|
-
const s = !e.
|
|
1486
|
+
const s = !e.xe || !e.xe(i, t) || !!(e.ge & p);
|
|
1411
1487
|
if (!s) {
|
|
1412
|
-
if (n && r && e.
|
|
1488
|
+
if (n && r && e.T) {
|
|
1413
1489
|
insertSubs(e, true);
|
|
1414
1490
|
schedule();
|
|
1415
1491
|
}
|
|
1416
1492
|
return t;
|
|
1417
1493
|
}
|
|
1418
1494
|
if (n) {
|
|
1419
|
-
const n = e.
|
|
1420
|
-
if (!n
|
|
1495
|
+
const n = e.ee === S;
|
|
1496
|
+
if (!n) A.initTransition(resolveTransition(e));
|
|
1421
1497
|
if (n) {
|
|
1422
|
-
e.
|
|
1423
|
-
A.
|
|
1498
|
+
e.Z = e.$;
|
|
1499
|
+
A.U.push(e);
|
|
1424
1500
|
}
|
|
1425
|
-
e.
|
|
1501
|
+
e.we = true;
|
|
1426
1502
|
const r = getOrCreateLane(e);
|
|
1427
|
-
e.
|
|
1428
|
-
e.
|
|
1503
|
+
e.Y = r;
|
|
1504
|
+
e.ee = t;
|
|
1429
1505
|
} else {
|
|
1430
|
-
if (e.
|
|
1431
|
-
e.
|
|
1506
|
+
if (e.Z === S) A.se.push(e);
|
|
1507
|
+
e.Z = t;
|
|
1432
1508
|
}
|
|
1433
1509
|
updatePendingSignal(e);
|
|
1434
|
-
if (e.
|
|
1435
|
-
setSignal(e.
|
|
1510
|
+
if (e.Pe) {
|
|
1511
|
+
setSignal(e.Pe, t);
|
|
1436
1512
|
}
|
|
1437
|
-
e
|
|
1513
|
+
e.de = E;
|
|
1438
1514
|
insertSubs(e, n);
|
|
1439
1515
|
schedule();
|
|
1440
1516
|
return t;
|
|
1441
1517
|
}
|
|
1442
1518
|
function runWithOwner(e, t) {
|
|
1443
|
-
const n =
|
|
1444
|
-
const r =
|
|
1445
|
-
|
|
1446
|
-
|
|
1519
|
+
const n = B;
|
|
1520
|
+
const r = R;
|
|
1521
|
+
B = e;
|
|
1522
|
+
R = false;
|
|
1447
1523
|
try {
|
|
1448
1524
|
return t();
|
|
1449
1525
|
} finally {
|
|
1450
|
-
|
|
1451
|
-
|
|
1526
|
+
B = n;
|
|
1527
|
+
R = r;
|
|
1452
1528
|
}
|
|
1453
1529
|
}
|
|
1454
1530
|
function getPendingSignal(e) {
|
|
@@ -1463,82 +1539,89 @@ function getPendingSignal(e) {
|
|
|
1463
1539
|
}
|
|
1464
1540
|
function computePendingState(e) {
|
|
1465
1541
|
const t = e;
|
|
1466
|
-
|
|
1467
|
-
|
|
1542
|
+
const n = e.I;
|
|
1543
|
+
if (n && e.Z !== S) {
|
|
1544
|
+
return !n.Oe && !(n.ge & a);
|
|
1545
|
+
}
|
|
1546
|
+
if (e.ee !== undefined && e.ee !== S) {
|
|
1547
|
+
if (t.ge & a && !(t.ge & p)) return true;
|
|
1468
1548
|
if (e.ye) {
|
|
1469
|
-
const t = e.
|
|
1470
|
-
return !!(t && t.
|
|
1549
|
+
const t = e.Y ? findLane(e.Y) : null;
|
|
1550
|
+
return !!(t && t.H.size > 0);
|
|
1471
1551
|
}
|
|
1472
1552
|
return true;
|
|
1473
1553
|
}
|
|
1474
|
-
if (e.
|
|
1475
|
-
|
|
1554
|
+
if (e.ee !== undefined && e.ee === S && !e.ye) {
|
|
1555
|
+
return false;
|
|
1556
|
+
}
|
|
1557
|
+
if (e.Z !== S && !(t.ge & p)) return true;
|
|
1558
|
+
return !!(t.ge & a && !(t.ge & p));
|
|
1476
1559
|
}
|
|
1477
1560
|
function updatePendingSignal(e) {
|
|
1478
1561
|
if (e.Ve) {
|
|
1479
1562
|
const t = computePendingState(e);
|
|
1480
1563
|
const n = e.Ve;
|
|
1481
1564
|
setSignal(n, t);
|
|
1482
|
-
if (!t && n.
|
|
1565
|
+
if (!t && n.Y) {
|
|
1483
1566
|
const t = resolveLane(e);
|
|
1484
|
-
if (t && t.
|
|
1485
|
-
const e = findLane(n.
|
|
1567
|
+
if (t && t.H.size > 0) {
|
|
1568
|
+
const e = findLane(n.Y);
|
|
1486
1569
|
if (e !== t) {
|
|
1487
1570
|
mergeLanes(t, e);
|
|
1488
1571
|
}
|
|
1489
1572
|
}
|
|
1490
|
-
|
|
1491
|
-
n.
|
|
1573
|
+
N.delete(n);
|
|
1574
|
+
n.Y = undefined;
|
|
1492
1575
|
}
|
|
1493
1576
|
}
|
|
1494
1577
|
}
|
|
1495
1578
|
function getLatestValueComputed(e) {
|
|
1496
|
-
if (!e.
|
|
1497
|
-
const t =
|
|
1498
|
-
|
|
1499
|
-
const n =
|
|
1500
|
-
|
|
1501
|
-
const r =
|
|
1502
|
-
|
|
1503
|
-
e.
|
|
1504
|
-
e.
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
}
|
|
1509
|
-
return e.
|
|
1579
|
+
if (!e.Pe) {
|
|
1580
|
+
const t = V;
|
|
1581
|
+
V = false;
|
|
1582
|
+
const n = q;
|
|
1583
|
+
q = false;
|
|
1584
|
+
const r = B;
|
|
1585
|
+
B = null;
|
|
1586
|
+
e.Pe = optimisticComputed(() => read(e));
|
|
1587
|
+
e.Pe.ye = e;
|
|
1588
|
+
B = r;
|
|
1589
|
+
q = n;
|
|
1590
|
+
V = t;
|
|
1591
|
+
}
|
|
1592
|
+
return e.Pe;
|
|
1510
1593
|
}
|
|
1511
1594
|
function staleValues(e, t = true) {
|
|
1512
|
-
const n =
|
|
1513
|
-
|
|
1595
|
+
const n = H;
|
|
1596
|
+
H = t;
|
|
1514
1597
|
try {
|
|
1515
1598
|
return e();
|
|
1516
1599
|
} finally {
|
|
1517
|
-
|
|
1600
|
+
H = n;
|
|
1518
1601
|
}
|
|
1519
1602
|
}
|
|
1520
1603
|
function latest(e) {
|
|
1521
|
-
const t =
|
|
1522
|
-
|
|
1604
|
+
const t = V;
|
|
1605
|
+
V = true;
|
|
1523
1606
|
try {
|
|
1524
1607
|
return e();
|
|
1525
1608
|
} finally {
|
|
1526
|
-
|
|
1609
|
+
V = t;
|
|
1527
1610
|
}
|
|
1528
1611
|
}
|
|
1529
1612
|
function isPending(e) {
|
|
1530
|
-
const t =
|
|
1531
|
-
const n =
|
|
1532
|
-
|
|
1533
|
-
|
|
1613
|
+
const t = q;
|
|
1614
|
+
const n = D;
|
|
1615
|
+
q = true;
|
|
1616
|
+
D = false;
|
|
1534
1617
|
try {
|
|
1535
1618
|
e();
|
|
1536
|
-
return
|
|
1619
|
+
return D;
|
|
1537
1620
|
} catch {
|
|
1538
|
-
return
|
|
1621
|
+
return D;
|
|
1539
1622
|
} finally {
|
|
1540
|
-
|
|
1541
|
-
|
|
1623
|
+
q = t;
|
|
1624
|
+
D = n;
|
|
1542
1625
|
}
|
|
1543
1626
|
}
|
|
1544
1627
|
function refresh(e) {
|
|
@@ -1585,6 +1668,96 @@ function hasContext(e, t) {
|
|
|
1585
1668
|
function isUndefined(e) {
|
|
1586
1669
|
return typeof e === "undefined";
|
|
1587
1670
|
}
|
|
1671
|
+
function effect(e, t, n, r, i) {
|
|
1672
|
+
let s = false;
|
|
1673
|
+
const o = computed(i?.render ? t => staleValues(() => e(t)) : e, r, {
|
|
1674
|
+
...i,
|
|
1675
|
+
equals: () => {
|
|
1676
|
+
o.V = !o.ae;
|
|
1677
|
+
if (s) o.B.enqueue(o.D, runEffect.bind(o));
|
|
1678
|
+
return false;
|
|
1679
|
+
},
|
|
1680
|
+
lazy: true
|
|
1681
|
+
});
|
|
1682
|
+
o.Be = r;
|
|
1683
|
+
o.Fe = t;
|
|
1684
|
+
o.Me = n;
|
|
1685
|
+
o.Ge = undefined;
|
|
1686
|
+
o.D = i?.render ? h : g;
|
|
1687
|
+
o.ve = (e, t) => {
|
|
1688
|
+
const n = e !== undefined ? e : o.ge;
|
|
1689
|
+
const r = t !== undefined ? t : o.ae;
|
|
1690
|
+
if (n & d) {
|
|
1691
|
+
let e = r;
|
|
1692
|
+
o.B.notify(o, a, 0);
|
|
1693
|
+
if (o.D === g) {
|
|
1694
|
+
try {
|
|
1695
|
+
return o.Me
|
|
1696
|
+
? o.Me(e, () => {
|
|
1697
|
+
o.Ge?.();
|
|
1698
|
+
o.Ge = undefined;
|
|
1699
|
+
})
|
|
1700
|
+
: console.error(e);
|
|
1701
|
+
} catch (t) {
|
|
1702
|
+
e = t;
|
|
1703
|
+
}
|
|
1704
|
+
}
|
|
1705
|
+
if (!o.B.notify(o, d, d)) throw e;
|
|
1706
|
+
} else if (o.D === h) {
|
|
1707
|
+
o.B.notify(o, a | d, n, r);
|
|
1708
|
+
}
|
|
1709
|
+
};
|
|
1710
|
+
recompute(o, true);
|
|
1711
|
+
!i?.defer && (o.D === g ? o.B.enqueue(o.D, runEffect.bind(o)) : runEffect.call(o));
|
|
1712
|
+
s = true;
|
|
1713
|
+
cleanup(() => o.Ge?.());
|
|
1714
|
+
}
|
|
1715
|
+
function runEffect() {
|
|
1716
|
+
if (!this.V || this.m & u) return;
|
|
1717
|
+
this.Ge?.();
|
|
1718
|
+
this.Ge = undefined;
|
|
1719
|
+
try {
|
|
1720
|
+
this.Ge = this.Fe(this.$, this.Be);
|
|
1721
|
+
} catch (e) {
|
|
1722
|
+
this.ae = new StatusError(this, e);
|
|
1723
|
+
this.ge |= d;
|
|
1724
|
+
if (!this.B.notify(this, d, d)) throw e;
|
|
1725
|
+
} finally {
|
|
1726
|
+
this.Be = this.$;
|
|
1727
|
+
this.V = false;
|
|
1728
|
+
}
|
|
1729
|
+
}
|
|
1730
|
+
function trackedEffect(e, t) {
|
|
1731
|
+
const run = () => {
|
|
1732
|
+
if (!n.V || n.m & u) return;
|
|
1733
|
+
n.V = false;
|
|
1734
|
+
recompute(n);
|
|
1735
|
+
};
|
|
1736
|
+
const n = computed(
|
|
1737
|
+
() => {
|
|
1738
|
+
n.Ge?.();
|
|
1739
|
+
n.Ge = undefined;
|
|
1740
|
+
n.Ge = staleValues(e) || undefined;
|
|
1741
|
+
},
|
|
1742
|
+
undefined,
|
|
1743
|
+
{ ...t, lazy: true }
|
|
1744
|
+
);
|
|
1745
|
+
n.Ge = undefined;
|
|
1746
|
+
n.Ke = true;
|
|
1747
|
+
n.V = true;
|
|
1748
|
+
n.D = y;
|
|
1749
|
+
n.ve = (e, t) => {
|
|
1750
|
+
const r = e !== undefined ? e : n.ge;
|
|
1751
|
+
if (r & d) {
|
|
1752
|
+
n.B.notify(n, a, 0);
|
|
1753
|
+
const e = t !== undefined ? t : n.ae;
|
|
1754
|
+
if (!n.B.notify(n, d, d)) throw e;
|
|
1755
|
+
}
|
|
1756
|
+
};
|
|
1757
|
+
n.F = run;
|
|
1758
|
+
n.B.enqueue(g, run);
|
|
1759
|
+
cleanup(() => n.Ge?.());
|
|
1760
|
+
}
|
|
1588
1761
|
function restoreTransition(e, t) {
|
|
1589
1762
|
A.initTransition(e);
|
|
1590
1763
|
const n = t();
|
|
@@ -1596,12 +1769,12 @@ function action(e) {
|
|
|
1596
1769
|
new Promise((n, r) => {
|
|
1597
1770
|
const i = e(...t);
|
|
1598
1771
|
A.initTransition();
|
|
1599
|
-
let s =
|
|
1600
|
-
s.
|
|
1772
|
+
let s = k;
|
|
1773
|
+
s.G.push(i);
|
|
1601
1774
|
const done = (e, t) => {
|
|
1602
1775
|
s = currentTransition(s);
|
|
1603
|
-
const o = s.
|
|
1604
|
-
if (o >= 0) s.
|
|
1776
|
+
const o = s.G.indexOf(i);
|
|
1777
|
+
if (o >= 0) s.G.splice(o, 1);
|
|
1605
1778
|
setActiveTransition(s);
|
|
1606
1779
|
schedule();
|
|
1607
1780
|
t ? r(t) : n(e);
|
|
@@ -1629,6 +1802,9 @@ function action(e) {
|
|
|
1629
1802
|
step();
|
|
1630
1803
|
});
|
|
1631
1804
|
}
|
|
1805
|
+
function onCleanup(e) {
|
|
1806
|
+
return cleanup(e);
|
|
1807
|
+
}
|
|
1632
1808
|
function accessor(e) {
|
|
1633
1809
|
const t = read.bind(null, e);
|
|
1634
1810
|
t.$r = true;
|
|
@@ -1657,7 +1833,7 @@ function createTrackedEffect(e, t) {
|
|
|
1657
1833
|
}
|
|
1658
1834
|
function createReaction(e, t) {
|
|
1659
1835
|
let n = undefined;
|
|
1660
|
-
|
|
1836
|
+
cleanup(() => n?.());
|
|
1661
1837
|
const r = getOwner();
|
|
1662
1838
|
return i => {
|
|
1663
1839
|
runWithOwner(r, () => {
|
|
@@ -1695,9 +1871,10 @@ function createOptimistic(e, t, n) {
|
|
|
1695
1871
|
return [accessor(r), setSignal.bind(null, r)];
|
|
1696
1872
|
}
|
|
1697
1873
|
function onSettled(e) {
|
|
1698
|
-
getOwner()
|
|
1874
|
+
const t = getOwner();
|
|
1875
|
+
t && !t.Ke
|
|
1699
1876
|
? createTrackedEffect(() => untrack(e))
|
|
1700
|
-
: A.enqueue(
|
|
1877
|
+
: A.enqueue(g, () => {
|
|
1701
1878
|
const t = e();
|
|
1702
1879
|
t?.();
|
|
1703
1880
|
});
|
|
@@ -1729,7 +1906,7 @@ function applyState(e, t, n) {
|
|
|
1729
1906
|
let t = false;
|
|
1730
1907
|
const f = getOverrideValue(i, s, u, "length", o);
|
|
1731
1908
|
if (e.length && f && e[0] && n(e[0]) != null) {
|
|
1732
|
-
let
|
|
1909
|
+
let c, l, a, d, p, h, g, y;
|
|
1733
1910
|
for (
|
|
1734
1911
|
a = 0, d = Math.min(f, e.length);
|
|
1735
1912
|
a < d &&
|
|
@@ -1750,44 +1927,44 @@ function applyState(e, t, n) {
|
|
|
1750
1927
|
S[p] = h;
|
|
1751
1928
|
}
|
|
1752
1929
|
if (a > p || a > d) {
|
|
1753
|
-
for (
|
|
1930
|
+
for (l = a; l <= p; l++) {
|
|
1754
1931
|
t = true;
|
|
1755
|
-
r[$][
|
|
1932
|
+
r[$][l] && setSignal(r[$][l], wrap(e[l], r));
|
|
1756
1933
|
}
|
|
1757
|
-
for (;
|
|
1934
|
+
for (; l < e.length; l++) {
|
|
1758
1935
|
t = true;
|
|
1759
|
-
const i = wrap(S[
|
|
1760
|
-
r[$][
|
|
1761
|
-
applyState(e[
|
|
1936
|
+
const i = wrap(S[l], r);
|
|
1937
|
+
r[$][l] && setSignal(r[$][l], i);
|
|
1938
|
+
applyState(e[l], i, n);
|
|
1762
1939
|
}
|
|
1763
1940
|
t && r[$][K] && setSignal(r[$][K], void 0);
|
|
1764
1941
|
f !== e.length && r[$].length && setSignal(r[$].length, e.length);
|
|
1765
1942
|
return;
|
|
1766
1943
|
}
|
|
1767
|
-
|
|
1768
|
-
for (
|
|
1769
|
-
h = e[
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
w.set(
|
|
1774
|
-
}
|
|
1775
|
-
for (
|
|
1776
|
-
h = getOverrideValue(i, s, u,
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
if (
|
|
1780
|
-
S[
|
|
1781
|
-
|
|
1782
|
-
w.set(
|
|
1944
|
+
g = new Array(p + 1);
|
|
1945
|
+
for (l = p; l >= a; l--) {
|
|
1946
|
+
h = e[l];
|
|
1947
|
+
y = h ? n(h) : h;
|
|
1948
|
+
c = w.get(y);
|
|
1949
|
+
g[l] = c === undefined ? -1 : c;
|
|
1950
|
+
w.set(y, l);
|
|
1951
|
+
}
|
|
1952
|
+
for (c = a; c <= d; c++) {
|
|
1953
|
+
h = getOverrideValue(i, s, u, c, o);
|
|
1954
|
+
y = h ? n(h) : h;
|
|
1955
|
+
l = w.get(y);
|
|
1956
|
+
if (l !== undefined && l !== -1) {
|
|
1957
|
+
S[l] = h;
|
|
1958
|
+
l = g[l];
|
|
1959
|
+
w.set(y, l);
|
|
1783
1960
|
}
|
|
1784
1961
|
}
|
|
1785
|
-
for (
|
|
1786
|
-
if (
|
|
1787
|
-
const t = wrap(S[
|
|
1788
|
-
r[$][
|
|
1789
|
-
applyState(e[
|
|
1790
|
-
} else r[$][
|
|
1962
|
+
for (l = a; l < e.length; l++) {
|
|
1963
|
+
if (l in S) {
|
|
1964
|
+
const t = wrap(S[l], r);
|
|
1965
|
+
r[$][l] && setSignal(r[$][l], t);
|
|
1966
|
+
applyState(e[l], t, n);
|
|
1967
|
+
} else r[$][l] && setSignal(r[$][l], wrap(e[l], r));
|
|
1791
1968
|
}
|
|
1792
1969
|
if (a < e.length) t = true;
|
|
1793
1970
|
} else if (e.length) {
|
|
@@ -1806,11 +1983,11 @@ function applyState(e, t, n) {
|
|
|
1806
1983
|
if (u) {
|
|
1807
1984
|
const t = u[K];
|
|
1808
1985
|
const f = t ? getAllKeys(i, s, e) : Object.keys(u);
|
|
1809
|
-
for (let
|
|
1810
|
-
const
|
|
1811
|
-
const a = u[
|
|
1812
|
-
const d = unwrap(getOverrideValue(i, s, u,
|
|
1813
|
-
let p = unwrap(e[
|
|
1986
|
+
for (let c = 0, l = f.length; c < l; c++) {
|
|
1987
|
+
const l = f[c];
|
|
1988
|
+
const a = u[l];
|
|
1989
|
+
const d = unwrap(getOverrideValue(i, s, u, l, o));
|
|
1990
|
+
let p = unwrap(e[l]);
|
|
1814
1991
|
if (d === p) continue;
|
|
1815
1992
|
if (!d || !isWrappable(d) || !isWrappable(p) || (n(d) != null && n(d) !== n(p))) {
|
|
1816
1993
|
t && setSignal(t, void 0);
|
|
@@ -1859,55 +2036,68 @@ function createProjectionInternal(e, t = {}, n) {
|
|
|
1859
2036
|
const s = wrapProjection(t);
|
|
1860
2037
|
r = computed(() => {
|
|
1861
2038
|
const t = getOwner();
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
2039
|
+
let r = false;
|
|
2040
|
+
let i;
|
|
2041
|
+
const o = new Proxy(
|
|
2042
|
+
s,
|
|
2043
|
+
createWriteTraps(() => !r || t.Oe === i)
|
|
2044
|
+
);
|
|
2045
|
+
storeSetter(o, o => {
|
|
2046
|
+
i = e(o);
|
|
2047
|
+
r = true;
|
|
2048
|
+
const u = handleAsync(t, i, e => {
|
|
2049
|
+
e !== o && e !== undefined && storeSetter(s, reconcile(e, n?.key || "id"));
|
|
1865
2050
|
});
|
|
1866
|
-
|
|
2051
|
+
u !== o && u !== undefined && reconcile(u, n?.key || "id")(s);
|
|
1867
2052
|
});
|
|
1868
2053
|
});
|
|
1869
|
-
r.
|
|
2054
|
+
r.Qe = true;
|
|
1870
2055
|
return { store: s, node: r };
|
|
1871
2056
|
}
|
|
1872
2057
|
function createProjection(e, t = {}, n) {
|
|
1873
2058
|
return createProjectionInternal(e, t, n).store;
|
|
1874
2059
|
}
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
2060
|
+
function createWriteTraps(e) {
|
|
2061
|
+
const t = {
|
|
2062
|
+
get(e, n) {
|
|
2063
|
+
let r;
|
|
2064
|
+
setWriteOverride(true);
|
|
2065
|
+
setProjectionWriteActive(true);
|
|
2066
|
+
try {
|
|
2067
|
+
r = e[n];
|
|
2068
|
+
} finally {
|
|
2069
|
+
setWriteOverride(false);
|
|
2070
|
+
setProjectionWriteActive(false);
|
|
2071
|
+
}
|
|
2072
|
+
return typeof r === "object" && r !== null ? new Proxy(r, t) : r;
|
|
2073
|
+
},
|
|
2074
|
+
set(t, n, r) {
|
|
2075
|
+
if (e && !e()) return true;
|
|
2076
|
+
setWriteOverride(true);
|
|
2077
|
+
setProjectionWriteActive(true);
|
|
2078
|
+
try {
|
|
2079
|
+
t[n] = r;
|
|
2080
|
+
} finally {
|
|
2081
|
+
setWriteOverride(false);
|
|
2082
|
+
setProjectionWriteActive(false);
|
|
2083
|
+
}
|
|
2084
|
+
return true;
|
|
2085
|
+
},
|
|
2086
|
+
deleteProperty(t, n) {
|
|
2087
|
+
if (e && !e()) return true;
|
|
2088
|
+
setWriteOverride(true);
|
|
2089
|
+
setProjectionWriteActive(true);
|
|
2090
|
+
try {
|
|
2091
|
+
delete t[n];
|
|
2092
|
+
} finally {
|
|
2093
|
+
setWriteOverride(false);
|
|
2094
|
+
setProjectionWriteActive(false);
|
|
2095
|
+
}
|
|
2096
|
+
return true;
|
|
1907
2097
|
}
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
}
|
|
2098
|
+
};
|
|
2099
|
+
return t;
|
|
2100
|
+
}
|
|
1911
2101
|
const K = Symbol(0),
|
|
1912
2102
|
z = Symbol(0),
|
|
1913
2103
|
U = Symbol(0),
|
|
@@ -1965,12 +2155,12 @@ function getNode(e, t, n, r, i = isEqual, s, o) {
|
|
|
1965
2155
|
r
|
|
1966
2156
|
);
|
|
1967
2157
|
if (s) {
|
|
1968
|
-
u.
|
|
2158
|
+
u.ee = S;
|
|
1969
2159
|
}
|
|
1970
2160
|
if (o && t in o) {
|
|
1971
2161
|
const e = o[t];
|
|
1972
|
-
u.
|
|
1973
|
-
|
|
2162
|
+
u.pe = e === undefined ? w : e;
|
|
2163
|
+
G?.add(u);
|
|
1974
2164
|
}
|
|
1975
2165
|
return (e[t] = u);
|
|
1976
2166
|
}
|
|
@@ -2018,32 +2208,26 @@ const fe = {
|
|
|
2018
2208
|
}
|
|
2019
2209
|
if (writeOnly(n)) {
|
|
2020
2210
|
let n =
|
|
2021
|
-
i && (o || !u)
|
|
2022
|
-
? i.pe !== undefined && i.pe !== S
|
|
2023
|
-
? i.pe
|
|
2024
|
-
: i.ce !== S
|
|
2025
|
-
? i.ce
|
|
2026
|
-
: i.ae
|
|
2027
|
-
: f[t];
|
|
2211
|
+
i && (o || !u) ? (i.ee !== undefined && i.ee !== S ? i.ee : i.Z !== S ? i.Z : i.$) : f[t];
|
|
2028
2212
|
n === J && (n = undefined);
|
|
2029
2213
|
if (!isWrappable(n)) return n;
|
|
2030
2214
|
const r = wrap(n, e);
|
|
2031
2215
|
ue?.add(r);
|
|
2032
2216
|
return r;
|
|
2033
2217
|
}
|
|
2034
|
-
let
|
|
2035
|
-
|
|
2218
|
+
let c = i ? (o || !u ? read(r[t]) : (read(r[t]), f[t])) : f[t];
|
|
2219
|
+
c === J && (c = undefined);
|
|
2036
2220
|
if (!i) {
|
|
2037
|
-
if (!o && typeof
|
|
2221
|
+
if (!o && typeof c === "function" && !f.hasOwnProperty(t)) {
|
|
2038
2222
|
let t;
|
|
2039
2223
|
return !Array.isArray(e[X]) && (t = Object.getPrototypeOf(e[X])) && t !== Object.prototype
|
|
2040
|
-
?
|
|
2041
|
-
:
|
|
2224
|
+
? c.bind(f)
|
|
2225
|
+
: c;
|
|
2042
2226
|
} else if (getObserver()) {
|
|
2043
|
-
return read(getNode(r, t, isWrappable(
|
|
2227
|
+
return read(getNode(r, t, isWrappable(c) ? wrap(c, e) : c, e[re], isEqual, e[ie], e[m]));
|
|
2044
2228
|
}
|
|
2045
2229
|
}
|
|
2046
|
-
return isWrappable(
|
|
2230
|
+
return isWrappable(c) ? wrap(c, e) : c;
|
|
2047
2231
|
},
|
|
2048
2232
|
has(e, t) {
|
|
2049
2233
|
if (t === U || t === K || t === "__proto__") return true;
|
|
@@ -2056,41 +2240,41 @@ const fe = {
|
|
|
2056
2240
|
if (writeOnly(r)) {
|
|
2057
2241
|
if (e[ie]) {
|
|
2058
2242
|
const t = e[re];
|
|
2059
|
-
if (t?.
|
|
2060
|
-
A.initTransition(t.
|
|
2243
|
+
if (t?.K) {
|
|
2244
|
+
A.initTransition(t.K);
|
|
2061
2245
|
}
|
|
2062
2246
|
}
|
|
2063
2247
|
untrack(() => {
|
|
2064
2248
|
const i = e[X];
|
|
2065
2249
|
const s = i[t];
|
|
2066
|
-
if (
|
|
2250
|
+
if (M && typeof t !== "symbol" && !((e[re]?.ge ?? 0) & a)) {
|
|
2067
2251
|
if (!e[m]) {
|
|
2068
2252
|
e[m] = Object.create(null);
|
|
2069
|
-
|
|
2253
|
+
G?.add(e);
|
|
2070
2254
|
}
|
|
2071
2255
|
if (!(t in e[m])) {
|
|
2072
2256
|
e[m][t] = s;
|
|
2073
2257
|
}
|
|
2074
2258
|
}
|
|
2075
|
-
const o = e[ie] && !
|
|
2259
|
+
const o = e[ie] && !W;
|
|
2076
2260
|
const u = o ? Z : Y;
|
|
2077
2261
|
if (o) trackOptimisticStore(r);
|
|
2078
2262
|
const f = e[Z] && t in e[Z] ? e[Z][t] : e[Y] && t in e[Y] ? e[Y][t] : s;
|
|
2079
|
-
const
|
|
2080
|
-
if (f ===
|
|
2081
|
-
const
|
|
2082
|
-
if (
|
|
2083
|
-
else (e[u] || (e[u] = Object.create(null)))[t] =
|
|
2084
|
-
const d = isWrappable(
|
|
2263
|
+
const c = n?.[z]?.[X] ?? n;
|
|
2264
|
+
if (f === c) return true;
|
|
2265
|
+
const l = e[Z]?.length || e[Y]?.length || i.length;
|
|
2266
|
+
if (c !== undefined && c === s) delete e[u][t];
|
|
2267
|
+
else (e[u] || (e[u] = Object.create(null)))[t] = c;
|
|
2268
|
+
const d = isWrappable(c);
|
|
2085
2269
|
e[ee]?.[t] && setSignal(e[ee][t], true);
|
|
2086
2270
|
const p = getNodes(e, $);
|
|
2087
|
-
p[t] && setSignal(p[t], () => (d ? wrap(
|
|
2271
|
+
p[t] && setSignal(p[t], () => (d ? wrap(c, e) : c));
|
|
2088
2272
|
if (Array.isArray(i)) {
|
|
2089
2273
|
if (t === "length") {
|
|
2090
|
-
p.length && setSignal(p.length,
|
|
2274
|
+
p.length && setSignal(p.length, c);
|
|
2091
2275
|
} else {
|
|
2092
2276
|
const e = parseInt(t) + 1;
|
|
2093
|
-
if (e >
|
|
2277
|
+
if (e > l) p.length && setSignal(p.length, e);
|
|
2094
2278
|
}
|
|
2095
2279
|
}
|
|
2096
2280
|
p[K] && setSignal(p[K], undefined);
|
|
@@ -2103,7 +2287,7 @@ const fe = {
|
|
|
2103
2287
|
const r = e[Y]?.[t] === J;
|
|
2104
2288
|
if (writeOnly(e[U]) && !n && !r) {
|
|
2105
2289
|
untrack(() => {
|
|
2106
|
-
const n = e[ie] && !
|
|
2290
|
+
const n = e[ie] && !W;
|
|
2107
2291
|
const r = n ? Z : Y;
|
|
2108
2292
|
if (n) trackOptimisticStore(e[U]);
|
|
2109
2293
|
const i = e[Z] && t in e[Z] ? e[Z][t] : e[Y] && t in e[Y] ? e[Y][t] : e[X][t];
|
|
@@ -2178,7 +2362,7 @@ function createStore(e, t, n) {
|
|
|
2178
2362
|
return [i, e => storeSetter(i, e)];
|
|
2179
2363
|
}
|
|
2180
2364
|
function createOptimisticStore(e, t, n) {
|
|
2181
|
-
GlobalQueue.
|
|
2365
|
+
GlobalQueue.fe ||= clearOptimisticStore;
|
|
2182
2366
|
const r = typeof e === "function";
|
|
2183
2367
|
const i = (r ? t : e) ?? {};
|
|
2184
2368
|
const s = r ? e : undefined;
|
|
@@ -2195,14 +2379,14 @@ function clearOptimisticStore(e) {
|
|
|
2195
2379
|
if (r) {
|
|
2196
2380
|
for (const e of Reflect.ownKeys(n)) {
|
|
2197
2381
|
if (r[e]) {
|
|
2198
|
-
r[e].
|
|
2382
|
+
r[e].Y = undefined;
|
|
2199
2383
|
const n = t[Y] && e in t[Y] ? t[Y][e] : t[X][e];
|
|
2200
2384
|
const i = n === J ? undefined : n;
|
|
2201
2385
|
setSignal(r[e], isWrappable(i) ? wrap(i, t) : i);
|
|
2202
2386
|
}
|
|
2203
2387
|
}
|
|
2204
2388
|
if (r[K]) {
|
|
2205
|
-
r[K].
|
|
2389
|
+
r[K].Y = undefined;
|
|
2206
2390
|
setSignal(r[K], undefined);
|
|
2207
2391
|
}
|
|
2208
2392
|
}
|
|
@@ -2236,28 +2420,36 @@ function createOptimisticProjectionInternal(e, t = {}, n) {
|
|
|
2236
2420
|
if (e) {
|
|
2237
2421
|
r = computed(() => {
|
|
2238
2422
|
const t = getOwner();
|
|
2423
|
+
let r = false;
|
|
2424
|
+
let i;
|
|
2425
|
+
const o = new Proxy(
|
|
2426
|
+
s,
|
|
2427
|
+
createWriteTraps(() => !r || t.Oe === i)
|
|
2428
|
+
);
|
|
2239
2429
|
setProjectionWriteActive(true);
|
|
2240
2430
|
try {
|
|
2241
|
-
storeSetter(
|
|
2242
|
-
|
|
2431
|
+
storeSetter(o, o => {
|
|
2432
|
+
i = e(o);
|
|
2433
|
+
r = true;
|
|
2434
|
+
const u = handleAsync(t, i, e => {
|
|
2243
2435
|
setProjectionWriteActive(true);
|
|
2244
2436
|
try {
|
|
2245
|
-
e !==
|
|
2437
|
+
e !== o && e !== undefined && storeSetter(s, reconcile(e, n?.key || "id"));
|
|
2246
2438
|
} finally {
|
|
2247
2439
|
setProjectionWriteActive(false);
|
|
2248
2440
|
}
|
|
2249
2441
|
});
|
|
2250
|
-
|
|
2442
|
+
u !== o && u !== undefined && reconcile(u, n?.key || "id")(s);
|
|
2251
2443
|
});
|
|
2252
2444
|
} finally {
|
|
2253
2445
|
setProjectionWriteActive(false);
|
|
2254
2446
|
}
|
|
2255
2447
|
});
|
|
2256
|
-
r.
|
|
2448
|
+
r.Qe = true;
|
|
2257
2449
|
}
|
|
2258
2450
|
return { store: s, node: r };
|
|
2259
2451
|
}
|
|
2260
|
-
const
|
|
2452
|
+
const ce = Symbol(0);
|
|
2261
2453
|
function updatePath(e, t, n = 0) {
|
|
2262
2454
|
let r,
|
|
2263
2455
|
i = e;
|
|
@@ -2301,7 +2493,7 @@ function updatePath(e, t, n = 0) {
|
|
|
2301
2493
|
if (s === i) return;
|
|
2302
2494
|
}
|
|
2303
2495
|
if (r === undefined && s == undefined) return;
|
|
2304
|
-
if (s ===
|
|
2496
|
+
if (s === ce) {
|
|
2305
2497
|
delete e[r];
|
|
2306
2498
|
} else if (r === undefined || (isWrappable(i) && isWrappable(s) && !Array.isArray(s))) {
|
|
2307
2499
|
const t = r !== undefined ? e[r] : e;
|
|
@@ -2311,16 +2503,16 @@ function updatePath(e, t, n = 0) {
|
|
|
2311
2503
|
e[r] = s;
|
|
2312
2504
|
}
|
|
2313
2505
|
}
|
|
2314
|
-
const
|
|
2506
|
+
const le = Object.assign(
|
|
2315
2507
|
function storePath(...e) {
|
|
2316
2508
|
return t => {
|
|
2317
2509
|
updatePath(t, e);
|
|
2318
2510
|
};
|
|
2319
2511
|
},
|
|
2320
|
-
{ DELETE:
|
|
2512
|
+
{ DELETE: ce }
|
|
2321
2513
|
);
|
|
2322
2514
|
function snapshotImpl(e, t, n, r) {
|
|
2323
|
-
let i, s, o, u, f,
|
|
2515
|
+
let i, s, o, u, f, c;
|
|
2324
2516
|
if (!isWrappable(e)) return e;
|
|
2325
2517
|
if (n && n.has(e)) return n.get(e);
|
|
2326
2518
|
if (!n) n = new Map();
|
|
@@ -2337,24 +2529,24 @@ function snapshotImpl(e, t, n, r) {
|
|
|
2337
2529
|
}
|
|
2338
2530
|
if (s) {
|
|
2339
2531
|
const s = o?.length || e.length;
|
|
2340
|
-
for (let
|
|
2341
|
-
|
|
2342
|
-
if (
|
|
2343
|
-
if (t && isWrappable(
|
|
2344
|
-
if ((f = snapshotImpl(
|
|
2532
|
+
for (let l = 0; l < s; l++) {
|
|
2533
|
+
c = o && l in o ? o[l] : e[l];
|
|
2534
|
+
if (c === J) continue;
|
|
2535
|
+
if (t && isWrappable(c)) wrap(c, i);
|
|
2536
|
+
if ((f = snapshotImpl(c, t, n, r)) !== c || u) {
|
|
2345
2537
|
if (!u) n.set(e, (u = [...e]));
|
|
2346
|
-
u[
|
|
2538
|
+
u[l] = f;
|
|
2347
2539
|
}
|
|
2348
2540
|
}
|
|
2349
2541
|
} else {
|
|
2350
2542
|
const s = getKeys(e, o);
|
|
2351
|
-
for (let
|
|
2352
|
-
let a = s[
|
|
2543
|
+
for (let l = 0, a = s.length; l < a; l++) {
|
|
2544
|
+
let a = s[l];
|
|
2353
2545
|
const d = getPropertyDescriptor(e, o, a);
|
|
2354
2546
|
if (d.get) continue;
|
|
2355
|
-
|
|
2356
|
-
if (t && isWrappable(
|
|
2357
|
-
if ((f = snapshotImpl(
|
|
2547
|
+
c = o && a in o ? o[a] : e[a];
|
|
2548
|
+
if (t && isWrappable(c)) wrap(c, i);
|
|
2549
|
+
if ((f = snapshotImpl(c, t, n, r)) !== e[a] || u) {
|
|
2358
2550
|
if (!u) {
|
|
2359
2551
|
u = Object.create(Object.getPrototypeOf(e));
|
|
2360
2552
|
Object.assign(u, e);
|
|
@@ -2507,221 +2699,221 @@ function mapArray(e, t, n) {
|
|
|
2507
2699
|
const s = t;
|
|
2508
2700
|
return createMemo(
|
|
2509
2701
|
updateKeyedMap.bind({
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
|
|
2517
|
-
|
|
2518
|
-
|
|
2519
|
-
|
|
2520
|
-
|
|
2702
|
+
ze: createOwner(),
|
|
2703
|
+
Ue: 0,
|
|
2704
|
+
Je: e,
|
|
2705
|
+
Xe: [],
|
|
2706
|
+
Ye: s,
|
|
2707
|
+
Ze: [],
|
|
2708
|
+
$e: [],
|
|
2709
|
+
et: r,
|
|
2710
|
+
tt: r || n?.keyed === false ? [] : undefined,
|
|
2711
|
+
nt: i ? [] : undefined,
|
|
2712
|
+
rt: n?.fallback
|
|
2521
2713
|
})
|
|
2522
2714
|
);
|
|
2523
2715
|
}
|
|
2524
2716
|
const pe = { pureWrite: true };
|
|
2525
2717
|
function updateKeyedMap() {
|
|
2526
|
-
const e = this.
|
|
2718
|
+
const e = this.Je() || [],
|
|
2527
2719
|
t = e.length;
|
|
2528
2720
|
e[K];
|
|
2529
|
-
runWithOwner(this.
|
|
2721
|
+
runWithOwner(this.ze, () => {
|
|
2530
2722
|
let n,
|
|
2531
2723
|
r,
|
|
2532
|
-
i = this.
|
|
2724
|
+
i = this.tt
|
|
2533
2725
|
? () => {
|
|
2534
|
-
this.
|
|
2535
|
-
this.
|
|
2536
|
-
return this.
|
|
2726
|
+
this.tt[r] = signal(e[r], pe);
|
|
2727
|
+
this.nt && (this.nt[r] = signal(r, pe));
|
|
2728
|
+
return this.Ye(accessor(this.tt[r]), this.nt ? accessor(this.nt[r]) : undefined);
|
|
2537
2729
|
}
|
|
2538
|
-
: this.
|
|
2730
|
+
: this.nt
|
|
2539
2731
|
? () => {
|
|
2540
2732
|
const t = e[r];
|
|
2541
|
-
this.
|
|
2542
|
-
return this.
|
|
2733
|
+
this.nt[r] = signal(r, pe);
|
|
2734
|
+
return this.Ye(() => t, accessor(this.nt[r]));
|
|
2543
2735
|
}
|
|
2544
2736
|
: () => {
|
|
2545
2737
|
const t = e[r];
|
|
2546
|
-
return this.
|
|
2738
|
+
return this.Ye(() => t);
|
|
2547
2739
|
};
|
|
2548
2740
|
if (t === 0) {
|
|
2549
|
-
if (this.
|
|
2550
|
-
this.
|
|
2551
|
-
this
|
|
2552
|
-
this.
|
|
2553
|
-
this.
|
|
2554
|
-
this.
|
|
2555
|
-
this.
|
|
2556
|
-
this.
|
|
2557
|
-
}
|
|
2558
|
-
if (this
|
|
2559
|
-
this.
|
|
2560
|
-
}
|
|
2561
|
-
} else if (this.
|
|
2562
|
-
if (this
|
|
2563
|
-
this.
|
|
2741
|
+
if (this.Ue !== 0) {
|
|
2742
|
+
this.ze.dispose(false);
|
|
2743
|
+
this.$e = [];
|
|
2744
|
+
this.Xe = [];
|
|
2745
|
+
this.Ze = [];
|
|
2746
|
+
this.Ue = 0;
|
|
2747
|
+
this.tt && (this.tt = []);
|
|
2748
|
+
this.nt && (this.nt = []);
|
|
2749
|
+
}
|
|
2750
|
+
if (this.rt && !this.Ze[0]) {
|
|
2751
|
+
this.Ze[0] = runWithOwner((this.$e[0] = createOwner()), this.rt);
|
|
2752
|
+
}
|
|
2753
|
+
} else if (this.Ue === 0) {
|
|
2754
|
+
if (this.$e[0]) this.$e[0].dispose();
|
|
2755
|
+
this.Ze = new Array(t);
|
|
2564
2756
|
for (r = 0; r < t; r++) {
|
|
2565
|
-
this.
|
|
2566
|
-
this.
|
|
2757
|
+
this.Xe[r] = e[r];
|
|
2758
|
+
this.Ze[r] = runWithOwner((this.$e[r] = createOwner()), i);
|
|
2567
2759
|
}
|
|
2568
|
-
this.
|
|
2760
|
+
this.Ue = t;
|
|
2569
2761
|
} else {
|
|
2570
2762
|
let s,
|
|
2571
2763
|
o,
|
|
2572
2764
|
u,
|
|
2573
2765
|
f,
|
|
2574
|
-
l,
|
|
2575
2766
|
c,
|
|
2767
|
+
l,
|
|
2576
2768
|
a,
|
|
2577
2769
|
d = new Array(t),
|
|
2578
2770
|
p = new Array(t),
|
|
2579
|
-
h = this.
|
|
2580
|
-
|
|
2771
|
+
h = this.tt ? new Array(t) : undefined,
|
|
2772
|
+
g = this.nt ? new Array(t) : undefined;
|
|
2581
2773
|
for (
|
|
2582
|
-
s = 0, o = Math.min(this.
|
|
2583
|
-
s < o && (this.
|
|
2774
|
+
s = 0, o = Math.min(this.Ue, t);
|
|
2775
|
+
s < o && (this.Xe[s] === e[s] || (this.tt && compare(this.et, this.Xe[s], e[s])));
|
|
2584
2776
|
s++
|
|
2585
2777
|
) {
|
|
2586
|
-
if (this.
|
|
2778
|
+
if (this.tt) setSignal(this.tt[s], e[s]);
|
|
2587
2779
|
}
|
|
2588
2780
|
for (
|
|
2589
|
-
o = this.
|
|
2781
|
+
o = this.Ue - 1, u = t - 1;
|
|
2590
2782
|
o >= s &&
|
|
2591
2783
|
u >= s &&
|
|
2592
|
-
(this.
|
|
2784
|
+
(this.Xe[o] === e[u] || (this.tt && compare(this.et, this.Xe[o], e[u])));
|
|
2593
2785
|
o--, u--
|
|
2594
2786
|
) {
|
|
2595
|
-
d[u] = this.
|
|
2596
|
-
p[u] = this
|
|
2597
|
-
h && (h[u] = this.
|
|
2598
|
-
|
|
2787
|
+
d[u] = this.Ze[o];
|
|
2788
|
+
p[u] = this.$e[o];
|
|
2789
|
+
h && (h[u] = this.tt[o]);
|
|
2790
|
+
g && (g[u] = this.nt[o]);
|
|
2599
2791
|
}
|
|
2600
|
-
|
|
2792
|
+
l = new Map();
|
|
2601
2793
|
a = new Array(u + 1);
|
|
2602
2794
|
for (r = u; r >= s; r--) {
|
|
2603
2795
|
f = e[r];
|
|
2604
|
-
|
|
2605
|
-
n =
|
|
2796
|
+
c = this.et ? this.et(f) : f;
|
|
2797
|
+
n = l.get(c);
|
|
2606
2798
|
a[r] = n === undefined ? -1 : n;
|
|
2607
|
-
|
|
2799
|
+
l.set(c, r);
|
|
2608
2800
|
}
|
|
2609
2801
|
for (n = s; n <= o; n++) {
|
|
2610
|
-
f = this.
|
|
2611
|
-
|
|
2612
|
-
r =
|
|
2802
|
+
f = this.Xe[n];
|
|
2803
|
+
c = this.et ? this.et(f) : f;
|
|
2804
|
+
r = l.get(c);
|
|
2613
2805
|
if (r !== undefined && r !== -1) {
|
|
2614
|
-
d[r] = this.
|
|
2615
|
-
p[r] = this
|
|
2616
|
-
h && (h[r] = this.
|
|
2617
|
-
|
|
2806
|
+
d[r] = this.Ze[n];
|
|
2807
|
+
p[r] = this.$e[n];
|
|
2808
|
+
h && (h[r] = this.tt[n]);
|
|
2809
|
+
g && (g[r] = this.nt[n]);
|
|
2618
2810
|
r = a[r];
|
|
2619
|
-
|
|
2620
|
-
} else this
|
|
2811
|
+
l.set(c, r);
|
|
2812
|
+
} else this.$e[n].dispose();
|
|
2621
2813
|
}
|
|
2622
2814
|
for (r = s; r < t; r++) {
|
|
2623
2815
|
if (r in d) {
|
|
2624
|
-
this.
|
|
2625
|
-
this
|
|
2816
|
+
this.Ze[r] = d[r];
|
|
2817
|
+
this.$e[r] = p[r];
|
|
2626
2818
|
if (h) {
|
|
2627
|
-
this.
|
|
2628
|
-
setSignal(this.
|
|
2819
|
+
this.tt[r] = h[r];
|
|
2820
|
+
setSignal(this.tt[r], e[r]);
|
|
2629
2821
|
}
|
|
2630
|
-
if (
|
|
2631
|
-
this.
|
|
2632
|
-
setSignal(this.
|
|
2822
|
+
if (g) {
|
|
2823
|
+
this.nt[r] = g[r];
|
|
2824
|
+
setSignal(this.nt[r], r);
|
|
2633
2825
|
}
|
|
2634
2826
|
} else {
|
|
2635
|
-
this.
|
|
2827
|
+
this.Ze[r] = runWithOwner((this.$e[r] = createOwner()), i);
|
|
2636
2828
|
}
|
|
2637
2829
|
}
|
|
2638
|
-
this.
|
|
2639
|
-
this.
|
|
2830
|
+
this.Ze = this.Ze.slice(0, (this.Ue = t));
|
|
2831
|
+
this.Xe = e.slice(0);
|
|
2640
2832
|
}
|
|
2641
2833
|
});
|
|
2642
|
-
return this.
|
|
2834
|
+
return this.Ze;
|
|
2643
2835
|
}
|
|
2644
2836
|
function repeat(e, t, n) {
|
|
2645
2837
|
const r = t;
|
|
2646
2838
|
return updateRepeat.bind({
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
|
|
2839
|
+
ze: createOwner(),
|
|
2840
|
+
Ue: 0,
|
|
2841
|
+
it: 0,
|
|
2842
|
+
st: e,
|
|
2843
|
+
Ye: r,
|
|
2844
|
+
$e: [],
|
|
2845
|
+
Ze: [],
|
|
2846
|
+
ot: n?.from,
|
|
2847
|
+
rt: n?.fallback
|
|
2656
2848
|
});
|
|
2657
2849
|
}
|
|
2658
2850
|
function updateRepeat() {
|
|
2659
|
-
const e = this.
|
|
2660
|
-
const t = this.
|
|
2661
|
-
runWithOwner(this.
|
|
2851
|
+
const e = this.st();
|
|
2852
|
+
const t = this.ot?.() || 0;
|
|
2853
|
+
runWithOwner(this.ze, () => {
|
|
2662
2854
|
if (e === 0) {
|
|
2663
|
-
if (this.
|
|
2664
|
-
this.
|
|
2665
|
-
this
|
|
2666
|
-
this.
|
|
2667
|
-
this.
|
|
2855
|
+
if (this.Ue !== 0) {
|
|
2856
|
+
this.ze.dispose(false);
|
|
2857
|
+
this.$e = [];
|
|
2858
|
+
this.Ze = [];
|
|
2859
|
+
this.Ue = 0;
|
|
2668
2860
|
}
|
|
2669
|
-
if (this
|
|
2670
|
-
this.
|
|
2861
|
+
if (this.rt && !this.Ze[0]) {
|
|
2862
|
+
this.Ze[0] = runWithOwner((this.$e[0] = createOwner()), this.rt);
|
|
2671
2863
|
}
|
|
2672
2864
|
return;
|
|
2673
2865
|
}
|
|
2674
2866
|
const n = t + e;
|
|
2675
|
-
const r = this.
|
|
2676
|
-
if (this.
|
|
2677
|
-
for (let e = n; e < r; e++) this
|
|
2678
|
-
if (this.
|
|
2679
|
-
let e = this.
|
|
2680
|
-
while (e < t && e < this.
|
|
2681
|
-
this.
|
|
2682
|
-
this.
|
|
2683
|
-
} else if (this.
|
|
2684
|
-
let n = r - this.
|
|
2685
|
-
let i = this.
|
|
2686
|
-
this.
|
|
2867
|
+
const r = this.it + this.Ue;
|
|
2868
|
+
if (this.Ue === 0 && this.$e[0]) this.$e[0].dispose();
|
|
2869
|
+
for (let e = n; e < r; e++) this.$e[e - this.it].dispose();
|
|
2870
|
+
if (this.it < t) {
|
|
2871
|
+
let e = this.it;
|
|
2872
|
+
while (e < t && e < this.Ue) this.$e[e++].dispose();
|
|
2873
|
+
this.$e.splice(0, t - this.it);
|
|
2874
|
+
this.Ze.splice(0, t - this.it);
|
|
2875
|
+
} else if (this.it > t) {
|
|
2876
|
+
let n = r - this.it - 1;
|
|
2877
|
+
let i = this.it - t;
|
|
2878
|
+
this.$e.length = this.Ze.length = e;
|
|
2687
2879
|
while (n >= i) {
|
|
2688
|
-
this
|
|
2689
|
-
this.
|
|
2880
|
+
this.$e[n] = this.$e[n - i];
|
|
2881
|
+
this.Ze[n] = this.Ze[n - i];
|
|
2690
2882
|
n--;
|
|
2691
2883
|
}
|
|
2692
2884
|
for (let e = 0; e < i; e++) {
|
|
2693
|
-
this.
|
|
2885
|
+
this.Ze[e] = runWithOwner((this.$e[e] = createOwner()), () => this.Ye(e + t));
|
|
2694
2886
|
}
|
|
2695
2887
|
}
|
|
2696
2888
|
for (let e = r; e < n; e++) {
|
|
2697
|
-
this.
|
|
2889
|
+
this.Ze[e - t] = runWithOwner((this.$e[e - t] = createOwner()), () => this.Ye(e));
|
|
2698
2890
|
}
|
|
2699
|
-
this.
|
|
2700
|
-
this.
|
|
2701
|
-
this.
|
|
2891
|
+
this.Ze = this.Ze.slice(0, e);
|
|
2892
|
+
this.it = t;
|
|
2893
|
+
this.Ue = e;
|
|
2702
2894
|
});
|
|
2703
|
-
return this.
|
|
2895
|
+
return this.Ze;
|
|
2704
2896
|
}
|
|
2705
2897
|
function compare(e, t, n) {
|
|
2706
2898
|
return e ? e(t) === e(n) : true;
|
|
2707
2899
|
}
|
|
2708
2900
|
function boundaryComputed(e, t) {
|
|
2709
2901
|
const n = computed(e, undefined, { lazy: true });
|
|
2710
|
-
n.
|
|
2711
|
-
const r = e !== undefined ? e : n.
|
|
2712
|
-
const i = t !== undefined ? t : n.
|
|
2713
|
-
n.
|
|
2714
|
-
n.
|
|
2902
|
+
n.ve = (e, t) => {
|
|
2903
|
+
const r = e !== undefined ? e : n.ge;
|
|
2904
|
+
const i = t !== undefined ? t : n.ae;
|
|
2905
|
+
n.ge &= ~n.ut;
|
|
2906
|
+
n.B.notify(n, n.ut, r, i);
|
|
2715
2907
|
};
|
|
2716
|
-
n.
|
|
2717
|
-
n.
|
|
2908
|
+
n.ut = t;
|
|
2909
|
+
n.Qe = true;
|
|
2718
2910
|
recompute(n, true);
|
|
2719
2911
|
return n;
|
|
2720
2912
|
}
|
|
2721
2913
|
function createBoundChildren(e, t, n, r) {
|
|
2722
|
-
const i = e.
|
|
2723
|
-
i.addChild((e.
|
|
2724
|
-
|
|
2914
|
+
const i = e.B;
|
|
2915
|
+
i.addChild((e.B = n));
|
|
2916
|
+
cleanup(() => i.removeChild(e.B));
|
|
2725
2917
|
return runWithOwner(e, () => {
|
|
2726
2918
|
const e = computed(t);
|
|
2727
2919
|
return boundaryComputed(() => staleValues(() => flatten(read(e))), r);
|
|
@@ -2729,57 +2921,60 @@ function createBoundChildren(e, t, n, r) {
|
|
|
2729
2921
|
}
|
|
2730
2922
|
const he = Symbol();
|
|
2731
2923
|
class CollectionQueue extends Queue {
|
|
2732
|
-
it;
|
|
2733
|
-
st = new Set();
|
|
2734
|
-
ot = signal(false, { pureWrite: true, Me: true });
|
|
2735
|
-
ut = false;
|
|
2736
2924
|
ft;
|
|
2737
|
-
|
|
2925
|
+
ct = new Set();
|
|
2926
|
+
lt = signal(false, { pureWrite: true, De: true });
|
|
2927
|
+
dt = false;
|
|
2928
|
+
ht;
|
|
2929
|
+
gt = he;
|
|
2738
2930
|
constructor(e) {
|
|
2739
2931
|
super();
|
|
2740
|
-
this.
|
|
2932
|
+
this.ft = e;
|
|
2741
2933
|
}
|
|
2742
2934
|
run(e) {
|
|
2743
|
-
if (!e || read(this.
|
|
2935
|
+
if (!e || read(this.lt)) return;
|
|
2744
2936
|
return super.run(e);
|
|
2745
2937
|
}
|
|
2746
2938
|
notify(e, t, n, r) {
|
|
2747
|
-
if (!(t & this.
|
|
2748
|
-
if (this.
|
|
2939
|
+
if (!(t & this.ft)) return super.notify(e, t, n, r);
|
|
2940
|
+
if (this.dt && this.ht) {
|
|
2749
2941
|
const e = untrack(() => {
|
|
2750
2942
|
try {
|
|
2751
|
-
return this.
|
|
2943
|
+
return this.ht();
|
|
2752
2944
|
} catch {
|
|
2753
2945
|
return he;
|
|
2754
2946
|
}
|
|
2755
2947
|
});
|
|
2756
|
-
if (e !== this.
|
|
2757
|
-
this.
|
|
2758
|
-
this.
|
|
2759
|
-
this.
|
|
2948
|
+
if (e !== this.gt) {
|
|
2949
|
+
this.gt = e;
|
|
2950
|
+
this.dt = false;
|
|
2951
|
+
this.ct.clear();
|
|
2760
2952
|
}
|
|
2761
2953
|
}
|
|
2762
|
-
if (this.
|
|
2763
|
-
if (n &
|
|
2764
|
-
|
|
2954
|
+
if (this.ft & a && this.dt) return super.notify(e, t, n, r);
|
|
2955
|
+
if (this.ft & a && n & d) {
|
|
2956
|
+
return super.notify(e, d, n, r);
|
|
2957
|
+
}
|
|
2958
|
+
if (n & this.ft) {
|
|
2959
|
+
const t = r?.source || e.ae?.source;
|
|
2765
2960
|
if (t) {
|
|
2766
|
-
const e = this.
|
|
2767
|
-
this.
|
|
2768
|
-
if (e) setSignal(this.
|
|
2961
|
+
const e = this.ct.size === 0;
|
|
2962
|
+
this.ct.add(t);
|
|
2963
|
+
if (e) setSignal(this.lt, true);
|
|
2769
2964
|
}
|
|
2770
2965
|
}
|
|
2771
|
-
t &= ~this.
|
|
2966
|
+
t &= ~this.ft;
|
|
2772
2967
|
return t ? super.notify(e, t, n, r) : true;
|
|
2773
2968
|
}
|
|
2774
2969
|
checkSources() {
|
|
2775
|
-
for (const e of this.
|
|
2776
|
-
if (!(e.
|
|
2970
|
+
for (const e of this.ct) {
|
|
2971
|
+
if (!(e.ge & this.ft) && !(this.ft & d && e.ge & a)) this.ct.delete(e);
|
|
2777
2972
|
}
|
|
2778
|
-
if (!this.
|
|
2779
|
-
setSignal(this.
|
|
2780
|
-
if (this.
|
|
2973
|
+
if (!this.ct.size) {
|
|
2974
|
+
setSignal(this.lt, false);
|
|
2975
|
+
if (this.ht) {
|
|
2781
2976
|
try {
|
|
2782
|
-
this.
|
|
2977
|
+
this.gt = untrack(() => this.ht());
|
|
2783
2978
|
} catch {}
|
|
2784
2979
|
}
|
|
2785
2980
|
}
|
|
@@ -2788,13 +2983,13 @@ class CollectionQueue extends Queue {
|
|
|
2788
2983
|
function createCollectionBoundary(e, t, n, r) {
|
|
2789
2984
|
const i = createOwner();
|
|
2790
2985
|
const s = new CollectionQueue(e);
|
|
2791
|
-
if (r) s.
|
|
2986
|
+
if (r) s.ht = r;
|
|
2792
2987
|
const o = createBoundChildren(i, t, s, e);
|
|
2793
2988
|
const u = computed(() => {
|
|
2794
|
-
if (!read(s.
|
|
2989
|
+
if (!read(s.lt)) {
|
|
2795
2990
|
const e = read(o);
|
|
2796
|
-
if (!untrack(() => read(s.
|
|
2797
|
-
s.
|
|
2991
|
+
if (!untrack(() => read(s.lt))) {
|
|
2992
|
+
s.dt = true;
|
|
2798
2993
|
return e;
|
|
2799
2994
|
}
|
|
2800
2995
|
}
|
|
@@ -2807,10 +3002,10 @@ function createLoadingBoundary(e, t, n) {
|
|
|
2807
3002
|
}
|
|
2808
3003
|
function createErrorBoundary(e, t) {
|
|
2809
3004
|
return createCollectionBoundary(d, e, e => {
|
|
2810
|
-
let n = e.
|
|
2811
|
-
const r = n.
|
|
3005
|
+
let n = e.ct.values().next().value;
|
|
3006
|
+
const r = n.ae?.cause ?? n.ae;
|
|
2812
3007
|
return t(r, () => {
|
|
2813
|
-
for (const t of e.
|
|
3008
|
+
for (const t of e.ct) recompute(t);
|
|
2814
3009
|
schedule();
|
|
2815
3010
|
});
|
|
2816
3011
|
});
|
|
@@ -2920,5 +3115,5 @@ exports.runWithOwner = runWithOwner;
|
|
|
2920
3115
|
exports.setContext = setContext;
|
|
2921
3116
|
exports.setSnapshotCapture = setSnapshotCapture;
|
|
2922
3117
|
exports.snapshot = snapshot;
|
|
2923
|
-
exports.storePath =
|
|
3118
|
+
exports.storePath = le;
|
|
2924
3119
|
exports.untrack = untrack;
|