@solidjs/signals 0.9.5 → 0.9.6
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 +715 -380
- package/dist/node.cjs +1259 -984
- package/dist/prod.js +1114 -799
- package/dist/types/core/constants.d.ts +2 -0
- package/dist/types/core/core.d.ts +12 -14
- package/dist/types/core/effect.d.ts +11 -0
- package/dist/types/core/index.d.ts +3 -3
- package/dist/types/core/scheduler.d.ts +14 -4
- package/dist/types/signals.d.ts +50 -3
- package/dist/types/store/optimistic.d.ts +7 -7
- package/dist/types/store/projection.d.ts +1 -0
- package/dist/types/store/store.d.ts +4 -2
- package/package.json +1 -1
package/dist/node.cjs
CHANGED
|
@@ -24,16 +24,18 @@ const i = 1 << 3;
|
|
|
24
24
|
const s = 1 << 4;
|
|
25
25
|
const o = 1 << 5;
|
|
26
26
|
const u = 1 << 6;
|
|
27
|
-
const l =
|
|
28
|
-
const f =
|
|
29
|
-
const c = 1 <<
|
|
30
|
-
const a = 1 <<
|
|
31
|
-
const d = 1;
|
|
27
|
+
const l = 1 << 7;
|
|
28
|
+
const f = 0;
|
|
29
|
+
const c = 1 << 0;
|
|
30
|
+
const a = 1 << 1;
|
|
31
|
+
const d = 1 << 2;
|
|
32
|
+
const p = 1;
|
|
32
33
|
const h = 2;
|
|
33
|
-
const
|
|
34
|
-
const y = typeof Proxy === "function";
|
|
34
|
+
const y = 3;
|
|
35
35
|
const g = {};
|
|
36
|
-
const w =
|
|
36
|
+
const w = typeof Proxy === "function";
|
|
37
|
+
const S = {};
|
|
38
|
+
const m = Symbol("refresh");
|
|
37
39
|
function actualInsertIntoHeap(e, t) {
|
|
38
40
|
const n = (e.i?.t ? e.i.u?.o : e.i?.o) ?? -1;
|
|
39
41
|
if (n >= e.o) e.o = n + 1;
|
|
@@ -41,112 +43,120 @@ function actualInsertIntoHeap(e, t) {
|
|
|
41
43
|
const i = t.l[r];
|
|
42
44
|
if (i === undefined) t.l[r] = e;
|
|
43
45
|
else {
|
|
44
|
-
const t = i.
|
|
45
|
-
t.
|
|
46
|
-
e.
|
|
47
|
-
i.
|
|
46
|
+
const t = i.p;
|
|
47
|
+
t.h = e;
|
|
48
|
+
e.p = t;
|
|
49
|
+
i.p = e;
|
|
48
50
|
}
|
|
49
|
-
if (r > t.
|
|
51
|
+
if (r > t.S) t.S = r;
|
|
50
52
|
}
|
|
51
53
|
function insertIntoHeap(e, o) {
|
|
52
|
-
let u = e.
|
|
54
|
+
let u = e.m;
|
|
53
55
|
if (u & (i | r)) return;
|
|
54
56
|
if (u & t) {
|
|
55
|
-
e.
|
|
56
|
-
} else e.
|
|
57
|
+
e.m = (u & -4) | n | i;
|
|
58
|
+
} else e.m = u | i;
|
|
57
59
|
if (!(u & s)) actualInsertIntoHeap(e, o);
|
|
58
60
|
}
|
|
59
61
|
function insertIntoHeapHeight(e, t) {
|
|
60
|
-
let n = e.
|
|
62
|
+
let n = e.m;
|
|
61
63
|
if (n & (i | r | s)) return;
|
|
62
|
-
e.
|
|
64
|
+
e.m = n | s;
|
|
63
65
|
actualInsertIntoHeap(e, t);
|
|
64
66
|
}
|
|
65
67
|
function deleteFromHeap(e, t) {
|
|
66
|
-
const n = e.
|
|
68
|
+
const n = e.m;
|
|
67
69
|
if (!(n & (i | s))) return;
|
|
68
|
-
e.
|
|
70
|
+
e.m = n & -25;
|
|
69
71
|
const r = e.o;
|
|
70
|
-
if (e.
|
|
72
|
+
if (e.p === e) t.l[r] = undefined;
|
|
71
73
|
else {
|
|
72
|
-
const n = e.
|
|
74
|
+
const n = e.h;
|
|
73
75
|
const i = t.l[r];
|
|
74
76
|
const s = n ?? i;
|
|
75
77
|
if (e === i) t.l[r] = n;
|
|
76
|
-
else e.h
|
|
77
|
-
s.
|
|
78
|
+
else e.p.h = n;
|
|
79
|
+
s.p = e.p;
|
|
78
80
|
}
|
|
79
|
-
e.
|
|
80
|
-
e.
|
|
81
|
+
e.p = e;
|
|
82
|
+
e.h = undefined;
|
|
81
83
|
}
|
|
82
84
|
function markHeap(e) {
|
|
83
|
-
if (e.
|
|
84
|
-
e.
|
|
85
|
-
for (let t = 0; t <= e.
|
|
86
|
-
for (let n = e.l[t]; n !== undefined; n = n.
|
|
87
|
-
if (n.
|
|
85
|
+
if (e._) return;
|
|
86
|
+
e._ = true;
|
|
87
|
+
for (let t = 0; t <= e.S; t++) {
|
|
88
|
+
for (let n = e.l[t]; n !== undefined; n = n.h) {
|
|
89
|
+
if (n.m & i) markNode(n);
|
|
88
90
|
}
|
|
89
91
|
}
|
|
90
92
|
}
|
|
91
93
|
function markNode(e, r = n) {
|
|
92
|
-
const i = e.
|
|
94
|
+
const i = e.m;
|
|
93
95
|
if ((i & (t | n)) >= r) return;
|
|
94
|
-
e.
|
|
95
|
-
for (let n = e.O; n !== null; n = n.
|
|
96
|
-
markNode(n.
|
|
96
|
+
e.m = (i & -4) | r;
|
|
97
|
+
for (let n = e.O; n !== null; n = n.P) {
|
|
98
|
+
markNode(n.C, t);
|
|
97
99
|
}
|
|
98
100
|
if (e.k !== null) {
|
|
99
|
-
for (let n = e.k; n !== null; n = n.
|
|
100
|
-
for (let e = n.O; e !== null; e = e.
|
|
101
|
-
markNode(e.
|
|
101
|
+
for (let n = e.k; n !== null; n = n.A) {
|
|
102
|
+
for (let e = n.O; e !== null; e = e.P) {
|
|
103
|
+
markNode(e.C, t);
|
|
102
104
|
}
|
|
103
105
|
}
|
|
104
106
|
}
|
|
105
107
|
}
|
|
106
108
|
function runHeap(e, t) {
|
|
107
|
-
e.
|
|
108
|
-
for (e.
|
|
109
|
-
let n = e.l[e.
|
|
109
|
+
e._ = false;
|
|
110
|
+
for (e.W = 0; e.W <= e.S; e.W++) {
|
|
111
|
+
let n = e.l[e.W];
|
|
110
112
|
while (n !== undefined) {
|
|
111
|
-
if (n.
|
|
113
|
+
if (n.m & i) t(n);
|
|
112
114
|
else adjustHeight(n, e);
|
|
113
|
-
n = e.l[e.
|
|
115
|
+
n = e.l[e.W];
|
|
114
116
|
}
|
|
115
117
|
}
|
|
116
|
-
e.
|
|
118
|
+
e.S = 0;
|
|
117
119
|
}
|
|
118
120
|
function adjustHeight(e, t) {
|
|
119
121
|
deleteFromHeap(e, t);
|
|
120
122
|
let n = e.o;
|
|
121
|
-
for (let t = e.
|
|
122
|
-
const e = t.
|
|
123
|
-
const r = e.
|
|
124
|
-
if (r.
|
|
123
|
+
for (let t = e.j; t; t = t.N) {
|
|
124
|
+
const e = t.H;
|
|
125
|
+
const r = e.I || e;
|
|
126
|
+
if (r.R && r.o >= n) n = r.o + 1;
|
|
125
127
|
}
|
|
126
128
|
if (e.o !== n) {
|
|
127
129
|
e.o = n;
|
|
128
|
-
for (let n = e.O; n !== null; n = n.
|
|
129
|
-
insertIntoHeapHeight(n.
|
|
130
|
+
for (let n = e.O; n !== null; n = n.P) {
|
|
131
|
+
insertIntoHeapHeight(n.C, t);
|
|
130
132
|
}
|
|
131
133
|
}
|
|
132
134
|
}
|
|
133
|
-
const
|
|
134
|
-
|
|
135
|
-
const
|
|
136
|
-
|
|
137
|
-
let
|
|
138
|
-
let
|
|
139
|
-
let
|
|
135
|
+
const b = new Set();
|
|
136
|
+
const _ = { l: new Array(2e3).fill(undefined), _: false, W: 0, S: 0 };
|
|
137
|
+
const O = { l: new Array(2e3).fill(undefined), _: false, W: 0, S: 0 };
|
|
138
|
+
let x = 0;
|
|
139
|
+
let v = null;
|
|
140
|
+
let P = false;
|
|
141
|
+
let C = false;
|
|
142
|
+
let k = false;
|
|
143
|
+
function setOptimisticReadActive(e) {
|
|
144
|
+
C = e;
|
|
145
|
+
}
|
|
146
|
+
function setProjectionWriteActive(e) {
|
|
147
|
+
k = e;
|
|
148
|
+
}
|
|
140
149
|
function schedule() {
|
|
141
|
-
if (
|
|
142
|
-
|
|
143
|
-
if (!
|
|
150
|
+
if (P) return;
|
|
151
|
+
P = true;
|
|
152
|
+
if (!A.T) queueMicrotask(flush);
|
|
144
153
|
}
|
|
145
154
|
class Queue {
|
|
146
155
|
i = null;
|
|
147
|
-
|
|
156
|
+
q = [[], []];
|
|
157
|
+
F = [[], []];
|
|
148
158
|
V = [];
|
|
149
|
-
created =
|
|
159
|
+
created = x;
|
|
150
160
|
addChild(e) {
|
|
151
161
|
this.V.push(e);
|
|
152
162
|
e.i = this;
|
|
@@ -162,37 +172,46 @@ class Queue {
|
|
|
162
172
|
if (this.i) return this.i.notify(e, t, n);
|
|
163
173
|
return false;
|
|
164
174
|
}
|
|
165
|
-
|
|
166
|
-
if (
|
|
167
|
-
const
|
|
168
|
-
|
|
169
|
-
runQueue(
|
|
175
|
+
M(e, t, n) {
|
|
176
|
+
if (t[e - 1].length) {
|
|
177
|
+
const n = t[e - 1];
|
|
178
|
+
t[e - 1] = [];
|
|
179
|
+
runQueue(n, e);
|
|
170
180
|
}
|
|
171
181
|
for (let t = 0; t < this.V.length; t++) {
|
|
172
|
-
this.V[t]
|
|
182
|
+
this.V[t][n]?.(e);
|
|
173
183
|
}
|
|
174
184
|
}
|
|
185
|
+
run(e) {
|
|
186
|
+
this.M(e, this.q, "run");
|
|
187
|
+
}
|
|
188
|
+
runOptimistic(e) {
|
|
189
|
+
this.M(e, this.F, "runOptimistic");
|
|
190
|
+
}
|
|
175
191
|
enqueue(e, t) {
|
|
176
|
-
if (e)
|
|
192
|
+
if (e) {
|
|
193
|
+
const n = C ? this.F : this.q;
|
|
194
|
+
n[e - 1].push(t);
|
|
195
|
+
}
|
|
177
196
|
schedule();
|
|
178
197
|
}
|
|
179
198
|
stashQueues(e) {
|
|
180
|
-
e.
|
|
181
|
-
e.
|
|
182
|
-
this.
|
|
199
|
+
e.q[0].push(...this.q[0]);
|
|
200
|
+
e.q[1].push(...this.q[1]);
|
|
201
|
+
this.q = [[], []];
|
|
183
202
|
for (let t = 0; t < this.V.length; t++) {
|
|
184
203
|
let n = this.V[t];
|
|
185
204
|
let r = e.V[t];
|
|
186
205
|
if (!r) {
|
|
187
|
-
r = {
|
|
206
|
+
r = { q: [[], []], V: [] };
|
|
188
207
|
e.V[t] = r;
|
|
189
208
|
}
|
|
190
209
|
n.stashQueues(r);
|
|
191
210
|
}
|
|
192
211
|
}
|
|
193
212
|
restoreQueues(e) {
|
|
194
|
-
this.
|
|
195
|
-
this.
|
|
213
|
+
this.q[0].push(...e.q[0]);
|
|
214
|
+
this.q[1].push(...e.q[1]);
|
|
196
215
|
for (let t = 0; t < e.V.length; t++) {
|
|
197
216
|
const n = e.V[t];
|
|
198
217
|
let r = this.V[t];
|
|
@@ -201,50 +220,62 @@ class Queue {
|
|
|
201
220
|
}
|
|
202
221
|
}
|
|
203
222
|
class GlobalQueue extends Queue {
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
static
|
|
223
|
+
T = false;
|
|
224
|
+
D = [];
|
|
225
|
+
B = [];
|
|
226
|
+
G = new Set();
|
|
227
|
+
static K;
|
|
228
|
+
static U;
|
|
229
|
+
static L = null;
|
|
209
230
|
flush() {
|
|
210
|
-
if (this.
|
|
211
|
-
this.
|
|
231
|
+
if (this.T) return;
|
|
232
|
+
this.T = true;
|
|
212
233
|
try {
|
|
213
|
-
runHeap(
|
|
214
|
-
if (
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
this.
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
234
|
+
runHeap(_, GlobalQueue.K);
|
|
235
|
+
if (v) {
|
|
236
|
+
const e = transitionComplete(v);
|
|
237
|
+
if (!e) {
|
|
238
|
+
let e = v;
|
|
239
|
+
runHeap(O, GlobalQueue.K);
|
|
240
|
+
this.D = [];
|
|
241
|
+
this.B = [];
|
|
242
|
+
this.G = new Set();
|
|
243
|
+
this.runOptimistic(p);
|
|
244
|
+
this.runOptimistic(h);
|
|
245
|
+
this.stashQueues(v.queueStash);
|
|
246
|
+
x++;
|
|
247
|
+
P = false;
|
|
248
|
+
runTransitionPending(v.pendingNodes);
|
|
249
|
+
v = null;
|
|
250
|
+
finalizePureQueue(null, true);
|
|
225
251
|
return;
|
|
226
252
|
}
|
|
227
|
-
this.
|
|
228
|
-
this.
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
runTransitionPending(this.
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
253
|
+
this.D !== v.pendingNodes && this.D.push(...v.pendingNodes);
|
|
254
|
+
this.restoreQueues(v.queueStash);
|
|
255
|
+
b.delete(v);
|
|
256
|
+
const t = v;
|
|
257
|
+
v = null;
|
|
258
|
+
runTransitionPending(this.D);
|
|
259
|
+
finalizePureQueue(t);
|
|
260
|
+
} else {
|
|
261
|
+
if (b.size) runHeap(O, GlobalQueue.K);
|
|
262
|
+
finalizePureQueue();
|
|
263
|
+
}
|
|
264
|
+
x++;
|
|
265
|
+
P = _.S >= _.W;
|
|
266
|
+
this.runOptimistic(p);
|
|
267
|
+
this.run(p);
|
|
268
|
+
this.runOptimistic(h);
|
|
238
269
|
this.run(h);
|
|
239
270
|
} finally {
|
|
240
|
-
this.
|
|
271
|
+
this.T = false;
|
|
241
272
|
}
|
|
242
273
|
}
|
|
243
274
|
notify(e, t, n) {
|
|
244
|
-
if (t &
|
|
245
|
-
if (n &
|
|
246
|
-
if (
|
|
247
|
-
|
|
275
|
+
if (t & c) {
|
|
276
|
+
if (n & c) {
|
|
277
|
+
if (v && e.J && !v.asyncNodes.includes(e.J.cause)) {
|
|
278
|
+
v.asyncNodes.push(e.J.cause);
|
|
248
279
|
schedule();
|
|
249
280
|
}
|
|
250
281
|
}
|
|
@@ -254,95 +285,114 @@ class GlobalQueue extends Queue {
|
|
|
254
285
|
}
|
|
255
286
|
initTransition(e) {
|
|
256
287
|
if (e) e = currentTransition(e);
|
|
257
|
-
if (e && e ===
|
|
258
|
-
if (!e &&
|
|
259
|
-
if (!
|
|
260
|
-
|
|
261
|
-
time:
|
|
288
|
+
if (e && e === v) return;
|
|
289
|
+
if (!e && v && v.time === x) return;
|
|
290
|
+
if (!v) {
|
|
291
|
+
v = e ?? {
|
|
292
|
+
time: x,
|
|
262
293
|
pendingNodes: [],
|
|
263
294
|
asyncNodes: [],
|
|
264
295
|
optimisticNodes: [],
|
|
296
|
+
optimisticStores: new Set(),
|
|
265
297
|
actions: [],
|
|
266
|
-
queueStash: {
|
|
298
|
+
queueStash: { q: [[], []], V: [] },
|
|
267
299
|
done: false
|
|
268
300
|
};
|
|
269
301
|
} else if (e) {
|
|
270
|
-
|
|
271
|
-
e.actions.push(...
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
for (let e = 0; e < this.
|
|
278
|
-
const t = this.
|
|
279
|
-
t.
|
|
280
|
-
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
t
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
this.
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
r.L = r.U;
|
|
306
|
-
r.U = p;
|
|
307
|
-
}
|
|
308
|
-
r.G = e;
|
|
309
|
-
notifySubs(r);
|
|
310
|
-
}
|
|
311
|
-
C.M = [];
|
|
312
|
-
if (b._ >= b.P) {
|
|
313
|
-
t = true;
|
|
314
|
-
runHeap(b, GlobalQueue.D);
|
|
315
|
-
}
|
|
316
|
-
S = false;
|
|
317
|
-
t && runPending(C.q);
|
|
318
|
-
}
|
|
319
|
-
function runPending(e) {
|
|
320
|
-
for (let t = 0; t < e.length; t++) {
|
|
321
|
-
const n = e[t];
|
|
322
|
-
if (n.U !== p) {
|
|
323
|
-
n.L = n.U;
|
|
324
|
-
n.U = p;
|
|
325
|
-
if (n.J) n.X = true;
|
|
302
|
+
v.done = e;
|
|
303
|
+
e.actions.push(...v.actions);
|
|
304
|
+
b.delete(v);
|
|
305
|
+
v = e;
|
|
306
|
+
}
|
|
307
|
+
b.add(v);
|
|
308
|
+
v.time = x;
|
|
309
|
+
for (let e = 0; e < this.D.length; e++) {
|
|
310
|
+
const t = this.D[e];
|
|
311
|
+
t.X = v;
|
|
312
|
+
v.pendingNodes.push(t);
|
|
313
|
+
}
|
|
314
|
+
this.D = v.pendingNodes;
|
|
315
|
+
for (let e = 0; e < this.B.length; e++) {
|
|
316
|
+
const t = this.B[e];
|
|
317
|
+
t.X = v;
|
|
318
|
+
v.optimisticNodes.push(t);
|
|
319
|
+
}
|
|
320
|
+
this.B = v.optimisticNodes;
|
|
321
|
+
for (const e of this.G) {
|
|
322
|
+
v.optimisticStores.add(e);
|
|
323
|
+
}
|
|
324
|
+
this.G = v.optimisticStores;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
function insertSubs(e, t = false) {
|
|
328
|
+
for (let n = e.O; n !== null; n = n.P) {
|
|
329
|
+
if (t) n.C.m |= l;
|
|
330
|
+
const e = n.C;
|
|
331
|
+
if (e.Y === y) {
|
|
332
|
+
if (!e.Z) {
|
|
333
|
+
e.Z = true;
|
|
334
|
+
e.$.enqueue(h, e.ee);
|
|
335
|
+
}
|
|
336
|
+
continue;
|
|
326
337
|
}
|
|
327
|
-
|
|
338
|
+
const r = n.C.m & o ? O : _;
|
|
339
|
+
if (r.W > n.C.o) r.W = n.C.o;
|
|
340
|
+
insertIntoHeap(n.C, r);
|
|
328
341
|
}
|
|
329
|
-
e.length = 0;
|
|
330
342
|
}
|
|
331
|
-
function
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
343
|
+
function finalizePureQueue(e = null, t = false) {
|
|
344
|
+
let n = !t;
|
|
345
|
+
if (_.S >= _.W) {
|
|
346
|
+
n = true;
|
|
347
|
+
runHeap(_, GlobalQueue.K);
|
|
348
|
+
}
|
|
349
|
+
if (n) {
|
|
350
|
+
const t = A.D;
|
|
351
|
+
for (let e = 0; e < t.length; e++) {
|
|
352
|
+
const n = t[e];
|
|
353
|
+
if (n.te !== g) {
|
|
354
|
+
n.ne = n.te;
|
|
355
|
+
n.te = g;
|
|
356
|
+
if (n.Y && n.Y !== y) n.Z = true;
|
|
357
|
+
}
|
|
358
|
+
if (n.R) GlobalQueue.U(n, false, true);
|
|
359
|
+
}
|
|
360
|
+
t.length = 0;
|
|
361
|
+
const n = e ? e.optimisticNodes : A.B;
|
|
362
|
+
for (let e = 0; e < n.length; e++) {
|
|
363
|
+
const t = n[e];
|
|
364
|
+
const r = t.te;
|
|
365
|
+
if (r !== g && t.ne !== r) {
|
|
366
|
+
t.ne = r;
|
|
367
|
+
insertSubs(t, true);
|
|
368
|
+
}
|
|
369
|
+
t.te = g;
|
|
370
|
+
t.X = null;
|
|
371
|
+
}
|
|
372
|
+
n.length = 0;
|
|
373
|
+
const r = e ? e.optimisticStores : A.G;
|
|
374
|
+
if (GlobalQueue.L && r.size) {
|
|
375
|
+
for (const e of r) {
|
|
376
|
+
GlobalQueue.L(e);
|
|
377
|
+
}
|
|
378
|
+
r.clear();
|
|
379
|
+
schedule();
|
|
339
380
|
}
|
|
340
381
|
}
|
|
341
382
|
}
|
|
342
|
-
|
|
383
|
+
function trackOptimisticStore(e) {
|
|
384
|
+
A.G.add(e);
|
|
385
|
+
schedule();
|
|
386
|
+
}
|
|
387
|
+
function runTransitionPending(e) {
|
|
388
|
+
for (let t = 0; t < e.length; t++) {
|
|
389
|
+
e[t].X = v;
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
const A = new GlobalQueue();
|
|
343
393
|
function flush() {
|
|
344
|
-
while (
|
|
345
|
-
|
|
394
|
+
while (P) {
|
|
395
|
+
A.flush();
|
|
346
396
|
}
|
|
347
397
|
}
|
|
348
398
|
function runQueue(e, t) {
|
|
@@ -353,7 +403,7 @@ function transitionComplete(e) {
|
|
|
353
403
|
if (e.actions.length) return false;
|
|
354
404
|
let t = true;
|
|
355
405
|
for (let n = 0; n < e.asyncNodes.length; n++) {
|
|
356
|
-
if (e.asyncNodes[n]
|
|
406
|
+
if (e.asyncNodes[n].re & c) {
|
|
357
407
|
t = false;
|
|
358
408
|
break;
|
|
359
409
|
}
|
|
@@ -366,297 +416,388 @@ function currentTransition(e) {
|
|
|
366
416
|
return e;
|
|
367
417
|
}
|
|
368
418
|
function runInTransition(e, t) {
|
|
369
|
-
const n =
|
|
370
|
-
x = null;
|
|
419
|
+
const n = v;
|
|
371
420
|
try {
|
|
372
|
-
|
|
421
|
+
v = currentTransition(e);
|
|
373
422
|
return t();
|
|
374
423
|
} finally {
|
|
375
|
-
|
|
424
|
+
v = n;
|
|
376
425
|
}
|
|
377
426
|
}
|
|
427
|
+
function restoreTransition(e, t) {
|
|
428
|
+
A.initTransition(e);
|
|
429
|
+
const n = t();
|
|
430
|
+
flush();
|
|
431
|
+
return n;
|
|
432
|
+
}
|
|
378
433
|
function action(e) {
|
|
379
|
-
return (...t) =>
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
if (e.done) {
|
|
391
|
-
r = currentTransition(r);
|
|
392
|
-
r.actions.splice(r.actions.indexOf(n), 1);
|
|
393
|
-
x = r;
|
|
434
|
+
return (...t) =>
|
|
435
|
+
new Promise((n, r) => {
|
|
436
|
+
const i = e(...t);
|
|
437
|
+
A.initTransition();
|
|
438
|
+
let s = v;
|
|
439
|
+
s.actions.push(i);
|
|
440
|
+
const done = (e, t) => {
|
|
441
|
+
s = currentTransition(s);
|
|
442
|
+
const o = s.actions.indexOf(i);
|
|
443
|
+
if (o >= 0) s.actions.splice(o, 1);
|
|
444
|
+
v = s;
|
|
394
445
|
schedule();
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
446
|
+
t ? r(t) : n(e);
|
|
447
|
+
};
|
|
448
|
+
const step = (e, t) => {
|
|
449
|
+
let n;
|
|
450
|
+
try {
|
|
451
|
+
n = t ? i.throw(e) : i.next(e);
|
|
452
|
+
} catch (e) {
|
|
453
|
+
return done(undefined, e);
|
|
454
|
+
}
|
|
455
|
+
if (n instanceof Promise)
|
|
456
|
+
return void n.then(run, e => restoreTransition(s, () => step(e, true)));
|
|
457
|
+
run(n);
|
|
458
|
+
};
|
|
459
|
+
const run = e => {
|
|
460
|
+
if (e.done) return done(e.value);
|
|
461
|
+
if (e.value instanceof Promise)
|
|
462
|
+
return void e.value.then(
|
|
463
|
+
e => restoreTransition(s, () => step(e)),
|
|
464
|
+
e => restoreTransition(s, () => step(e, true))
|
|
465
|
+
);
|
|
466
|
+
restoreTransition(s, () => step(e.value));
|
|
467
|
+
};
|
|
468
|
+
step();
|
|
469
|
+
});
|
|
404
470
|
}
|
|
405
|
-
GlobalQueue.
|
|
406
|
-
GlobalQueue.
|
|
407
|
-
let N = false;
|
|
408
|
-
let k = false;
|
|
409
|
-
let j = false;
|
|
410
|
-
let P = null;
|
|
471
|
+
GlobalQueue.K = recompute;
|
|
472
|
+
GlobalQueue.U = disposeChildren;
|
|
411
473
|
let W = false;
|
|
412
|
-
let
|
|
474
|
+
let j = false;
|
|
475
|
+
let N = false;
|
|
476
|
+
let E = false;
|
|
477
|
+
let H = false;
|
|
478
|
+
let I = false;
|
|
479
|
+
let Q = null;
|
|
413
480
|
function recompute(t, n = false) {
|
|
414
|
-
const i = t.
|
|
481
|
+
const i = t.Y;
|
|
415
482
|
if (!n) {
|
|
416
|
-
if (t.
|
|
417
|
-
deleteFromHeap(t, t.
|
|
418
|
-
if (t.
|
|
483
|
+
if (t.X && (!i || v) && v !== t.X) A.initTransition(t.X);
|
|
484
|
+
deleteFromHeap(t, t.m & o ? O : _);
|
|
485
|
+
if (t.X) disposeChildren(t);
|
|
419
486
|
else {
|
|
420
487
|
markDisposal(t);
|
|
421
|
-
t.
|
|
422
|
-
t.
|
|
423
|
-
t.
|
|
424
|
-
t.
|
|
425
|
-
}
|
|
426
|
-
}
|
|
427
|
-
const s =
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
t.
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
let
|
|
435
|
-
let
|
|
436
|
-
let
|
|
437
|
-
|
|
438
|
-
|
|
488
|
+
t.ie = t.se;
|
|
489
|
+
t.oe = t.ue;
|
|
490
|
+
t.se = null;
|
|
491
|
+
t.ue = null;
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
const s = !!(t.m & l);
|
|
495
|
+
const u = t.le && t.te !== g;
|
|
496
|
+
const f = Q;
|
|
497
|
+
Q = t;
|
|
498
|
+
t.fe = null;
|
|
499
|
+
t.m = r;
|
|
500
|
+
t.ce = x;
|
|
501
|
+
let d = t.te === g ? t.ne : t.te;
|
|
502
|
+
let p = t.o;
|
|
503
|
+
let h = W;
|
|
504
|
+
let y = C;
|
|
505
|
+
W = true;
|
|
506
|
+
if (s) setOptimisticReadActive(true);
|
|
439
507
|
try {
|
|
440
|
-
|
|
441
|
-
t
|
|
508
|
+
d = handleAsync(t, t.R(d));
|
|
509
|
+
clearStatus(t);
|
|
442
510
|
} catch (e) {
|
|
443
511
|
if (e instanceof NotReadyError) {
|
|
444
512
|
if (e.cause !== t) link(e.cause, t);
|
|
445
|
-
|
|
446
|
-
} else
|
|
513
|
+
notifyStatus(t, c, e);
|
|
514
|
+
} else notifyStatus(t, a, e);
|
|
447
515
|
} finally {
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
if (!
|
|
453
|
-
const e = t.
|
|
454
|
-
let
|
|
455
|
-
if (
|
|
516
|
+
W = h;
|
|
517
|
+
t.m = e;
|
|
518
|
+
Q = f;
|
|
519
|
+
}
|
|
520
|
+
if (!t.J) {
|
|
521
|
+
const e = t.fe;
|
|
522
|
+
let r = e !== null ? e.N : t.j;
|
|
523
|
+
if (r !== null) {
|
|
456
524
|
do {
|
|
457
|
-
|
|
458
|
-
} while (
|
|
459
|
-
if (e !== null) e.
|
|
460
|
-
else t.
|
|
461
|
-
}
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
if (t.fe) setSignal(t.fe, u);
|
|
472
|
-
}
|
|
473
|
-
(!t.oe || S) && notifySubs(t);
|
|
474
|
-
} else if (t.o != d) {
|
|
475
|
-
for (let e = t.O; e !== null; e = e.C) {
|
|
476
|
-
insertIntoHeapHeight(e.N, e.N.S & o ? m : b);
|
|
525
|
+
r = unlinkSubs(r);
|
|
526
|
+
} while (r !== null);
|
|
527
|
+
if (e !== null) e.N = null;
|
|
528
|
+
else t.j = null;
|
|
529
|
+
}
|
|
530
|
+
const l = !t.ae || !t.ae(t.te === g ? t.ne : t.te, d);
|
|
531
|
+
if (l) {
|
|
532
|
+
if (n || (i && v !== t.X) || s) t.ne = d;
|
|
533
|
+
else t.te = d;
|
|
534
|
+
insertSubs(t, s || u);
|
|
535
|
+
} else if (t.o != p) {
|
|
536
|
+
for (let e = t.O; e !== null; e = e.P) {
|
|
537
|
+
insertIntoHeapHeight(e.C, e.C.m & o ? O : _);
|
|
538
|
+
}
|
|
477
539
|
}
|
|
478
540
|
}
|
|
479
|
-
|
|
480
|
-
(!n || t
|
|
481
|
-
t.
|
|
541
|
+
setOptimisticReadActive(y);
|
|
542
|
+
(!n || t.re & c) && !t.X && A.D.push(t);
|
|
543
|
+
t.X && i && v !== t.X && runInTransition(t.X, () => recompute(t));
|
|
482
544
|
}
|
|
483
545
|
function handleAsync(e, t, n) {
|
|
484
546
|
const r = typeof t === "object" && t !== null;
|
|
485
|
-
const i = r &&
|
|
486
|
-
const s = r && untrack(() => t
|
|
487
|
-
if (!
|
|
488
|
-
e.
|
|
547
|
+
const i = r && untrack(() => t[Symbol.asyncIterator]);
|
|
548
|
+
const s = !i && r && untrack(() => typeof t.then === "function");
|
|
549
|
+
if (!s && !i) {
|
|
550
|
+
e.de = null;
|
|
489
551
|
return t;
|
|
490
552
|
}
|
|
491
|
-
e.
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
553
|
+
e.de = t;
|
|
554
|
+
let o;
|
|
555
|
+
const handleError = n => {
|
|
556
|
+
if (e.de !== t) return;
|
|
557
|
+
A.initTransition(e.X);
|
|
558
|
+
if (n instanceof NotReadyError) {
|
|
559
|
+
if (n.cause !== e) link(n.cause, e);
|
|
560
|
+
notifyStatus(e, c, n);
|
|
561
|
+
} else notifyStatus(e, a, n);
|
|
562
|
+
e.ce = x;
|
|
563
|
+
};
|
|
564
|
+
const asyncWrite = (r, i) => {
|
|
565
|
+
if (e.de !== t) return;
|
|
566
|
+
A.initTransition(e.X);
|
|
567
|
+
clearStatus(e);
|
|
568
|
+
if (n) n(r);
|
|
569
|
+
else if (e.le) {
|
|
570
|
+
const t = e.te !== g;
|
|
571
|
+
if (e.R) e.te = r;
|
|
572
|
+
if (!t) {
|
|
573
|
+
e.ne = r;
|
|
574
|
+
insertSubs(e);
|
|
575
|
+
}
|
|
576
|
+
e.ce = x;
|
|
504
577
|
schedule();
|
|
505
|
-
|
|
506
|
-
|
|
578
|
+
} else setSignal(e, () => r);
|
|
579
|
+
flush();
|
|
580
|
+
i?.();
|
|
581
|
+
};
|
|
582
|
+
if (s) {
|
|
583
|
+
let n = false,
|
|
584
|
+
r = true;
|
|
585
|
+
t.then(
|
|
586
|
+
e => {
|
|
587
|
+
if (r) {
|
|
588
|
+
o = e;
|
|
589
|
+
n = true;
|
|
590
|
+
} else asyncWrite(e);
|
|
591
|
+
},
|
|
592
|
+
e => {
|
|
593
|
+
if (!r) handleError(e);
|
|
594
|
+
}
|
|
595
|
+
);
|
|
596
|
+
r = false;
|
|
597
|
+
if (!n) {
|
|
598
|
+
A.initTransition(e.X);
|
|
599
|
+
throw new NotReadyError(Q);
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
if (i) {
|
|
603
|
+
const n = t[Symbol.asyncIterator]();
|
|
604
|
+
let r = false;
|
|
605
|
+
const iterate = () => {
|
|
606
|
+
let e,
|
|
607
|
+
t = false,
|
|
608
|
+
i = true;
|
|
609
|
+
n.next().then(
|
|
610
|
+
n => {
|
|
611
|
+
if (i) {
|
|
612
|
+
e = n;
|
|
613
|
+
t = true;
|
|
614
|
+
} else if (!n.done) asyncWrite(n.value, iterate);
|
|
615
|
+
},
|
|
616
|
+
e => {
|
|
617
|
+
if (!i) handleError(e);
|
|
618
|
+
}
|
|
619
|
+
);
|
|
620
|
+
i = false;
|
|
621
|
+
if (t && !e.done) {
|
|
622
|
+
o = e.value;
|
|
623
|
+
r = true;
|
|
624
|
+
return iterate();
|
|
625
|
+
}
|
|
626
|
+
return t && e.done;
|
|
627
|
+
};
|
|
628
|
+
const i = iterate();
|
|
629
|
+
if (!r && !i) {
|
|
630
|
+
A.initTransition(e.X);
|
|
631
|
+
throw new NotReadyError(Q);
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
return o;
|
|
635
|
+
}
|
|
636
|
+
function clearStatus(e) {
|
|
637
|
+
e.re = f;
|
|
638
|
+
e.J = null;
|
|
639
|
+
updatePendingSignal(e);
|
|
640
|
+
if (e.pe) {
|
|
641
|
+
e.pe();
|
|
507
642
|
} else {
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
C.initTransition(e.G);
|
|
513
|
-
n ? n(r) : setSignal(e, () => r);
|
|
514
|
-
flush();
|
|
643
|
+
if (!e.X) {
|
|
644
|
+
for (let t = e.O; t !== null; t = t.P) {
|
|
645
|
+
if (t.C.re & c) {
|
|
646
|
+
insertIntoHeap(t.C, t.C.m & o ? O : _);
|
|
515
647
|
}
|
|
516
|
-
} catch (n) {
|
|
517
|
-
if (e.ce !== t) return;
|
|
518
|
-
C.initTransition(e.G);
|
|
519
|
-
setStatusFlags(e, c, n);
|
|
520
|
-
e.se = O;
|
|
521
|
-
notifySubs(e);
|
|
522
|
-
schedule();
|
|
523
|
-
flush();
|
|
524
648
|
}
|
|
525
|
-
}
|
|
649
|
+
}
|
|
650
|
+
schedule();
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
function notifyStatus(e, t, n) {
|
|
654
|
+
e.re = t | (e.re & d);
|
|
655
|
+
e.J = n;
|
|
656
|
+
updatePendingSignal(e);
|
|
657
|
+
if (e.pe) return e.pe();
|
|
658
|
+
for (let r = e.O; r !== null; r = r.P) {
|
|
659
|
+
r.C.ce = x;
|
|
660
|
+
if (r.C.J !== n) {
|
|
661
|
+
!r.C.X && A.D.push(r.C);
|
|
662
|
+
notifyStatus(r.C, t, n);
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
for (let r = e.k; r !== null; r = r.A) {
|
|
666
|
+
for (let e = r.O; e !== null; e = e.P) {
|
|
667
|
+
e.C.ce = x;
|
|
668
|
+
if (e.C.J !== n) {
|
|
669
|
+
!e.C.X && A.D.push(e.C);
|
|
670
|
+
notifyStatus(e.C, t, n);
|
|
671
|
+
}
|
|
672
|
+
}
|
|
526
673
|
}
|
|
527
|
-
C.initTransition(e.G);
|
|
528
|
-
throw new NotReadyError(A);
|
|
529
674
|
}
|
|
530
675
|
function updateIfNecessary(r) {
|
|
531
|
-
if (r.
|
|
532
|
-
for (let e = r.
|
|
533
|
-
const t = e.
|
|
534
|
-
const i = t.
|
|
535
|
-
if (i.
|
|
676
|
+
if (r.m & t) {
|
|
677
|
+
for (let e = r.j; e; e = e.N) {
|
|
678
|
+
const t = e.H;
|
|
679
|
+
const i = t.I || t;
|
|
680
|
+
if (i.R) {
|
|
536
681
|
updateIfNecessary(i);
|
|
537
682
|
}
|
|
538
|
-
if (r.
|
|
683
|
+
if (r.m & n) {
|
|
539
684
|
break;
|
|
540
685
|
}
|
|
541
686
|
}
|
|
542
687
|
}
|
|
543
|
-
if (r.
|
|
688
|
+
if (r.m & n) {
|
|
544
689
|
recompute(r);
|
|
545
690
|
}
|
|
546
|
-
r.
|
|
691
|
+
r.m = e;
|
|
547
692
|
}
|
|
548
693
|
function unlinkSubs(e) {
|
|
549
|
-
const t = e.
|
|
550
|
-
const n = e.
|
|
551
|
-
const r = e.
|
|
552
|
-
const i = e.
|
|
553
|
-
if (r !== null) r.
|
|
554
|
-
else t.
|
|
555
|
-
if (i !== null) i.
|
|
694
|
+
const t = e.H;
|
|
695
|
+
const n = e.N;
|
|
696
|
+
const r = e.P;
|
|
697
|
+
const i = e.he;
|
|
698
|
+
if (r !== null) r.he = i;
|
|
699
|
+
else t.ye = i;
|
|
700
|
+
if (i !== null) i.P = r;
|
|
556
701
|
else {
|
|
557
702
|
t.O = r;
|
|
558
703
|
if (r === null) {
|
|
559
|
-
t.
|
|
560
|
-
t.
|
|
704
|
+
t.ge?.();
|
|
705
|
+
t.R && !t.we && unobserved(t);
|
|
561
706
|
}
|
|
562
707
|
}
|
|
563
708
|
return n;
|
|
564
709
|
}
|
|
565
710
|
function unobserved(e) {
|
|
566
|
-
deleteFromHeap(e, e.
|
|
567
|
-
let t = e.
|
|
711
|
+
deleteFromHeap(e, e.m & o ? O : _);
|
|
712
|
+
let t = e.j;
|
|
568
713
|
while (t !== null) {
|
|
569
714
|
t = unlinkSubs(t);
|
|
570
715
|
}
|
|
571
|
-
e.
|
|
716
|
+
e.j = null;
|
|
572
717
|
disposeChildren(e, true);
|
|
573
718
|
}
|
|
574
719
|
function link(e, t) {
|
|
575
|
-
const n = t.
|
|
576
|
-
if (n !== null && n.
|
|
720
|
+
const n = t.fe;
|
|
721
|
+
if (n !== null && n.H === e) return;
|
|
577
722
|
let i = null;
|
|
578
|
-
const s = t.
|
|
723
|
+
const s = t.m & r;
|
|
579
724
|
if (s) {
|
|
580
|
-
i = n !== null ? n.
|
|
581
|
-
if (i !== null && i.
|
|
582
|
-
t.
|
|
725
|
+
i = n !== null ? n.N : t.j;
|
|
726
|
+
if (i !== null && i.H === e) {
|
|
727
|
+
t.fe = i;
|
|
583
728
|
return;
|
|
584
729
|
}
|
|
585
730
|
}
|
|
586
|
-
const o = e.
|
|
587
|
-
if (o !== null && o.
|
|
588
|
-
const u = (t.
|
|
589
|
-
if (n !== null) n.
|
|
590
|
-
else t.
|
|
591
|
-
if (o !== null) o.
|
|
731
|
+
const o = e.ye;
|
|
732
|
+
if (o !== null && o.C === t && (!s || isValidLink(o, t))) return;
|
|
733
|
+
const u = (t.fe = e.ye = { H: e, C: t, N: i, he: o, P: null });
|
|
734
|
+
if (n !== null) n.N = u;
|
|
735
|
+
else t.j = u;
|
|
736
|
+
if (o !== null) o.P = u;
|
|
592
737
|
else e.O = u;
|
|
593
738
|
}
|
|
594
739
|
function isValidLink(e, t) {
|
|
595
|
-
const n = t.
|
|
740
|
+
const n = t.fe;
|
|
596
741
|
if (n !== null) {
|
|
597
|
-
let r = t.
|
|
742
|
+
let r = t.j;
|
|
598
743
|
do {
|
|
599
744
|
if (r === e) return true;
|
|
600
745
|
if (r === n) break;
|
|
601
|
-
r = r.
|
|
746
|
+
r = r.N;
|
|
602
747
|
} while (r !== null);
|
|
603
748
|
}
|
|
604
749
|
return false;
|
|
605
750
|
}
|
|
606
|
-
function setStatusFlags(e, t, n = null) {
|
|
607
|
-
e.$ = t;
|
|
608
|
-
e.K = n;
|
|
609
|
-
}
|
|
610
751
|
function markDisposal(e) {
|
|
611
|
-
let t = e.
|
|
752
|
+
let t = e.ue;
|
|
612
753
|
while (t) {
|
|
613
|
-
t.
|
|
614
|
-
if (t.
|
|
615
|
-
deleteFromHeap(t,
|
|
616
|
-
insertIntoHeap(t,
|
|
754
|
+
t.m |= o;
|
|
755
|
+
if (t.m & i) {
|
|
756
|
+
deleteFromHeap(t, _);
|
|
757
|
+
insertIntoHeap(t, O);
|
|
617
758
|
}
|
|
618
759
|
markDisposal(t);
|
|
619
|
-
t = t.
|
|
760
|
+
t = t.Se;
|
|
620
761
|
}
|
|
621
762
|
}
|
|
622
763
|
function dispose(e) {
|
|
623
|
-
let t = e.
|
|
764
|
+
let t = e.j || null;
|
|
624
765
|
do {
|
|
625
766
|
t = unlinkSubs(t);
|
|
626
767
|
} while (t !== null);
|
|
627
|
-
e.
|
|
628
|
-
e.
|
|
768
|
+
e.j = null;
|
|
769
|
+
e.fe = null;
|
|
629
770
|
disposeChildren(e, true);
|
|
630
771
|
}
|
|
631
772
|
function disposeChildren(e, t = false, n) {
|
|
632
|
-
if (e.
|
|
633
|
-
if (t) e.
|
|
634
|
-
let r = n ? e.
|
|
773
|
+
if (e.m & u) return;
|
|
774
|
+
if (t) e.m = u;
|
|
775
|
+
let r = n ? e.oe : e.ue;
|
|
635
776
|
while (r) {
|
|
636
|
-
const e = r.
|
|
637
|
-
if (r.
|
|
777
|
+
const e = r.Se;
|
|
778
|
+
if (r.j) {
|
|
638
779
|
const e = r;
|
|
639
|
-
deleteFromHeap(e, e.
|
|
640
|
-
let t = e.
|
|
780
|
+
deleteFromHeap(e, e.m & o ? O : _);
|
|
781
|
+
let t = e.j;
|
|
641
782
|
do {
|
|
642
783
|
t = unlinkSubs(t);
|
|
643
784
|
} while (t !== null);
|
|
644
|
-
e.
|
|
645
|
-
e.
|
|
785
|
+
e.j = null;
|
|
786
|
+
e.fe = null;
|
|
646
787
|
}
|
|
647
788
|
disposeChildren(r, true);
|
|
648
789
|
r = e;
|
|
649
790
|
}
|
|
650
791
|
if (n) {
|
|
651
|
-
e.
|
|
792
|
+
e.oe = null;
|
|
652
793
|
} else {
|
|
653
|
-
e.
|
|
654
|
-
e.
|
|
794
|
+
e.ue = null;
|
|
795
|
+
e.Se = null;
|
|
655
796
|
}
|
|
656
797
|
runDisposal(e, n);
|
|
657
798
|
}
|
|
658
799
|
function runDisposal(e, t) {
|
|
659
|
-
let n = t ? e.
|
|
800
|
+
let n = t ? e.ie : e.se;
|
|
660
801
|
if (!n) return;
|
|
661
802
|
if (Array.isArray(n)) {
|
|
662
803
|
for (let e = 0; e < n.length; e++) {
|
|
@@ -666,10 +807,10 @@ function runDisposal(e, t) {
|
|
|
666
807
|
} else {
|
|
667
808
|
n.call(n);
|
|
668
809
|
}
|
|
669
|
-
t ? (e.
|
|
810
|
+
t ? (e.ie = null) : (e.se = null);
|
|
670
811
|
}
|
|
671
812
|
function getNextChildId(e) {
|
|
672
|
-
if (e.id != null) return formatId(e.id, e.
|
|
813
|
+
if (e.id != null) return formatId(e.id, e.me++);
|
|
673
814
|
throw new Error("Cannot get child id from owner without an id");
|
|
674
815
|
}
|
|
675
816
|
function formatId(e, t) {
|
|
@@ -679,46 +820,45 @@ function formatId(e, t) {
|
|
|
679
820
|
}
|
|
680
821
|
function computed(t, n, r) {
|
|
681
822
|
const i = {
|
|
682
|
-
id: r?.id ?? (
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
823
|
+
id: r?.id ?? (Q?.id != null ? getNextChildId(Q) : undefined),
|
|
824
|
+
ae: r?.equals != null ? r.equals : isEqual,
|
|
825
|
+
be: !!r?.pureWrite,
|
|
826
|
+
ge: r?.unobserved,
|
|
827
|
+
se: null,
|
|
828
|
+
$: Q?.$ ?? A,
|
|
829
|
+
_e: Q?._e ?? S,
|
|
830
|
+
me: 0,
|
|
831
|
+
R: t,
|
|
832
|
+
ne: n,
|
|
692
833
|
o: 0,
|
|
693
834
|
k: null,
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
835
|
+
h: undefined,
|
|
836
|
+
p: null,
|
|
837
|
+
j: null,
|
|
838
|
+
fe: null,
|
|
698
839
|
O: null,
|
|
699
|
-
de: null,
|
|
700
|
-
i: A,
|
|
701
840
|
ye: null,
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
841
|
+
i: Q,
|
|
842
|
+
Se: null,
|
|
843
|
+
ue: null,
|
|
844
|
+
m: e,
|
|
845
|
+
re: d,
|
|
846
|
+
ce: x,
|
|
847
|
+
te: g,
|
|
848
|
+
ie: null,
|
|
849
|
+
oe: null,
|
|
850
|
+
de: null,
|
|
851
|
+
X: null
|
|
711
852
|
};
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
const e = A.re;
|
|
853
|
+
i.p = i;
|
|
854
|
+
const s = Q?.t ? Q.u : Q;
|
|
855
|
+
if (Q) {
|
|
856
|
+
const e = Q.ue;
|
|
717
857
|
if (e === null) {
|
|
718
|
-
|
|
858
|
+
Q.ue = i;
|
|
719
859
|
} else {
|
|
720
|
-
i.
|
|
721
|
-
|
|
860
|
+
i.Se = e;
|
|
861
|
+
Q.ue = i;
|
|
722
862
|
}
|
|
723
863
|
}
|
|
724
864
|
if (s) i.o = s.o + 1;
|
|
@@ -727,47 +867,99 @@ function computed(t, n, r) {
|
|
|
727
867
|
}
|
|
728
868
|
function signal(e, t, n = null) {
|
|
729
869
|
const r = {
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
L: e,
|
|
870
|
+
ae: t?.equals != null ? t.equals : isEqual,
|
|
871
|
+
be: !!t?.pureWrite,
|
|
872
|
+
ge: t?.unobserved,
|
|
873
|
+
ne: e,
|
|
735
874
|
O: null,
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
U: p
|
|
875
|
+
ye: null,
|
|
876
|
+
ce: x,
|
|
877
|
+
I: n,
|
|
878
|
+
A: n?.k || null,
|
|
879
|
+
te: g
|
|
742
880
|
};
|
|
743
881
|
n && (n.k = r);
|
|
744
882
|
return r;
|
|
745
883
|
}
|
|
884
|
+
function optimisticSignal(e, t) {
|
|
885
|
+
const n = signal(e, t);
|
|
886
|
+
n.le = true;
|
|
887
|
+
return n;
|
|
888
|
+
}
|
|
889
|
+
function optimisticComputed(e, t, n) {
|
|
890
|
+
const r = computed(e, t, n);
|
|
891
|
+
r.le = true;
|
|
892
|
+
return r;
|
|
893
|
+
}
|
|
894
|
+
function getPendingSignal(e) {
|
|
895
|
+
if (!e.Oe) {
|
|
896
|
+
e.Oe = optimisticSignal(false, { pureWrite: true });
|
|
897
|
+
if (computePendingState(e)) setSignal(e.Oe, true);
|
|
898
|
+
}
|
|
899
|
+
return e.Oe;
|
|
900
|
+
}
|
|
901
|
+
function computePendingState(e) {
|
|
902
|
+
if (e.te !== g) return true;
|
|
903
|
+
const t = e;
|
|
904
|
+
return !!(t.re & c && !(t.re & d));
|
|
905
|
+
}
|
|
906
|
+
function getPendingValueComputed(e) {
|
|
907
|
+
if (!e.xe) {
|
|
908
|
+
const t = I;
|
|
909
|
+
I = false;
|
|
910
|
+
e.xe = optimisticComputed(() => read(e));
|
|
911
|
+
I = t;
|
|
912
|
+
}
|
|
913
|
+
return e.xe;
|
|
914
|
+
}
|
|
915
|
+
function updatePendingSignal(e) {
|
|
916
|
+
if (e.Oe) setSignal(e.Oe, computePendingState(e));
|
|
917
|
+
}
|
|
746
918
|
function isEqual(e, t) {
|
|
747
919
|
return e === t;
|
|
748
920
|
}
|
|
749
921
|
function untrack(e) {
|
|
750
|
-
if (!
|
|
751
|
-
|
|
922
|
+
if (!W) return e();
|
|
923
|
+
W = false;
|
|
752
924
|
try {
|
|
753
925
|
return e();
|
|
754
926
|
} finally {
|
|
755
|
-
|
|
927
|
+
W = true;
|
|
756
928
|
}
|
|
757
929
|
}
|
|
758
930
|
function read(e) {
|
|
759
|
-
|
|
931
|
+
if (E) {
|
|
932
|
+
const t = e.I || e;
|
|
933
|
+
const n = getPendingSignal(t);
|
|
934
|
+
const r = E;
|
|
935
|
+
E = false;
|
|
936
|
+
if (read(n)) {
|
|
937
|
+
H = true;
|
|
938
|
+
}
|
|
939
|
+
E = r;
|
|
940
|
+
return e.ne;
|
|
941
|
+
}
|
|
942
|
+
if (I) {
|
|
943
|
+
const t = getPendingValueComputed(e);
|
|
944
|
+
const n = I;
|
|
945
|
+
I = false;
|
|
946
|
+
const r = read(t);
|
|
947
|
+
I = n;
|
|
948
|
+
if (t.re & c) return e.ne;
|
|
949
|
+
return r;
|
|
950
|
+
}
|
|
951
|
+
let t = Q;
|
|
760
952
|
if (t?.t) t = t.u;
|
|
761
|
-
if (
|
|
762
|
-
if (t &&
|
|
763
|
-
if (e.
|
|
953
|
+
if (N && e.R) recompute(e);
|
|
954
|
+
if (t && W) {
|
|
955
|
+
if (e.R && e.m & u) recompute(e);
|
|
764
956
|
link(e, t);
|
|
765
|
-
const n = e.
|
|
766
|
-
if (n.
|
|
767
|
-
const r = e.
|
|
768
|
-
if (n.o >= (r ?
|
|
957
|
+
const n = e.I || e;
|
|
958
|
+
if (n.R) {
|
|
959
|
+
const r = e.m & o;
|
|
960
|
+
if (n.o >= (r ? O.W : _.W)) {
|
|
769
961
|
markNode(t);
|
|
770
|
-
markHeap(r ?
|
|
962
|
+
markHeap(r ? O : _);
|
|
771
963
|
updateIfNecessary(n);
|
|
772
964
|
}
|
|
773
965
|
const i = n.o;
|
|
@@ -776,111 +968,87 @@ function read(e) {
|
|
|
776
968
|
}
|
|
777
969
|
}
|
|
778
970
|
}
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
}
|
|
784
|
-
j = false;
|
|
785
|
-
try {
|
|
786
|
-
return read(e.fe);
|
|
787
|
-
} finally {
|
|
788
|
-
j = true;
|
|
789
|
-
}
|
|
790
|
-
}
|
|
791
|
-
const n = e.F || e;
|
|
792
|
-
if (P) {
|
|
793
|
-
if (!n.Y) {
|
|
794
|
-
n.Y = signal(false);
|
|
795
|
-
n.Y.oe = true;
|
|
796
|
-
n.Y.Z = e => setSignal(n.Y, e);
|
|
797
|
-
}
|
|
798
|
-
const e = P;
|
|
799
|
-
P = null;
|
|
800
|
-
e.L = read(n.Y) || e.L;
|
|
801
|
-
P = e;
|
|
802
|
-
}
|
|
803
|
-
if (!P && n.$ & f) {
|
|
804
|
-
if ((t && !k) || n.$ & a || e.F) throw n.K;
|
|
805
|
-
else if (t && k) {
|
|
806
|
-
setStatusFlags(t, t.$ | f, n.K);
|
|
807
|
-
}
|
|
808
|
-
}
|
|
809
|
-
if (e.$ & c) {
|
|
810
|
-
if (e.se < O) {
|
|
971
|
+
const n = e.I || e;
|
|
972
|
+
if (t && !C && n.re & c && !(j && n.X && v !== n.X)) throw n.J;
|
|
973
|
+
if (e.R && e.re & a) {
|
|
974
|
+
if (e.ce < x) {
|
|
811
975
|
recompute(e, true);
|
|
812
976
|
return read(e);
|
|
813
|
-
} else
|
|
814
|
-
throw e.K;
|
|
815
|
-
}
|
|
977
|
+
} else throw e.J;
|
|
816
978
|
}
|
|
817
|
-
return !t ||
|
|
979
|
+
return !t || C || e.te === g || (j && e.X && v !== e.X) ? e.ne : e.te;
|
|
818
980
|
}
|
|
819
981
|
function setSignal(e, t) {
|
|
820
|
-
if (e.
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
const
|
|
825
|
-
if (!
|
|
982
|
+
if (e.X && v !== e.X) A.initTransition(e.X);
|
|
983
|
+
const n = e.le && !k;
|
|
984
|
+
const r = n ? e.ne : e.te === g ? e.ne : e.te;
|
|
985
|
+
if (typeof t === "function") t = t(r);
|
|
986
|
+
const i = !e.ae || !e.ae(r, t);
|
|
987
|
+
if (!i) return t;
|
|
826
988
|
if (n) {
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
e.U = t;
|
|
989
|
+
const n = e.te === g;
|
|
990
|
+
if (e.X && !n) {
|
|
991
|
+
A.initTransition(e.X);
|
|
831
992
|
}
|
|
832
|
-
if (
|
|
993
|
+
if (n) {
|
|
994
|
+
e.te = e.ne;
|
|
995
|
+
A.B.push(e);
|
|
996
|
+
}
|
|
997
|
+
e.ne = t;
|
|
998
|
+
} else {
|
|
999
|
+
if (e.te === g) A.D.push(e);
|
|
1000
|
+
e.te = t;
|
|
1001
|
+
}
|
|
1002
|
+
updatePendingSignal(e);
|
|
1003
|
+
if (e.xe) {
|
|
1004
|
+
setSignal(e.xe, t);
|
|
833
1005
|
}
|
|
834
|
-
|
|
835
|
-
e
|
|
836
|
-
e.oe && !S ? C.M.push(e) : notifySubs(e);
|
|
1006
|
+
e.ce = x;
|
|
1007
|
+
insertSubs(e, n);
|
|
837
1008
|
schedule();
|
|
838
1009
|
return t;
|
|
839
1010
|
}
|
|
1011
|
+
const R = {};
|
|
840
1012
|
function getObserver() {
|
|
841
|
-
|
|
1013
|
+
if (E || I) return R;
|
|
1014
|
+
return W ? Q : null;
|
|
842
1015
|
}
|
|
843
1016
|
function getOwner() {
|
|
844
|
-
return
|
|
1017
|
+
return Q;
|
|
845
1018
|
}
|
|
846
1019
|
function onCleanup(e) {
|
|
847
|
-
if (!
|
|
848
|
-
|
|
849
|
-
if (
|
|
850
|
-
|
|
851
|
-
} else if (Array.isArray(t.te)) {
|
|
852
|
-
t.te.push(e);
|
|
853
|
-
} else {
|
|
854
|
-
t.te = [t.te, e];
|
|
855
|
-
}
|
|
1020
|
+
if (!Q) return e;
|
|
1021
|
+
if (!Q.se) Q.se = e;
|
|
1022
|
+
else if (Array.isArray(Q.se)) Q.se.push(e);
|
|
1023
|
+
else Q.se = [Q.se, e];
|
|
856
1024
|
return e;
|
|
857
1025
|
}
|
|
858
1026
|
function createOwner(e) {
|
|
859
|
-
const t =
|
|
1027
|
+
const t = Q;
|
|
860
1028
|
const n = {
|
|
1029
|
+
id: e?.id ?? (t?.id != null ? getNextChildId(t) : undefined),
|
|
861
1030
|
t: true,
|
|
862
1031
|
u: t?.t ? t.u : t,
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
_e: t?._e
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
ne: null,
|
|
1032
|
+
ue: null,
|
|
1033
|
+
Se: null,
|
|
1034
|
+
se: null,
|
|
1035
|
+
$: t?.$ ?? A,
|
|
1036
|
+
_e: t?._e || S,
|
|
1037
|
+
me: 0,
|
|
1038
|
+
ie: null,
|
|
1039
|
+
oe: null,
|
|
872
1040
|
i: t,
|
|
873
1041
|
dispose(e = true) {
|
|
874
1042
|
disposeChildren(n, e);
|
|
875
1043
|
}
|
|
876
1044
|
};
|
|
877
1045
|
if (t) {
|
|
878
|
-
const e = t.
|
|
1046
|
+
const e = t.ue;
|
|
879
1047
|
if (e === null) {
|
|
880
|
-
t.
|
|
1048
|
+
t.ue = n;
|
|
881
1049
|
} else {
|
|
882
|
-
n.
|
|
883
|
-
t.
|
|
1050
|
+
n.Se = e;
|
|
1051
|
+
t.ue = n;
|
|
884
1052
|
}
|
|
885
1053
|
}
|
|
886
1054
|
return n;
|
|
@@ -890,67 +1058,66 @@ function createRoot(e, t) {
|
|
|
890
1058
|
return runWithOwner(n, () => e(n.dispose));
|
|
891
1059
|
}
|
|
892
1060
|
function runWithOwner(e, t) {
|
|
893
|
-
const n =
|
|
894
|
-
const r =
|
|
895
|
-
|
|
896
|
-
|
|
1061
|
+
const n = Q;
|
|
1062
|
+
const r = W;
|
|
1063
|
+
Q = e;
|
|
1064
|
+
W = false;
|
|
897
1065
|
try {
|
|
898
1066
|
return t();
|
|
899
1067
|
} finally {
|
|
900
|
-
|
|
901
|
-
|
|
1068
|
+
Q = n;
|
|
1069
|
+
W = r;
|
|
902
1070
|
}
|
|
903
1071
|
}
|
|
904
1072
|
function staleValues(e, t = true) {
|
|
905
|
-
const n =
|
|
906
|
-
|
|
1073
|
+
const n = j;
|
|
1074
|
+
j = t;
|
|
907
1075
|
try {
|
|
908
1076
|
return e();
|
|
909
1077
|
} finally {
|
|
910
|
-
|
|
1078
|
+
j = n;
|
|
911
1079
|
}
|
|
912
1080
|
}
|
|
913
1081
|
function pending(e) {
|
|
914
|
-
const t =
|
|
915
|
-
|
|
1082
|
+
const t = I;
|
|
1083
|
+
I = true;
|
|
916
1084
|
try {
|
|
917
|
-
return
|
|
1085
|
+
return e();
|
|
918
1086
|
} finally {
|
|
919
|
-
|
|
1087
|
+
I = t;
|
|
920
1088
|
}
|
|
921
1089
|
}
|
|
922
1090
|
function isPending(e) {
|
|
923
|
-
const t =
|
|
924
|
-
|
|
1091
|
+
const t = E;
|
|
1092
|
+
const n = H;
|
|
1093
|
+
E = true;
|
|
1094
|
+
H = false;
|
|
925
1095
|
try {
|
|
926
|
-
|
|
927
|
-
return
|
|
928
|
-
} catch (e) {
|
|
929
|
-
if (!(e instanceof NotReadyError)) return false;
|
|
930
|
-
throw e;
|
|
1096
|
+
e();
|
|
1097
|
+
return H;
|
|
931
1098
|
} finally {
|
|
932
|
-
|
|
1099
|
+
E = t;
|
|
1100
|
+
H = n;
|
|
933
1101
|
}
|
|
934
1102
|
}
|
|
935
1103
|
function refresh(e) {
|
|
936
|
-
let t =
|
|
937
|
-
|
|
1104
|
+
let t = N;
|
|
1105
|
+
N = true;
|
|
938
1106
|
try {
|
|
939
1107
|
if (typeof e !== "function") {
|
|
940
|
-
recompute(e[
|
|
1108
|
+
recompute(e[m]);
|
|
941
1109
|
return e;
|
|
942
1110
|
}
|
|
943
1111
|
return untrack(e);
|
|
944
1112
|
} finally {
|
|
945
|
-
|
|
1113
|
+
N = t;
|
|
946
1114
|
if (!t) {
|
|
947
1115
|
schedule();
|
|
948
|
-
flush();
|
|
949
1116
|
}
|
|
950
1117
|
}
|
|
951
1118
|
}
|
|
952
1119
|
function isRefreshing() {
|
|
953
|
-
return
|
|
1120
|
+
return N;
|
|
954
1121
|
}
|
|
955
1122
|
function createContext(e, t) {
|
|
956
1123
|
return { id: Symbol(t), defaultValue: e };
|
|
@@ -959,7 +1126,7 @@ function getContext(e, t = getOwner()) {
|
|
|
959
1126
|
if (!t) {
|
|
960
1127
|
throw new NoOwnerError();
|
|
961
1128
|
}
|
|
962
|
-
const n = hasContext(e, t) ? t.
|
|
1129
|
+
const n = hasContext(e, t) ? t._e[e.id] : e.defaultValue;
|
|
963
1130
|
if (isUndefined(n)) {
|
|
964
1131
|
throw new ContextNotFoundError();
|
|
965
1132
|
}
|
|
@@ -969,73 +1136,92 @@ function setContext(e, t, n = getOwner()) {
|
|
|
969
1136
|
if (!n) {
|
|
970
1137
|
throw new NoOwnerError();
|
|
971
1138
|
}
|
|
972
|
-
n.
|
|
1139
|
+
n._e = { ...n._e, [e.id]: isUndefined(t) ? e.defaultValue : t };
|
|
973
1140
|
}
|
|
974
1141
|
function hasContext(e, t) {
|
|
975
|
-
return !isUndefined(t?.
|
|
1142
|
+
return !isUndefined(t?._e[e.id]);
|
|
976
1143
|
}
|
|
977
1144
|
function isUndefined(e) {
|
|
978
1145
|
return typeof e === "undefined";
|
|
979
1146
|
}
|
|
980
1147
|
function effect(e, t, n, r, i) {
|
|
981
1148
|
let s = false;
|
|
982
|
-
const o = computed(e, r, {
|
|
1149
|
+
const o = computed(i?.render ? t => staleValues(() => e(t)) : e, r, {
|
|
983
1150
|
...i,
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
}
|
|
1011
|
-
}
|
|
1012
|
-
if (!this._e.notify(this, c, c)) throw e;
|
|
1013
|
-
} else if (this.J === d) {
|
|
1014
|
-
this._e.notify(this, f | c, this.$);
|
|
1151
|
+
equals: () => {
|
|
1152
|
+
o.Z = !o.J;
|
|
1153
|
+
if (s) o.$.enqueue(o.Y, runEffect.bind(o));
|
|
1154
|
+
return false;
|
|
1155
|
+
},
|
|
1156
|
+
lazy: true
|
|
1157
|
+
});
|
|
1158
|
+
o.ve = r;
|
|
1159
|
+
o.Pe = t;
|
|
1160
|
+
o.Ce = n;
|
|
1161
|
+
o.ke = undefined;
|
|
1162
|
+
o.Y = i?.render ? p : h;
|
|
1163
|
+
o.pe = () => {
|
|
1164
|
+
if (o.re & a) {
|
|
1165
|
+
let e = o.J;
|
|
1166
|
+
o.$.notify(o, c, 0);
|
|
1167
|
+
if (o.Y === h) {
|
|
1168
|
+
try {
|
|
1169
|
+
return o.Ce
|
|
1170
|
+
? o.Ce(e, () => {
|
|
1171
|
+
o.ke?.();
|
|
1172
|
+
o.ke = undefined;
|
|
1173
|
+
})
|
|
1174
|
+
: console.error(e);
|
|
1175
|
+
} catch (t) {
|
|
1176
|
+
e = t;
|
|
1015
1177
|
}
|
|
1016
1178
|
}
|
|
1017
|
-
|
|
1018
|
-
|
|
1179
|
+
if (!o.$.notify(o, a, a)) throw e;
|
|
1180
|
+
} else if (o.Y === p) o.$.notify(o, c | a, o.re);
|
|
1181
|
+
};
|
|
1182
|
+
recompute(o, true);
|
|
1183
|
+
!i?.defer && (o.Y === h ? o.$.enqueue(o.Y, runEffect.bind(o)) : runEffect.call(o));
|
|
1019
1184
|
s = true;
|
|
1020
|
-
|
|
1021
|
-
!i?.defer &&
|
|
1022
|
-
!(o.$ & (c | f)) &&
|
|
1023
|
-
(o.J === h ? o._e.enqueue(o.J, runEffect.bind(o)) : runEffect.call(o));
|
|
1024
|
-
onCleanup(() => o.ve?.());
|
|
1185
|
+
onCleanup(() => o.ke?.());
|
|
1025
1186
|
}
|
|
1026
1187
|
function runEffect() {
|
|
1027
|
-
if (!this.
|
|
1028
|
-
this.
|
|
1029
|
-
this.
|
|
1188
|
+
if (!this.Z || this.m & u) return;
|
|
1189
|
+
this.ke?.();
|
|
1190
|
+
this.ke = undefined;
|
|
1030
1191
|
try {
|
|
1031
|
-
this.
|
|
1192
|
+
this.ke = this.Pe(this.ne, this.ve);
|
|
1032
1193
|
} catch (e) {
|
|
1033
|
-
if (!this
|
|
1194
|
+
if (!this.$.notify(this, a, a)) throw e;
|
|
1034
1195
|
} finally {
|
|
1035
|
-
this.
|
|
1036
|
-
this.
|
|
1196
|
+
this.ve = this.ne;
|
|
1197
|
+
this.Z = false;
|
|
1037
1198
|
}
|
|
1038
1199
|
}
|
|
1200
|
+
function trackedEffect(e, t) {
|
|
1201
|
+
const run = () => {
|
|
1202
|
+
if (!n.Z || n.m & u) return;
|
|
1203
|
+
n.Z = false;
|
|
1204
|
+
recompute(n);
|
|
1205
|
+
};
|
|
1206
|
+
const n = computed(
|
|
1207
|
+
() => {
|
|
1208
|
+
try {
|
|
1209
|
+
n.ke?.();
|
|
1210
|
+
n.ke = undefined;
|
|
1211
|
+
n.ke = staleValues(e) || undefined;
|
|
1212
|
+
} finally {
|
|
1213
|
+
}
|
|
1214
|
+
},
|
|
1215
|
+
undefined,
|
|
1216
|
+
{ ...t, lazy: true, pureWrite: true }
|
|
1217
|
+
);
|
|
1218
|
+
n.ke = undefined;
|
|
1219
|
+
n.Z = true;
|
|
1220
|
+
n.Y = y;
|
|
1221
|
+
n.ee = run;
|
|
1222
|
+
n.$.enqueue(h, run);
|
|
1223
|
+
onCleanup(() => n.ke?.());
|
|
1224
|
+
}
|
|
1039
1225
|
function createSignal(e, t, n) {
|
|
1040
1226
|
if (typeof e === "function") {
|
|
1041
1227
|
const r = computed(e, t, n);
|
|
@@ -1049,12 +1235,14 @@ function createMemo(e, t, n) {
|
|
|
1049
1235
|
return read.bind(null, r);
|
|
1050
1236
|
}
|
|
1051
1237
|
function createEffect(e, t, n, r) {
|
|
1052
|
-
|
|
1238
|
+
effect(e, t.effect || t, t.error, n, r);
|
|
1053
1239
|
}
|
|
1054
1240
|
function createRenderEffect(e, t, n, r) {
|
|
1055
|
-
|
|
1241
|
+
effect(e, t, undefined, n, { render: true, ...r });
|
|
1242
|
+
}
|
|
1243
|
+
function createTrackedEffect(e, t) {
|
|
1244
|
+
trackedEffect(e, t);
|
|
1056
1245
|
}
|
|
1057
|
-
function createTrackedEffect(e, t) {}
|
|
1058
1246
|
function createReaction(e, t) {
|
|
1059
1247
|
let n = undefined;
|
|
1060
1248
|
onCleanup(() => n?.());
|
|
@@ -1091,42 +1279,19 @@ function resolve(e) {
|
|
|
1091
1279
|
});
|
|
1092
1280
|
}
|
|
1093
1281
|
function createOptimistic(e, t, n) {
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
t => {
|
|
1097
|
-
const n = getOwner();
|
|
1098
|
-
const r = e(t);
|
|
1099
|
-
if (n.$ & a) return r;
|
|
1100
|
-
n.U = r;
|
|
1101
|
-
return t;
|
|
1102
|
-
},
|
|
1103
|
-
t,
|
|
1104
|
-
n
|
|
1105
|
-
);
|
|
1106
|
-
r.oe = true;
|
|
1107
|
-
return [read.bind(null, r), setSignal.bind(null, r)];
|
|
1108
|
-
}
|
|
1109
|
-
const r = signal(e, t);
|
|
1110
|
-
r.oe = true;
|
|
1111
|
-
return [
|
|
1112
|
-
read.bind(null, r),
|
|
1113
|
-
t => {
|
|
1114
|
-
r.U = e;
|
|
1115
|
-
return setSignal(r, t);
|
|
1116
|
-
}
|
|
1117
|
-
];
|
|
1282
|
+
const r = typeof e === "function" ? optimisticComputed(e, t, n) : optimisticSignal(e, t);
|
|
1283
|
+
return [read.bind(null, r), setSignal.bind(null, r)];
|
|
1118
1284
|
}
|
|
1119
1285
|
function onSettled(e) {
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
});
|
|
1286
|
+
getOwner()
|
|
1287
|
+
? createTrackedEffect(() => untrack(e))
|
|
1288
|
+
: A.enqueue(h, () => {
|
|
1289
|
+
const t = e();
|
|
1290
|
+
t?.();
|
|
1291
|
+
});
|
|
1127
1292
|
}
|
|
1128
1293
|
function unwrap(e) {
|
|
1129
|
-
return e?.[
|
|
1294
|
+
return e?.[V]?.[U] ?? e;
|
|
1130
1295
|
}
|
|
1131
1296
|
function getOverrideValue(e, t, n, r) {
|
|
1132
1297
|
return t && r in t ? t[r] : e[r];
|
|
@@ -1137,108 +1302,108 @@ function getAllKeys(e, t, n) {
|
|
|
1137
1302
|
return Array.from(new Set([...r, ...i]));
|
|
1138
1303
|
}
|
|
1139
1304
|
function applyState(e, t, n, r) {
|
|
1140
|
-
const i = t?.[
|
|
1305
|
+
const i = t?.[V];
|
|
1141
1306
|
if (!i) return;
|
|
1142
|
-
const s = i[
|
|
1143
|
-
const o = i[
|
|
1144
|
-
let u = i[
|
|
1307
|
+
const s = i[G];
|
|
1308
|
+
const o = i[K];
|
|
1309
|
+
let u = i[U];
|
|
1145
1310
|
if (e === s && !o) return;
|
|
1146
|
-
(i[
|
|
1147
|
-
i[
|
|
1148
|
-
i[
|
|
1311
|
+
(i[X] || $).set(e, i[M]);
|
|
1312
|
+
i[G] = e;
|
|
1313
|
+
i[K] = undefined;
|
|
1149
1314
|
if (Array.isArray(s)) {
|
|
1150
1315
|
let t = false;
|
|
1151
1316
|
const l = getOverrideValue(s, o, u, "length");
|
|
1152
1317
|
if (e.length && l && e[0] && n(e[0]) != null) {
|
|
1153
|
-
let f, c, a, d,
|
|
1318
|
+
let f, c, a, d, p, h, y, g;
|
|
1154
1319
|
for (
|
|
1155
1320
|
a = 0, d = Math.min(l, e.length);
|
|
1156
|
-
a < d && ((
|
|
1321
|
+
a < d && ((h = getOverrideValue(s, o, u, a)) === e[a] || (h && e[a] && n(h) === n(e[a])));
|
|
1157
1322
|
a++
|
|
1158
1323
|
) {
|
|
1159
|
-
applyState(e[a], wrap(
|
|
1324
|
+
applyState(e[a], wrap(h, i), n, r);
|
|
1160
1325
|
}
|
|
1161
1326
|
const w = new Array(e.length),
|
|
1162
|
-
|
|
1327
|
+
S = new Map();
|
|
1163
1328
|
for (
|
|
1164
|
-
d = l - 1,
|
|
1329
|
+
d = l - 1, p = e.length - 1;
|
|
1165
1330
|
d >= a &&
|
|
1166
|
-
|
|
1167
|
-
((
|
|
1168
|
-
d--,
|
|
1331
|
+
p >= a &&
|
|
1332
|
+
((h = getOverrideValue(s, o, u, d)) === e[p] || (h && e[p] && n(h) === n(e[p])));
|
|
1333
|
+
d--, p--
|
|
1169
1334
|
) {
|
|
1170
|
-
w[
|
|
1335
|
+
w[p] = h;
|
|
1171
1336
|
}
|
|
1172
|
-
if (a >
|
|
1173
|
-
for (c = a; c <=
|
|
1337
|
+
if (a > p || a > d) {
|
|
1338
|
+
for (c = a; c <= p; c++) {
|
|
1174
1339
|
t = true;
|
|
1175
|
-
i[
|
|
1340
|
+
i[U][c] && setSignal(i[U][c], wrap(e[c], i));
|
|
1176
1341
|
}
|
|
1177
1342
|
for (; c < e.length; c++) {
|
|
1178
1343
|
t = true;
|
|
1179
1344
|
const s = wrap(w[c], i);
|
|
1180
|
-
i[
|
|
1345
|
+
i[U][c] && setSignal(i[U][c], s);
|
|
1181
1346
|
applyState(e[c], s, n, r);
|
|
1182
1347
|
}
|
|
1183
|
-
t && i[
|
|
1184
|
-
l !== e.length && i[
|
|
1348
|
+
t && i[U][q] && setSignal(i[U][q], void 0);
|
|
1349
|
+
l !== e.length && i[U].length && setSignal(i[U].length, e.length);
|
|
1185
1350
|
return;
|
|
1186
1351
|
}
|
|
1187
|
-
y = new Array(
|
|
1188
|
-
for (c =
|
|
1189
|
-
|
|
1190
|
-
g =
|
|
1191
|
-
f =
|
|
1352
|
+
y = new Array(p + 1);
|
|
1353
|
+
for (c = p; c >= a; c--) {
|
|
1354
|
+
h = e[c];
|
|
1355
|
+
g = h ? n(h) : h;
|
|
1356
|
+
f = S.get(g);
|
|
1192
1357
|
y[c] = f === undefined ? -1 : f;
|
|
1193
|
-
|
|
1358
|
+
S.set(g, c);
|
|
1194
1359
|
}
|
|
1195
1360
|
for (f = a; f <= d; f++) {
|
|
1196
|
-
|
|
1197
|
-
g =
|
|
1198
|
-
c =
|
|
1361
|
+
h = getOverrideValue(s, o, u, f);
|
|
1362
|
+
g = h ? n(h) : h;
|
|
1363
|
+
c = S.get(g);
|
|
1199
1364
|
if (c !== undefined && c !== -1) {
|
|
1200
|
-
w[c] =
|
|
1365
|
+
w[c] = h;
|
|
1201
1366
|
c = y[c];
|
|
1202
|
-
|
|
1367
|
+
S.set(g, c);
|
|
1203
1368
|
}
|
|
1204
1369
|
}
|
|
1205
1370
|
for (c = a; c < e.length; c++) {
|
|
1206
1371
|
if (c in w) {
|
|
1207
1372
|
const t = wrap(w[c], i);
|
|
1208
|
-
i[
|
|
1373
|
+
i[U][c] && setSignal(i[U][c], t);
|
|
1209
1374
|
applyState(e[c], t, n, r);
|
|
1210
|
-
} else i[
|
|
1375
|
+
} else i[U][c] && setSignal(i[U][c], wrap(e[c], i));
|
|
1211
1376
|
}
|
|
1212
1377
|
if (a < e.length) t = true;
|
|
1213
1378
|
} else if (e.length) {
|
|
1214
1379
|
for (let t = 0, l = e.length; t < l; t++) {
|
|
1215
1380
|
const l = getOverrideValue(s, o, u, t);
|
|
1216
|
-
isWrappable(l) ? applyState(e[t], wrap(l, i), n, r) : i[
|
|
1381
|
+
isWrappable(l) ? applyState(e[t], wrap(l, i), n, r) : i[U][t] && setSignal(i[U][t], e[t]);
|
|
1217
1382
|
}
|
|
1218
1383
|
}
|
|
1219
1384
|
if (l !== e.length) {
|
|
1220
1385
|
t = true;
|
|
1221
|
-
i[
|
|
1386
|
+
i[U].length && setSignal(i[U].length, e.length);
|
|
1222
1387
|
}
|
|
1223
|
-
t && i[
|
|
1388
|
+
t && i[U][q] && setSignal(i[U][q], void 0);
|
|
1224
1389
|
return;
|
|
1225
1390
|
}
|
|
1226
1391
|
if (u) {
|
|
1227
|
-
const t = u[
|
|
1392
|
+
const t = u[q];
|
|
1228
1393
|
const l = t || r ? getAllKeys(s, o, e) : Object.keys(u);
|
|
1229
1394
|
for (let f = 0, c = l.length; f < c; f++) {
|
|
1230
1395
|
const c = l[f];
|
|
1231
1396
|
const a = u[c];
|
|
1232
1397
|
const d = unwrap(getOverrideValue(s, o, u, c));
|
|
1233
|
-
let
|
|
1234
|
-
if (d ===
|
|
1235
|
-
if (!d || !isWrappable(d) || (n(d) != null && n(d) !== n(
|
|
1398
|
+
let p = unwrap(e[c]);
|
|
1399
|
+
if (d === p) continue;
|
|
1400
|
+
if (!d || !isWrappable(d) || (n(d) != null && n(d) !== n(p))) {
|
|
1236
1401
|
t && setSignal(t, void 0);
|
|
1237
|
-
a && setSignal(a, isWrappable(
|
|
1238
|
-
} else applyState(
|
|
1402
|
+
a && setSignal(a, isWrappable(p) ? wrap(p, i) : p);
|
|
1403
|
+
} else applyState(p, wrap(d, i), n, r);
|
|
1239
1404
|
}
|
|
1240
1405
|
}
|
|
1241
|
-
if ((u = i[
|
|
1406
|
+
if ((u = i[L])) {
|
|
1242
1407
|
const t = Object.keys(u);
|
|
1243
1408
|
for (let n = 0, r = t.length; n < r; n++) {
|
|
1244
1409
|
const r = t[n];
|
|
@@ -1260,9 +1425,9 @@ function createProjectionInternal(e, t = {}, n) {
|
|
|
1260
1425
|
let r;
|
|
1261
1426
|
const i = new WeakMap();
|
|
1262
1427
|
const wrapper = e => {
|
|
1263
|
-
e[
|
|
1264
|
-
e[
|
|
1265
|
-
Object.defineProperty(e,
|
|
1428
|
+
e[J] = wrapProjection;
|
|
1429
|
+
e[X] = i;
|
|
1430
|
+
Object.defineProperty(e, Y, {
|
|
1266
1431
|
get() {
|
|
1267
1432
|
return r;
|
|
1268
1433
|
},
|
|
@@ -1271,105 +1436,113 @@ function createProjectionInternal(e, t = {}, n) {
|
|
|
1271
1436
|
};
|
|
1272
1437
|
const wrapProjection = e => {
|
|
1273
1438
|
if (i.has(e)) return i.get(e);
|
|
1274
|
-
if (e[
|
|
1275
|
-
const t = createStoreProxy(e,
|
|
1439
|
+
if (e[V]?.[J] === wrapProjection) return e;
|
|
1440
|
+
const t = createStoreProxy(e, ne, wrapper);
|
|
1276
1441
|
i.set(e, t);
|
|
1277
1442
|
return t;
|
|
1278
1443
|
};
|
|
1279
1444
|
const s = wrapProjection(t);
|
|
1280
1445
|
r = computed(() => {
|
|
1281
1446
|
const t = getOwner();
|
|
1282
|
-
storeSetter(new Proxy(s,
|
|
1447
|
+
storeSetter(new Proxy(s, T), r => {
|
|
1283
1448
|
const i = handleAsync(t, e(r), e => {
|
|
1284
|
-
e !==
|
|
1449
|
+
e !== r && e !== undefined && storeSetter(s, reconcile(e, n?.key || "id", n?.all));
|
|
1285
1450
|
setSignal(t, undefined);
|
|
1286
1451
|
});
|
|
1287
|
-
i !==
|
|
1452
|
+
i !== r && i !== undefined && reconcile(i, n?.key || "id", n?.all)(s);
|
|
1288
1453
|
});
|
|
1289
1454
|
});
|
|
1290
|
-
r.
|
|
1455
|
+
r.we = true;
|
|
1291
1456
|
return { store: s, node: r };
|
|
1292
1457
|
}
|
|
1293
1458
|
function createProjection(e, t = {}, n) {
|
|
1294
1459
|
return createProjectionInternal(e, t, n).store;
|
|
1295
1460
|
}
|
|
1296
|
-
const
|
|
1461
|
+
const T = {
|
|
1297
1462
|
get(e, t) {
|
|
1298
1463
|
let n;
|
|
1299
1464
|
setWriteOverride(true);
|
|
1465
|
+
setProjectionWriteActive(true);
|
|
1300
1466
|
try {
|
|
1301
1467
|
n = e[t];
|
|
1302
1468
|
} finally {
|
|
1303
1469
|
setWriteOverride(false);
|
|
1470
|
+
setProjectionWriteActive(false);
|
|
1304
1471
|
}
|
|
1305
|
-
return typeof n === "object" && n !== null ? new Proxy(n,
|
|
1472
|
+
return typeof n === "object" && n !== null ? new Proxy(n, T) : n;
|
|
1306
1473
|
},
|
|
1307
1474
|
set(e, t, n) {
|
|
1308
1475
|
setWriteOverride(true);
|
|
1476
|
+
setProjectionWriteActive(true);
|
|
1309
1477
|
try {
|
|
1310
1478
|
e[t] = n;
|
|
1311
1479
|
} finally {
|
|
1312
1480
|
setWriteOverride(false);
|
|
1481
|
+
setProjectionWriteActive(false);
|
|
1313
1482
|
}
|
|
1314
1483
|
return true;
|
|
1315
1484
|
},
|
|
1316
1485
|
deleteProperty(e, t) {
|
|
1317
1486
|
setWriteOverride(true);
|
|
1487
|
+
setProjectionWriteActive(true);
|
|
1318
1488
|
try {
|
|
1319
1489
|
delete e[t];
|
|
1320
1490
|
} finally {
|
|
1321
1491
|
setWriteOverride(false);
|
|
1492
|
+
setProjectionWriteActive(false);
|
|
1322
1493
|
}
|
|
1323
1494
|
return true;
|
|
1324
1495
|
}
|
|
1325
1496
|
};
|
|
1326
|
-
const
|
|
1497
|
+
const q = Symbol(0),
|
|
1327
1498
|
F = Symbol(0),
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
const
|
|
1332
|
-
const
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1499
|
+
V = Symbol(0),
|
|
1500
|
+
M = Symbol(0),
|
|
1501
|
+
D = Symbol(0);
|
|
1502
|
+
const B = new WeakMap();
|
|
1503
|
+
const G = "v",
|
|
1504
|
+
K = "o",
|
|
1505
|
+
z = "x",
|
|
1506
|
+
U = "n",
|
|
1507
|
+
L = "h",
|
|
1508
|
+
J = "w",
|
|
1509
|
+
X = "l",
|
|
1510
|
+
Y = "f",
|
|
1511
|
+
Z = "p";
|
|
1512
|
+
function createStoreProxy(e, t = ne, n) {
|
|
1340
1513
|
let r;
|
|
1341
1514
|
if (Array.isArray(e)) {
|
|
1342
1515
|
r = [];
|
|
1343
1516
|
r.v = e;
|
|
1344
1517
|
} else r = { v: e };
|
|
1345
1518
|
n && n(r);
|
|
1346
|
-
return (r[
|
|
1519
|
+
return (r[M] = new Proxy(r, t));
|
|
1347
1520
|
}
|
|
1348
|
-
const
|
|
1521
|
+
const $ = new WeakMap();
|
|
1349
1522
|
function wrap(e, t) {
|
|
1350
|
-
if (t?.[
|
|
1351
|
-
let n = e[
|
|
1352
|
-
if (!n)
|
|
1523
|
+
if (t?.[J]) return t[J](e, t);
|
|
1524
|
+
let n = e[M] || $.get(e);
|
|
1525
|
+
if (!n) $.set(e, (n = createStoreProxy(e)));
|
|
1353
1526
|
return n;
|
|
1354
1527
|
}
|
|
1355
1528
|
function isWrappable(e) {
|
|
1356
1529
|
return e != null && typeof e === "object" && !Object.isFrozen(e);
|
|
1357
1530
|
}
|
|
1358
|
-
let
|
|
1531
|
+
let ee = false;
|
|
1359
1532
|
function setWriteOverride(e) {
|
|
1360
|
-
|
|
1533
|
+
ee = e;
|
|
1361
1534
|
}
|
|
1362
1535
|
function writeOnly(e) {
|
|
1363
|
-
return
|
|
1536
|
+
return ee || !!te?.has(e);
|
|
1364
1537
|
}
|
|
1365
1538
|
function getNodes(e, t) {
|
|
1366
1539
|
let n = e[t];
|
|
1367
1540
|
if (!n) e[t] = n = Object.create(null);
|
|
1368
1541
|
return n;
|
|
1369
1542
|
}
|
|
1370
|
-
function getNode(e, t, n, r, i = isEqual) {
|
|
1543
|
+
function getNode(e, t, n, r, i = isEqual, s) {
|
|
1371
1544
|
if (e[t]) return e[t];
|
|
1372
|
-
|
|
1545
|
+
const o = signal(
|
|
1373
1546
|
n,
|
|
1374
1547
|
{
|
|
1375
1548
|
equals: i,
|
|
@@ -1378,10 +1551,12 @@ function getNode(e, t, n, r, i = isEqual) {
|
|
|
1378
1551
|
}
|
|
1379
1552
|
},
|
|
1380
1553
|
r
|
|
1381
|
-
)
|
|
1554
|
+
);
|
|
1555
|
+
if (s) o.le = true;
|
|
1556
|
+
return (e[t] = o);
|
|
1382
1557
|
}
|
|
1383
|
-
function trackSelf(e, t =
|
|
1384
|
-
getObserver() && read(getNode(getNodes(e,
|
|
1558
|
+
function trackSelf(e, t = q) {
|
|
1559
|
+
getObserver() && read(getNode(getNodes(e, U), t, undefined, e[Y], false, e[Z]));
|
|
1385
1560
|
}
|
|
1386
1561
|
function getKeys(e, t, n = true) {
|
|
1387
1562
|
const r = untrack(() => (n ? Object.keys(e) : Reflect.ownKeys(e)));
|
|
@@ -1389,7 +1564,7 @@ function getKeys(e, t, n = true) {
|
|
|
1389
1564
|
const i = new Set(r);
|
|
1390
1565
|
const s = Reflect.ownKeys(t);
|
|
1391
1566
|
for (const e of s) {
|
|
1392
|
-
if (t[e] !==
|
|
1567
|
+
if (t[e] !== D) i.add(e);
|
|
1393
1568
|
else i.delete(e);
|
|
1394
1569
|
}
|
|
1395
1570
|
return Array.from(i);
|
|
@@ -1397,125 +1572,161 @@ function getKeys(e, t, n = true) {
|
|
|
1397
1572
|
function getPropertyDescriptor(e, t, n) {
|
|
1398
1573
|
let r = e;
|
|
1399
1574
|
if (t && n in t) {
|
|
1400
|
-
if (r[n] ===
|
|
1575
|
+
if (r[n] === D) return void 0;
|
|
1401
1576
|
if (!(n in r)) r = t;
|
|
1402
1577
|
}
|
|
1403
1578
|
return Reflect.getOwnPropertyDescriptor(r, n);
|
|
1404
1579
|
}
|
|
1405
|
-
let
|
|
1406
|
-
const
|
|
1580
|
+
let te = null;
|
|
1581
|
+
const ne = {
|
|
1407
1582
|
get(e, t, n) {
|
|
1408
|
-
if (t ===
|
|
1409
|
-
if (t ===
|
|
1410
|
-
if (t ===
|
|
1411
|
-
if (t ===
|
|
1583
|
+
if (t === V) return e;
|
|
1584
|
+
if (t === M) return n;
|
|
1585
|
+
if (t === m) return e[Y];
|
|
1586
|
+
if (t === q || t === F) {
|
|
1412
1587
|
trackSelf(e, t);
|
|
1413
1588
|
return n;
|
|
1414
1589
|
}
|
|
1415
|
-
const r = getNodes(e,
|
|
1590
|
+
const r = getNodes(e, U);
|
|
1416
1591
|
const i = r[t];
|
|
1417
|
-
const s = e[
|
|
1418
|
-
const o =
|
|
1419
|
-
const u =
|
|
1592
|
+
const s = e[z] && t in e[z];
|
|
1593
|
+
const o = s || (e[K] && t in e[K]);
|
|
1594
|
+
const u = !!e[G][V];
|
|
1595
|
+
const l = s ? e[z] : e[K] && t in e[K] ? e[K] : e[G];
|
|
1420
1596
|
if (!i) {
|
|
1421
|
-
const e = Object.getOwnPropertyDescriptor(
|
|
1597
|
+
const e = Object.getOwnPropertyDescriptor(l, t);
|
|
1422
1598
|
if (e && e.get) return e.get.call(n);
|
|
1423
1599
|
}
|
|
1424
1600
|
if (writeOnly(n)) {
|
|
1425
|
-
let n = i && (
|
|
1426
|
-
n ===
|
|
1601
|
+
let n = i && (o || !u) ? (i.te !== g ? (i.le ? i.ne : i.te) : i.ne) : l[t];
|
|
1602
|
+
n === D && (n = undefined);
|
|
1427
1603
|
if (!isWrappable(n)) return n;
|
|
1428
1604
|
const r = wrap(n, e);
|
|
1429
|
-
|
|
1605
|
+
te?.add(r);
|
|
1430
1606
|
return r;
|
|
1431
1607
|
}
|
|
1432
|
-
let
|
|
1433
|
-
|
|
1608
|
+
let f = i ? (o || !u ? read(r[t]) : (read(r[t]), l[t])) : l[t];
|
|
1609
|
+
f === D && (f = undefined);
|
|
1434
1610
|
if (!i) {
|
|
1435
|
-
if (!
|
|
1611
|
+
if (!o && typeof f === "function" && !l.hasOwnProperty(t)) {
|
|
1436
1612
|
let t;
|
|
1437
|
-
return !Array.isArray(e[
|
|
1438
|
-
?
|
|
1439
|
-
:
|
|
1613
|
+
return !Array.isArray(e[G]) && (t = Object.getPrototypeOf(e[G])) && t !== Object.prototype
|
|
1614
|
+
? f.bind(l)
|
|
1615
|
+
: f;
|
|
1440
1616
|
} else if (getObserver()) {
|
|
1441
|
-
return read(getNode(r, t, isWrappable(
|
|
1617
|
+
return read(getNode(r, t, isWrappable(f) ? wrap(f, e) : f, e[Y], isEqual, e[Z]));
|
|
1442
1618
|
}
|
|
1443
1619
|
}
|
|
1444
|
-
return isWrappable(
|
|
1620
|
+
return isWrappable(f) ? wrap(f, e) : f;
|
|
1445
1621
|
},
|
|
1446
1622
|
has(e, t) {
|
|
1447
|
-
if (t ===
|
|
1448
|
-
const n = e[
|
|
1449
|
-
getObserver() && read(getNode(getNodes(e,
|
|
1623
|
+
if (t === M || t === q || t === "__proto__") return true;
|
|
1624
|
+
const n = e[z] && t in e[z] ? e[z][t] !== D : e[K] && t in e[K] ? e[K][t] !== D : t in e[G];
|
|
1625
|
+
getObserver() && read(getNode(getNodes(e, L), t, n, e[Y], isEqual, e[Z]));
|
|
1450
1626
|
return n;
|
|
1451
1627
|
},
|
|
1452
1628
|
set(e, t, n) {
|
|
1453
|
-
const r = e[
|
|
1629
|
+
const r = e[M];
|
|
1454
1630
|
if (writeOnly(r)) {
|
|
1631
|
+
if (e[Z]) {
|
|
1632
|
+
const t = e[Y];
|
|
1633
|
+
if (t?.X) {
|
|
1634
|
+
A.initTransition(t.X);
|
|
1635
|
+
}
|
|
1636
|
+
}
|
|
1455
1637
|
untrack(() => {
|
|
1456
|
-
const i = e[
|
|
1638
|
+
const i = e[G];
|
|
1457
1639
|
const s = i[t];
|
|
1458
|
-
const o = e[
|
|
1459
|
-
const u =
|
|
1460
|
-
if (o
|
|
1461
|
-
const l = e[
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
const
|
|
1465
|
-
if (
|
|
1466
|
-
|
|
1467
|
-
|
|
1640
|
+
const o = e[Z] && !k;
|
|
1641
|
+
const u = o ? z : K;
|
|
1642
|
+
if (o) trackOptimisticStore(r);
|
|
1643
|
+
const l = e[z] && t in e[z] ? e[z][t] : e[K] && t in e[K] ? e[K][t] : s;
|
|
1644
|
+
const f = n?.[V]?.[G] ?? n;
|
|
1645
|
+
if (l === f) return true;
|
|
1646
|
+
const c = e[z]?.length || e[K]?.length || i.length;
|
|
1647
|
+
if (f !== undefined && f === s) delete e[u][t];
|
|
1648
|
+
else (e[u] || (e[u] = Object.create(null)))[t] = f;
|
|
1649
|
+
const a = isWrappable(f);
|
|
1650
|
+
if (isWrappable(l)) {
|
|
1651
|
+
const e = B.get(l);
|
|
1652
|
+
e && (e instanceof Set ? e.delete(r) : B.delete(l));
|
|
1468
1653
|
}
|
|
1469
|
-
if (recursivelyNotify(r,
|
|
1470
|
-
e[
|
|
1471
|
-
const
|
|
1472
|
-
|
|
1654
|
+
if (recursivelyNotify(r, $) && a) recursivelyAddParent(f, r);
|
|
1655
|
+
e[L]?.[t] && setSignal(e[L][t], true);
|
|
1656
|
+
const d = getNodes(e, U);
|
|
1657
|
+
d[t] && setSignal(d[t], () => (a ? wrap(f, e) : f));
|
|
1473
1658
|
if (Array.isArray(i)) {
|
|
1474
|
-
|
|
1475
|
-
|
|
1659
|
+
if (t === "length") {
|
|
1660
|
+
d.length && setSignal(d.length, f);
|
|
1661
|
+
} else {
|
|
1662
|
+
const e = parseInt(t) + 1;
|
|
1663
|
+
if (e > c) d.length && setSignal(d.length, e);
|
|
1664
|
+
}
|
|
1476
1665
|
}
|
|
1477
|
-
|
|
1666
|
+
d[q] && setSignal(d[q], undefined);
|
|
1478
1667
|
});
|
|
1479
1668
|
}
|
|
1480
1669
|
return true;
|
|
1481
1670
|
},
|
|
1482
1671
|
deleteProperty(e, t) {
|
|
1483
|
-
|
|
1672
|
+
const n = e[z]?.[t] === D;
|
|
1673
|
+
const r = e[K]?.[t] === D;
|
|
1674
|
+
if (writeOnly(e[M]) && !n && !r) {
|
|
1484
1675
|
untrack(() => {
|
|
1485
|
-
const n = e[
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1676
|
+
const n = e[Z] && !k;
|
|
1677
|
+
const r = n ? z : K;
|
|
1678
|
+
if (n) trackOptimisticStore(e[M]);
|
|
1679
|
+
const i = e[z] && t in e[z] ? e[z][t] : e[K] && t in e[K] ? e[K][t] : e[G][t];
|
|
1680
|
+
if (t in e[G] || (e[K] && t in e[K])) {
|
|
1681
|
+
(e[r] || (e[r] = Object.create(null)))[t] = D;
|
|
1682
|
+
} else if (e[r] && t in e[r]) {
|
|
1683
|
+
delete e[r][t];
|
|
1490
1684
|
} else return true;
|
|
1491
|
-
if (isWrappable(
|
|
1492
|
-
const t =
|
|
1493
|
-
t && (t instanceof Set ? t.delete(e) :
|
|
1685
|
+
if (isWrappable(i)) {
|
|
1686
|
+
const t = B.get(i);
|
|
1687
|
+
t && (t instanceof Set ? t.delete(e) : B.delete(i));
|
|
1494
1688
|
}
|
|
1495
|
-
if (e[
|
|
1496
|
-
const
|
|
1497
|
-
|
|
1498
|
-
|
|
1689
|
+
if (e[L]?.[t]) setSignal(e[L][t], false);
|
|
1690
|
+
const s = getNodes(e, U);
|
|
1691
|
+
s[t] && setSignal(s[t], undefined);
|
|
1692
|
+
s[q] && setSignal(s[q], undefined);
|
|
1499
1693
|
});
|
|
1500
1694
|
}
|
|
1501
1695
|
return true;
|
|
1502
1696
|
},
|
|
1503
1697
|
ownKeys(e) {
|
|
1504
1698
|
trackSelf(e);
|
|
1505
|
-
|
|
1699
|
+
let t = getKeys(e[G], e[K], false);
|
|
1700
|
+
if (e[z]) {
|
|
1701
|
+
const n = new Set(t);
|
|
1702
|
+
for (const t of Reflect.ownKeys(e[z])) {
|
|
1703
|
+
if (e[z][t] !== D) n.add(t);
|
|
1704
|
+
else n.delete(t);
|
|
1705
|
+
}
|
|
1706
|
+
t = Array.from(n);
|
|
1707
|
+
}
|
|
1708
|
+
return t;
|
|
1506
1709
|
},
|
|
1507
1710
|
getOwnPropertyDescriptor(e, t) {
|
|
1508
|
-
if (t ===
|
|
1509
|
-
|
|
1711
|
+
if (t === M) return { value: e[M], writable: true, configurable: true };
|
|
1712
|
+
if (e[z] && t in e[z]) {
|
|
1713
|
+
if (e[z][t] === D) return undefined;
|
|
1714
|
+
const n = getPropertyDescriptor(e[G], e[K], t);
|
|
1715
|
+
if (n) {
|
|
1716
|
+
return { ...n, value: e[z][t] };
|
|
1717
|
+
}
|
|
1718
|
+
return { value: e[z][t], writable: true, enumerable: true, configurable: true };
|
|
1719
|
+
}
|
|
1720
|
+
return getPropertyDescriptor(e[G], e[K], t);
|
|
1510
1721
|
},
|
|
1511
1722
|
getPrototypeOf(e) {
|
|
1512
|
-
return Object.getPrototypeOf(e[
|
|
1723
|
+
return Object.getPrototypeOf(e[G]);
|
|
1513
1724
|
}
|
|
1514
1725
|
};
|
|
1515
1726
|
function storeSetter(e, t) {
|
|
1516
|
-
const n =
|
|
1517
|
-
|
|
1518
|
-
|
|
1727
|
+
const n = te;
|
|
1728
|
+
te = new Set();
|
|
1729
|
+
te.add(e);
|
|
1519
1730
|
try {
|
|
1520
1731
|
const n = t(e);
|
|
1521
1732
|
if (n !== e && n !== undefined) {
|
|
@@ -1531,8 +1742,8 @@ function storeSetter(e, t) {
|
|
|
1531
1742
|
}
|
|
1532
1743
|
}
|
|
1533
1744
|
} finally {
|
|
1534
|
-
|
|
1535
|
-
|
|
1745
|
+
te.clear();
|
|
1746
|
+
te = n;
|
|
1536
1747
|
}
|
|
1537
1748
|
}
|
|
1538
1749
|
function createStore(e, t, n) {
|
|
@@ -1541,17 +1752,17 @@ function createStore(e, t, n) {
|
|
|
1541
1752
|
return [i, e => storeSetter(i, e)];
|
|
1542
1753
|
}
|
|
1543
1754
|
function recursivelyNotify(e, t) {
|
|
1544
|
-
let n = e[
|
|
1755
|
+
let n = e[V] || t?.get(e)?.[V];
|
|
1545
1756
|
let r = false;
|
|
1546
1757
|
if (n) {
|
|
1547
|
-
const e = getNodes(n,
|
|
1758
|
+
const e = getNodes(n, U)[F];
|
|
1548
1759
|
if (e) {
|
|
1549
1760
|
setSignal(e, undefined);
|
|
1550
1761
|
r = true;
|
|
1551
1762
|
}
|
|
1552
|
-
t = n[
|
|
1763
|
+
t = n[X] || t;
|
|
1553
1764
|
}
|
|
1554
|
-
const i =
|
|
1765
|
+
const i = B.get(n?.[G] || e);
|
|
1555
1766
|
if (!i) return r;
|
|
1556
1767
|
if (i instanceof Set) {
|
|
1557
1768
|
for (let e of i) r = recursivelyNotify(e, t) || r;
|
|
@@ -1560,16 +1771,16 @@ function recursivelyNotify(e, t) {
|
|
|
1560
1771
|
}
|
|
1561
1772
|
function recursivelyAddParent(e, t) {
|
|
1562
1773
|
let n;
|
|
1563
|
-
const r = e[
|
|
1774
|
+
const r = e[V];
|
|
1564
1775
|
if (r) {
|
|
1565
|
-
n = r[
|
|
1566
|
-
e = r[
|
|
1776
|
+
n = r[K];
|
|
1777
|
+
e = r[G];
|
|
1567
1778
|
}
|
|
1568
1779
|
if (t) {
|
|
1569
|
-
let n =
|
|
1570
|
-
if (!n)
|
|
1780
|
+
let n = B.get(e);
|
|
1781
|
+
if (!n) B.set(e, t);
|
|
1571
1782
|
else if (n !== t) {
|
|
1572
|
-
if (!(n instanceof Set))
|
|
1783
|
+
if (!(n instanceof Set)) B.set(e, (n = new Set([n])));
|
|
1573
1784
|
else if (n.has(t)) return;
|
|
1574
1785
|
n.add(t);
|
|
1575
1786
|
} else return;
|
|
@@ -1594,19 +1805,87 @@ function deep(e) {
|
|
|
1594
1805
|
return e[F];
|
|
1595
1806
|
}
|
|
1596
1807
|
function createOptimisticStore(e, t, n) {
|
|
1597
|
-
|
|
1808
|
+
GlobalQueue.L ||= clearOptimisticStore;
|
|
1809
|
+
const r = typeof e === "function";
|
|
1810
|
+
const i = (r ? t : e) ?? {};
|
|
1811
|
+
const s = r ? e : undefined;
|
|
1812
|
+
const { store: o } = createOptimisticProjectionInternal(s, i, n);
|
|
1813
|
+
return [o, e => storeSetter(o, e)];
|
|
1814
|
+
}
|
|
1815
|
+
function clearOptimisticStore(e) {
|
|
1816
|
+
const t = e[V];
|
|
1817
|
+
if (!t || !t[z]) return;
|
|
1818
|
+
const n = t[z];
|
|
1819
|
+
const r = t[U];
|
|
1820
|
+
if (r) {
|
|
1821
|
+
for (const e of Reflect.ownKeys(n)) {
|
|
1822
|
+
if (r[e]) {
|
|
1823
|
+
const n = t[K] && e in t[K] ? t[K][e] : t[G][e];
|
|
1824
|
+
const i = n === D ? undefined : n;
|
|
1825
|
+
setSignal(r[e], isWrappable(i) ? wrap(i, t) : i);
|
|
1826
|
+
}
|
|
1827
|
+
}
|
|
1828
|
+
r[q] && setSignal(r[q], undefined);
|
|
1829
|
+
}
|
|
1830
|
+
delete t[z];
|
|
1831
|
+
}
|
|
1832
|
+
function createOptimisticProjectionInternal(e, t = {}, n) {
|
|
1833
|
+
let r;
|
|
1834
|
+
const i = new WeakMap();
|
|
1835
|
+
const wrapper = e => {
|
|
1836
|
+
e[J] = wrapProjection;
|
|
1837
|
+
e[X] = i;
|
|
1838
|
+
e[Z] = true;
|
|
1839
|
+
Object.defineProperty(e, Y, {
|
|
1840
|
+
get() {
|
|
1841
|
+
return r;
|
|
1842
|
+
},
|
|
1843
|
+
configurable: true
|
|
1844
|
+
});
|
|
1845
|
+
};
|
|
1846
|
+
const wrapProjection = e => {
|
|
1847
|
+
if (i.has(e)) return i.get(e);
|
|
1848
|
+
if (e[V]?.[J] === wrapProjection) return e;
|
|
1849
|
+
const t = createStoreProxy(e, ne, wrapper);
|
|
1850
|
+
i.set(e, t);
|
|
1851
|
+
return t;
|
|
1852
|
+
};
|
|
1853
|
+
const s = wrapProjection(t);
|
|
1854
|
+
if (e) {
|
|
1855
|
+
r = computed(() => {
|
|
1856
|
+
const t = getOwner();
|
|
1857
|
+
setProjectionWriteActive(true);
|
|
1858
|
+
try {
|
|
1859
|
+
storeSetter(new Proxy(s, T), r => {
|
|
1860
|
+
const i = handleAsync(t, e(r), e => {
|
|
1861
|
+
setProjectionWriteActive(true);
|
|
1862
|
+
try {
|
|
1863
|
+
e !== r && e !== undefined && storeSetter(s, reconcile(e, n?.key || "id", n?.all));
|
|
1864
|
+
} finally {
|
|
1865
|
+
setProjectionWriteActive(false);
|
|
1866
|
+
}
|
|
1867
|
+
});
|
|
1868
|
+
i !== r && i !== undefined && reconcile(i, n?.key || "id", n?.all)(s);
|
|
1869
|
+
});
|
|
1870
|
+
} finally {
|
|
1871
|
+
setProjectionWriteActive(false);
|
|
1872
|
+
}
|
|
1873
|
+
});
|
|
1874
|
+
r.we = true;
|
|
1875
|
+
}
|
|
1876
|
+
return { store: s, node: r };
|
|
1598
1877
|
}
|
|
1599
1878
|
function snapshot(e, t, n) {
|
|
1600
1879
|
let r, i, s, o, u, l;
|
|
1601
1880
|
if (!isWrappable(e)) return e;
|
|
1602
1881
|
if (t && t.has(e)) return t.get(e);
|
|
1603
1882
|
if (!t) t = new Map();
|
|
1604
|
-
if ((r = e[
|
|
1605
|
-
s = r[
|
|
1606
|
-
i = Array.isArray(r[
|
|
1607
|
-
t.set(e, s ? (o = i ? [] : Object.create(Object.getPrototypeOf(r[
|
|
1608
|
-
e = r[
|
|
1609
|
-
n =
|
|
1883
|
+
if ((r = e[V] || n?.get(e)?.[V])) {
|
|
1884
|
+
s = r[K];
|
|
1885
|
+
i = Array.isArray(r[G]);
|
|
1886
|
+
t.set(e, s ? (o = i ? [] : Object.create(Object.getPrototypeOf(r[G]))) : r[G]);
|
|
1887
|
+
e = r[G];
|
|
1888
|
+
n = $;
|
|
1610
1889
|
} else {
|
|
1611
1890
|
i = Array.isArray(e);
|
|
1612
1891
|
t.set(e, e);
|
|
@@ -1615,7 +1894,7 @@ function snapshot(e, t, n) {
|
|
|
1615
1894
|
const r = s?.length || e.length;
|
|
1616
1895
|
for (let i = 0; i < r; i++) {
|
|
1617
1896
|
l = s && i in s ? s[i] : e[i];
|
|
1618
|
-
if (l ===
|
|
1897
|
+
if (l === D) continue;
|
|
1619
1898
|
if ((u = snapshot(l, t, n)) !== l || o) {
|
|
1620
1899
|
if (!o) t.set(e, (o = [...e]));
|
|
1621
1900
|
o[i] = u;
|
|
@@ -1642,13 +1921,13 @@ function snapshot(e, t, n) {
|
|
|
1642
1921
|
function trueFn() {
|
|
1643
1922
|
return true;
|
|
1644
1923
|
}
|
|
1645
|
-
const
|
|
1924
|
+
const re = {
|
|
1646
1925
|
get(e, t, n) {
|
|
1647
|
-
if (t ===
|
|
1926
|
+
if (t === M) return n;
|
|
1648
1927
|
return e.get(t);
|
|
1649
1928
|
},
|
|
1650
1929
|
has(e, t) {
|
|
1651
|
-
if (t ===
|
|
1930
|
+
if (t === M) return true;
|
|
1652
1931
|
return e.has(t);
|
|
1653
1932
|
},
|
|
1654
1933
|
set: trueFn,
|
|
@@ -1671,23 +1950,23 @@ const X = {
|
|
|
1671
1950
|
function resolveSource(e) {
|
|
1672
1951
|
return !(e = typeof e === "function" ? e() : e) ? {} : e;
|
|
1673
1952
|
}
|
|
1674
|
-
const
|
|
1953
|
+
const ie = Symbol(0);
|
|
1675
1954
|
function merge(...e) {
|
|
1676
1955
|
if (e.length === 1 && typeof e[0] !== "function") return e[0];
|
|
1677
1956
|
let t = false;
|
|
1678
1957
|
const n = [];
|
|
1679
1958
|
for (let r = 0; r < e.length; r++) {
|
|
1680
1959
|
const i = e[r];
|
|
1681
|
-
t = t || (!!i &&
|
|
1682
|
-
const s = !!i && i[
|
|
1960
|
+
t = t || (!!i && M in i);
|
|
1961
|
+
const s = !!i && i[ie];
|
|
1683
1962
|
if (s) n.push(...s);
|
|
1684
1963
|
else n.push(typeof i === "function" ? ((t = true), createMemo(i)) : i);
|
|
1685
1964
|
}
|
|
1686
|
-
if (
|
|
1965
|
+
if (w && t) {
|
|
1687
1966
|
return new Proxy(
|
|
1688
1967
|
{
|
|
1689
1968
|
get(e) {
|
|
1690
|
-
if (e ===
|
|
1969
|
+
if (e === ie) return n;
|
|
1691
1970
|
for (let t = n.length - 1; t >= 0; t--) {
|
|
1692
1971
|
const r = resolveSource(n[t]);
|
|
1693
1972
|
if (e in r) return r[e];
|
|
@@ -1705,7 +1984,7 @@ function merge(...e) {
|
|
|
1705
1984
|
return [...new Set(e)];
|
|
1706
1985
|
}
|
|
1707
1986
|
},
|
|
1708
|
-
|
|
1987
|
+
re
|
|
1709
1988
|
);
|
|
1710
1989
|
}
|
|
1711
1990
|
const r = Object.create(null);
|
|
@@ -1737,12 +2016,12 @@ function merge(...e) {
|
|
|
1737
2016
|
if (n.get) Object.defineProperty(o, t, n);
|
|
1738
2017
|
else o[t] = n.value;
|
|
1739
2018
|
}
|
|
1740
|
-
o[
|
|
2019
|
+
o[ie] = n;
|
|
1741
2020
|
return o;
|
|
1742
2021
|
}
|
|
1743
2022
|
function omit(e, ...t) {
|
|
1744
2023
|
const n = new Set(t);
|
|
1745
|
-
if (
|
|
2024
|
+
if (w && M in e) {
|
|
1746
2025
|
return new Proxy(
|
|
1747
2026
|
{
|
|
1748
2027
|
get(t) {
|
|
@@ -1755,7 +2034,7 @@ function omit(e, ...t) {
|
|
|
1755
2034
|
return Object.keys(e).filter(e => !n.has(e));
|
|
1756
2035
|
}
|
|
1757
2036
|
},
|
|
1758
|
-
|
|
2037
|
+
re
|
|
1759
2038
|
);
|
|
1760
2039
|
}
|
|
1761
2040
|
const r = {};
|
|
@@ -1773,68 +2052,68 @@ function mapArray(e, t, n) {
|
|
|
1773
2052
|
const r = typeof n?.keyed === "function" ? n.keyed : undefined;
|
|
1774
2053
|
return createMemo(
|
|
1775
2054
|
updateKeyedMap.bind({
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
2055
|
+
Ae: createOwner(),
|
|
2056
|
+
We: 0,
|
|
2057
|
+
je: e,
|
|
2058
|
+
Ne: [],
|
|
2059
|
+
Ee: t,
|
|
2060
|
+
He: [],
|
|
2061
|
+
Ie: [],
|
|
2062
|
+
Qe: r,
|
|
2063
|
+
Re: r || n?.keyed === false ? [] : undefined,
|
|
2064
|
+
Te: t.length > 1 ? [] : undefined,
|
|
2065
|
+
qe: n?.fallback
|
|
1787
2066
|
})
|
|
1788
2067
|
);
|
|
1789
2068
|
}
|
|
1790
|
-
const
|
|
2069
|
+
const se = { pureWrite: true };
|
|
1791
2070
|
function updateKeyedMap() {
|
|
1792
|
-
const e = this.
|
|
2071
|
+
const e = this.je() || [],
|
|
1793
2072
|
t = e.length;
|
|
1794
|
-
e[
|
|
1795
|
-
runWithOwner(this.
|
|
2073
|
+
e[q];
|
|
2074
|
+
runWithOwner(this.Ae, () => {
|
|
1796
2075
|
let n,
|
|
1797
2076
|
r,
|
|
1798
|
-
i = this.
|
|
2077
|
+
i = this.Re
|
|
1799
2078
|
? () => {
|
|
1800
|
-
this.
|
|
1801
|
-
this.
|
|
1802
|
-
return this.
|
|
1803
|
-
read.bind(null, this.
|
|
1804
|
-
this.
|
|
2079
|
+
this.Re[r] = signal(e[r], se);
|
|
2080
|
+
this.Te && (this.Te[r] = signal(r, se));
|
|
2081
|
+
return this.Ee(
|
|
2082
|
+
read.bind(null, this.Re[r]),
|
|
2083
|
+
this.Te ? read.bind(null, this.Te[r]) : undefined
|
|
1805
2084
|
);
|
|
1806
2085
|
}
|
|
1807
|
-
: this.
|
|
2086
|
+
: this.Te
|
|
1808
2087
|
? () => {
|
|
1809
2088
|
const t = e[r];
|
|
1810
|
-
this.
|
|
1811
|
-
return this.
|
|
2089
|
+
this.Te[r] = signal(r, se);
|
|
2090
|
+
return this.Ee(() => t, read.bind(null, this.Te[r]));
|
|
1812
2091
|
}
|
|
1813
2092
|
: () => {
|
|
1814
2093
|
const t = e[r];
|
|
1815
|
-
return this.
|
|
2094
|
+
return this.Ee(() => t);
|
|
1816
2095
|
};
|
|
1817
2096
|
if (t === 0) {
|
|
1818
|
-
if (this.
|
|
1819
|
-
this.
|
|
1820
|
-
this.
|
|
1821
|
-
this.
|
|
1822
|
-
this.
|
|
1823
|
-
this.
|
|
1824
|
-
this.
|
|
1825
|
-
this.
|
|
2097
|
+
if (this.We !== 0) {
|
|
2098
|
+
this.Ae.dispose(false);
|
|
2099
|
+
this.Ie = [];
|
|
2100
|
+
this.Ne = [];
|
|
2101
|
+
this.He = [];
|
|
2102
|
+
this.We = 0;
|
|
2103
|
+
this.Re && (this.Re = []);
|
|
2104
|
+
this.Te && (this.Te = []);
|
|
1826
2105
|
}
|
|
1827
|
-
if (this.
|
|
1828
|
-
this.
|
|
2106
|
+
if (this.qe && !this.He[0]) {
|
|
2107
|
+
this.He[0] = runWithOwner((this.Ie[0] = createOwner()), this.qe);
|
|
1829
2108
|
}
|
|
1830
|
-
} else if (this.
|
|
1831
|
-
if (this.
|
|
1832
|
-
this.
|
|
2109
|
+
} else if (this.We === 0) {
|
|
2110
|
+
if (this.Ie[0]) this.Ie[0].dispose();
|
|
2111
|
+
this.He = new Array(t);
|
|
1833
2112
|
for (r = 0; r < t; r++) {
|
|
1834
|
-
this.
|
|
1835
|
-
this.
|
|
2113
|
+
this.Ne[r] = e[r];
|
|
2114
|
+
this.He[r] = runWithOwner((this.Ie[r] = createOwner()), i);
|
|
1836
2115
|
}
|
|
1837
|
-
this.
|
|
2116
|
+
this.We = t;
|
|
1838
2117
|
} else {
|
|
1839
2118
|
let s,
|
|
1840
2119
|
o,
|
|
@@ -1844,275 +2123,271 @@ function updateKeyedMap() {
|
|
|
1844
2123
|
c,
|
|
1845
2124
|
a,
|
|
1846
2125
|
d = new Array(t),
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
y = this.
|
|
2126
|
+
p = new Array(t),
|
|
2127
|
+
h = this.Re ? new Array(t) : undefined,
|
|
2128
|
+
y = this.Te ? new Array(t) : undefined;
|
|
1850
2129
|
for (
|
|
1851
|
-
s = 0, o = Math.min(this.
|
|
1852
|
-
s < o && (this.
|
|
2130
|
+
s = 0, o = Math.min(this.We, t);
|
|
2131
|
+
s < o && (this.Ne[s] === e[s] || (this.Re && compare(this.Qe, this.Ne[s], e[s])));
|
|
1853
2132
|
s++
|
|
1854
2133
|
) {
|
|
1855
|
-
if (this.
|
|
2134
|
+
if (this.Re) setSignal(this.Re[s], e[s]);
|
|
1856
2135
|
}
|
|
1857
2136
|
for (
|
|
1858
|
-
o = this.
|
|
2137
|
+
o = this.We - 1, u = t - 1;
|
|
1859
2138
|
o >= s &&
|
|
1860
2139
|
u >= s &&
|
|
1861
|
-
(this.
|
|
2140
|
+
(this.Ne[o] === e[u] || (this.Re && compare(this.Qe, this.Ne[o], e[u])));
|
|
1862
2141
|
o--, u--
|
|
1863
2142
|
) {
|
|
1864
|
-
d[u] = this.
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
y && (y[u] = this.
|
|
2143
|
+
d[u] = this.He[o];
|
|
2144
|
+
p[u] = this.Ie[o];
|
|
2145
|
+
h && (h[u] = this.Re[o]);
|
|
2146
|
+
y && (y[u] = this.Te[o]);
|
|
1868
2147
|
}
|
|
1869
2148
|
c = new Map();
|
|
1870
2149
|
a = new Array(u + 1);
|
|
1871
2150
|
for (r = u; r >= s; r--) {
|
|
1872
2151
|
l = e[r];
|
|
1873
|
-
f = this.
|
|
2152
|
+
f = this.Qe ? this.Qe(l) : l;
|
|
1874
2153
|
n = c.get(f);
|
|
1875
2154
|
a[r] = n === undefined ? -1 : n;
|
|
1876
2155
|
c.set(f, r);
|
|
1877
2156
|
}
|
|
1878
2157
|
for (n = s; n <= o; n++) {
|
|
1879
|
-
l = this.
|
|
1880
|
-
f = this.
|
|
2158
|
+
l = this.Ne[n];
|
|
2159
|
+
f = this.Qe ? this.Qe(l) : l;
|
|
1881
2160
|
r = c.get(f);
|
|
1882
2161
|
if (r !== undefined && r !== -1) {
|
|
1883
|
-
d[r] = this.
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
y && (y[r] = this.
|
|
2162
|
+
d[r] = this.He[n];
|
|
2163
|
+
p[r] = this.Ie[n];
|
|
2164
|
+
h && (h[r] = this.Re[n]);
|
|
2165
|
+
y && (y[r] = this.Te[n]);
|
|
1887
2166
|
r = a[r];
|
|
1888
2167
|
c.set(f, r);
|
|
1889
|
-
} else this.
|
|
2168
|
+
} else this.Ie[n].dispose();
|
|
1890
2169
|
}
|
|
1891
2170
|
for (r = s; r < t; r++) {
|
|
1892
2171
|
if (r in d) {
|
|
1893
|
-
this.
|
|
1894
|
-
this.
|
|
1895
|
-
if (
|
|
1896
|
-
this.
|
|
1897
|
-
setSignal(this.
|
|
2172
|
+
this.He[r] = d[r];
|
|
2173
|
+
this.Ie[r] = p[r];
|
|
2174
|
+
if (h) {
|
|
2175
|
+
this.Re[r] = h[r];
|
|
2176
|
+
setSignal(this.Re[r], e[r]);
|
|
1898
2177
|
}
|
|
1899
2178
|
if (y) {
|
|
1900
|
-
this.
|
|
1901
|
-
setSignal(this.
|
|
2179
|
+
this.Te[r] = y[r];
|
|
2180
|
+
setSignal(this.Te[r], r);
|
|
1902
2181
|
}
|
|
1903
2182
|
} else {
|
|
1904
|
-
this.
|
|
2183
|
+
this.He[r] = runWithOwner((this.Ie[r] = createOwner()), i);
|
|
1905
2184
|
}
|
|
1906
2185
|
}
|
|
1907
|
-
this.
|
|
1908
|
-
this.
|
|
2186
|
+
this.He = this.He.slice(0, (this.We = t));
|
|
2187
|
+
this.Ne = e.slice(0);
|
|
1909
2188
|
}
|
|
1910
2189
|
});
|
|
1911
|
-
return this.
|
|
2190
|
+
return this.He;
|
|
1912
2191
|
}
|
|
1913
2192
|
function repeat(e, t, n) {
|
|
1914
2193
|
return updateRepeat.bind({
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
2194
|
+
Ae: createOwner(),
|
|
2195
|
+
We: 0,
|
|
2196
|
+
Fe: 0,
|
|
2197
|
+
Ve: e,
|
|
2198
|
+
Ee: t,
|
|
2199
|
+
Ie: [],
|
|
2200
|
+
He: [],
|
|
2201
|
+
Me: n?.from,
|
|
2202
|
+
qe: n?.fallback
|
|
1924
2203
|
});
|
|
1925
2204
|
}
|
|
1926
2205
|
function updateRepeat() {
|
|
1927
|
-
const e = this.
|
|
1928
|
-
const t = this.
|
|
1929
|
-
runWithOwner(this.
|
|
2206
|
+
const e = this.Ve();
|
|
2207
|
+
const t = this.Me?.() || 0;
|
|
2208
|
+
runWithOwner(this.Ae, () => {
|
|
1930
2209
|
if (e === 0) {
|
|
1931
|
-
if (this.
|
|
1932
|
-
this.
|
|
1933
|
-
this.
|
|
1934
|
-
this.
|
|
1935
|
-
this.
|
|
2210
|
+
if (this.We !== 0) {
|
|
2211
|
+
this.Ae.dispose(false);
|
|
2212
|
+
this.Ie = [];
|
|
2213
|
+
this.He = [];
|
|
2214
|
+
this.We = 0;
|
|
1936
2215
|
}
|
|
1937
|
-
if (this.
|
|
1938
|
-
this.
|
|
2216
|
+
if (this.qe && !this.He[0]) {
|
|
2217
|
+
this.He[0] = runWithOwner((this.Ie[0] = createOwner()), this.qe);
|
|
1939
2218
|
}
|
|
1940
2219
|
return;
|
|
1941
2220
|
}
|
|
1942
2221
|
const n = t + e;
|
|
1943
|
-
const r = this.
|
|
1944
|
-
if (this.
|
|
1945
|
-
for (let e = n; e < r; e++) this.
|
|
1946
|
-
if (this.
|
|
1947
|
-
let e = this.
|
|
1948
|
-
while (e < t && e < this.
|
|
1949
|
-
this.
|
|
1950
|
-
this.
|
|
1951
|
-
} else if (this.
|
|
1952
|
-
let n = r - this.
|
|
1953
|
-
let i = this.
|
|
1954
|
-
this.
|
|
2222
|
+
const r = this.Fe + this.We;
|
|
2223
|
+
if (this.We === 0 && this.Ie[0]) this.Ie[0].dispose();
|
|
2224
|
+
for (let e = n; e < r; e++) this.Ie[e - this.Fe].dispose();
|
|
2225
|
+
if (this.Fe < t) {
|
|
2226
|
+
let e = this.Fe;
|
|
2227
|
+
while (e < t && e < this.We) this.Ie[e++].dispose();
|
|
2228
|
+
this.Ie.splice(0, t - this.Fe);
|
|
2229
|
+
this.He.splice(0, t - this.Fe);
|
|
2230
|
+
} else if (this.Fe > t) {
|
|
2231
|
+
let n = r - this.Fe - 1;
|
|
2232
|
+
let i = this.Fe - t;
|
|
2233
|
+
this.Ie.length = this.He.length = e;
|
|
1955
2234
|
while (n >= i) {
|
|
1956
|
-
this.
|
|
1957
|
-
this.
|
|
2235
|
+
this.Ie[n] = this.Ie[n - i];
|
|
2236
|
+
this.He[n] = this.He[n - i];
|
|
1958
2237
|
n--;
|
|
1959
2238
|
}
|
|
1960
2239
|
for (let e = 0; e < i; e++) {
|
|
1961
|
-
this.
|
|
2240
|
+
this.He[e] = runWithOwner((this.Ie[e] = createOwner()), () => this.Ee(e + t));
|
|
1962
2241
|
}
|
|
1963
2242
|
}
|
|
1964
2243
|
for (let e = r; e < n; e++) {
|
|
1965
|
-
this.
|
|
2244
|
+
this.He[e - t] = runWithOwner((this.Ie[e - t] = createOwner()), () => this.Ee(e));
|
|
1966
2245
|
}
|
|
1967
|
-
this.
|
|
1968
|
-
this.
|
|
1969
|
-
this.
|
|
2246
|
+
this.He = this.He.slice(0, e);
|
|
2247
|
+
this.Fe = t;
|
|
2248
|
+
this.We = e;
|
|
1970
2249
|
});
|
|
1971
|
-
return this.
|
|
2250
|
+
return this.He;
|
|
1972
2251
|
}
|
|
1973
2252
|
function compare(e, t, n) {
|
|
1974
2253
|
return e ? e(t) === e(n) : true;
|
|
1975
2254
|
}
|
|
1976
2255
|
function boundaryComputed(e, t) {
|
|
1977
|
-
const n = computed(e, undefined, {
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
},
|
|
1987
|
-
Ve: t
|
|
1988
|
-
}
|
|
1989
|
-
});
|
|
1990
|
-
n.Ve = t;
|
|
1991
|
-
n.pe = true;
|
|
2256
|
+
const n = computed(e, undefined, { lazy: true });
|
|
2257
|
+
n.pe = () => {
|
|
2258
|
+
const e = n.re;
|
|
2259
|
+
n.re &= ~n.De;
|
|
2260
|
+
n.$.notify(n, n.De, e);
|
|
2261
|
+
};
|
|
2262
|
+
n.De = t;
|
|
2263
|
+
n.we = true;
|
|
2264
|
+
recompute(n, true);
|
|
1992
2265
|
return n;
|
|
1993
2266
|
}
|
|
1994
2267
|
function createBoundChildren(e, t, n, r) {
|
|
1995
|
-
const i = e
|
|
1996
|
-
i.addChild((e
|
|
1997
|
-
onCleanup(() => i.removeChild(e
|
|
2268
|
+
const i = e.$;
|
|
2269
|
+
i.addChild((e.$ = n));
|
|
2270
|
+
onCleanup(() => i.removeChild(e.$));
|
|
1998
2271
|
return runWithOwner(e, () => {
|
|
1999
2272
|
const e = computed(t);
|
|
2000
2273
|
return boundaryComputed(() => staleValues(() => flatten(read(e))), r);
|
|
2001
2274
|
});
|
|
2002
2275
|
}
|
|
2003
2276
|
class ConditionalQueue extends Queue {
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
|
|
2277
|
+
Be;
|
|
2278
|
+
Ge = new Set();
|
|
2279
|
+
D = new Set();
|
|
2007
2280
|
constructor(e) {
|
|
2008
2281
|
super();
|
|
2009
|
-
this.
|
|
2282
|
+
this.Be = e;
|
|
2010
2283
|
}
|
|
2011
2284
|
run(e) {
|
|
2012
|
-
if (!e || read(this.
|
|
2285
|
+
if (!e || read(this.Be)) return;
|
|
2013
2286
|
return super.run(e);
|
|
2014
2287
|
}
|
|
2015
2288
|
notify(e, t, n) {
|
|
2016
|
-
if (read(this.
|
|
2017
|
-
if (t & f) {
|
|
2018
|
-
if (n & f) {
|
|
2019
|
-
this.q.add(e);
|
|
2020
|
-
t &= ~f;
|
|
2021
|
-
} else if (this.q.delete(e)) t &= ~f;
|
|
2022
|
-
}
|
|
2289
|
+
if (read(this.Be)) {
|
|
2023
2290
|
if (t & c) {
|
|
2024
2291
|
if (n & c) {
|
|
2025
|
-
this.
|
|
2292
|
+
this.D.add(e);
|
|
2026
2293
|
t &= ~c;
|
|
2027
|
-
} else if (this.
|
|
2294
|
+
} else if (this.D.delete(e)) t &= ~c;
|
|
2295
|
+
}
|
|
2296
|
+
if (t & a) {
|
|
2297
|
+
if (n & a) {
|
|
2298
|
+
this.Ge.add(e);
|
|
2299
|
+
t &= ~a;
|
|
2300
|
+
} else if (this.Ge.delete(e)) t &= ~a;
|
|
2028
2301
|
}
|
|
2029
2302
|
}
|
|
2030
2303
|
return t ? super.notify(e, t, n) : true;
|
|
2031
2304
|
}
|
|
2032
2305
|
}
|
|
2033
2306
|
class CollectionQueue extends Queue {
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2307
|
+
Ke;
|
|
2308
|
+
Ie = new Set();
|
|
2309
|
+
Be = signal(false, { pureWrite: true });
|
|
2310
|
+
ze = false;
|
|
2038
2311
|
constructor(e) {
|
|
2039
2312
|
super();
|
|
2040
|
-
this.
|
|
2313
|
+
this.Ke = e;
|
|
2041
2314
|
}
|
|
2042
2315
|
run(e) {
|
|
2043
|
-
if (!e || read(this.
|
|
2316
|
+
if (!e || read(this.Be)) return;
|
|
2044
2317
|
return super.run(e);
|
|
2045
2318
|
}
|
|
2046
2319
|
notify(e, t, n) {
|
|
2047
|
-
if (!(t & this.
|
|
2048
|
-
if (n & this.
|
|
2049
|
-
this.
|
|
2050
|
-
if (this.
|
|
2051
|
-
} else if (this.
|
|
2052
|
-
this.
|
|
2053
|
-
if (this.
|
|
2054
|
-
}
|
|
2055
|
-
t &= ~this.
|
|
2320
|
+
if (!(t & this.Ke) || (this.Ke & c && this.ze)) return super.notify(e, t, n);
|
|
2321
|
+
if (n & this.Ke) {
|
|
2322
|
+
this.Ie.add(e);
|
|
2323
|
+
if (this.Ie.size === 1) setSignal(this.Be, true);
|
|
2324
|
+
} else if (this.Ie.size > 0) {
|
|
2325
|
+
this.Ie.delete(e);
|
|
2326
|
+
if (this.Ie.size === 0) setSignal(this.Be, false);
|
|
2327
|
+
}
|
|
2328
|
+
t &= ~this.Ke;
|
|
2056
2329
|
return t ? super.notify(e, t, n) : true;
|
|
2057
2330
|
}
|
|
2058
2331
|
}
|
|
2059
|
-
var
|
|
2332
|
+
var oe;
|
|
2060
2333
|
(function (e) {
|
|
2061
2334
|
e["VISIBLE"] = "visible";
|
|
2062
2335
|
e["HIDDEN"] = "hidden";
|
|
2063
|
-
})(
|
|
2336
|
+
})(oe || (oe = {}));
|
|
2064
2337
|
function createBoundary(e, t) {
|
|
2065
2338
|
const n = createOwner();
|
|
2066
|
-
const r = new ConditionalQueue(computed(() => t() ===
|
|
2339
|
+
const r = new ConditionalQueue(computed(() => t() === oe.HIDDEN));
|
|
2067
2340
|
const i = createBoundChildren(n, e, r, 0);
|
|
2068
2341
|
computed(() => {
|
|
2069
|
-
const e = read(r.
|
|
2070
|
-
i.
|
|
2342
|
+
const e = read(r.Be);
|
|
2343
|
+
i.De = e ? a | c : 0;
|
|
2071
2344
|
if (!e) {
|
|
2072
|
-
r.
|
|
2073
|
-
r.
|
|
2074
|
-
r.
|
|
2075
|
-
r.
|
|
2345
|
+
r.D.forEach(e => r.notify(e, c, c));
|
|
2346
|
+
r.Ge.forEach(e => r.notify(e, a, a));
|
|
2347
|
+
r.D.clear();
|
|
2348
|
+
r.Ge.clear();
|
|
2076
2349
|
}
|
|
2077
2350
|
});
|
|
2078
|
-
return () => (read(r.
|
|
2351
|
+
return () => (read(r.Be) ? undefined : read(i));
|
|
2079
2352
|
}
|
|
2080
2353
|
function createCollectionBoundary(e, t, n) {
|
|
2081
2354
|
const r = createOwner();
|
|
2082
2355
|
const i = new CollectionQueue(e);
|
|
2083
2356
|
const s = createBoundChildren(r, t, i, e);
|
|
2084
2357
|
const o = computed(() => {
|
|
2085
|
-
if (!read(i.
|
|
2358
|
+
if (!read(i.Be)) {
|
|
2086
2359
|
const e = read(s);
|
|
2087
|
-
if (!untrack(() => read(i.
|
|
2088
|
-
|
|
2360
|
+
if (!untrack(() => read(i.Be))) {
|
|
2361
|
+
i.ze = true;
|
|
2362
|
+
return e;
|
|
2363
|
+
}
|
|
2089
2364
|
}
|
|
2090
2365
|
return n(i);
|
|
2091
2366
|
});
|
|
2092
2367
|
return read.bind(null, o);
|
|
2093
2368
|
}
|
|
2094
2369
|
function createLoadBoundary(e, t) {
|
|
2095
|
-
return createCollectionBoundary(
|
|
2370
|
+
return createCollectionBoundary(c, e, () => t());
|
|
2096
2371
|
}
|
|
2097
2372
|
function collectErrorSources(e, t) {
|
|
2098
2373
|
let n = true;
|
|
2099
|
-
let r = e.
|
|
2374
|
+
let r = e.j;
|
|
2100
2375
|
while (r !== null) {
|
|
2101
|
-
const e = r.
|
|
2102
|
-
if (e.
|
|
2376
|
+
const e = r.H;
|
|
2377
|
+
if (e.j && e.re & a) {
|
|
2103
2378
|
n = false;
|
|
2104
2379
|
collectErrorSources(e, t);
|
|
2105
2380
|
}
|
|
2106
|
-
r = r.
|
|
2381
|
+
r = r.N;
|
|
2107
2382
|
}
|
|
2108
2383
|
n && t.push(e);
|
|
2109
2384
|
}
|
|
2110
2385
|
function createErrorBoundary(e, t) {
|
|
2111
|
-
return createCollectionBoundary(
|
|
2112
|
-
let n = e.
|
|
2113
|
-
return t(n.
|
|
2386
|
+
return createCollectionBoundary(a, e, e => {
|
|
2387
|
+
let n = e.Ie.values().next().value;
|
|
2388
|
+
return t(n.J, () => {
|
|
2114
2389
|
const t = [];
|
|
2115
|
-
for (const n of e.
|
|
2390
|
+
for (const n of e.Ie) collectErrorSources(n, t);
|
|
2116
2391
|
for (const e of t) recompute(e);
|
|
2117
2392
|
schedule();
|
|
2118
2393
|
});
|
|
@@ -2167,13 +2442,13 @@ function flattenArray(e, t = [], n) {
|
|
|
2167
2442
|
if (r) throw r;
|
|
2168
2443
|
return i;
|
|
2169
2444
|
}
|
|
2170
|
-
exports.$PROXY =
|
|
2171
|
-
exports.$TARGET =
|
|
2172
|
-
exports.$TRACK =
|
|
2445
|
+
exports.$PROXY = M;
|
|
2446
|
+
exports.$TARGET = V;
|
|
2447
|
+
exports.$TRACK = q;
|
|
2173
2448
|
exports.ContextNotFoundError = ContextNotFoundError;
|
|
2174
2449
|
exports.NoOwnerError = NoOwnerError;
|
|
2175
2450
|
exports.NotReadyError = NotReadyError;
|
|
2176
|
-
exports.SUPPORTS_PROXY =
|
|
2451
|
+
exports.SUPPORTS_PROXY = w;
|
|
2177
2452
|
exports.action = action;
|
|
2178
2453
|
exports.createBoundary = createBoundary;
|
|
2179
2454
|
exports.createContext = createContext;
|