@octane-xplat/patches 0.17.0 → 0.17.1
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/package.json +1 -1
- package/patches/octane@0.14.0.patch +94 -68
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
diff --git a/dist/cjs/runtime/hooks.cjs b/dist/cjs/runtime/hooks.cjs
|
|
2
|
-
index
|
|
2
|
+
index ee8fd631679c2d614a44fe185ac8d38c83a478ec..9026e119cb1569b7e717878b72d8b28c08556669 100644
|
|
3
3
|
--- a/dist/cjs/runtime/hooks.cjs
|
|
4
4
|
+++ b/dist/cjs/runtime/hooks.cjs
|
|
5
5
|
@@ -1,4 +1,5 @@
|
|
@@ -17,7 +17,7 @@ index ee8fd63..9026e11 100644
|
|
|
17
17
|
return reducer !== null ? reducer(state, action) : typeof action === "function" ? action(state) : action;
|
|
18
18
|
}
|
|
19
19
|
diff --git a/dist/cjs/runtime/templates.cjs b/dist/cjs/runtime/templates.cjs
|
|
20
|
-
index
|
|
20
|
+
index 94e2ab9bf9f7cd756e19cd8b7053d797668b8f04..e51a764a80ba9c707efa54b382fe5d23046cf7ed 100644
|
|
21
21
|
--- a/dist/cjs/runtime/templates.cjs
|
|
22
22
|
+++ b/dist/cjs/runtime/templates.cjs
|
|
23
23
|
@@ -440,6 +440,7 @@ function bag16(s, r, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, $ = 0, next
|
|
@@ -29,7 +29,7 @@ index 94e2ab9..e51a764 100644
|
|
|
29
29
|
}
|
|
30
30
|
function coerceText(value) {
|
|
31
31
|
diff --git a/dist/cjs/signals/client.cjs b/dist/cjs/signals/client.cjs
|
|
32
|
-
index
|
|
32
|
+
index 28e28444192dee7af64351cfe02d5dde96658832..af40518defca21eb88707eb76bb6fe10c1d266e7 100644
|
|
33
33
|
--- a/dist/cjs/signals/client.cjs
|
|
34
34
|
+++ b/dist/cjs/signals/client.cjs
|
|
35
35
|
@@ -23,13 +23,13 @@ __export(client_exports, {
|
|
@@ -49,7 +49,7 @@ index 28e2844..af40518 100644
|
|
|
49
49
|
() => {
|
|
50
50
|
const value = typeof initial === "function" ? initial() : initial;
|
|
51
51
|
diff --git a/dist/cjs/signals/document-owner.cjs b/dist/cjs/signals/document-owner.cjs
|
|
52
|
-
index
|
|
52
|
+
index bfa55295a64fbcdbf872b2717b54a641cdfe6bd4..a106df17a03d9e50b47f68c774fa79e5f5ceae9b 100644
|
|
53
53
|
--- a/dist/cjs/signals/document-owner.cjs
|
|
54
54
|
+++ b/dist/cjs/signals/document-owner.cjs
|
|
55
55
|
@@ -53,9 +53,9 @@ function enableSignalDocument(abi = 1) {
|
|
@@ -66,7 +66,7 @@ index bfa5529..a106df1 100644
|
|
|
66
66
|
function installStreamedSignalOwnerActivator(activate) {
|
|
67
67
|
if (streamedSignalOwnerActivator !== void 0) {
|
|
68
68
|
diff --git a/dist/cjs/signals/facade.cjs b/dist/cjs/signals/facade.cjs
|
|
69
|
-
index
|
|
69
|
+
index a425c5fd3a08dcf7c9ade5618e9aa883565cacbf..e81719a7493011577ea78c6306e32cfb1ccb832e 100644
|
|
70
70
|
--- a/dist/cjs/signals/facade.cjs
|
|
71
71
|
+++ b/dist/cjs/signals/facade.cjs
|
|
72
72
|
@@ -330,7 +330,7 @@ class Descriptor {
|
|
@@ -79,7 +79,7 @@ index a425c5f..e81719a 100644
|
|
|
79
79
|
[import_types.SIGNAL_OWNER_RESOLVE](owner) {
|
|
80
80
|
requireSite(this.site);
|
|
81
81
|
diff --git a/dist/cjs/signals/index.cjs b/dist/cjs/signals/index.cjs
|
|
82
|
-
index
|
|
82
|
+
index 4b2efde8f96aa222d3e4395bdda991f5509a0c94..a487b5027dcaac6e8d3222c8b747396d8f1237c7 100644
|
|
83
83
|
--- a/dist/cjs/signals/index.cjs
|
|
84
84
|
+++ b/dist/cjs/signals/index.cjs
|
|
85
85
|
@@ -35,6 +35,7 @@ __export(signals_exports, {
|
|
@@ -108,7 +108,7 @@ index 4b2efde..a487b50 100644
|
|
|
108
108
|
__signalAt,
|
|
109
109
|
diff --git a/dist/cjs/signals/local-hook.cjs b/dist/cjs/signals/local-hook.cjs
|
|
110
110
|
new file mode 100644
|
|
111
|
-
index
|
|
111
|
+
index 0000000000000000000000000000000000000000..4858595ce50e97284f18daa94c3b5ce6ab041dd4
|
|
112
112
|
--- /dev/null
|
|
113
113
|
+++ b/dist/cjs/signals/local-hook.cjs
|
|
114
114
|
@@ -0,0 +1,44 @@
|
|
@@ -158,7 +158,7 @@ index 0000000..4858595
|
|
|
158
158
|
+});
|
|
159
159
|
diff --git a/dist/cjs/signals/universal-owner.cjs b/dist/cjs/signals/universal-owner.cjs
|
|
160
160
|
new file mode 100644
|
|
161
|
-
index
|
|
161
|
+
index 0000000000000000000000000000000000000000..00c323a8bd4453d566dbd002ab1222f03def2760
|
|
162
162
|
--- /dev/null
|
|
163
163
|
+++ b/dist/cjs/signals/universal-owner.cjs
|
|
164
164
|
@@ -0,0 +1,46 @@
|
|
@@ -209,7 +209,7 @@ index 0000000..00c323a
|
|
|
209
209
|
+ universalSignalDocument
|
|
210
210
|
+});
|
|
211
211
|
diff --git a/dist/compiler/compile.js b/dist/compiler/compile.js
|
|
212
|
-
index
|
|
212
|
+
index 4ef283f6bb72fcd9d61aeb356fea4967421096fd..d3f3e0acbdac4a429aacdc9f7d32011719111135 100644
|
|
213
213
|
--- a/dist/compiler/compile.js
|
|
214
214
|
+++ b/dist/compiler/compile.js
|
|
215
215
|
@@ -2599,7 +2599,7 @@ function classifyViewTransitionOwnership(astBody, production, ownComponents) {
|
|
@@ -286,7 +286,7 @@ index 4ef283f..d3f3e0a 100644
|
|
|
286
286
|
if (isBuiltin || isServerUse) {
|
|
287
287
|
if (isBuiltin) {
|
|
288
288
|
diff --git a/dist/compiler/native-read-diagnostics.js b/dist/compiler/native-read-diagnostics.js
|
|
289
|
-
index
|
|
289
|
+
index 7b2acff601c49a8589ee395d22047493d8aff3d1..d3356b4d4c513c7df61ad861e9c227f9409447ae 100644
|
|
290
290
|
--- a/dist/compiler/native-read-diagnostics.js
|
|
291
291
|
+++ b/dist/compiler/native-read-diagnostics.js
|
|
292
292
|
@@ -149,9 +149,12 @@ export function assertNativeReadOptions(options) {
|
|
@@ -322,7 +322,7 @@ index 7b2acff..d3356b4 100644
|
|
|
322
322
|
return [
|
|
323
323
|
nativeReadDiagnostic(
|
|
324
324
|
diff --git a/dist/compiler/slot-hooks.js b/dist/compiler/slot-hooks.js
|
|
325
|
-
index
|
|
325
|
+
index e4c9bfbc6f46bb70bd8a84e0ff25f6024fc6f12e..7ca61123365265d394cf26b09012e716d3758296 100644
|
|
326
326
|
--- a/dist/compiler/slot-hooks.js
|
|
327
327
|
+++ b/dist/compiler/slot-hooks.js
|
|
328
328
|
@@ -1044,12 +1044,12 @@ function walk(node, owner, st) {
|
|
@@ -371,7 +371,7 @@ index e4c9bfb..7ca6112 100644
|
|
|
371
371
|
const local = allocSlotName(st, `_$${imported}`);
|
|
372
372
|
let specifiers = signalHelperImports.get(request);
|
|
373
373
|
diff --git a/dist/node/runtime/hooks.js b/dist/node/runtime/hooks.js
|
|
374
|
-
index
|
|
374
|
+
index 76f5deb523f61530623d7abee92ea8bd22e1bb4d..96fd3ac9a6ede1cb2ea070fe722a3d688c3f179e 100644
|
|
375
375
|
--- a/dist/node/runtime/hooks.js
|
|
376
376
|
+++ b/dist/node/runtime/hooks.js
|
|
377
377
|
@@ -1,3 +1,4 @@
|
|
@@ -388,7 +388,7 @@ index 76f5deb..96fd3ac 100644
|
|
|
388
388
|
return reducer !== null ? reducer(state, action) : typeof action === "function" ? action(state) : action;
|
|
389
389
|
}
|
|
390
390
|
diff --git a/dist/node/runtime/templates.js b/dist/node/runtime/templates.js
|
|
391
|
-
index
|
|
391
|
+
index 860aacd13857b348cf4258e9f12582c87dbcb16e..af91a29fe2b593eec33aeac19e83701c23aec635 100644
|
|
392
392
|
--- a/dist/node/runtime/templates.js
|
|
393
393
|
+++ b/dist/node/runtime/templates.js
|
|
394
394
|
@@ -388,6 +388,7 @@ function bag16(s, r, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, $ = 0, next
|
|
@@ -400,7 +400,7 @@ index 860aacd..af91a29 100644
|
|
|
400
400
|
}
|
|
401
401
|
function coerceText(value) {
|
|
402
402
|
diff --git a/dist/node/signals/client.js b/dist/node/signals/client.js
|
|
403
|
-
index
|
|
403
|
+
index 21a39c3ce9a28d2095e276fd647fd795e939a0bf..3f85700b57cbc3084c2df776ab3e6b5365f091a8 100644
|
|
404
404
|
--- a/dist/node/signals/client.js
|
|
405
405
|
+++ b/dist/node/signals/client.js
|
|
406
406
|
@@ -1,11 +1,11 @@
|
|
@@ -418,7 +418,7 @@ index 21a39c3..3f85700 100644
|
|
|
418
418
|
() => {
|
|
419
419
|
const value = typeof initial === "function" ? initial() : initial;
|
|
420
420
|
diff --git a/dist/node/signals/document-owner.js b/dist/node/signals/document-owner.js
|
|
421
|
-
index
|
|
421
|
+
index 3b50394eb46776d2f6de379670dfeec569c145ac..e80903037547814e3437d39c99cfa103f7b4057c 100644
|
|
422
422
|
--- a/dist/node/signals/document-owner.js
|
|
423
423
|
+++ b/dist/node/signals/document-owner.js
|
|
424
424
|
@@ -30,9 +30,8 @@ function enableSignalDocument(abi = 1) {
|
|
@@ -434,7 +434,7 @@ index 3b50394..e809030 100644
|
|
|
434
434
|
function installStreamedSignalOwnerActivator(activate) {
|
|
435
435
|
if (streamedSignalOwnerActivator !== void 0) {
|
|
436
436
|
diff --git a/dist/node/signals/facade.js b/dist/node/signals/facade.js
|
|
437
|
-
index
|
|
437
|
+
index 5b5554ee296ea345f42c5291059d8ab2e71fe0d4..1deabb0f5ab62f7cd6534c4e7ed13b75126341db 100644
|
|
438
438
|
--- a/dist/node/signals/facade.js
|
|
439
439
|
+++ b/dist/node/signals/facade.js
|
|
440
440
|
@@ -326,7 +326,7 @@ class Descriptor {
|
|
@@ -447,7 +447,7 @@ index 5b5554e..1deabb0 100644
|
|
|
447
447
|
[SIGNAL_OWNER_RESOLVE](owner) {
|
|
448
448
|
requireSite(this.site);
|
|
449
449
|
diff --git a/dist/node/signals/index.js b/dist/node/signals/index.js
|
|
450
|
-
index
|
|
450
|
+
index d65706400fb00c9dd9caf5b35f50f8baacf77184..01a81cf177242b7aa1d3923095c7dd49adcf3612 100644
|
|
451
451
|
--- a/dist/node/signals/index.js
|
|
452
452
|
+++ b/dist/node/signals/index.js
|
|
453
453
|
@@ -1,6 +1,7 @@
|
|
@@ -468,7 +468,7 @@ index d657064..01a81cf 100644
|
|
|
468
468
|
__signalAt,
|
|
469
469
|
diff --git a/dist/node/signals/local-hook.js b/dist/node/signals/local-hook.js
|
|
470
470
|
new file mode 100644
|
|
471
|
-
index
|
|
471
|
+
index 0000000000000000000000000000000000000000..77c63f5e2d931eb8dbd384ae027ee0f09935f9ce
|
|
472
472
|
--- /dev/null
|
|
473
473
|
+++ b/dist/node/signals/local-hook.js
|
|
474
474
|
@@ -0,0 +1,19 @@
|
|
@@ -493,7 +493,7 @@ index 0000000..77c63f5
|
|
|
493
493
|
+};
|
|
494
494
|
diff --git a/dist/node/signals/universal-owner.js b/dist/node/signals/universal-owner.js
|
|
495
495
|
new file mode 100644
|
|
496
|
-
index
|
|
496
|
+
index 0000000000000000000000000000000000000000..ff5eb43e8f0ddcadbcf8e861f42788b389b4d99b
|
|
497
497
|
--- /dev/null
|
|
498
498
|
+++ b/dist/node/signals/universal-owner.js
|
|
499
499
|
@@ -0,0 +1,20 @@
|
|
@@ -518,7 +518,7 @@ index 0000000..ff5eb43
|
|
|
518
518
|
+ universalSignalDocument
|
|
519
519
|
+};
|
|
520
520
|
diff --git a/dist/node/universal-core.js b/dist/node/universal-core.js
|
|
521
|
-
index
|
|
521
|
+
index 8c89dbddb47cc86cdb0b727d0d80fe4ff89c3ac0..bb9dd40f2b3c7775c24a828db72055b588cec8d8 100644
|
|
522
522
|
--- a/dist/node/universal-core.js
|
|
523
523
|
+++ b/dist/node/universal-core.js
|
|
524
524
|
@@ -17,6 +17,10 @@ import {
|
|
@@ -532,7 +532,20 @@ index 8c89dbd..ff1defa 100644
|
|
|
532
532
|
import { resolveLazyDefaultProps } from "./shared-value-helpers.js";
|
|
533
533
|
import {
|
|
534
534
|
deactivateEffectEventCells,
|
|
535
|
-
@@ -
|
|
535
|
+
@@ -364,7 +368,11 @@ function universalList(items, render, empty) {
|
|
536
|
+
}
|
|
537
|
+
function renderableKey(value) {
|
|
538
|
+
if (value?.$$kind === UNIVERSAL_VALUE) {
|
|
539
|
+
- return value.key;
|
|
540
|
+
+ if (value.key !== null) return value.key;
|
|
541
|
+
+ // A compiler-generated root slot is transparent to keyed ownership.
|
|
542
|
+
+ // Do not look through ranges: authored fragment boundaries remain distinct.
|
|
543
|
+
+ const node = value.plan.root;
|
|
544
|
+
+ return node.kind === "slot" ? renderableKey(value.values[node.slot]) : null;
|
|
545
|
+
}
|
|
546
|
+
if (value?.$$kind === UNIVERSAL_KEYED) {
|
|
547
|
+
return value.key;
|
|
548
|
+
@@ -495,6 +503,133 @@ function universalComponent(renderer, component, props = null, key = NO_KEY) {
|
|
536
549
|
hasKey: key !== NO_KEY || normalized.hasKey
|
|
537
550
|
};
|
|
538
551
|
}
|
|
@@ -666,7 +679,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
666
679
|
function universalChildren(renderer, render) {
|
|
667
680
|
assertRendererId(renderer, "universalChildren renderer");
|
|
668
681
|
if (typeof render !== "function") throw new TypeError("universalChildren expected a function.");
|
|
669
|
-
@@ -856,6 +
|
|
682
|
+
@@ -856,6 +991,7 @@ function draftOwner(record, parent, replayPath) {
|
|
670
683
|
boundaryThenable: record.boundaryThenable,
|
|
671
684
|
isBoundary: record.isBoundary,
|
|
672
685
|
canHandleSuspense: record.canHandleSuspense,
|
|
@@ -674,7 +687,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
674
687
|
visibility: parent?.visibility ?? record.visibility,
|
|
675
688
|
contextStable: null
|
|
676
689
|
};
|
|
677
|
-
@@ -1066,6 +
|
|
690
|
+
@@ -1066,6 +1202,7 @@ function executeOwner(owner, build, initialRenderCount = 0) {
|
|
678
691
|
owner.contextStable = null;
|
|
679
692
|
owner.needsRender = false;
|
|
680
693
|
owner.implicitSlot = 0;
|
|
@@ -682,7 +695,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
682
695
|
const previousOwner = CURRENT_OWNER;
|
|
683
696
|
const previousAttemptOwner = attempt.owner;
|
|
684
697
|
CURRENT_OWNER = owner;
|
|
685
|
-
@@ -1077,13 +
|
|
698
|
+
@@ -1077,13 +1214,18 @@ function executeOwner(owner, build, initialRenderCount = 0) {
|
|
686
699
|
const profileFrame = typeof __OCTANE_PROFILE_ENABLED__ !== "undefined" && __OCTANE_PROFILE_ENABLED__ && component !== null ? __profileBeginRender(owner.record, component, owner.record.mounted) : null;
|
|
687
700
|
let didThrow = false;
|
|
688
701
|
let thrown;
|
|
@@ -704,7 +717,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
704
717
|
if (typeof __OCTANE_PROFILE_ENABLED__ !== "undefined" && __OCTANE_PROFILE_ENABLED__) {
|
|
705
718
|
__profileEndRender(profileFrame, didThrow, thrown);
|
|
706
719
|
}
|
|
707
|
-
@@ -1247,6 +
|
|
720
|
+
@@ -1247,6 +1389,8 @@ function disposeUncommittedDraft(owner) {
|
|
708
721
|
owner.record.componentProps = null;
|
|
709
722
|
owner.record.range = null;
|
|
710
723
|
owner.record.updates.clear();
|
|
@@ -713,7 +726,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
713
726
|
for (const hook of owner.hooks.values()) {
|
|
714
727
|
if (hook.kind === "effect-event") hook.cell.active = false;
|
|
715
728
|
}
|
|
716
|
-
@@ -3081,6 +
|
|
729
|
+
@@ -3081,6 +3225,7 @@ function tryCreateCompactTemplateUpdateTransaction(root, blueprint, attempt, com
|
|
717
730
|
owner.componentProps = draftOwner2.componentProps;
|
|
718
731
|
owner.componentRevision = draftOwner2.componentRevision;
|
|
719
732
|
owner.hooks = draftOwner2.hooks;
|
|
@@ -721,7 +734,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
721
734
|
for (const [slot, applied] of draftOwner2.appliedUpdates) {
|
|
722
735
|
const queue = owner.updates.get(slot);
|
|
723
736
|
if (queue !== applied.queue || applied.lane) continue;
|
|
724
|
-
@@ -3628,6 +
|
|
737
|
+
@@ -3628,6 +3773,86 @@ function scheduleOwner(owner, slot) {
|
|
725
738
|
}
|
|
726
739
|
owner.root.scheduleOwned(owner);
|
|
727
740
|
}
|
|
@@ -808,7 +821,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
808
821
|
function currentDraftOwner() {
|
|
809
822
|
currentAttempt();
|
|
810
823
|
const owner = activateLazyLeafOwner();
|
|
811
|
-
@@ -4742,15 +
|
|
824
|
+
@@ -4742,15 +4967,35 @@ function use(usable) {
|
|
812
825
|
function useImperativeHandle(ref, create, deps, slot) {
|
|
813
826
|
useLayoutEffect(
|
|
814
827
|
() => {
|
|
@@ -851,7 +864,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
851
864
|
slot
|
|
852
865
|
);
|
|
853
866
|
}
|
|
854
|
-
@@ -5745,9 +
|
|
867
|
+
@@ -5745,9 +5990,9 @@ class UniversalRootImpl {
|
|
855
868
|
}
|
|
856
869
|
let result;
|
|
857
870
|
try {
|
|
@@ -863,7 +876,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
863
876
|
}
|
|
864
877
|
return result;
|
|
865
878
|
}
|
|
866
|
-
@@ -6318,6 +
|
|
879
|
+
@@ -6318,6 +6563,8 @@ class UniversalRootImpl {
|
|
867
880
|
draft.record.componentProps = null;
|
|
868
881
|
draft.record.range = null;
|
|
869
882
|
draft.record.updates.clear();
|
|
@@ -872,7 +885,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
872
885
|
for (const hook of draft.hooks.values()) {
|
|
873
886
|
if (hook.kind === "effect-event") hook.cell.active = false;
|
|
874
887
|
}
|
|
875
|
-
@@ -6836,6 +
|
|
888
|
+
@@ -6836,6 +7083,7 @@ class UniversalRootImpl {
|
|
876
889
|
record.componentRevision = draft.componentRevision;
|
|
877
890
|
record.parent = draft.parent?.record ?? null;
|
|
878
891
|
record.hooks = draft.hooks;
|
|
@@ -880,7 +893,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
880
893
|
record.effectOrder = [...draft.seenEffects];
|
|
881
894
|
for (let index = 0; index < draft.seenEffects.length; index++) {
|
|
882
895
|
draft.seenEffects[index].previous = null;
|
|
883
|
-
@@ -8484,6 +
|
|
896
|
+
@@ -8484,6 +8732,8 @@ class UniversalRootImpl {
|
|
884
897
|
owner.componentProps = null;
|
|
885
898
|
owner.range = null;
|
|
886
899
|
owner.updates.clear();
|
|
@@ -889,7 +902,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
889
902
|
}
|
|
890
903
|
for (const draft of draftOwnersParentFirst) {
|
|
891
904
|
const record = draft.record;
|
|
892
|
-
@@ -8493,6 +
|
|
905
|
+
@@ -8493,6 +8743,7 @@ class UniversalRootImpl {
|
|
893
906
|
record.parent = draft.parent?.record ?? null;
|
|
894
907
|
}
|
|
895
908
|
record.hooks = draft.hooks;
|
|
@@ -897,7 +910,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
897
910
|
record.effectOrder = [...draft.seenEffects];
|
|
898
911
|
for (let index = 0; index < draft.seenEffects.length; index++) {
|
|
899
912
|
draft.seenEffects[index].previous = null;
|
|
900
|
-
@@ -9004,6 +
|
|
913
|
+
@@ -9004,6 +9255,8 @@ class UniversalRootImpl {
|
|
901
914
|
owner.componentProps = null;
|
|
902
915
|
owner.range = null;
|
|
903
916
|
owner.updates.clear();
|
|
@@ -906,7 +919,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
906
919
|
}
|
|
907
920
|
const deactivatedRegionCells = /* @__PURE__ */ new Set();
|
|
908
921
|
for (const bridge of regionBridges) {
|
|
909
|
-
@@ -10220,6 +
|
|
922
|
+
@@ -10220,6 +10473,7 @@ function createObjectDriver(renderer = "object") {
|
|
910
923
|
};
|
|
911
924
|
}
|
|
912
925
|
export {
|
|
@@ -915,7 +928,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
915
928
|
UNIVERSAL_HMR,
|
|
916
929
|
UNIVERSAL_TRANSPORT_PROTOCOL_VERSION,
|
|
917
930
|
diff --git a/dist/node/universal-native.js b/dist/node/universal-native.js
|
|
918
|
-
index
|
|
931
|
+
index 55ac9b640dc8bbfd977bb2cbe0b7993c8ddb425a..399633e4e8cc9d6b098ba819f443d94bc30999f1 100644
|
|
919
932
|
--- a/dist/node/universal-native.js
|
|
920
933
|
+++ b/dist/node/universal-native.js
|
|
921
934
|
@@ -6,9 +6,12 @@ import {
|
|
@@ -932,7 +945,7 @@ index 55ac9b6..399633e 100644
|
|
|
932
945
|
function createContext(defaultValue) {
|
|
933
946
|
const context = ((props, scope) => scope === void 0 ? universalContext(context, props.value, props.children) : renderRendererContextProvider(context, props, scope));
|
|
934
947
|
diff --git a/dist/node/universal.js b/dist/node/universal.js
|
|
935
|
-
index
|
|
948
|
+
index 6427a0190c072e7e4629c379e42bedc03669dc6e..8049b7880824de607157091004a46c9d33a23484 100644
|
|
936
949
|
--- a/dist/node/universal.js
|
|
937
950
|
+++ b/dist/node/universal.js
|
|
938
951
|
@@ -8,6 +8,9 @@ import {
|
|
@@ -946,7 +959,7 @@ index 6427a01..8049b78 100644
|
|
|
946
959
|
createContext,
|
|
947
960
|
createSubSlot,
|
|
948
961
|
diff --git a/dist/runtime/hooks.js b/dist/runtime/hooks.js
|
|
949
|
-
index
|
|
962
|
+
index 3365680750d7e21c966c307ca87a05edee8e6474..b369f2d350b003904a37f7a944937e57bc7f628c 100644
|
|
950
963
|
--- a/dist/runtime/hooks.js
|
|
951
964
|
+++ b/dist/runtime/hooks.js
|
|
952
965
|
@@ -1,3 +1,4 @@
|
|
@@ -963,7 +976,7 @@ index 3365680..b369f2d 100644
|
|
|
963
976
|
return reducer !== null ? reducer(state, action) : typeof action === "function" ? action(state) : action;
|
|
964
977
|
}
|
|
965
978
|
diff --git a/dist/runtime/templates.js b/dist/runtime/templates.js
|
|
966
|
-
index
|
|
979
|
+
index 5aa86e8dd741cf85aeb9c0efa6b74c82af1ac3e8..b700681bca250957de0df85e6255096274407490 100644
|
|
967
980
|
--- a/dist/runtime/templates.js
|
|
968
981
|
+++ b/dist/runtime/templates.js
|
|
969
982
|
@@ -387,6 +387,7 @@ function bag16(s, r, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, $ = 0, next
|
|
@@ -975,7 +988,7 @@ index 5aa86e8..b700681 100644
|
|
|
975
988
|
}
|
|
976
989
|
function coerceText(value) {
|
|
977
990
|
diff --git a/dist/signals/client.d.ts b/dist/signals/client.d.ts
|
|
978
|
-
index
|
|
991
|
+
index 6388c2f98517884a13af720687fb81c1f18357be..f9e98624f159cccf02a379d79201751fc07694d8 100644
|
|
979
992
|
--- a/dist/signals/client.d.ts
|
|
980
993
|
+++ b/dist/signals/client.d.ts
|
|
981
994
|
@@ -1,4 +1,4 @@
|
|
@@ -985,7 +998,7 @@ index 6388c2f..f9e9862 100644
|
|
|
985
998
|
import type { WritableSignal } from './types.js';
|
|
986
999
|
/** A writable signal owned by this compiler-assigned component hook slot. */
|
|
987
1000
|
diff --git a/dist/signals/client.js b/dist/signals/client.js
|
|
988
|
-
index
|
|
1001
|
+
index 21a39c3ce9a28d2095e276fd647fd795e939a0bf..3f85700b57cbc3084c2df776ab3e6b5365f091a8 100644
|
|
989
1002
|
--- a/dist/signals/client.js
|
|
990
1003
|
+++ b/dist/signals/client.js
|
|
991
1004
|
@@ -1,11 +1,11 @@
|
|
@@ -1003,7 +1016,7 @@ index 21a39c3..3f85700 100644
|
|
|
1003
1016
|
() => {
|
|
1004
1017
|
const value = typeof initial === "function" ? initial() : initial;
|
|
1005
1018
|
diff --git a/dist/signals/document-owner.js b/dist/signals/document-owner.js
|
|
1006
|
-
index
|
|
1019
|
+
index 6f2891ffb1116f083478bfbe9cb007b6461a855f..557d6cc1406c4188257b290cf8a02a36df615dc1 100644
|
|
1007
1020
|
--- a/dist/signals/document-owner.js
|
|
1008
1021
|
+++ b/dist/signals/document-owner.js
|
|
1009
1022
|
@@ -29,9 +29,8 @@ function enableSignalDocument(abi = 1) {
|
|
@@ -1019,7 +1032,7 @@ index 6f2891f..557d6cc 100644
|
|
|
1019
1032
|
function installStreamedSignalOwnerActivator(activate) {
|
|
1020
1033
|
if (streamedSignalOwnerActivator !== void 0) {
|
|
1021
1034
|
diff --git a/dist/signals/facade.js b/dist/signals/facade.js
|
|
1022
|
-
index
|
|
1035
|
+
index 808e4ec01428d4cf6e3938667642847f2590f1b8..0ab799afc337793f3270a02003e6fe6a4ff08f47 100644
|
|
1023
1036
|
--- a/dist/signals/facade.js
|
|
1024
1037
|
+++ b/dist/signals/facade.js
|
|
1025
1038
|
@@ -325,7 +325,7 @@ class Descriptor {
|
|
@@ -1032,7 +1045,7 @@ index 808e4ec..0ab799a 100644
|
|
|
1032
1045
|
[SIGNAL_OWNER_RESOLVE](owner) {
|
|
1033
1046
|
requireSite(this.site);
|
|
1034
1047
|
diff --git a/dist/signals/index.d.ts b/dist/signals/index.d.ts
|
|
1035
|
-
index
|
|
1048
|
+
index ed086195a3e8e63de4a5b26d5bf6aaa392bd5d32..acccb752a2c46f14a97e07de3a00df0fa24d8cf7 100644
|
|
1036
1049
|
--- a/dist/signals/index.d.ts
|
|
1037
1050
|
+++ b/dist/signals/index.d.ts
|
|
1038
1051
|
@@ -3,6 +3,7 @@ export { createScope } from './engine.js';
|
|
@@ -1044,7 +1057,7 @@ index ed08619..acccb75 100644
|
|
|
1044
1057
|
export { ActionUncertainError, action$, isActionUncertain, optimistic$ } from './actions.js';
|
|
1045
1058
|
export { __derivedAt, derived$ } from './derived-facade.js';
|
|
1046
1059
|
diff --git a/dist/signals/index.js b/dist/signals/index.js
|
|
1047
|
-
index
|
|
1060
|
+
index d65706400fb00c9dd9caf5b35f50f8baacf77184..01a81cf177242b7aa1d3923095c7dd49adcf3612 100644
|
|
1048
1061
|
--- a/dist/signals/index.js
|
|
1049
1062
|
+++ b/dist/signals/index.js
|
|
1050
1063
|
@@ -1,6 +1,7 @@
|
|
@@ -1065,7 +1078,7 @@ index d657064..01a81cf 100644
|
|
|
1065
1078
|
__signalAt,
|
|
1066
1079
|
diff --git a/dist/signals/local-hook.d.ts b/dist/signals/local-hook.d.ts
|
|
1067
1080
|
new file mode 100644
|
|
1068
|
-
index
|
|
1081
|
+
index 0000000000000000000000000000000000000000..d6c1770fc22b738e0e107b6616f60eaf676d853e
|
|
1069
1082
|
--- /dev/null
|
|
1070
1083
|
+++ b/dist/signals/local-hook.d.ts
|
|
1071
1084
|
@@ -0,0 +1,16 @@
|
|
@@ -1087,7 +1100,7 @@ index 0000000..d6c1770
|
|
|
1087
1100
|
+export declare function localSignalHook<T>(name: string, initialize: () => T, dispose: (value: T) => void, slot?: symbol | number): T;
|
|
1088
1101
|
diff --git a/dist/signals/local-hook.js b/dist/signals/local-hook.js
|
|
1089
1102
|
new file mode 100644
|
|
1090
|
-
index
|
|
1103
|
+
index 0000000000000000000000000000000000000000..77c63f5e2d931eb8dbd384ae027ee0f09935f9ce
|
|
1091
1104
|
--- /dev/null
|
|
1092
1105
|
+++ b/dist/signals/local-hook.js
|
|
1093
1106
|
@@ -0,0 +1,19 @@
|
|
@@ -1112,7 +1125,7 @@ index 0000000..77c63f5
|
|
|
1112
1125
|
+};
|
|
1113
1126
|
diff --git a/dist/signals/universal-owner.d.ts b/dist/signals/universal-owner.d.ts
|
|
1114
1127
|
new file mode 100644
|
|
1115
|
-
index
|
|
1128
|
+
index 0000000000000000000000000000000000000000..0e57f3a79115c858355f863434c6e3423570067b
|
|
1116
1129
|
--- /dev/null
|
|
1117
1130
|
+++ b/dist/signals/universal-owner.d.ts
|
|
1118
1131
|
@@ -0,0 +1,10 @@
|
|
@@ -1128,7 +1141,7 @@ index 0000000..0e57f3a
|
|
|
1128
1141
|
+export declare function enableUniversalSignalDocument(abi?: number): void;
|
|
1129
1142
|
diff --git a/dist/signals/universal-owner.js b/dist/signals/universal-owner.js
|
|
1130
1143
|
new file mode 100644
|
|
1131
|
-
index
|
|
1144
|
+
index 0000000000000000000000000000000000000000..ff5eb43e8f0ddcadbcf8e861f42788b389b4d99b
|
|
1132
1145
|
--- /dev/null
|
|
1133
1146
|
+++ b/dist/signals/universal-owner.js
|
|
1134
1147
|
@@ -0,0 +1,20 @@
|
|
@@ -1153,7 +1166,7 @@ index 0000000..ff5eb43
|
|
|
1153
1166
|
+ universalSignalDocument
|
|
1154
1167
|
+};
|
|
1155
1168
|
diff --git a/dist/universal-core.d.ts b/dist/universal-core.d.ts
|
|
1156
|
-
index
|
|
1169
|
+
index 15ecadf70593d2f1027bd872a376af79036396bc..716ac7ff5c68e090f9420a957f13250e53cc5678 100644
|
|
1157
1170
|
--- a/dist/universal-core.d.ts
|
|
1158
1171
|
+++ b/dist/universal-core.d.ts
|
|
1159
1172
|
@@ -791,9 +791,8 @@ export declare function lazy<C extends UniversalComponent<any>>(load: () => Prom
|
|
@@ -1175,7 +1188,7 @@ index 15ecadf..716ac7f 100644
|
|
|
1175
1188
|
+
|
|
1176
1189
|
+export declare const Children: { toArray(children: UniversalRenderable): UniversalRenderable[]; map(children: UniversalRenderable, fn: (child: UniversalRenderable, index: number) => UniversalRenderable): UniversalRenderable[]; };
|
|
1177
1190
|
diff --git a/dist/universal-core.js b/dist/universal-core.js
|
|
1178
|
-
index
|
|
1191
|
+
index 8c89dbddb47cc86cdb0b727d0d80fe4ff89c3ac0..bb9dd40f2b3c7775c24a828db72055b588cec8d8 100644
|
|
1179
1192
|
--- a/dist/universal-core.js
|
|
1180
1193
|
+++ b/dist/universal-core.js
|
|
1181
1194
|
@@ -17,6 +17,10 @@ import {
|
|
@@ -1189,7 +1202,20 @@ index 8c89dbd..ff1defa 100644
|
|
|
1189
1202
|
import { resolveLazyDefaultProps } from "./shared-value-helpers.js";
|
|
1190
1203
|
import {
|
|
1191
1204
|
deactivateEffectEventCells,
|
|
1192
|
-
@@ -
|
|
1205
|
+
@@ -364,7 +368,11 @@ function universalList(items, render, empty) {
|
|
1206
|
+
}
|
|
1207
|
+
function renderableKey(value) {
|
|
1208
|
+
if (value?.$$kind === UNIVERSAL_VALUE) {
|
|
1209
|
+
- return value.key;
|
|
1210
|
+
+ if (value.key !== null) return value.key;
|
|
1211
|
+
+ // A compiler-generated root slot is transparent to keyed ownership.
|
|
1212
|
+
+ // Do not look through ranges: authored fragment boundaries remain distinct.
|
|
1213
|
+
+ const node = value.plan.root;
|
|
1214
|
+
+ return node.kind === "slot" ? renderableKey(value.values[node.slot]) : null;
|
|
1215
|
+
}
|
|
1216
|
+
if (value?.$$kind === UNIVERSAL_KEYED) {
|
|
1217
|
+
return value.key;
|
|
1218
|
+
@@ -495,6 +503,133 @@ function universalComponent(renderer, component, props = null, key = NO_KEY) {
|
|
1193
1219
|
hasKey: key !== NO_KEY || normalized.hasKey
|
|
1194
1220
|
};
|
|
1195
1221
|
}
|
|
@@ -1323,7 +1349,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
1323
1349
|
function universalChildren(renderer, render) {
|
|
1324
1350
|
assertRendererId(renderer, "universalChildren renderer");
|
|
1325
1351
|
if (typeof render !== "function") throw new TypeError("universalChildren expected a function.");
|
|
1326
|
-
@@ -856,6 +
|
|
1352
|
+
@@ -856,6 +991,7 @@ function draftOwner(record, parent, replayPath) {
|
|
1327
1353
|
boundaryThenable: record.boundaryThenable,
|
|
1328
1354
|
isBoundary: record.isBoundary,
|
|
1329
1355
|
canHandleSuspense: record.canHandleSuspense,
|
|
@@ -1331,7 +1357,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
1331
1357
|
visibility: parent?.visibility ?? record.visibility,
|
|
1332
1358
|
contextStable: null
|
|
1333
1359
|
};
|
|
1334
|
-
@@ -1066,6 +
|
|
1360
|
+
@@ -1066,6 +1202,7 @@ function executeOwner(owner, build, initialRenderCount = 0) {
|
|
1335
1361
|
owner.contextStable = null;
|
|
1336
1362
|
owner.needsRender = false;
|
|
1337
1363
|
owner.implicitSlot = 0;
|
|
@@ -1339,7 +1365,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
1339
1365
|
const previousOwner = CURRENT_OWNER;
|
|
1340
1366
|
const previousAttemptOwner = attempt.owner;
|
|
1341
1367
|
CURRENT_OWNER = owner;
|
|
1342
|
-
@@ -1077,13 +
|
|
1368
|
+
@@ -1077,13 +1214,18 @@ function executeOwner(owner, build, initialRenderCount = 0) {
|
|
1343
1369
|
const profileFrame = typeof __OCTANE_PROFILE_ENABLED__ !== "undefined" && __OCTANE_PROFILE_ENABLED__ && component !== null ? __profileBeginRender(owner.record, component, owner.record.mounted) : null;
|
|
1344
1370
|
let didThrow = false;
|
|
1345
1371
|
let thrown;
|
|
@@ -1361,7 +1387,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
1361
1387
|
if (typeof __OCTANE_PROFILE_ENABLED__ !== "undefined" && __OCTANE_PROFILE_ENABLED__) {
|
|
1362
1388
|
__profileEndRender(profileFrame, didThrow, thrown);
|
|
1363
1389
|
}
|
|
1364
|
-
@@ -1247,6 +
|
|
1390
|
+
@@ -1247,6 +1389,8 @@ function disposeUncommittedDraft(owner) {
|
|
1365
1391
|
owner.record.componentProps = null;
|
|
1366
1392
|
owner.record.range = null;
|
|
1367
1393
|
owner.record.updates.clear();
|
|
@@ -1370,7 +1396,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
1370
1396
|
for (const hook of owner.hooks.values()) {
|
|
1371
1397
|
if (hook.kind === "effect-event") hook.cell.active = false;
|
|
1372
1398
|
}
|
|
1373
|
-
@@ -3081,6 +
|
|
1399
|
+
@@ -3081,6 +3225,7 @@ function tryCreateCompactTemplateUpdateTransaction(root, blueprint, attempt, com
|
|
1374
1400
|
owner.componentProps = draftOwner2.componentProps;
|
|
1375
1401
|
owner.componentRevision = draftOwner2.componentRevision;
|
|
1376
1402
|
owner.hooks = draftOwner2.hooks;
|
|
@@ -1378,7 +1404,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
1378
1404
|
for (const [slot, applied] of draftOwner2.appliedUpdates) {
|
|
1379
1405
|
const queue = owner.updates.get(slot);
|
|
1380
1406
|
if (queue !== applied.queue || applied.lane) continue;
|
|
1381
|
-
@@ -3628,6 +
|
|
1407
|
+
@@ -3628,6 +3773,86 @@ function scheduleOwner(owner, slot) {
|
|
1382
1408
|
}
|
|
1383
1409
|
owner.root.scheduleOwned(owner);
|
|
1384
1410
|
}
|
|
@@ -1465,7 +1491,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
1465
1491
|
function currentDraftOwner() {
|
|
1466
1492
|
currentAttempt();
|
|
1467
1493
|
const owner = activateLazyLeafOwner();
|
|
1468
|
-
@@ -4742,15 +
|
|
1494
|
+
@@ -4742,15 +4967,35 @@ function use(usable) {
|
|
1469
1495
|
function useImperativeHandle(ref, create, deps, slot) {
|
|
1470
1496
|
useLayoutEffect(
|
|
1471
1497
|
() => {
|
|
@@ -1508,7 +1534,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
1508
1534
|
slot
|
|
1509
1535
|
);
|
|
1510
1536
|
}
|
|
1511
|
-
@@ -5745,9 +
|
|
1537
|
+
@@ -5745,9 +5990,9 @@ class UniversalRootImpl {
|
|
1512
1538
|
}
|
|
1513
1539
|
let result;
|
|
1514
1540
|
try {
|
|
@@ -1520,7 +1546,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
1520
1546
|
}
|
|
1521
1547
|
return result;
|
|
1522
1548
|
}
|
|
1523
|
-
@@ -6318,6 +
|
|
1549
|
+
@@ -6318,6 +6563,8 @@ class UniversalRootImpl {
|
|
1524
1550
|
draft.record.componentProps = null;
|
|
1525
1551
|
draft.record.range = null;
|
|
1526
1552
|
draft.record.updates.clear();
|
|
@@ -1529,7 +1555,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
1529
1555
|
for (const hook of draft.hooks.values()) {
|
|
1530
1556
|
if (hook.kind === "effect-event") hook.cell.active = false;
|
|
1531
1557
|
}
|
|
1532
|
-
@@ -6836,6 +
|
|
1558
|
+
@@ -6836,6 +7083,7 @@ class UniversalRootImpl {
|
|
1533
1559
|
record.componentRevision = draft.componentRevision;
|
|
1534
1560
|
record.parent = draft.parent?.record ?? null;
|
|
1535
1561
|
record.hooks = draft.hooks;
|
|
@@ -1537,7 +1563,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
1537
1563
|
record.effectOrder = [...draft.seenEffects];
|
|
1538
1564
|
for (let index = 0; index < draft.seenEffects.length; index++) {
|
|
1539
1565
|
draft.seenEffects[index].previous = null;
|
|
1540
|
-
@@ -8484,6 +
|
|
1566
|
+
@@ -8484,6 +8732,8 @@ class UniversalRootImpl {
|
|
1541
1567
|
owner.componentProps = null;
|
|
1542
1568
|
owner.range = null;
|
|
1543
1569
|
owner.updates.clear();
|
|
@@ -1546,7 +1572,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
1546
1572
|
}
|
|
1547
1573
|
for (const draft of draftOwnersParentFirst) {
|
|
1548
1574
|
const record = draft.record;
|
|
1549
|
-
@@ -8493,6 +
|
|
1575
|
+
@@ -8493,6 +8743,7 @@ class UniversalRootImpl {
|
|
1550
1576
|
record.parent = draft.parent?.record ?? null;
|
|
1551
1577
|
}
|
|
1552
1578
|
record.hooks = draft.hooks;
|
|
@@ -1554,7 +1580,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
1554
1580
|
record.effectOrder = [...draft.seenEffects];
|
|
1555
1581
|
for (let index = 0; index < draft.seenEffects.length; index++) {
|
|
1556
1582
|
draft.seenEffects[index].previous = null;
|
|
1557
|
-
@@ -9004,6 +
|
|
1583
|
+
@@ -9004,6 +9255,8 @@ class UniversalRootImpl {
|
|
1558
1584
|
owner.componentProps = null;
|
|
1559
1585
|
owner.range = null;
|
|
1560
1586
|
owner.updates.clear();
|
|
@@ -1563,7 +1589,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
1563
1589
|
}
|
|
1564
1590
|
const deactivatedRegionCells = /* @__PURE__ */ new Set();
|
|
1565
1591
|
for (const bridge of regionBridges) {
|
|
1566
|
-
@@ -10220,6 +
|
|
1592
|
+
@@ -10220,6 +10473,7 @@ function createObjectDriver(renderer = "object") {
|
|
1567
1593
|
};
|
|
1568
1594
|
}
|
|
1569
1595
|
export {
|
|
@@ -1572,7 +1598,7 @@ index 8c89dbd..ff1defa 100644
|
|
|
1572
1598
|
UNIVERSAL_HMR,
|
|
1573
1599
|
UNIVERSAL_TRANSPORT_PROTOCOL_VERSION,
|
|
1574
1600
|
diff --git a/dist/universal-native.js b/dist/universal-native.js
|
|
1575
|
-
index
|
|
1601
|
+
index 55ac9b640dc8bbfd977bb2cbe0b7993c8ddb425a..399633e4e8cc9d6b098ba819f443d94bc30999f1 100644
|
|
1576
1602
|
--- a/dist/universal-native.js
|
|
1577
1603
|
+++ b/dist/universal-native.js
|
|
1578
1604
|
@@ -6,9 +6,12 @@ import {
|
|
@@ -1589,7 +1615,7 @@ index 55ac9b6..399633e 100644
|
|
|
1589
1615
|
function createContext(defaultValue) {
|
|
1590
1616
|
const context = ((props, scope) => scope === void 0 ? universalContext(context, props.value, props.children) : renderRendererContextProvider(context, props, scope));
|
|
1591
1617
|
diff --git a/dist/universal.js b/dist/universal.js
|
|
1592
|
-
index
|
|
1618
|
+
index 6427a0190c072e7e4629c379e42bedc03669dc6e..8049b7880824de607157091004a46c9d33a23484 100644
|
|
1593
1619
|
--- a/dist/universal.js
|
|
1594
1620
|
+++ b/dist/universal.js
|
|
1595
1621
|
@@ -8,6 +8,9 @@ import {
|