@lynx-js/react 0.121.0 → 0.121.2
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/CHANGELOG.md +34 -0
- package/package.json +5 -5
- package/runtime/lazy/element-template-import.js +73 -0
- package/runtime/lazy/import.js +4 -0
- package/runtime/lazy/target.js +23 -0
- package/runtime/lib/core/commit-context.d.ts +8 -0
- package/runtime/lib/core/commit-context.js +18 -0
- package/runtime/lib/core/commit-context.js.map +1 -0
- package/runtime/lib/{snapshot/legacy-react-runtime/index.d.ts → core/compat/legacy-react-runtime.d.ts} +4 -4
- package/runtime/lib/{snapshot/legacy-react-runtime/index.js → core/compat/legacy-react-runtime.js} +6 -6
- package/runtime/lib/core/compat/legacy-react-runtime.js.map +1 -0
- package/runtime/lib/{snapshot → core}/compat/lynxComponent.d.ts +2 -1
- package/runtime/lib/{snapshot → core}/compat/lynxComponent.js +11 -5
- package/runtime/lib/core/compat/lynxComponent.js.map +1 -0
- package/runtime/lib/core/component.d.ts +2 -0
- package/runtime/lib/core/component.js +79 -0
- package/runtime/lib/core/component.js.map +1 -0
- package/runtime/lib/core/forceRootRender.d.ts +7 -0
- package/runtime/lib/core/forceRootRender.js +40 -0
- package/runtime/lib/core/forceRootRender.js.map +1 -0
- package/runtime/lib/core/globalProps.d.ts +31 -0
- package/runtime/lib/core/globalProps.js +55 -0
- package/runtime/lib/core/globalProps.js.map +1 -0
- package/runtime/lib/core/hooks/useLynxGlobalEventListener.js +1 -1
- package/runtime/lib/core/hooks/useLynxGlobalEventListener.js.map +1 -1
- package/runtime/lib/{snapshot/compat → core}/initData.d.ts +1 -1
- package/runtime/lib/{snapshot/compat → core}/initData.js +4 -5
- package/runtime/lib/core/initData.js.map +1 -0
- package/runtime/lib/{snapshot/lynx/dynamic-js.js → core/lynx/dynamic-import.js} +1 -1
- package/runtime/lib/core/lynx/dynamic-import.js.map +1 -0
- package/runtime/lib/core/lynx/lazy-bundle.js.map +1 -0
- package/runtime/lib/core/lynx/runtime-backend.d.ts +5 -0
- package/runtime/lib/core/lynx/runtime-backend.js +20 -0
- package/runtime/lib/core/lynx/runtime-backend.js.map +1 -0
- package/runtime/lib/core/lynx-data-processors.d.ts +2 -0
- package/runtime/lib/core/lynx-data-processors.js +53 -0
- package/runtime/lib/core/lynx-data-processors.js.map +1 -0
- package/runtime/lib/core/lynx-page-data.d.ts +1 -0
- package/runtime/lib/core/lynx-page-data.js +14 -0
- package/runtime/lib/core/lynx-page-data.js.map +1 -0
- package/runtime/lib/core/lynx-update-data.d.ts +11 -0
- package/runtime/lib/core/lynx-update-data.js +21 -0
- package/runtime/lib/core/lynx-update-data.js.map +1 -0
- package/runtime/lib/core/performance.d.ts +30 -0
- package/runtime/lib/core/performance.js +145 -0
- package/runtime/lib/core/performance.js.map +1 -0
- package/runtime/lib/core/ref.d.ts +37 -0
- package/runtime/lib/core/ref.js +108 -0
- package/runtime/lib/core/ref.js.map +1 -0
- package/runtime/lib/core/reload-version.d.ts +2 -0
- package/runtime/lib/{snapshot/lifecycle/pass.js → core/reload-version.js} +4 -5
- package/runtime/lib/core/reload-version.js.map +1 -0
- package/runtime/lib/element-template/background/attr-slots.d.ts +6 -1
- package/runtime/lib/element-template/background/attr-slots.js +35 -2
- package/runtime/lib/element-template/background/attr-slots.js.map +1 -1
- package/runtime/lib/element-template/background/commit-context.d.ts +3 -3
- package/runtime/lib/element-template/background/commit-context.js +15 -18
- package/runtime/lib/element-template/background/commit-context.js.map +1 -1
- package/runtime/lib/element-template/background/commit-hook.d.ts +1 -1
- package/runtime/lib/element-template/background/commit-hook.js +68 -43
- package/runtime/lib/element-template/background/commit-hook.js.map +1 -1
- package/runtime/lib/element-template/background/destroy.js +9 -6
- package/runtime/lib/element-template/background/destroy.js.map +1 -1
- package/runtime/lib/element-template/background/document.js +5 -5
- package/runtime/lib/element-template/background/document.js.map +1 -1
- package/runtime/lib/element-template/background/hydrate.d.ts +2 -3
- package/runtime/lib/element-template/background/hydrate.js +247 -74
- package/runtime/lib/element-template/background/hydrate.js.map +1 -1
- package/runtime/lib/element-template/background/hydration-listener.js +49 -22
- package/runtime/lib/element-template/background/hydration-listener.js.map +1 -1
- package/runtime/lib/element-template/background/instance.d.ts +38 -9
- package/runtime/lib/element-template/background/instance.js +292 -113
- package/runtime/lib/element-template/background/instance.js.map +1 -1
- package/runtime/lib/element-template/client/root.d.ts +7 -0
- package/runtime/lib/element-template/client/root.js +3 -6
- package/runtime/lib/element-template/client/root.js.map +1 -1
- package/runtime/lib/element-template/debug/alog.d.ts +21 -0
- package/runtime/lib/element-template/debug/alog.js +33 -0
- package/runtime/lib/element-template/debug/alog.js.map +1 -1
- package/runtime/lib/element-template/debug/elementPAPICall.js +5 -0
- package/runtime/lib/element-template/debug/elementPAPICall.js.map +1 -1
- package/runtime/lib/element-template/hydration-map.d.ts +5 -0
- package/runtime/lib/element-template/hydration-map.js +12 -0
- package/runtime/lib/element-template/hydration-map.js.map +1 -0
- package/runtime/lib/element-template/index.d.ts +25 -3
- package/runtime/lib/element-template/index.js +38 -9
- package/runtime/lib/element-template/index.js.map +1 -1
- package/runtime/lib/element-template/internal.d.ts +5 -1
- package/runtime/lib/element-template/internal.js +6 -7
- package/runtime/lib/element-template/internal.js.map +1 -1
- package/runtime/lib/element-template/lynx/env.js +5 -48
- package/runtime/lib/element-template/lynx/env.js.map +1 -1
- package/runtime/lib/element-template/lynx/performance.d.ts +0 -21
- package/runtime/lib/element-template/lynx/performance.js +4 -121
- package/runtime/lib/element-template/lynx/performance.js.map +1 -1
- package/runtime/lib/element-template/native/index.d.ts +1 -1
- package/runtime/lib/element-template/native/index.js +28 -2
- package/runtime/lib/element-template/native/index.js.map +1 -1
- package/runtime/lib/element-template/native/main-thread-api.js +27 -5
- package/runtime/lib/element-template/native/main-thread-api.js.map +1 -1
- package/runtime/lib/element-template/native/mts-destroy.js +2 -0
- package/runtime/lib/element-template/native/mts-destroy.js.map +1 -1
- package/runtime/lib/element-template/native/patch-listener.js +6 -2
- package/runtime/lib/element-template/native/patch-listener.js.map +1 -1
- package/runtime/lib/element-template/native/reload-background.d.ts +1 -0
- package/runtime/lib/element-template/native/reload-background.js +39 -0
- package/runtime/lib/element-template/native/reload-background.js.map +1 -0
- package/runtime/lib/element-template/native/reload-main-thread.d.ts +1 -0
- package/runtime/lib/element-template/native/reload-main-thread.js +35 -0
- package/runtime/lib/element-template/native/reload-main-thread.js.map +1 -0
- package/runtime/lib/element-template/prop-adapters/event.d.ts +1 -0
- package/runtime/lib/element-template/prop-adapters/event.js +4 -1
- package/runtime/lib/element-template/prop-adapters/event.js.map +1 -1
- package/runtime/lib/element-template/prop-adapters/ref.d.ts +26 -0
- package/runtime/lib/element-template/prop-adapters/ref.js +107 -0
- package/runtime/lib/element-template/prop-adapters/ref.js.map +1 -0
- package/runtime/lib/element-template/prop-adapters/spread.js +8 -1
- package/runtime/lib/element-template/prop-adapters/spread.js.map +1 -1
- package/runtime/lib/element-template/protocol/opcodes.d.ts +4 -0
- package/runtime/lib/element-template/protocol/opcodes.js +4 -0
- package/runtime/lib/element-template/protocol/opcodes.js.map +1 -1
- package/runtime/lib/element-template/protocol/template-type.d.ts +6 -0
- package/runtime/lib/element-template/protocol/template-type.js +20 -0
- package/runtime/lib/element-template/protocol/template-type.js.map +1 -0
- package/runtime/lib/element-template/protocol/types.d.ts +74 -6
- package/runtime/lib/element-template/runtime/list/list.d.ts +65 -0
- package/runtime/lib/element-template/runtime/list/list.js +587 -0
- package/runtime/lib/element-template/runtime/list/list.js.map +1 -0
- package/runtime/lib/element-template/runtime/page/page.d.ts +5 -2
- package/runtime/lib/element-template/runtime/page/page.js +12 -0
- package/runtime/lib/element-template/runtime/page/page.js.map +1 -1
- package/runtime/lib/element-template/runtime/patch.js +210 -38
- package/runtime/lib/element-template/runtime/patch.js.map +1 -1
- package/runtime/lib/element-template/runtime/render/render-main-thread.d.ts +3 -1
- package/runtime/lib/element-template/runtime/render/render-main-thread.js +38 -7
- package/runtime/lib/element-template/runtime/render/render-main-thread.js.map +1 -1
- package/runtime/lib/element-template/runtime/render/render-opcodes.js +80 -43
- package/runtime/lib/element-template/runtime/render/render-opcodes.js.map +1 -1
- package/runtime/lib/element-template/runtime/render/render-to-opcodes.js +41 -4
- package/runtime/lib/element-template/runtime/render/render-to-opcodes.js.map +1 -1
- package/runtime/lib/element-template/runtime/template/attr-slot-plan.d.ts +1 -0
- package/runtime/lib/element-template/runtime/template/attr-slot-plan.js +4 -0
- package/runtime/lib/element-template/runtime/template/attr-slot-plan.js.map +1 -1
- package/runtime/lib/element-template/runtime/template/handle.d.ts +3 -2
- package/runtime/lib/element-template/runtime/template/handle.js +5 -1
- package/runtime/lib/element-template/runtime/template/handle.js.map +1 -1
- package/runtime/lib/element-template/runtime/template/registry.d.ts +2 -0
- package/runtime/lib/element-template/runtime/template/registry.js +6 -1
- package/runtime/lib/element-template/runtime/template/registry.js.map +1 -1
- package/runtime/lib/element-template/runtime-backend-marker.js +6 -0
- package/runtime/lib/element-template/runtime-backend-marker.js.map +1 -0
- package/runtime/lib/index.d.ts +1 -1
- package/runtime/lib/index.js +3 -1
- package/runtime/lib/index.js.map +1 -1
- package/runtime/lib/internal.d.ts +5 -4
- package/runtime/lib/internal.js +6 -5
- package/runtime/lib/internal.js.map +1 -1
- package/runtime/lib/lynx-api.d.ts +3 -8
- package/runtime/lib/lynx-api.js +8 -45
- package/runtime/lib/lynx-api.js.map +1 -1
- package/runtime/lib/runtime-backend-marker.js +6 -0
- package/runtime/lib/runtime-backend-marker.js.map +1 -0
- package/runtime/lib/snapshot/debug/vnodeSource.js +1 -1
- package/runtime/lib/snapshot/debug/vnodeSource.js.map +1 -1
- package/runtime/lib/snapshot/lifecycle/patch/commit.d.ts +0 -1
- package/runtime/lib/snapshot/lifecycle/patch/commit.js +4 -9
- package/runtime/lib/snapshot/lifecycle/patch/commit.js.map +1 -1
- package/runtime/lib/snapshot/lifecycle/patch/updateMainThread.js +2 -2
- package/runtime/lib/snapshot/lifecycle/patch/updateMainThread.js.map +1 -1
- package/runtime/lib/snapshot/lifecycle/ref/delay.d.ts +6 -13
- package/runtime/lib/snapshot/lifecycle/ref/delay.js +9 -30
- package/runtime/lib/snapshot/lifecycle/ref/delay.js.map +1 -1
- package/runtime/lib/snapshot/lifecycle/reload.js +2 -2
- package/runtime/lib/snapshot/lifecycle/reload.js.map +1 -1
- package/runtime/lib/snapshot/list/list.js +1 -1
- package/runtime/lib/snapshot/list/list.js.map +1 -1
- package/runtime/lib/snapshot/list/listUpdateInfo.js +3 -2
- package/runtime/lib/snapshot/list/listUpdateInfo.js.map +1 -1
- package/runtime/lib/snapshot/lynx/calledByNative.js +3 -9
- package/runtime/lib/snapshot/lynx/calledByNative.js.map +1 -1
- package/runtime/lib/snapshot/lynx/env.js +5 -51
- package/runtime/lib/snapshot/lynx/env.js.map +1 -1
- package/runtime/lib/snapshot/lynx/performance.d.ts +0 -21
- package/runtime/lib/snapshot/lynx/performance.js +7 -121
- package/runtime/lib/snapshot/lynx/performance.js.map +1 -1
- package/runtime/lib/snapshot/lynx/runWithForce.js +9 -39
- package/runtime/lib/snapshot/lynx/runWithForce.js.map +1 -1
- package/runtime/lib/snapshot/lynx/tt.js +10 -30
- package/runtime/lib/snapshot/lynx/tt.js.map +1 -1
- package/runtime/lib/snapshot/snapshot/backgroundSnapshot.js +4 -4
- package/runtime/lib/snapshot/snapshot/backgroundSnapshot.js.map +1 -1
- package/runtime/lib/snapshot/snapshot/list.js +1 -1
- package/runtime/lib/snapshot/snapshot/list.js.map +1 -1
- package/runtime/lib/snapshot/snapshot/ref.d.ts +3 -5
- package/runtime/lib/snapshot/snapshot/ref.js +16 -59
- package/runtime/lib/snapshot/snapshot/ref.js.map +1 -1
- package/runtime/lib/snapshot/snapshot/snapshot.js +1 -1
- package/runtime/lib/snapshot/snapshot/snapshot.js.map +1 -1
- package/runtime/lib/snapshot/snapshot/snapshotInstanceHydrationMap.js +1 -1
- package/runtime/lib/snapshot/snapshot/snapshotInstanceHydrationMap.js.map +1 -1
- package/runtime/lib/tsconfig.tsbuildinfo +1 -1
- package/runtime/lib/worklet-runtime/workletRuntime.js +1 -1
- package/runtime/lib/worklet-runtime/workletRuntime.js.map +1 -1
- package/runtime/worklet-runtime/dev.js +2 -3
- package/runtime/worklet-runtime/main.js +1 -1
- package/testing-library/dist/{rslib-runtime.js → 0~rslib-runtime.js} +14 -13
- package/testing-library/dist/env/index.js +2 -8
- package/testing-library/dist/env/vitest.js +1 -1
- package/testing-library/dist/plugins/index.js +13 -2
- package/testing-library/dist/pure.js +18 -18
- package/testing-library/dist/rstest-config.js +2 -4
- package/testing-library/dist/setupFiles/common/bootstrap.js +1 -0
- package/testing-library/dist/setupFiles/common/runtime-setup.js +1 -1
- package/testing-library/dist/setupFiles/inner/rstest.js +2 -1
- package/testing-library/dist/setupFiles/inner/vitest.js +2 -1
- package/testing-library/dist/type-entry/index.js +1 -0
- package/transform/dist/wasm.cjs +113 -40
- package/runtime/lib/element-template/hooks/react.d.ts +0 -14
- package/runtime/lib/element-template/hooks/react.js +0 -24
- package/runtime/lib/element-template/hooks/react.js.map +0 -1
- package/runtime/lib/element-template/runtime/components/slot.js +0 -11
- package/runtime/lib/element-template/runtime/components/slot.js.map +0 -1
- package/runtime/lib/snapshot/compat/initData.js.map +0 -1
- package/runtime/lib/snapshot/compat/lynxComponent.js.map +0 -1
- package/runtime/lib/snapshot/legacy-react-runtime/index.js.map +0 -1
- package/runtime/lib/snapshot/lifecycle/pass.d.ts +0 -3
- package/runtime/lib/snapshot/lifecycle/pass.js.map +0 -1
- package/runtime/lib/snapshot/lynx/component.js +0 -73
- package/runtime/lib/snapshot/lynx/component.js.map +0 -1
- package/runtime/lib/snapshot/lynx/dynamic-js.js.map +0 -1
- package/runtime/lib/snapshot/lynx/lazy-bundle.js.map +0 -1
- package/testing-library/dist/881.js +0 -1
- /package/runtime/lib/{snapshot/lynx/dynamic-js.d.ts → core/lynx/dynamic-import.d.ts} +0 -0
- /package/runtime/lib/{snapshot → core}/lynx/lazy-bundle.d.ts +0 -0
- /package/runtime/lib/{snapshot → core}/lynx/lazy-bundle.js +0 -0
- /package/runtime/lib/element-template/{runtime/components/slot.d.ts → runtime-backend-marker.d.ts} +0 -0
- /package/runtime/lib/{snapshot/lynx/component.d.ts → runtime-backend-marker.d.ts} +0 -0
- /package/testing-library/dist/{0~123.js → 0~@rstest/adapter-rsbuild.js} +0 -0
|
@@ -2,86 +2,110 @@
|
|
|
2
2
|
// Licensed under the Apache License Version 2.0 that can be found in the
|
|
3
3
|
// LICENSE file in the root directory of this source tree.
|
|
4
4
|
import { __OpAttr, __OpBegin, __OpEnd, __OpSlot, __OpText } from './render-to-opcodes.js';
|
|
5
|
+
import { parseElementTemplateType } from '../../protocol/template-type.js';
|
|
6
|
+
import { composeElementTemplateListAttributes, createElementTemplateListState, registerElementTemplateListItem, registerElementTemplateListState, } from '../list/list.js';
|
|
5
7
|
import { __etAttrPlanMap } from '../template/attr-slot-plan.js';
|
|
6
|
-
import { createElementTemplateWithReservedHandle, reserveElementTemplateId } from '../template/handle.js';
|
|
8
|
+
import { createElementTemplateWithReservedHandle, createTypedElementTemplateWithReservedHandle, reserveElementTemplateId, } from '../template/handle.js';
|
|
7
9
|
const BUILTIN_RAW_TEXT_TEMPLATE_KEY = '_et_builtin_raw_text';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
/* v8 ignore end */
|
|
10
|
+
const TYPED_LIST_HOST_TYPE = 'list';
|
|
11
|
+
const EMPTY_LIST_ITEM_UIDS = [];
|
|
12
|
+
function appendChildToParent(parentTemplateKey, parentActiveElementSlot, parentListItemUids, rootRefs, elementRef, uid) {
|
|
14
13
|
if (parentTemplateKey === null) {
|
|
15
14
|
rootRefs.push(elementRef);
|
|
16
15
|
return;
|
|
17
16
|
}
|
|
18
|
-
if (!parentActiveElementSlot) {
|
|
17
|
+
if (__DEV__ && !parentActiveElementSlot) {
|
|
19
18
|
throw new Error(`Template '${parentTemplateKey}' received a child outside of any element slot.`);
|
|
20
19
|
}
|
|
21
20
|
parentActiveElementSlot.push(elementRef);
|
|
21
|
+
parentListItemUids?.push(uid);
|
|
22
22
|
}
|
|
23
23
|
export function renderOpcodesIntoElementTemplate(opcodes) {
|
|
24
24
|
const rootRefs = [];
|
|
25
|
-
const
|
|
25
|
+
const typeStack = [null];
|
|
26
26
|
const attributeSlotsStack = [undefined];
|
|
27
|
+
const typedAttributesStack = [undefined];
|
|
27
28
|
const elementSlotsStack = [undefined];
|
|
29
|
+
const listItemUidsStack = [undefined];
|
|
28
30
|
const activeElementSlotStack = [undefined];
|
|
31
|
+
const activeListItemUidsStack = [undefined];
|
|
32
|
+
const listItemPlatformInfoStack = [undefined];
|
|
33
|
+
const deferredListItemMarkerStack = [false];
|
|
29
34
|
let stackTop = 0;
|
|
30
35
|
for (let i = 0; i < opcodes.length;) {
|
|
31
36
|
const opcode = opcodes[i];
|
|
32
37
|
switch (opcode) {
|
|
33
38
|
case __OpBegin: {
|
|
34
39
|
const vnode = opcodes[i + 1];
|
|
40
|
+
const props = vnode.props;
|
|
35
41
|
stackTop += 1;
|
|
36
|
-
|
|
42
|
+
typeStack[stackTop] = vnode.type;
|
|
37
43
|
attributeSlotsStack[stackTop] = undefined;
|
|
44
|
+
typedAttributesStack[stackTop] = undefined;
|
|
38
45
|
elementSlotsStack[stackTop] = undefined;
|
|
46
|
+
listItemUidsStack[stackTop] = undefined;
|
|
39
47
|
activeElementSlotStack[stackTop] = undefined;
|
|
48
|
+
activeListItemUidsStack[stackTop] = undefined;
|
|
49
|
+
listItemPlatformInfoStack[stackTop] = props?.['__listItemPlatformInfo'];
|
|
50
|
+
deferredListItemMarkerStack[stackTop] = props?.['isReady'] !== undefined;
|
|
40
51
|
i += 2;
|
|
41
52
|
break;
|
|
42
53
|
}
|
|
43
54
|
case __OpEnd: {
|
|
44
|
-
if (stackTop === 0) {
|
|
55
|
+
if (__DEV__ && stackTop === 0) {
|
|
45
56
|
throw new Error('Instruction mismatch: Popped root frame at __OpEnd');
|
|
46
57
|
}
|
|
47
|
-
const
|
|
58
|
+
const type = typeStack[stackTop];
|
|
48
59
|
const attributeSlots = attributeSlotsStack[stackTop];
|
|
60
|
+
const typedAttributes = typedAttributesStack[stackTop];
|
|
49
61
|
const elementSlots = elementSlotsStack[stackTop];
|
|
62
|
+
const listItemUids = listItemUidsStack[stackTop];
|
|
63
|
+
const listItemPlatformInfo = listItemPlatformInfoStack[stackTop];
|
|
64
|
+
const deferredListItemMarker = deferredListItemMarkerStack[stackTop];
|
|
50
65
|
stackTop -= 1;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
// The Root frame is manually pushed and has no __OpBegin.
|
|
54
|
-
// So we should never pop the Root frame via __OpEnd unless there's an extra End.
|
|
55
|
-
if (templateKey === null) {
|
|
56
|
-
// This should effectively not happen if opcodes are balanced?
|
|
57
|
-
// Actually, if we are at root, and opcode has __OpEnd, it implies we are closing a component.
|
|
58
|
-
// The structure is: Root -> [Begin ... End] -> Root.
|
|
59
|
-
// Wait, if opcodes list ends, loop finishes.
|
|
60
|
-
// __OpEnd corresponds to a component.
|
|
61
|
-
// So if we pop, we must get a valid component frame.
|
|
62
|
-
/* v8 ignore start -- the synthetic root frame cannot be popped by balanced opcodes. */
|
|
63
|
-
throw new Error('Instruction mismatch: Popped root frame at __OpEnd');
|
|
64
|
-
/* v8 ignore end */
|
|
65
|
-
}
|
|
66
|
-
const concreteTemplateKey = templateKey;
|
|
67
|
-
const parentTemplateKey = templateKeyStack[stackTop];
|
|
66
|
+
const concreteType = type;
|
|
67
|
+
const parentTemplateKey = stackTop === 0 ? null : typeStack[stackTop];
|
|
68
68
|
const parentActiveElementSlot = activeElementSlotStack[stackTop];
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
69
|
+
const parentListItemUids = activeListItemUidsStack[stackTop];
|
|
70
|
+
if (concreteType === TYPED_LIST_HOST_TYPE) {
|
|
71
|
+
const listChildren = elementSlots?.[0] ?? [];
|
|
72
|
+
const listState = createElementTemplateListState(listItemUids ?? EMPTY_LIST_ITEM_UIDS, typedAttributes ?? null);
|
|
73
|
+
const attrsWithCallbacks = composeElementTemplateListAttributes(undefined, listState);
|
|
74
|
+
const handleId = reserveElementTemplateId();
|
|
75
|
+
const elementRef = createTypedElementTemplateWithReservedHandle(handleId, TYPED_LIST_HOST_TYPE, attrsWithCallbacks, null, { listChildren });
|
|
76
|
+
registerElementTemplateListState(handleId, listState, true, elementRef);
|
|
77
|
+
appendChildToParent(parentTemplateKey, parentActiveElementSlot, parentListItemUids, rootRefs, elementRef, handleId);
|
|
78
|
+
i += 1;
|
|
79
|
+
break;
|
|
74
80
|
}
|
|
75
|
-
|
|
76
|
-
|
|
81
|
+
if (__DEV__ && parentTemplateKey === TYPED_LIST_HOST_TYPE) {
|
|
82
|
+
if (deferredListItemMarker) {
|
|
83
|
+
throw new Error('Element Template typed list does not support deferred list items.');
|
|
84
|
+
}
|
|
85
|
+
if (listItemPlatformInfo === undefined) {
|
|
86
|
+
throw new Error('Element Template typed list received a non-list-item root in logical slot $0.');
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
const attrPlan = __etAttrPlanMap[concreteType];
|
|
90
|
+
const handleId = reserveElementTemplateId();
|
|
91
|
+
let preparedAttributeSlots = attributeSlots ?? null;
|
|
92
|
+
if (attrPlan !== undefined) {
|
|
93
|
+
preparedAttributeSlots = attributeSlots?.slice() ?? [];
|
|
77
94
|
for (let planIndex = 0; planIndex < attrPlan.length; planIndex += 2) {
|
|
78
95
|
const attrSlotIndex = attrPlan[planIndex];
|
|
79
96
|
const adapter = attrPlan[planIndex + 1];
|
|
80
97
|
preparedAttributeSlots[attrSlotIndex] = adapter(handleId, attrSlotIndex, preparedAttributeSlots[attrSlotIndex]);
|
|
81
98
|
}
|
|
82
|
-
elementRef = createElementTemplateWithReservedHandle(handleId, concreteTemplateKey, null, preparedAttributeSlots, elementSlots ?? null);
|
|
83
99
|
}
|
|
84
|
-
|
|
100
|
+
const nativeTemplate = parseElementTemplateType(concreteType);
|
|
101
|
+
const elementRef = createElementTemplateWithReservedHandle(handleId, nativeTemplate.templateKey, nativeTemplate.bundleUrl, preparedAttributeSlots, elementSlots ?? null);
|
|
102
|
+
if (listItemPlatformInfo !== undefined) {
|
|
103
|
+
registerElementTemplateListItem(handleId, elementRef, {
|
|
104
|
+
templateKey: concreteType,
|
|
105
|
+
platformInfo: listItemPlatformInfo,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
appendChildToParent(parentTemplateKey, parentActiveElementSlot, parentListItemUids, rootRefs, elementRef, handleId);
|
|
85
109
|
i += 1;
|
|
86
110
|
break;
|
|
87
111
|
}
|
|
@@ -91,28 +115,44 @@ export function renderOpcodesIntoElementTemplate(opcodes) {
|
|
|
91
115
|
if (name === 'attributeSlots') {
|
|
92
116
|
attributeSlotsStack[stackTop] = value;
|
|
93
117
|
}
|
|
118
|
+
else if (name === 'typedAttributes') {
|
|
119
|
+
typedAttributesStack[stackTop] = value;
|
|
120
|
+
}
|
|
94
121
|
i += 3;
|
|
95
122
|
break;
|
|
96
123
|
}
|
|
97
124
|
case __OpSlot: {
|
|
98
125
|
const slotId = opcodes[i + 1];
|
|
126
|
+
if (__DEV__ && typeStack[stackTop] === TYPED_LIST_HOST_TYPE && slotId !== 0) {
|
|
127
|
+
throw new Error('Element Template typed list only supports logical slot $0.');
|
|
128
|
+
}
|
|
99
129
|
const elementSlots = elementSlotsStack[stackTop] ?? (elementSlotsStack[stackTop] = []);
|
|
100
130
|
const activeElementSlot = elementSlots[slotId] = [];
|
|
101
131
|
activeElementSlotStack[stackTop] = activeElementSlot;
|
|
132
|
+
if (typeStack[stackTop] === TYPED_LIST_HOST_TYPE && slotId === 0) {
|
|
133
|
+
const activeListItemUids = listItemUidsStack[stackTop] = [];
|
|
134
|
+
activeListItemUidsStack[stackTop] = activeListItemUids;
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
activeListItemUidsStack[stackTop] = undefined;
|
|
138
|
+
}
|
|
102
139
|
i += 2;
|
|
103
140
|
break;
|
|
104
141
|
}
|
|
105
142
|
case __OpText: {
|
|
106
143
|
const text = opcodes[i + 1];
|
|
144
|
+
const parentTemplateKey = stackTop === 0 ? null : typeStack[stackTop];
|
|
145
|
+
if (__DEV__ && parentTemplateKey === TYPED_LIST_HOST_TYPE) {
|
|
146
|
+
throw new Error('Element Template typed list received text logical child.');
|
|
147
|
+
}
|
|
107
148
|
const handleId = reserveElementTemplateId();
|
|
108
149
|
const textRef = createElementTemplateWithReservedHandle(handleId, BUILTIN_RAW_TEXT_TEMPLATE_KEY, null, [String(text)], []);
|
|
109
|
-
const parentTemplateKey = templateKeyStack[stackTop];
|
|
110
150
|
if (parentTemplateKey === null) {
|
|
111
151
|
rootRefs.push(textRef);
|
|
112
152
|
}
|
|
113
153
|
else {
|
|
114
154
|
const activeElementSlot = activeElementSlotStack[stackTop];
|
|
115
|
-
if (!activeElementSlot) {
|
|
155
|
+
if (__DEV__ && !activeElementSlot) {
|
|
116
156
|
throw new Error(`Template '${parentTemplateKey}' received a text child outside of any element slot.`);
|
|
117
157
|
}
|
|
118
158
|
activeElementSlot.push(textRef);
|
|
@@ -121,9 +161,6 @@ export function renderOpcodesIntoElementTemplate(opcodes) {
|
|
|
121
161
|
break;
|
|
122
162
|
}
|
|
123
163
|
default:
|
|
124
|
-
// Unknown opcode, maybe skip? or throw?
|
|
125
|
-
// renderToString loop increments manually.
|
|
126
|
-
// If we hit here, something is desync.
|
|
127
164
|
throw new Error(`Unknown opcode: ${opcode}`);
|
|
128
165
|
}
|
|
129
166
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-opcodes.js","sourceRoot":"","sources":["../../../../src/element-template/runtime/render/render-opcodes.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"render-opcodes.js","sourceRoot":"","sources":["../../../../src/element-template/runtime/render/render-opcodes.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,OAAO,EACL,oCAAoC,EACpC,8BAA8B,EAC9B,+BAA+B,EAC/B,gCAAgC,GACjC,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EACL,uCAAuC,EACvC,4CAA4C,EAC5C,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,6BAA6B,GAAG,sBAAsB,CAAC;AAC7D,MAAM,oBAAoB,GAAG,MAAM,CAAC;AACpC,MAAM,oBAAoB,GAAsB,EAAE,CAAC;AAMnD,SAAS,mBAAmB,CAC1B,iBAAgC,EAChC,uBAAiD,EACjD,kBAAwC,EACxC,QAAsB,EACtB,UAAsB,EACtB,GAAW;IAEX,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,aAAa,iBAAiB,iDAAiD,CAAC,CAAC;IACnG,CAAC;IAED,uBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,OAAkB;IAElB,MAAM,QAAQ,GAAiB,EAAE,CAAC;IAClC,MAAM,SAAS,GAAyB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,mBAAmB,GAA2C,CAAC,SAAS,CAAC,CAAC;IAChF,MAAM,oBAAoB,GAAqD,CAAC,SAAS,CAAC,CAAC;IAC3F,MAAM,iBAAiB,GAAgD,CAAC,SAAS,CAAC,CAAC;IACnF,MAAM,iBAAiB,GAAgC,CAAC,SAAS,CAAC,CAAC;IACnE,MAAM,sBAAsB,GAAoC,CAAC,SAAS,CAAC,CAAC;IAC5E,MAAM,uBAAuB,GAAgC,CAAC,SAAS,CAAC,CAAC;IACzE,MAAM,yBAAyB,GAA8C,CAAC,SAAS,CAAC,CAAC;IACzF,MAAM,2BAA2B,GAAc,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC;QACpC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAsD,CAAC;gBAClF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC1B,QAAQ,IAAI,CAAC,CAAC;gBACd,SAAS,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;gBACjC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;gBAC1C,oBAAoB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;gBAC3C,iBAAiB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;gBACxC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;gBACxC,sBAAsB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;gBAC7C,uBAAuB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;gBAC9C,yBAAyB,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,CAAC,wBAAwB,CAAuC,CAAC;gBAC9G,2BAA2B,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC;gBACzE,CAAC,IAAI,CAAC,CAAC;gBACP,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,IAAI,OAAO,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBACxE,CAAC;gBAED,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACjC,MAAM,cAAc,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;gBACrD,MAAM,eAAe,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gBACvD,MAAM,YAAY,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBACjD,MAAM,YAAY,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBACjD,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;gBACjE,MAAM,sBAAsB,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;gBACrE,QAAQ,IAAI,CAAC,CAAC;gBAEd,MAAM,YAAY,GAAG,IAAK,CAAC;gBAE3B,MAAM,iBAAiB,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAE,CAAC;gBACvE,MAAM,uBAAuB,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;gBACjE,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;gBAE7D,IAAI,YAAY,KAAK,oBAAoB,EAAE,CAAC;oBAC1C,MAAM,YAAY,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC7C,MAAM,SAAS,GAAG,8BAA8B,CAC9C,YAAY,IAAI,oBAAoB,EACpC,eAAe,IAAI,IAAI,CACxB,CAAC;oBACF,MAAM,kBAAkB,GAAG,oCAAoC,CAC7D,SAAS,EACT,SAAS,CACV,CAAC;oBACF,MAAM,QAAQ,GAAG,wBAAwB,EAAE,CAAC;oBAC5C,MAAM,UAAU,GAAG,4CAA4C,CAC7D,QAAQ,EACR,oBAAoB,EACpB,kBAAkB,EAClB,IAAI,EACJ,EAAE,YAAY,EAAE,CACjB,CAAC;oBACF,gCAAgC,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;oBACxE,mBAAmB,CACjB,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACV,QAAQ,CACT,CAAC;oBAEF,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,CAAC;gBAED,IAAI,OAAO,IAAI,iBAAiB,KAAK,oBAAoB,EAAE,CAAC;oBAC1D,IAAI,sBAAsB,EAAE,CAAC;wBAC3B,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;oBACvF,CAAC;oBACD,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;wBACvC,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;oBACnG,CAAC;gBACH,CAAC;gBAED,MAAM,QAAQ,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;gBAC/C,MAAM,QAAQ,GAAG,wBAAwB,EAAE,CAAC;gBAC5C,IAAI,sBAAsB,GAAG,cAAc,IAAI,IAAI,CAAC;gBACpD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,sBAAsB,GAAG,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;oBACvD,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,EAAE,CAAC;wBACpE,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAW,CAAC;wBACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAkB,CAAC;wBACzD,sBAAsB,CAAC,aAAa,CAAC,GAAG,OAAO,CAC7C,QAAQ,EACR,aAAa,EACb,sBAAsB,CAAC,aAAa,CAAC,CACtC,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,MAAM,cAAc,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC;gBAC9D,MAAM,UAAU,GAAG,uCAAuC,CACxD,QAAQ,EACR,cAAc,CAAC,WAAW,EAC1B,cAAc,CAAC,SAAS,EACxB,sBAAsB,EACtB,YAAY,IAAI,IAAI,CACrB,CAAC;gBACF,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;oBACvC,+BAA+B,CAAC,QAAQ,EAAE,UAAU,EAAE;wBACpD,WAAW,EAAE,YAAY;wBACzB,YAAY,EAAE,oBAAoB;qBACnC,CAAC,CAAC;gBACL,CAAC;gBACD,mBAAmB,CACjB,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACV,QAAQ,CACT,CAAC;gBAEF,CAAC,IAAI,CAAC,CAAC;gBACP,MAAM;YACR,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAW,CAAC;gBACtC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAsB,CAAC;gBAClD,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;oBAC9B,mBAAmB,CAAC,QAAQ,CAAC,GAAG,KAA4B,CAAC;gBAC/D,CAAC;qBAAM,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBACtC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,KAAsC,CAAC;gBAC1E,CAAC;gBACD,CAAC,IAAI,CAAC,CAAC;gBACP,MAAM;YACR,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAW,CAAC;gBACxC,IAAI,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,oBAAoB,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5E,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;gBAChF,CAAC;gBACD,MAAM,YAAY,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;gBACvF,MAAM,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBACpD,sBAAsB,CAAC,QAAQ,CAAC,GAAG,iBAAiB,CAAC;gBACrD,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,oBAAoB,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjE,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;oBAC5D,uBAAuB,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACN,uBAAuB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;gBAChD,CAAC;gBACD,CAAC,IAAI,CAAC,CAAC;gBACP,MAAM;YACR,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAW,CAAC;gBACtC,MAAM,iBAAiB,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAE,CAAC;gBACvE,IAAI,OAAO,IAAI,iBAAiB,KAAK,oBAAoB,EAAE,CAAC;oBAC1D,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;gBAC9E,CAAC;gBACD,MAAM,QAAQ,GAAG,wBAAwB,EAAE,CAAC;gBAC5C,MAAM,OAAO,GAAG,uCAAuC,CACrD,QAAQ,EACR,6BAA6B,EAC7B,IAAI,EACJ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EACd,EAAE,CACH,CAAC;gBACF,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;oBAC/B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;oBAC3D,IAAI,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAClC,MAAM,IAAI,KAAK,CAAC,aAAa,iBAAiB,sDAAsD,CAAC,CAAC;oBACxG,CAAC;oBACD,iBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnC,CAAC;gBACD,CAAC,IAAI,CAAC,CAAC;gBACP,MAAM;YACR,CAAC;YACD;gBACE,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAyB,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IACD,OAAO;QACL,QAAQ;KACT,CAAC;AACJ,CAAC"}
|
|
@@ -57,6 +57,8 @@ function markAsDirty() {
|
|
|
57
57
|
}
|
|
58
58
|
/* v8 ignore stop */
|
|
59
59
|
const EMPTY_OBJ = {};
|
|
60
|
+
const TYPED_LIST_HOST_TYPE = 'list';
|
|
61
|
+
const TYPED_LIST_LOGICAL_SLOT_PROP = '$0';
|
|
60
62
|
export const __OpBegin = 0;
|
|
61
63
|
export const __OpEnd = 1;
|
|
62
64
|
export const __OpAttr = 2;
|
|
@@ -194,17 +196,52 @@ function renderCompiledEtHostVNode(vnode, props, context, opcodes) {
|
|
|
194
196
|
if (attributeSlots !== undefined) {
|
|
195
197
|
opcodes.push(__OpAttr, 'attributeSlots', attributeSlots);
|
|
196
198
|
}
|
|
197
|
-
// ET host nodes are compiler-generated
|
|
198
|
-
//
|
|
199
|
-
|
|
199
|
+
// ET host nodes are compiler-generated; `swc_plugin_element_template`
|
|
200
|
+
// (lowering.rs) emits dynamic children as `$N` named props only — no
|
|
201
|
+
// `children` prop is produced — so the renderer only consumes `$N`.
|
|
202
|
+
let elementSlots;
|
|
203
|
+
for (const name in props) {
|
|
204
|
+
if (name.startsWith('$')) {
|
|
205
|
+
(elementSlots ??= [])[+name.slice(1)] = props[name];
|
|
206
|
+
}
|
|
207
|
+
}
|
|
200
208
|
if (elementSlots !== undefined) {
|
|
201
209
|
renderEtSlotArray(elementSlots, context, vnode, opcodes);
|
|
202
210
|
}
|
|
203
211
|
cleanupVNode(vnode);
|
|
204
212
|
opcodes.push(__OpEnd);
|
|
205
213
|
}
|
|
214
|
+
function renderTypedListHostVNode(vnode, props, context, opcodes) {
|
|
215
|
+
opcodes.push(__OpBegin, vnode);
|
|
216
|
+
try {
|
|
217
|
+
if (__DEV__) {
|
|
218
|
+
for (const name in props) {
|
|
219
|
+
if (name.startsWith('$') && name !== TYPED_LIST_LOGICAL_SLOT_PROP) {
|
|
220
|
+
throw new Error('Element Template typed list only supports logical slot $0.');
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
const attributes = props.attributes;
|
|
225
|
+
if (attributes !== undefined) {
|
|
226
|
+
opcodes.push(__OpAttr, 'typedAttributes', attributes);
|
|
227
|
+
}
|
|
228
|
+
const listChildren = props[TYPED_LIST_LOGICAL_SLOT_PROP];
|
|
229
|
+
if (shouldRenderEtChild(listChildren)) {
|
|
230
|
+
opcodes.push(__OpSlot, 0);
|
|
231
|
+
_renderToString(listChildren, context, vnode, opcodes);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
finally {
|
|
235
|
+
cleanupVNode(vnode);
|
|
236
|
+
}
|
|
237
|
+
opcodes.push(__OpEnd);
|
|
238
|
+
}
|
|
206
239
|
function renderStringHostVNode(type, vnode, props, context, opcodes) {
|
|
207
|
-
if (
|
|
240
|
+
if (type === TYPED_LIST_HOST_TYPE) {
|
|
241
|
+
renderTypedListHostVNode(vnode, props, context, opcodes);
|
|
242
|
+
return;
|
|
243
|
+
}
|
|
244
|
+
if (!isCompiledEtHostType(type)) {
|
|
208
245
|
cleanupVNode(vnode);
|
|
209
246
|
throw new Error(`Element Template main-thread renderer received an uncompiled host vnode: ${type}`);
|
|
210
247
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-to-opcodes.js","sourceRoot":"","sources":["../../../../src/element-template/runtime/render/render-to-opcodes.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D;;;;GAIG;AAEH,cAAc;AAEd,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EACL,QAAQ,EACR,MAAM,EACN,SAAS,EACT,IAAI,EACJ,KAAK,EACL,MAAM,EACN,KAAK,EACL,UAAU,EACV,MAAM,EACN,MAAM,EACN,YAAY,EACZ,KAAK,GACN,MAAM,qCAAqC,CAAC;AAE7C,8CAA8C;AAE9C,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC;AAC9C,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC;AAE7C,2CAA2C;AAC3C,IAAI,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC;AAEhE;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAAU,EAAE,OAAY;IACrD,mEAAmE;IACnE,mEAAmE;IACnE,qEAAqE;IACrE,6DAA6D;IAC7D,sCAAsC;IACtC,MAAM,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAClD,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAE7B,+DAA+D;IAC/D,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAE9B,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACjC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAE3B,MAAM,OAAO,GAAG,EAAE,CAAC;IAEnB,IAAI,CAAC;QACH,eAAe,CACb,KAAK,EACL,OAAO,IAAI,SAAS,EACpB,MAAM,EACN,OAAO,CACR,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,4EAA4E;QAC5E,8CAA8C;QAC9C,IAAI,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACvD,OAAO,CAAC,YAAY,CAAC,GAAG,mBAAmB,CAAC;QAC5C,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,4DAA4D;AAC5D,qBAAqB;AACrB,SAAS,WAAW;IAClB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;AAClB,CAAC;AACD,oBAAoB;AAEpB,MAAM,SAAS,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"render-to-opcodes.js","sourceRoot":"","sources":["../../../../src/element-template/runtime/render/render-to-opcodes.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,5 +7,6 @@ export type EtAttrPlan = (number | EtAttrAdapter)[];
|
|
|
7
7
|
export type EtAttrPlanMap = Record<string, EtAttrPlan | undefined>;
|
|
8
8
|
export declare const __etAttrPlanMap: EtAttrPlanMap;
|
|
9
9
|
export declare function adaptEventAttrSlot(handleId: number, attrSlotIndex: number, value: unknown, _context?: EtAttrAdapterContext): SerializableValue | null;
|
|
10
|
+
export declare function adaptRefAttrSlot(handleId: number, attrSlotIndex: number, value: unknown, _context?: EtAttrAdapterContext): SerializableValue | null;
|
|
10
11
|
export declare function adaptSpreadAttrSlot(handleId: number, attrSlotIndex: number, value: unknown, context?: EtAttrAdapterContext): SerializableValue | null;
|
|
11
12
|
export declare function clearEtAttrPlanMap(): void;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Licensed under the Apache License Version 2.0 that can be found in the
|
|
3
3
|
// LICENSE file in the root directory of this source tree.
|
|
4
4
|
import { getEventValue } from '../../prop-adapters/event-value.js';
|
|
5
|
+
import { prepareRefAttrSlot } from '../../prop-adapters/ref.js';
|
|
5
6
|
import { prepareSpreadAttrSlot } from '../../prop-adapters/spread.js';
|
|
6
7
|
export const __etAttrPlanMap = Object.create(null);
|
|
7
8
|
export function adaptEventAttrSlot(handleId, attrSlotIndex, value, _context) {
|
|
@@ -10,6 +11,9 @@ export function adaptEventAttrSlot(handleId, attrSlotIndex, value, _context) {
|
|
|
10
11
|
}
|
|
11
12
|
return getEventValue(handleId, attrSlotIndex);
|
|
12
13
|
}
|
|
14
|
+
export function adaptRefAttrSlot(handleId, attrSlotIndex, value, _context) {
|
|
15
|
+
return prepareRefAttrSlot(handleId, attrSlotIndex, value);
|
|
16
|
+
}
|
|
13
17
|
export function adaptSpreadAttrSlot(handleId, attrSlotIndex, value, context) {
|
|
14
18
|
return prepareSpreadAttrSlot(handleId, attrSlotIndex, value, context);
|
|
15
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attr-slot-plan.js","sourceRoot":"","sources":["../../../../src/element-template/runtime/template/attr-slot-plan.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAoBtE,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAkB,CAAC;AAEpE,MAAM,UAAU,kBAAkB,CAChC,QAAgB,EAChB,aAAqB,EACrB,KAAc,EACd,QAA+B;IAE/B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,aAAqB,EACrB,KAAc,EACd,OAA8B;IAE9B,OAAO,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,4EAA4E;IAC5E,uEAAuE;IACvE,KAAK,MAAM,WAAW,IAAI,eAAe,EAAE,CAAC;QAC1C,OAAO,eAAe,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"attr-slot-plan.js","sourceRoot":"","sources":["../../../../src/element-template/runtime/template/attr-slot-plan.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAoBtE,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAkB,CAAC;AAEpE,MAAM,UAAU,kBAAkB,CAChC,QAAgB,EAChB,aAAqB,EACrB,KAAc,EACd,QAA+B;IAE/B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,aAAqB,EACrB,KAAc,EACd,QAA+B;IAE/B,OAAO,kBAAkB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,aAAqB,EACrB,KAAc,EACd,OAA8B;IAE9B,OAAO,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,4EAA4E;IAC5E,uEAAuE;IACvE,KAAK,MAAM,WAAW,IAAI,eAAe,EAAE,CAAC;QAC1C,OAAO,eAAe,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { SerializableValue } from '../../protocol/types.js';
|
|
1
|
+
import type { RuntimeElementSlots, RuntimeOptions, RuntimeTypedElementAttributes, SerializableValue } from '../../protocol/types.js';
|
|
2
2
|
export declare function reserveElementTemplateId(): number;
|
|
3
|
-
export declare function createElementTemplateWithReservedHandle(handleId: number, templateKey: string, bundleUrl: string | null | undefined, attributeSlots: SerializableValue[] | null | undefined, elementSlots:
|
|
3
|
+
export declare function createElementTemplateWithReservedHandle(handleId: number, templateKey: string, bundleUrl: string | null | undefined, attributeSlots: SerializableValue[] | null | undefined, elementSlots: RuntimeElementSlots | null | undefined): ElementRef;
|
|
4
|
+
export declare function createTypedElementTemplateWithReservedHandle(handleId: number, type: string, attributes: RuntimeTypedElementAttributes | null | undefined, elementSlots: RuntimeElementSlots | null | undefined, options: RuntimeOptions | null | undefined): ElementRef;
|
|
4
5
|
export declare function resetTemplateId(): void;
|
|
5
6
|
export declare function destroyElementTemplateId(id: number): void;
|
|
@@ -13,11 +13,15 @@ export function createElementTemplateWithReservedHandle(handleId, templateKey, b
|
|
|
13
13
|
setElementTemplateNativeRef(handleId, nativeRef);
|
|
14
14
|
return nativeRef;
|
|
15
15
|
}
|
|
16
|
+
export function createTypedElementTemplateWithReservedHandle(handleId, type, attributes, elementSlots, options) {
|
|
17
|
+
const nativeRef = __CreateTypedElementTemplate(type, attributes, elementSlots, handleId, options);
|
|
18
|
+
setElementTemplateNativeRef(handleId, nativeRef);
|
|
19
|
+
return nativeRef;
|
|
20
|
+
}
|
|
16
21
|
export function resetTemplateId() {
|
|
17
22
|
nextId = -1;
|
|
18
23
|
}
|
|
19
24
|
export function destroyElementTemplateId(id) {
|
|
20
25
|
deleteElementTemplateNativeRef(id);
|
|
21
|
-
// __ReleaseElement(nativeRef);
|
|
22
26
|
}
|
|
23
27
|
//# sourceMappingURL=handle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle.js","sourceRoot":"","sources":["../../../../src/element-template/runtime/template/handle.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D,OAAO,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"handle.js","sourceRoot":"","sources":["../../../../src/element-template/runtime/template/handle.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D,OAAO,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAQ5F,kEAAkE;AAClE,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;AAEhB,MAAM,UAAU,wBAAwB;IACtC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,uCAAuC,CACrD,QAAgB,EAChB,WAAmB,EACnB,SAAoC,EACpC,cAAsD,EACtD,YAAoD;IAEpD,MAAM,SAAS,GAAG,uBAAuB,CACvC,WAAW,EACX,SAAS,EACT,cAAc,EACd,YAAY,EACZ,QAAQ,CACT,CAAC;IACF,2BAA2B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACjD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,4CAA4C,CAC1D,QAAgB,EAChB,IAAY,EACZ,UAA4D,EAC5D,YAAoD,EACpD,OAA0C;IAE1C,MAAM,SAAS,GAAG,4BAA4B,CAC5C,IAAI,EACJ,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,OAAO,CACR,CAAC;IACF,2BAA2B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACjD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,CAAC,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,EAAU;IACjD,8BAA8B,CAAC,EAAE,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
export declare function setElementTemplateNativeRef(id: number, nativeRef: ElementRef): void;
|
|
2
2
|
export declare function getElementTemplateNativeRef(id: number): ElementRef | undefined;
|
|
3
|
+
export declare function getElementTemplateTargetNativeRef(id: number): ElementRef | undefined;
|
|
3
4
|
export declare function hasElementTemplateNativeRef(id: number): boolean;
|
|
4
5
|
export declare function deleteElementTemplateNativeRef(id: number): void;
|
|
5
6
|
export declare function clearElementTemplateNativeRefRegistry(): void;
|
|
6
7
|
export interface ElementTemplateRegistryFacade {
|
|
7
8
|
set: (id: number, nativeRef: ElementRef) => void;
|
|
8
9
|
get: (id: number) => ElementRef | undefined;
|
|
10
|
+
getTarget: (id: number) => ElementRef | undefined;
|
|
9
11
|
has: (id: number) => boolean;
|
|
10
12
|
delete: (id: number) => void;
|
|
11
13
|
clear: () => void;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// Copyright 2025 The Lynx Authors. All rights reserved.
|
|
2
2
|
// Licensed under the Apache License Version 2.0 that can be found in the
|
|
3
3
|
// LICENSE file in the root directory of this source tree.
|
|
4
|
+
import { __page } from '../page/page.js';
|
|
4
5
|
// Registry for mapping element-template handle IDs to native refs.
|
|
5
6
|
//
|
|
6
7
|
// Main-thread IFR allocates IDs as consecutive negative integers: -1, -2, -3...
|
|
@@ -8,7 +9,7 @@
|
|
|
8
9
|
//
|
|
9
10
|
// Other IDs (e.g. positive IDs coming from background-created nodes) fall back to a Map.
|
|
10
11
|
const negativeRefs = [];
|
|
11
|
-
const otherRefs = new Map();
|
|
12
|
+
const otherRefs = /*#__PURE__*/ new Map();
|
|
12
13
|
export function setElementTemplateNativeRef(id, nativeRef) {
|
|
13
14
|
if (id < 0) {
|
|
14
15
|
negativeRefs[-id - 1] = nativeRef;
|
|
@@ -22,6 +23,9 @@ export function getElementTemplateNativeRef(id) {
|
|
|
22
23
|
}
|
|
23
24
|
return otherRefs.get(id);
|
|
24
25
|
}
|
|
26
|
+
export function getElementTemplateTargetNativeRef(id) {
|
|
27
|
+
return id === 0 ? __page : getElementTemplateNativeRef(id);
|
|
28
|
+
}
|
|
25
29
|
export function hasElementTemplateNativeRef(id) {
|
|
26
30
|
return getElementTemplateNativeRef(id) != null;
|
|
27
31
|
}
|
|
@@ -39,6 +43,7 @@ export function clearElementTemplateNativeRefRegistry() {
|
|
|
39
43
|
export const elementTemplateRegistry = {
|
|
40
44
|
set: setElementTemplateNativeRef,
|
|
41
45
|
get: getElementTemplateNativeRef,
|
|
46
|
+
getTarget: getElementTemplateTargetNativeRef,
|
|
42
47
|
has: hasElementTemplateNativeRef,
|
|
43
48
|
delete: deleteElementTemplateNativeRef,
|
|
44
49
|
clear: clearElementTemplateNativeRefRegistry,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/element-template/runtime/template/registry.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D,mEAAmE;AACnE,EAAE;AACF,gFAAgF;AAChF,mDAAmD;AACnD,EAAE;AACF,yFAAyF;AAEzF,MAAM,YAAY,GAAkC,EAAE,CAAC;AACvD,MAAM,SAAS,GAA4B,IAAI,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/element-template/runtime/template/registry.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,mEAAmE;AACnE,EAAE;AACF,gFAAgF;AAChF,mDAAmD;AACnD,EAAE;AACF,yFAAyF;AAEzF,MAAM,YAAY,GAAkC,EAAE,CAAC;AACvD,MAAM,SAAS,GAA4B,aAAa,CAAC,IAAI,GAAG,EAAE,CAAC;AAEnE,MAAM,UAAU,2BAA2B,CAAC,EAAU,EAAE,SAAqB;IAC3E,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QACX,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;QAClC,OAAO;IACT,CAAC;IACD,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,EAAU;IACpD,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QACX,OAAO,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,EAAU;IAC1D,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,EAAU;IACpD,OAAO,2BAA2B,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,EAAU;IACvD,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QACX,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;QAClC,OAAO;IACT,CAAC;IACD,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,qCAAqC;IACnD,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACxB,SAAS,CAAC,KAAK,EAAE,CAAC;AACpB,CAAC;AAaD,MAAM,CAAC,MAAM,uBAAuB,GAAkC;IACpE,GAAG,EAAE,2BAA2B;IAChC,GAAG,EAAE,2BAA2B;IAChC,SAAS,EAAE,iCAAiC;IAC5C,GAAG,EAAE,2BAA2B;IAChC,MAAM,EAAE,8BAA8B;IACtC,KAAK,EAAE,qCAAqC;CAC7C,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Copyright 2026 The Lynx Authors. All rights reserved.
|
|
2
|
+
// Licensed under the Apache License Version 2.0 that can be found in the
|
|
3
|
+
// LICENSE file in the root directory of this source tree.
|
|
4
|
+
import { RUNTIME_BACKEND_ELEMENT_TEMPLATE, registerRuntimeBackend } from '../core/lynx/runtime-backend.js';
|
|
5
|
+
registerRuntimeBackend(RUNTIME_BACKEND_ELEMENT_TEMPLATE);
|
|
6
|
+
//# sourceMappingURL=runtime-backend-marker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-backend-marker.js","sourceRoot":"","sources":["../../src/element-template/runtime-backend-marker.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D,OAAO,EAAE,gCAAgC,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE3G,sBAAsB,CAAC,gCAAgC,CAAC,CAAC"}
|
package/runtime/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import './runtime-backend-marker.js';
|
|
1
2
|
import './lynx.js';
|
|
2
|
-
import './snapshot/lynx/component.js';
|
|
3
3
|
import { Children, Fragment, cloneElement, createRef, forwardRef, isValidElement, lazy, memo, useSyncExternalStore } from 'preact/compat';
|
|
4
4
|
import { createElement } from './snapshot/lynx/element.js';
|
|
5
5
|
import { createPortal } from './snapshot/lynx/portals.js';
|
package/runtime/lib/index.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
// Copyright 2024 The Lynx Authors. All rights reserved.
|
|
2
2
|
// Licensed under the Apache License Version 2.0 that can be found in the
|
|
3
3
|
// LICENSE file in the root directory of this source tree.
|
|
4
|
+
import './runtime-backend-marker.js';
|
|
4
5
|
import './lynx.js';
|
|
5
|
-
import './snapshot/lynx/component.js';
|
|
6
6
|
import { Children, Component, Fragment, PureComponent, cloneElement, createContext, createRef, forwardRef, isValidElement, lazy, memo, useSyncExternalStore, } from 'preact/compat';
|
|
7
|
+
import { installComponentCompat } from './core/component.js';
|
|
7
8
|
import { useCallback, useContext, useDebugValue, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useReducer, useRef, useState, } from './core/hooks/react.js';
|
|
8
9
|
import { createElement } from './snapshot/lynx/element.js';
|
|
9
10
|
import { createPortal } from './snapshot/lynx/portals.js';
|
|
10
11
|
import { Suspense } from './snapshot/lynx/suspense.js';
|
|
12
|
+
installComponentCompat();
|
|
11
13
|
export { Component, createContext } from 'preact';
|
|
12
14
|
export { PureComponent } from 'preact/compat';
|
|
13
15
|
export * from './core/hooks/react.js';
|
package/runtime/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D,OAAO,6BAA6B,CAAC;AACrC,OAAO,WAAW,CAAC;AACnB,OAAO,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,aAAa,EACb,SAAS,EACT,UAAU,EACV,cAAc,EACd,IAAI,EACJ,IAAI,EACJ,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,WAAW,EACX,UAAU,EACV,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,eAAe,EACf,OAAO,EACP,UAAU,EACV,MAAM,EACN,QAAQ,GACT,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,sBAAsB,EAAE,CAAC;AAEzB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AAEtC;;GAEG;AACH,eAAe;IACb,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,SAAS;IACT,eAAe;IACf,MAAM;IACN,mBAAmB;IACnB,OAAO;IACP,WAAW;IACX,UAAU;IACV,aAAa;IACb,oBAAoB;IAEpB,aAAa;IACb,SAAS;IACT,QAAQ;IACR,cAAc;IACd,QAAQ;IACR,SAAS;IACT,aAAa;IACb,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,IAAI;IACJ,aAAa;IACb,YAAY;CACb,CAAC;AAEF,OAAO,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,cAAc,EACd,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,YAAY,GACb,CAAC;AAEF,cAAc,eAAe,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import './runtime-backend-marker.js';
|
|
1
2
|
import './lynx.js';
|
|
2
3
|
import { __root } from './root.js';
|
|
3
4
|
import { BackgroundSnapshotInstance } from './snapshot/snapshot/backgroundSnapshot.js';
|
|
@@ -24,10 +25,10 @@ export { updateGesture } from './snapshot/snapshot/gesture.js';
|
|
|
24
25
|
export { updateListItemPlatformInfo } from './snapshot/snapshot/platformInfo.js';
|
|
25
26
|
export { options, Component, process, } from 'preact';
|
|
26
27
|
export type { Options } from 'preact';
|
|
27
|
-
export { loadDynamicJS, __dynamicImport } from './
|
|
28
|
-
export { withInitDataInState } from './
|
|
29
|
-
export { wrapWithLynxComponent } from './
|
|
30
|
-
export { loadLazyBundle } from './
|
|
28
|
+
export { loadDynamicJS, __dynamicImport } from './core/lynx/dynamic-import.js';
|
|
29
|
+
export { withInitDataInState } from './core/initData.js';
|
|
30
|
+
export { wrapWithLynxComponent } from './core/compat/lynxComponent.js';
|
|
31
|
+
export { loadLazyBundle } from './core/lynx/lazy-bundle.js';
|
|
31
32
|
export { transformToWorklet } from './snapshot/worklet/call/transformToWorklet.js';
|
|
32
33
|
export { registerWorkletOnBackground } from './snapshot/worklet/hmr.js';
|
|
33
34
|
export { loadWorkletRuntime } from '@lynx-js/react/worklet-runtime/bindings';
|
package/runtime/lib/internal.js
CHANGED
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
// Licensed under the Apache License Version 2.0 that can be found in the
|
|
3
3
|
// LICENSE file in the root directory of this source tree.
|
|
4
4
|
import { Suspense, createElement, lazy } from 'preact/compat';
|
|
5
|
+
import './runtime-backend-marker.js';
|
|
5
6
|
import './lynx.js';
|
|
6
7
|
import { useMemo } from './core/hooks/react.js';
|
|
8
|
+
import { loadLazyBundle } from './core/lynx/lazy-bundle.js';
|
|
7
9
|
import { __root } from './root.js';
|
|
8
10
|
import { factory as factory2 } from './snapshot/compat/componentIs.js';
|
|
9
|
-
import { loadLazyBundle } from './snapshot/lynx/lazy-bundle.js';
|
|
10
11
|
import { BackgroundSnapshotInstance } from './snapshot/snapshot/backgroundSnapshot.js';
|
|
11
12
|
import { __page, __pageId, createSnapshot, snapshotManager } from './snapshot/snapshot/definition.js';
|
|
12
13
|
import { DynamicPartType } from './snapshot/snapshot/dynamicPartType.js';
|
|
@@ -33,16 +34,16 @@ export { updateListItemPlatformInfo } from './snapshot/snapshot/platformInfo.js'
|
|
|
33
34
|
export { options,
|
|
34
35
|
// Component is not an internal API, but refresh needs it from 'react/internal'
|
|
35
36
|
Component, process, } from 'preact';
|
|
36
|
-
export { loadDynamicJS, __dynamicImport } from './
|
|
37
|
-
export { withInitDataInState } from './
|
|
38
|
-
export { wrapWithLynxComponent } from './
|
|
37
|
+
export { loadDynamicJS, __dynamicImport } from './core/lynx/dynamic-import.js';
|
|
38
|
+
export { withInitDataInState } from './core/initData.js';
|
|
39
|
+
export { wrapWithLynxComponent } from './core/compat/lynxComponent.js';
|
|
39
40
|
/**
|
|
40
41
|
* @internal a polyfill for <component is=? />
|
|
41
42
|
*/
|
|
42
43
|
export const __ComponentIsPolyfill = /* @__PURE__ */ factory2(
|
|
43
44
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
44
45
|
{ Suspense, lazy, createElement, useMemo }, loadLazyBundle);
|
|
45
|
-
export { loadLazyBundle } from './
|
|
46
|
+
export { loadLazyBundle } from './core/lynx/lazy-bundle.js';
|
|
46
47
|
export { transformToWorklet } from './snapshot/worklet/call/transformToWorklet.js';
|
|
47
48
|
export { registerWorkletOnBackground } from './snapshot/worklet/hmr.js';
|
|
48
49
|
export { loadWorkletRuntime } from '@lynx-js/react/worklet-runtime/bindings';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG9D,OAAO,WAAW,CAAC;AAEnB,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"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"}
|