@solidjs/signals 2.0.0-beta.11 → 2.0.0-beta.12
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 +17 -11
- package/dist/node.cjs +171 -165
- package/dist/prod.js +130 -124
- package/dist/types/map.d.ts +21 -5
- package/dist/types-cjs/map.d.cts +21 -5
- package/package.json +1 -1
package/dist/node.cjs
CHANGED
|
@@ -57,7 +57,7 @@ const j = Symbol("refresh");
|
|
|
57
57
|
const W = new Set();
|
|
58
58
|
const R = new Set();
|
|
59
59
|
let A = 0;
|
|
60
|
-
const
|
|
60
|
+
const I = undefined;
|
|
61
61
|
function emitDiagnostic(e) {
|
|
62
62
|
const t = { sequence: ++A, ...e };
|
|
63
63
|
for (const e of W) e(t);
|
|
@@ -150,8 +150,8 @@ function adjustHeight(e, t) {
|
|
|
150
150
|
let n = e.o;
|
|
151
151
|
for (let t = e.W; t; t = t.R) {
|
|
152
152
|
const e = t.A;
|
|
153
|
-
const r = e.
|
|
154
|
-
if (r.
|
|
153
|
+
const r = e.I || e;
|
|
154
|
+
if (r.L && r.o >= n) n = r.o + 1;
|
|
155
155
|
}
|
|
156
156
|
if (e.o !== n) {
|
|
157
157
|
e.o = n;
|
|
@@ -160,17 +160,17 @@ function adjustHeight(e, t) {
|
|
|
160
160
|
}
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
|
-
const
|
|
163
|
+
const L = new WeakMap();
|
|
164
164
|
const T = new Set();
|
|
165
165
|
function getOrCreateLane(e) {
|
|
166
|
-
let t =
|
|
166
|
+
let t = L.get(e);
|
|
167
167
|
if (t) {
|
|
168
168
|
return findLane(t);
|
|
169
169
|
}
|
|
170
170
|
const n = e.T;
|
|
171
171
|
const r = n?.H ? findLane(n.H) : null;
|
|
172
172
|
t = { q: e, F: new Set(), M: [[], []], D: null, V: M, K: r };
|
|
173
|
-
|
|
173
|
+
L.set(e, t);
|
|
174
174
|
T.add(t);
|
|
175
175
|
e.B = false;
|
|
176
176
|
return t;
|
|
@@ -334,7 +334,7 @@ function cleanupCompletedLanes(e) {
|
|
|
334
334
|
t.M[0].length = 0;
|
|
335
335
|
t.M[1].length = 0;
|
|
336
336
|
T.delete(t);
|
|
337
|
-
|
|
337
|
+
L.delete(t.q);
|
|
338
338
|
}
|
|
339
339
|
}
|
|
340
340
|
function schedule() {
|
|
@@ -440,7 +440,7 @@ class GlobalQueue extends Queue {
|
|
|
440
440
|
B = new Set();
|
|
441
441
|
for (let t = 0; t < e.J.length; t++) {
|
|
442
442
|
const n = e.J[t];
|
|
443
|
-
if (n.
|
|
443
|
+
if (n.L || n.ye & d) continue;
|
|
444
444
|
B.add(n);
|
|
445
445
|
queueStashedOptimisticEffects(n);
|
|
446
446
|
}
|
|
@@ -598,7 +598,7 @@ function insertSubs(e, t = false) {
|
|
|
598
598
|
}
|
|
599
599
|
function commitPendingNode(e) {
|
|
600
600
|
const t = e;
|
|
601
|
-
if (!t.
|
|
601
|
+
if (!t.L) {
|
|
602
602
|
if (e.Y !== x) {
|
|
603
603
|
e.ue = e.Y;
|
|
604
604
|
e.Y = x;
|
|
@@ -704,7 +704,7 @@ function reporterBlocksSource(e, t) {
|
|
|
704
704
|
for (let n = e.W; n; n = n.R) {
|
|
705
705
|
let e = n.A;
|
|
706
706
|
while (e) {
|
|
707
|
-
if (e === t || e.
|
|
707
|
+
if (e === t || e.I === t) return true;
|
|
708
708
|
e = e.T;
|
|
709
709
|
}
|
|
710
710
|
}
|
|
@@ -789,7 +789,7 @@ function disposeChildren(e, t = false, n) {
|
|
|
789
789
|
const r = e.m;
|
|
790
790
|
if (r & u) return;
|
|
791
791
|
if (t) e.m = r | u;
|
|
792
|
-
if (t && e.
|
|
792
|
+
if (t && e.L) e.ke = null;
|
|
793
793
|
let i = n ? e.Oe : e.Ce;
|
|
794
794
|
while (i) {
|
|
795
795
|
const e = i.Ne;
|
|
@@ -912,16 +912,16 @@ function unlinkSubs(e) {
|
|
|
912
912
|
const t = e.A;
|
|
913
913
|
const n = e.R;
|
|
914
914
|
const r = e.P;
|
|
915
|
-
const i = e.
|
|
916
|
-
if (r !== null) r.
|
|
917
|
-
else t.
|
|
915
|
+
const i = e.Ie;
|
|
916
|
+
if (r !== null) r.Ie = i;
|
|
917
|
+
else t.Le = i;
|
|
918
918
|
if (i !== null) i.P = r;
|
|
919
919
|
else {
|
|
920
920
|
t.O = r;
|
|
921
921
|
if (r === null) {
|
|
922
922
|
t.Z?.();
|
|
923
923
|
const e = t;
|
|
924
|
-
e.
|
|
924
|
+
e.L && e.ye & y && !(e.m & o) && unobserved(e);
|
|
925
925
|
}
|
|
926
926
|
}
|
|
927
927
|
return n;
|
|
@@ -959,9 +959,9 @@ function link(e, t) {
|
|
|
959
959
|
return;
|
|
960
960
|
}
|
|
961
961
|
}
|
|
962
|
-
const o = e.
|
|
962
|
+
const o = e.Le;
|
|
963
963
|
if (o !== null && o.C === t && (!s || isValidLink(o, t))) return;
|
|
964
|
-
const u = (t.Ee = e.
|
|
964
|
+
const u = (t.Ee = e.Le = { A: e, C: t, R: i, Ie: o, P: null });
|
|
965
965
|
if (n !== null) n.R = u;
|
|
966
966
|
else t.W = u;
|
|
967
967
|
if (o !== null) o.P = u;
|
|
@@ -1318,7 +1318,7 @@ function releaseSubtree(e) {
|
|
|
1318
1318
|
t = t.Ne;
|
|
1319
1319
|
continue;
|
|
1320
1320
|
}
|
|
1321
|
-
if (t.
|
|
1321
|
+
if (t.L) {
|
|
1322
1322
|
const e = t;
|
|
1323
1323
|
e.ye &= ~g;
|
|
1324
1324
|
if (e.m & f) {
|
|
@@ -1395,11 +1395,11 @@ function recompute(t, n = false) {
|
|
|
1395
1395
|
if (y) Y = true;
|
|
1396
1396
|
try {
|
|
1397
1397
|
if (!false && t.ye & w) {
|
|
1398
|
-
p = t.
|
|
1398
|
+
p = t.L(p);
|
|
1399
1399
|
t.ke = null;
|
|
1400
1400
|
} else {
|
|
1401
1401
|
const e = t.ke;
|
|
1402
|
-
const n = t.
|
|
1402
|
+
const n = t.L(p);
|
|
1403
1403
|
const r = typeof n === "object" && n !== null;
|
|
1404
1404
|
const i = t.ke !== e;
|
|
1405
1405
|
p = i || !r ? n : handleAsync(t, n);
|
|
@@ -1472,8 +1472,8 @@ function updateIfNecessary(e) {
|
|
|
1472
1472
|
if (e.m & t) {
|
|
1473
1473
|
for (let t = e.W; t; t = t.R) {
|
|
1474
1474
|
const r = t.A;
|
|
1475
|
-
const i = r.
|
|
1476
|
-
if (i.
|
|
1475
|
+
const i = r.I || r;
|
|
1476
|
+
if (i.L) {
|
|
1477
1477
|
updateIfNecessary(i);
|
|
1478
1478
|
}
|
|
1479
1479
|
if (e.m & n) {
|
|
@@ -1502,7 +1502,7 @@ function computed(t, n) {
|
|
|
1502
1502
|
te: ne?.te ?? z,
|
|
1503
1503
|
Ae: ne?.Ae ?? k,
|
|
1504
1504
|
je: 0,
|
|
1505
|
-
|
|
1505
|
+
L: t,
|
|
1506
1506
|
ue: undefined,
|
|
1507
1507
|
o: 0,
|
|
1508
1508
|
N: null,
|
|
@@ -1511,7 +1511,7 @@ function computed(t, n) {
|
|
|
1511
1511
|
W: null,
|
|
1512
1512
|
Ee: null,
|
|
1513
1513
|
O: null,
|
|
1514
|
-
|
|
1514
|
+
Le: null,
|
|
1515
1515
|
i: ne,
|
|
1516
1516
|
Ne: null,
|
|
1517
1517
|
We: null,
|
|
@@ -1543,7 +1543,7 @@ function createEffectNode(e, t, n, r, i, s) {
|
|
|
1543
1543
|
te: ne?.te ?? z,
|
|
1544
1544
|
Ae: ne?.Ae ?? k,
|
|
1545
1545
|
je: 0,
|
|
1546
|
-
|
|
1546
|
+
L: e,
|
|
1547
1547
|
ue: undefined,
|
|
1548
1548
|
o: 0,
|
|
1549
1549
|
N: null,
|
|
@@ -1552,7 +1552,7 @@ function createEffectNode(e, t, n, r, i, s) {
|
|
|
1552
1552
|
W: null,
|
|
1553
1553
|
Ee: null,
|
|
1554
1554
|
O: null,
|
|
1555
|
-
|
|
1555
|
+
Le: null,
|
|
1556
1556
|
i: ne,
|
|
1557
1557
|
Ne: null,
|
|
1558
1558
|
We: null,
|
|
@@ -1594,11 +1594,11 @@ function setupComputedNode(e, t) {
|
|
|
1594
1594
|
if (n) e.o = n.o + 1;
|
|
1595
1595
|
if (J) {
|
|
1596
1596
|
const t = signal(undefined, { equals: false, ownedWrite: true });
|
|
1597
|
-
const n = J.factory(e.
|
|
1597
|
+
const n = J.factory(e.L, () => {
|
|
1598
1598
|
setSignal(t, undefined);
|
|
1599
1599
|
});
|
|
1600
1600
|
cleanup(() => n.dispose());
|
|
1601
|
-
e.
|
|
1601
|
+
e.L = e => {
|
|
1602
1602
|
read(t);
|
|
1603
1603
|
return n.track(e);
|
|
1604
1604
|
};
|
|
@@ -1618,9 +1618,9 @@ function signal(e, t, n = null) {
|
|
|
1618
1618
|
Z: t?.unobserved,
|
|
1619
1619
|
ue: e,
|
|
1620
1620
|
O: null,
|
|
1621
|
-
|
|
1621
|
+
Le: null,
|
|
1622
1622
|
me: F,
|
|
1623
|
-
|
|
1623
|
+
I: n,
|
|
1624
1624
|
k: n?.N || null,
|
|
1625
1625
|
Y: x
|
|
1626
1626
|
};
|
|
@@ -1681,7 +1681,7 @@ function read(e) {
|
|
|
1681
1681
|
return i;
|
|
1682
1682
|
}
|
|
1683
1683
|
if ($) {
|
|
1684
|
-
const t = e.
|
|
1684
|
+
const t = e.I;
|
|
1685
1685
|
const n = $;
|
|
1686
1686
|
$ = false;
|
|
1687
1687
|
if (t && e.G !== undefined) {
|
|
@@ -1703,7 +1703,7 @@ function read(e) {
|
|
|
1703
1703
|
let t = ne;
|
|
1704
1704
|
if (t?.t) t = t.u;
|
|
1705
1705
|
const n = e;
|
|
1706
|
-
if (typeof n.
|
|
1706
|
+
if (typeof n.L === "function") {
|
|
1707
1707
|
const t = e;
|
|
1708
1708
|
if (t.m & c) {
|
|
1709
1709
|
t.m &= ~c;
|
|
@@ -1712,9 +1712,9 @@ function read(e) {
|
|
|
1712
1712
|
recompute(t, true);
|
|
1713
1713
|
}
|
|
1714
1714
|
}
|
|
1715
|
-
const r = e.
|
|
1715
|
+
const r = e.I || e;
|
|
1716
1716
|
if (
|
|
1717
|
-
!n.
|
|
1717
|
+
!n.L &&
|
|
1718
1718
|
r === e &&
|
|
1719
1719
|
e.G === undefined &&
|
|
1720
1720
|
e._e === undefined &&
|
|
@@ -1728,7 +1728,7 @@ function read(e) {
|
|
|
1728
1728
|
}
|
|
1729
1729
|
if (t && X) {
|
|
1730
1730
|
link(e, t);
|
|
1731
|
-
if (r.
|
|
1731
|
+
if (r.L) {
|
|
1732
1732
|
const n = e.m & o;
|
|
1733
1733
|
if (r.o >= (n ? Q.j : q.j)) {
|
|
1734
1734
|
markNode(t);
|
|
@@ -1761,7 +1761,7 @@ function read(e) {
|
|
|
1761
1761
|
throw r.we;
|
|
1762
1762
|
}
|
|
1763
1763
|
}
|
|
1764
|
-
if (e.
|
|
1764
|
+
if (e.L && e.be & _) {
|
|
1765
1765
|
if (e.me < F) {
|
|
1766
1766
|
recompute(e);
|
|
1767
1767
|
return read(e);
|
|
@@ -1780,7 +1780,7 @@ function read(e) {
|
|
|
1780
1780
|
if (t && Y && shouldReadStashedOptimisticValue(e)) return e.ue;
|
|
1781
1781
|
return e.G;
|
|
1782
1782
|
}
|
|
1783
|
-
if (M !== null && re !== null && !te && e.Y !== x && r === e && !e.
|
|
1783
|
+
if (M !== null && re !== null && !te && e.Y !== x && r === e && !e.L && t) {
|
|
1784
1784
|
M.oe.add(t);
|
|
1785
1785
|
return e.ue;
|
|
1786
1786
|
}
|
|
@@ -1791,7 +1791,7 @@ function read(e) {
|
|
|
1791
1791
|
(Y && e.V && M !== e.V)
|
|
1792
1792
|
? e.ue
|
|
1793
1793
|
: e.Y;
|
|
1794
|
-
if (!t && r === e && typeof n.
|
|
1794
|
+
if (!t && r === e && typeof n.L === "function" && e.ye & y && !(r.be & m) && !e.O) {
|
|
1795
1795
|
unobserved(e);
|
|
1796
1796
|
}
|
|
1797
1797
|
return i;
|
|
@@ -1804,7 +1804,7 @@ function setSignal(e, t) {
|
|
|
1804
1804
|
if (typeof t === "function") t = t(i);
|
|
1805
1805
|
const s = !e.He || !e.He(i, t) || !!(e.be & b);
|
|
1806
1806
|
if (!s) {
|
|
1807
|
-
if (n && r && e.
|
|
1807
|
+
if (n && r && e.L) {
|
|
1808
1808
|
insertSubs(e, true);
|
|
1809
1809
|
schedule();
|
|
1810
1810
|
}
|
|
@@ -1868,7 +1868,7 @@ function getPendingSignal(e) {
|
|
|
1868
1868
|
}
|
|
1869
1869
|
function computePendingState(e) {
|
|
1870
1870
|
const t = e;
|
|
1871
|
-
const n = e.
|
|
1871
|
+
const n = e.I;
|
|
1872
1872
|
if (n && e.Y !== x) {
|
|
1873
1873
|
return !n.ke && !(n.be & m);
|
|
1874
1874
|
}
|
|
@@ -1899,7 +1899,7 @@ function updatePendingSignal(e) {
|
|
|
1899
1899
|
mergeLanes(t, e);
|
|
1900
1900
|
}
|
|
1901
1901
|
}
|
|
1902
|
-
|
|
1902
|
+
L.delete(n);
|
|
1903
1903
|
n.H = undefined;
|
|
1904
1904
|
}
|
|
1905
1905
|
}
|
|
@@ -1959,7 +1959,7 @@ function refresh(e) {
|
|
|
1959
1959
|
try {
|
|
1960
1960
|
const t = e?.[j];
|
|
1961
1961
|
if (false && !t);
|
|
1962
|
-
if (t && typeof t.
|
|
1962
|
+
if (t && typeof t.L === "function" && !(t.m & u)) {
|
|
1963
1963
|
recompute(t);
|
|
1964
1964
|
}
|
|
1965
1965
|
} finally {
|
|
@@ -3294,8 +3294,9 @@ function mapArray(e, t, n) {
|
|
|
3294
3294
|
et: [],
|
|
3295
3295
|
tt: r,
|
|
3296
3296
|
nt: r || n?.keyed === false ? [] : undefined,
|
|
3297
|
-
rt: i ? [] : undefined,
|
|
3298
|
-
it: n?.
|
|
3297
|
+
rt: i && n?.keyed !== false ? [] : undefined,
|
|
3298
|
+
it: n?.keyed === false,
|
|
3299
|
+
st: n?.fallback
|
|
3299
3300
|
};
|
|
3300
3301
|
const u = computed(updateKeyedMap.bind(o));
|
|
3301
3302
|
o.Ue.u = u;
|
|
@@ -3311,20 +3312,25 @@ function updateKeyedMap() {
|
|
|
3311
3312
|
let n,
|
|
3312
3313
|
r,
|
|
3313
3314
|
i = this.nt
|
|
3314
|
-
?
|
|
3315
|
-
|
|
3316
|
-
|
|
3317
|
-
|
|
3318
|
-
|
|
3315
|
+
? this.it
|
|
3316
|
+
? () => {
|
|
3317
|
+
this.nt[r] = signal(e[r], ke);
|
|
3318
|
+
return this.Ze(accessor(this.nt[r]), r);
|
|
3319
|
+
}
|
|
3320
|
+
: () => {
|
|
3321
|
+
this.nt[r] = signal(e[r], ke);
|
|
3322
|
+
this.rt && (this.rt[r] = signal(r, ke));
|
|
3323
|
+
return this.Ze(accessor(this.nt[r]), this.rt ? accessor(this.rt[r]) : undefined);
|
|
3324
|
+
}
|
|
3319
3325
|
: this.rt
|
|
3320
3326
|
? () => {
|
|
3321
3327
|
const t = e[r];
|
|
3322
3328
|
this.rt[r] = signal(r, ke);
|
|
3323
|
-
return this.Ze(
|
|
3329
|
+
return this.Ze(t, accessor(this.rt[r]));
|
|
3324
3330
|
}
|
|
3325
3331
|
: () => {
|
|
3326
3332
|
const t = e[r];
|
|
3327
|
-
return this.Ze(
|
|
3333
|
+
return this.Ze(t);
|
|
3328
3334
|
};
|
|
3329
3335
|
if (t === 0) {
|
|
3330
3336
|
if (this.Je !== 0) {
|
|
@@ -3336,8 +3342,8 @@ function updateKeyedMap() {
|
|
|
3336
3342
|
this.nt && (this.nt = []);
|
|
3337
3343
|
this.rt && (this.rt = []);
|
|
3338
3344
|
}
|
|
3339
|
-
if (this.
|
|
3340
|
-
this.$e[0] = runWithOwner((this.et[0] = createOwner()), this.
|
|
3345
|
+
if (this.st && !this.$e[0]) {
|
|
3346
|
+
this.$e[0] = runWithOwner((this.et[0] = createOwner()), this.st);
|
|
3341
3347
|
}
|
|
3342
3348
|
} else if (this.Je === 0) {
|
|
3343
3349
|
if (this.et[0]) this.et[0].dispose();
|
|
@@ -3428,21 +3434,21 @@ function repeat(e, t, n) {
|
|
|
3428
3434
|
updateRepeat.bind({
|
|
3429
3435
|
Ue: createOwner(),
|
|
3430
3436
|
Je: 0,
|
|
3431
|
-
|
|
3432
|
-
|
|
3437
|
+
ot: 0,
|
|
3438
|
+
ut: e,
|
|
3433
3439
|
Ze: r,
|
|
3434
3440
|
et: [],
|
|
3435
3441
|
$e: [],
|
|
3436
|
-
|
|
3437
|
-
|
|
3442
|
+
lt: n?.from,
|
|
3443
|
+
st: n?.fallback
|
|
3438
3444
|
})
|
|
3439
3445
|
);
|
|
3440
3446
|
i.ye &= ~y;
|
|
3441
3447
|
return accessor(i);
|
|
3442
3448
|
}
|
|
3443
3449
|
function updateRepeat() {
|
|
3444
|
-
const e = this.
|
|
3445
|
-
const t = this.
|
|
3450
|
+
const e = this.ut();
|
|
3451
|
+
const t = this.lt?.() || 0;
|
|
3446
3452
|
runWithOwner(this.Ue, () => {
|
|
3447
3453
|
if (e === 0) {
|
|
3448
3454
|
if (this.Je !== 0) {
|
|
@@ -3451,23 +3457,23 @@ function updateRepeat() {
|
|
|
3451
3457
|
this.$e = [];
|
|
3452
3458
|
this.Je = 0;
|
|
3453
3459
|
}
|
|
3454
|
-
if (this.
|
|
3455
|
-
this.$e[0] = runWithOwner((this.et[0] = createOwner()), this.
|
|
3460
|
+
if (this.st && !this.$e[0]) {
|
|
3461
|
+
this.$e[0] = runWithOwner((this.et[0] = createOwner()), this.st);
|
|
3456
3462
|
}
|
|
3457
3463
|
return;
|
|
3458
3464
|
}
|
|
3459
3465
|
const n = t + e;
|
|
3460
|
-
const r = this.
|
|
3466
|
+
const r = this.ot + this.Je;
|
|
3461
3467
|
if (this.Je === 0 && this.et[0]) this.et[0].dispose();
|
|
3462
|
-
for (let e = n; e < r; e++) this.et[e - this.
|
|
3463
|
-
if (this.
|
|
3464
|
-
let e = this.
|
|
3468
|
+
for (let e = n; e < r; e++) this.et[e - this.ot].dispose();
|
|
3469
|
+
if (this.ot < t) {
|
|
3470
|
+
let e = this.ot;
|
|
3465
3471
|
while (e < t && e < this.Je) this.et[e++].dispose();
|
|
3466
|
-
this.et.splice(0, t - this.
|
|
3467
|
-
this.$e.splice(0, t - this.
|
|
3468
|
-
} else if (this.
|
|
3469
|
-
let n = r - this.
|
|
3470
|
-
let i = this.
|
|
3472
|
+
this.et.splice(0, t - this.ot);
|
|
3473
|
+
this.$e.splice(0, t - this.ot);
|
|
3474
|
+
} else if (this.ot > t) {
|
|
3475
|
+
let n = r - this.ot - 1;
|
|
3476
|
+
let i = this.ot - t;
|
|
3471
3477
|
this.et.length = this.$e.length = e;
|
|
3472
3478
|
while (n >= i) {
|
|
3473
3479
|
this.et[n] = this.et[n - i];
|
|
@@ -3482,7 +3488,7 @@ function updateRepeat() {
|
|
|
3482
3488
|
this.$e[e - t] = runWithOwner((this.et[e - t] = createOwner()), () => this.Ze(e));
|
|
3483
3489
|
}
|
|
3484
3490
|
this.$e = this.$e.slice(0, e);
|
|
3485
|
-
this.
|
|
3491
|
+
this.ot = t;
|
|
3486
3492
|
this.Je = e;
|
|
3487
3493
|
});
|
|
3488
3494
|
return this.$e;
|
|
@@ -3495,10 +3501,10 @@ function boundaryComputed(e, t) {
|
|
|
3495
3501
|
n.Fe = (e, t) => {
|
|
3496
3502
|
const r = e !== undefined ? e : n.be;
|
|
3497
3503
|
const i = t !== undefined ? t : n.we;
|
|
3498
|
-
n.be &= ~n.
|
|
3499
|
-
n.te.notify(n, n.
|
|
3504
|
+
n.be &= ~n.ft;
|
|
3505
|
+
n.te.notify(n, n.ft, r, i);
|
|
3500
3506
|
};
|
|
3501
|
-
n.
|
|
3507
|
+
n.ft = t;
|
|
3502
3508
|
n.ye &= ~y;
|
|
3503
3509
|
recompute(n, true);
|
|
3504
3510
|
return n;
|
|
@@ -3521,52 +3527,52 @@ function isRevealController(e) {
|
|
|
3521
3527
|
return e instanceof RevealController;
|
|
3522
3528
|
}
|
|
3523
3529
|
function isSlotReady(e) {
|
|
3524
|
-
return isRevealController(e) ? e.isReady() : e.
|
|
3530
|
+
return isRevealController(e) ? e.isReady() : e.ct.size === 0 && !e.dt;
|
|
3525
3531
|
}
|
|
3526
3532
|
function isSlotMinimallyReady(e) {
|
|
3527
3533
|
return isRevealController(e) ? e.isMinimallyReady() : isSlotReady(e);
|
|
3528
3534
|
}
|
|
3529
3535
|
function setSlotState(e, t, n, r) {
|
|
3530
|
-
setSignal(e.
|
|
3531
|
-
setSignal(e.
|
|
3536
|
+
setSignal(e.ht, n);
|
|
3537
|
+
setSignal(e.gt, r);
|
|
3532
3538
|
if (isRevealController(e)) {
|
|
3533
|
-
if (!n && e.
|
|
3539
|
+
if (!n && e.St === t) e.St = undefined;
|
|
3534
3540
|
return e.evaluate(n, r);
|
|
3535
3541
|
}
|
|
3536
|
-
if (!n && e.
|
|
3542
|
+
if (!n && e.yt === t && e.wt) e.yt = undefined;
|
|
3537
3543
|
}
|
|
3538
3544
|
class RevealController {
|
|
3539
|
-
wt;
|
|
3540
3545
|
_t;
|
|
3541
|
-
bt
|
|
3542
|
-
|
|
3543
|
-
|
|
3546
|
+
bt;
|
|
3547
|
+
Ot = [];
|
|
3548
|
+
St;
|
|
3544
3549
|
ht = signal(false, { ownedWrite: true, ze: true });
|
|
3545
|
-
|
|
3550
|
+
gt = signal(false, { ownedWrite: true, ze: true });
|
|
3546
3551
|
vt = true;
|
|
3547
|
-
Pt =
|
|
3552
|
+
Pt = true;
|
|
3553
|
+
xt = false;
|
|
3548
3554
|
constructor(e, t) {
|
|
3549
|
-
this.
|
|
3550
|
-
this.
|
|
3555
|
+
this._t = e;
|
|
3556
|
+
this.bt = t;
|
|
3551
3557
|
}
|
|
3552
|
-
|
|
3553
|
-
for (let t = 0; t < this.
|
|
3554
|
-
const n = this.
|
|
3555
|
-
if ((isRevealController(n) ? n.
|
|
3558
|
+
Ct(e) {
|
|
3559
|
+
for (let t = 0; t < this.Ot.length; t++) {
|
|
3560
|
+
const n = this.Ot[t];
|
|
3561
|
+
if ((isRevealController(n) ? n.St : n.yt) !== this) continue;
|
|
3556
3562
|
if (e(n) === false) return false;
|
|
3557
3563
|
}
|
|
3558
3564
|
return true;
|
|
3559
3565
|
}
|
|
3560
3566
|
isReady() {
|
|
3561
|
-
return this.
|
|
3567
|
+
return this.Ct(isSlotReady);
|
|
3562
3568
|
}
|
|
3563
3569
|
isMinimallyReady() {
|
|
3564
|
-
const e = untrack(this.
|
|
3570
|
+
const e = untrack(this._t);
|
|
3565
3571
|
if (e === "together") return this.isReady();
|
|
3566
3572
|
if (e === "natural") {
|
|
3567
3573
|
let e = false;
|
|
3568
3574
|
let t = false;
|
|
3569
|
-
this.
|
|
3575
|
+
this.Ct(n => {
|
|
3570
3576
|
e = true;
|
|
3571
3577
|
if (isSlotMinimallyReady(n)) {
|
|
3572
3578
|
t = true;
|
|
@@ -3576,58 +3582,58 @@ class RevealController {
|
|
|
3576
3582
|
return !e || t;
|
|
3577
3583
|
}
|
|
3578
3584
|
let t = true;
|
|
3579
|
-
this.
|
|
3585
|
+
this.Ct(e => {
|
|
3580
3586
|
t = isSlotMinimallyReady(e);
|
|
3581
3587
|
return false;
|
|
3582
3588
|
});
|
|
3583
3589
|
return t;
|
|
3584
3590
|
}
|
|
3585
3591
|
register(e) {
|
|
3586
|
-
if (this.
|
|
3587
|
-
this.
|
|
3588
|
-
const t = untrack(this.
|
|
3589
|
-
(setSignal(e.
|
|
3592
|
+
if (this.Ot.includes(e)) return;
|
|
3593
|
+
this.Ot.push(e);
|
|
3594
|
+
const t = untrack(this._t);
|
|
3595
|
+
(setSignal(e.ht, true), setSignal(e.gt, t === "sequential" ? !!untrack(this.bt) : false));
|
|
3590
3596
|
untrack(() => this.evaluate());
|
|
3591
3597
|
}
|
|
3592
3598
|
unregister(e) {
|
|
3593
|
-
const t = this.
|
|
3594
|
-
if (t >= 0) this.
|
|
3599
|
+
const t = this.Ot.indexOf(e);
|
|
3600
|
+
if (t >= 0) this.Ot.splice(t, 1);
|
|
3595
3601
|
untrack(() => this.evaluate());
|
|
3596
3602
|
}
|
|
3597
3603
|
evaluate(e, t) {
|
|
3598
|
-
if (this.
|
|
3599
|
-
this.
|
|
3600
|
-
const n = this.
|
|
3601
|
-
const r = this.
|
|
3604
|
+
if (this.xt) return;
|
|
3605
|
+
this.xt = true;
|
|
3606
|
+
const n = this.vt;
|
|
3607
|
+
const r = this.Pt;
|
|
3602
3608
|
try {
|
|
3603
|
-
const n = e ?? read(this.
|
|
3604
|
-
r = untrack(this.
|
|
3605
|
-
i = r === "sequential" && !!untrack(this.
|
|
3609
|
+
const n = e ?? read(this.ht),
|
|
3610
|
+
r = untrack(this._t),
|
|
3611
|
+
i = r === "sequential" && !!untrack(this.bt),
|
|
3606
3612
|
s = t ?? i;
|
|
3607
3613
|
if (n) {
|
|
3608
|
-
this.
|
|
3614
|
+
this.Ct(e => setSlotState(e, this, true, s));
|
|
3609
3615
|
} else if (r === "natural") {
|
|
3610
|
-
this.
|
|
3616
|
+
this.Ct(e => {
|
|
3611
3617
|
if (isRevealController(e)) {
|
|
3618
|
+
setSignal(e.gt, false);
|
|
3612
3619
|
setSignal(e.ht, false);
|
|
3613
|
-
setSignal(e.dt, false);
|
|
3614
3620
|
e.evaluate(false, false);
|
|
3615
3621
|
} else {
|
|
3616
3622
|
setSlotState(e, this, !isSlotReady(e), false);
|
|
3617
3623
|
}
|
|
3618
3624
|
});
|
|
3619
3625
|
} else if (r === "together") {
|
|
3620
|
-
const e = this.
|
|
3621
|
-
this.
|
|
3626
|
+
const e = this.Ct(isSlotMinimallyReady);
|
|
3627
|
+
this.Ct(t => setSlotState(t, this, !e, false));
|
|
3622
3628
|
} else {
|
|
3623
3629
|
let e = false;
|
|
3624
|
-
this.
|
|
3630
|
+
this.Ct(t => {
|
|
3625
3631
|
if (e) return setSlotState(t, this, true, i);
|
|
3626
3632
|
if (isSlotReady(t)) return setSlotState(t, this, false, false);
|
|
3627
3633
|
e = true;
|
|
3628
3634
|
if (isRevealController(t)) {
|
|
3635
|
+
setSignal(t.gt, false);
|
|
3629
3636
|
setSignal(t.ht, false);
|
|
3630
|
-
setSignal(t.dt, false);
|
|
3631
3637
|
t.evaluate(false, false);
|
|
3632
3638
|
} else {
|
|
3633
3639
|
setSlotState(t, this, true, false);
|
|
@@ -3635,92 +3641,92 @@ class RevealController {
|
|
|
3635
3641
|
});
|
|
3636
3642
|
}
|
|
3637
3643
|
} finally {
|
|
3638
|
-
this.
|
|
3639
|
-
this.
|
|
3640
|
-
this.
|
|
3644
|
+
this.vt = this.isReady();
|
|
3645
|
+
this.Pt = this.isMinimallyReady();
|
|
3646
|
+
this.xt = false;
|
|
3641
3647
|
}
|
|
3642
|
-
if (this.
|
|
3648
|
+
if (this.St && (n !== this.vt || r !== this.Pt)) this.St.evaluate();
|
|
3643
3649
|
}
|
|
3644
3650
|
}
|
|
3645
3651
|
class CollectionQueue extends Queue {
|
|
3646
|
-
Ct;
|
|
3647
|
-
ft = new Set();
|
|
3648
3652
|
Nt;
|
|
3649
|
-
ct =
|
|
3650
|
-
dt = signal(false, { ownedWrite: true, ze: true });
|
|
3651
|
-
ht = signal(false, { ownedWrite: true, ze: true });
|
|
3652
|
-
St;
|
|
3653
|
-
yt = false;
|
|
3653
|
+
ct = new Set();
|
|
3654
3654
|
Et;
|
|
3655
|
-
|
|
3655
|
+
dt = true;
|
|
3656
|
+
ht = signal(false, { ownedWrite: true, ze: true });
|
|
3657
|
+
gt = signal(false, { ownedWrite: true, ze: true });
|
|
3658
|
+
yt;
|
|
3659
|
+
wt = false;
|
|
3660
|
+
kt;
|
|
3661
|
+
jt = je;
|
|
3656
3662
|
constructor(e) {
|
|
3657
3663
|
super();
|
|
3658
|
-
this.
|
|
3664
|
+
this.Nt = e;
|
|
3659
3665
|
}
|
|
3660
3666
|
run(e) {
|
|
3661
|
-
if (!e || (read(this.
|
|
3667
|
+
if (!e || (read(this.ht) && (!Re || read(this.gt)))) return;
|
|
3662
3668
|
return super.run(e);
|
|
3663
3669
|
}
|
|
3664
3670
|
notify(e, t, n, r) {
|
|
3665
|
-
if (!(t & this.
|
|
3666
|
-
if (this.
|
|
3671
|
+
if (!(t & this.Nt)) return super.notify(e, t, n, r);
|
|
3672
|
+
if (this.wt && this.kt) {
|
|
3667
3673
|
const e = untrack(() => {
|
|
3668
3674
|
try {
|
|
3669
|
-
return this.
|
|
3675
|
+
return this.kt();
|
|
3670
3676
|
} catch {
|
|
3671
3677
|
return je;
|
|
3672
3678
|
}
|
|
3673
3679
|
});
|
|
3674
|
-
if (e !== this.
|
|
3675
|
-
this.
|
|
3676
|
-
this.
|
|
3677
|
-
this.
|
|
3680
|
+
if (e !== this.jt) {
|
|
3681
|
+
this.jt = e;
|
|
3682
|
+
this.wt = false;
|
|
3683
|
+
this.ct.clear();
|
|
3678
3684
|
}
|
|
3679
3685
|
}
|
|
3680
|
-
if (this.
|
|
3681
|
-
if (this.
|
|
3686
|
+
if (this.Nt & m && this.wt) return super.notify(e, t, n, r);
|
|
3687
|
+
if (this.Nt & m && n & _) {
|
|
3682
3688
|
return super.notify(e, _, n, r);
|
|
3683
3689
|
}
|
|
3684
|
-
if (n & this.
|
|
3685
|
-
this.
|
|
3690
|
+
if (n & this.Nt) {
|
|
3691
|
+
this.dt = true;
|
|
3686
3692
|
const t = r?.source || e.we?.source;
|
|
3687
3693
|
if (t) {
|
|
3688
|
-
const e = this.
|
|
3689
|
-
this.
|
|
3690
|
-
if (e) setSignal(this.
|
|
3694
|
+
const e = this.ct.size === 0;
|
|
3695
|
+
this.ct.add(t);
|
|
3696
|
+
if (e) setSignal(this.ht, true);
|
|
3691
3697
|
}
|
|
3692
3698
|
}
|
|
3693
|
-
t &= ~this.
|
|
3699
|
+
t &= ~this.Nt;
|
|
3694
3700
|
return t ? super.notify(e, t, n, r) : true;
|
|
3695
3701
|
}
|
|
3696
3702
|
checkSources() {
|
|
3697
|
-
for (const e of this.
|
|
3698
|
-
if (e.m & u || (!(e.be & this.
|
|
3703
|
+
for (const e of this.ct) {
|
|
3704
|
+
if (e.m & u || (!(e.be & this.Nt) && !(this.Nt & _ && e.be & m))) this.ct.delete(e);
|
|
3699
3705
|
}
|
|
3700
|
-
if (!this.
|
|
3701
|
-
if (this.
|
|
3702
|
-
this.
|
|
3706
|
+
if (!this.ct.size) {
|
|
3707
|
+
if (this.Nt & m && this.dt && !this.wt && this.Et) {
|
|
3708
|
+
this.dt = !!(this.Et.be & this.Nt);
|
|
3703
3709
|
} else {
|
|
3704
|
-
this.
|
|
3710
|
+
this.dt = false;
|
|
3705
3711
|
}
|
|
3706
|
-
if (!this.
|
|
3707
|
-
setSignal(this.
|
|
3708
|
-
if (this.
|
|
3712
|
+
if (!this.dt) {
|
|
3713
|
+
setSignal(this.ht, false);
|
|
3714
|
+
if (this.kt) {
|
|
3709
3715
|
try {
|
|
3710
|
-
this.
|
|
3716
|
+
this.jt = untrack(() => this.kt());
|
|
3711
3717
|
} catch {}
|
|
3712
3718
|
}
|
|
3713
3719
|
}
|
|
3714
3720
|
}
|
|
3715
|
-
if (Re) this.
|
|
3721
|
+
if (Re) this.yt?.evaluate();
|
|
3716
3722
|
}
|
|
3717
3723
|
}
|
|
3718
3724
|
function createCollectionBoundary(e, t, n, r) {
|
|
3719
3725
|
const i = createOwner();
|
|
3720
3726
|
if (Re) setContext(We, null, i);
|
|
3721
3727
|
const s = new CollectionQueue(e);
|
|
3722
|
-
if (r) s.
|
|
3723
|
-
const o = (s.
|
|
3728
|
+
if (r) s.kt = r;
|
|
3729
|
+
const o = (s.Et = createBoundChildren(i, t, s, e));
|
|
3724
3730
|
untrack(() => {
|
|
3725
3731
|
let t = false;
|
|
3726
3732
|
try {
|
|
@@ -3729,21 +3735,21 @@ function createCollectionBoundary(e, t, n, r) {
|
|
|
3729
3735
|
if (e instanceof NotReadyError) t = true;
|
|
3730
3736
|
else throw e;
|
|
3731
3737
|
}
|
|
3732
|
-
s.
|
|
3738
|
+
s.dt = t || !!(o.be & e) || o.we instanceof NotReadyError;
|
|
3733
3739
|
});
|
|
3734
3740
|
const u = Re && e === m ? getContext(We) : null;
|
|
3735
3741
|
if (u) {
|
|
3736
|
-
s.
|
|
3742
|
+
s.yt = u;
|
|
3737
3743
|
u.register(s);
|
|
3738
3744
|
cleanup(() => u.unregister(s));
|
|
3739
3745
|
}
|
|
3740
3746
|
return accessor(
|
|
3741
3747
|
computed(() => {
|
|
3742
|
-
if (!read(s.
|
|
3748
|
+
if (!read(s.ht)) {
|
|
3743
3749
|
const e = read(o);
|
|
3744
|
-
if (!untrack(() => read(s.
|
|
3750
|
+
if (!untrack(() => read(s.ht))) return ((s.wt = true), e);
|
|
3745
3751
|
}
|
|
3746
|
-
if (Re && read(s.
|
|
3752
|
+
if (Re && read(s.gt)) return undefined;
|
|
3747
3753
|
return n(s);
|
|
3748
3754
|
})
|
|
3749
3755
|
);
|
|
@@ -3753,10 +3759,10 @@ function createLoadingBoundary(e, t, n) {
|
|
|
3753
3759
|
}
|
|
3754
3760
|
function createErrorBoundary(e, t) {
|
|
3755
3761
|
return createCollectionBoundary(_, e, e => {
|
|
3756
|
-
let n = e.
|
|
3762
|
+
let n = e.ct.values().next().value;
|
|
3757
3763
|
const r = n.we?.cause ?? n.we;
|
|
3758
3764
|
return t(r, () => {
|
|
3759
|
-
for (const t of e.
|
|
3765
|
+
for (const t of e.ct) recompute(t);
|
|
3760
3766
|
schedule();
|
|
3761
3767
|
});
|
|
3762
3768
|
});
|
|
@@ -3777,7 +3783,7 @@ function createRevealOrder(e, t) {
|
|
|
3777
3783
|
o.evaluate();
|
|
3778
3784
|
});
|
|
3779
3785
|
if (r) {
|
|
3780
|
-
o.
|
|
3786
|
+
o.St = r;
|
|
3781
3787
|
r.register(o);
|
|
3782
3788
|
cleanup(() => r.unregister(o));
|
|
3783
3789
|
}
|