@lynx-js/react 0.109.2 → 0.110.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/CHANGELOG.md +33 -0
- package/components/lib/Page.js.map +1 -1
- package/components/src/Page.ts +1 -1
- package/package.json +1 -1
- package/refresh/.turbo/turbo-build.log +1 -1
- package/runtime/lib/backgroundSnapshot.d.ts +2 -1
- package/runtime/lib/backgroundSnapshot.js +66 -42
- package/runtime/lib/backgroundSnapshot.js.map +1 -1
- package/runtime/lib/compat/initData.d.ts +7 -5
- package/runtime/lib/compat/initData.js +1 -2
- package/runtime/lib/compat/initData.js.map +1 -1
- package/runtime/lib/compat/lynxComponent.js +10 -12
- package/runtime/lib/compat/lynxComponent.js.map +1 -1
- package/runtime/lib/debug/profile.js +1 -0
- package/runtime/lib/debug/profile.js.map +1 -1
- package/runtime/lib/gesture/processGestureBagkround.d.ts +1 -1
- package/runtime/lib/gesture/processGestureBagkround.js +4 -1
- package/runtime/lib/gesture/processGestureBagkround.js.map +1 -1
- package/runtime/lib/gesture/types.js.map +1 -1
- package/runtime/lib/hooks/react.js +3 -3
- package/runtime/lib/hooks/react.js.map +1 -1
- package/runtime/lib/hooks/useLynxGlobalEventListener.d.ts +1 -1
- package/runtime/lib/hydrate.d.ts +1 -1
- package/runtime/lib/hydrate.js +5 -4
- package/runtime/lib/hydrate.js.map +1 -1
- package/runtime/lib/internal.d.ts +3 -2
- package/runtime/lib/internal.js +3 -2
- package/runtime/lib/internal.js.map +1 -1
- package/runtime/lib/legacy-react-runtime/index.js +1 -1
- package/runtime/lib/legacy-react-runtime/index.js.map +1 -1
- package/runtime/lib/lifecycle/destroy.js +1 -0
- package/runtime/lib/lifecycle/destroy.js.map +1 -1
- package/runtime/lib/lifecycle/event/delayEvents.js +3 -0
- package/runtime/lib/lifecycle/event/delayEvents.js.map +1 -1
- package/runtime/lib/lifecycle/event/delayLifecycleEvents.d.ts +3 -2
- package/runtime/lib/lifecycle/event/delayLifecycleEvents.js +1 -12
- package/runtime/lib/lifecycle/event/delayLifecycleEvents.js.map +1 -1
- package/runtime/lib/lifecycle/event/jsReady.d.ts +1 -1
- package/runtime/lib/lifecycle/event/jsReady.js +3 -2
- package/runtime/lib/lifecycle/event/jsReady.js.map +1 -1
- package/runtime/lib/lifecycle/patch/commit.d.ts +0 -2
- package/runtime/lib/lifecycle/patch/commit.js +8 -36
- package/runtime/lib/lifecycle/patch/commit.js.map +1 -1
- package/runtime/lib/lifecycle/patch/error.d.ts +8 -0
- package/runtime/lib/lifecycle/patch/error.js +47 -0
- package/runtime/lib/lifecycle/patch/error.js.map +1 -0
- package/runtime/lib/lifecycle/patch/isMainThreadHydrationFinished.js +3 -0
- package/runtime/lib/lifecycle/patch/isMainThreadHydrationFinished.js.map +1 -1
- package/runtime/lib/lifecycle/patch/snapshotPatch.d.ts +2 -2
- package/runtime/lib/lifecycle/patch/snapshotPatch.js.map +1 -1
- package/runtime/lib/lifecycle/patch/snapshotPatchApply.js +10 -10
- package/runtime/lib/lifecycle/patch/snapshotPatchApply.js.map +1 -1
- package/runtime/lib/lifecycle/patch/updateMainThread.d.ts +0 -1
- package/runtime/lib/lifecycle/patch/updateMainThread.js +7 -14
- package/runtime/lib/lifecycle/patch/updateMainThread.js.map +1 -1
- package/runtime/lib/lifecycle/ref/delay.d.ts +31 -0
- package/runtime/lib/lifecycle/ref/delay.js +80 -0
- package/runtime/lib/lifecycle/ref/delay.js.map +1 -0
- package/runtime/lib/lifecycle/reload.d.ts +1 -1
- package/runtime/lib/lifecycle/reload.js +8 -5
- package/runtime/lib/lifecycle/reload.js.map +1 -1
- package/runtime/lib/lifecycle/render.js +3 -2
- package/runtime/lib/lifecycle/render.js.map +1 -1
- package/runtime/lib/lifecycleConstant.d.ts +10 -7
- package/runtime/lib/lifecycleConstant.js +8 -8
- package/runtime/lib/lifecycleConstant.js.map +1 -1
- package/runtime/lib/list.d.ts +1 -45
- package/runtime/lib/list.js +31 -206
- package/runtime/lib/list.js.map +1 -1
- package/runtime/lib/listUpdateInfo.d.ts +38 -0
- package/runtime/lib/listUpdateInfo.js +152 -0
- package/runtime/lib/listUpdateInfo.js.map +1 -0
- package/runtime/lib/lynx/calledByNative.js +9 -6
- package/runtime/lib/lynx/calledByNative.js.map +1 -1
- package/runtime/lib/lynx/component.js +7 -0
- package/runtime/lib/lynx/component.js.map +1 -1
- package/runtime/lib/lynx/dynamic-js.d.ts +5 -1
- package/runtime/lib/lynx/dynamic-js.js +1 -0
- package/runtime/lib/lynx/dynamic-js.js.map +1 -1
- package/runtime/lib/lynx/env.d.ts +1 -1
- package/runtime/lib/lynx/env.js +13 -13
- package/runtime/lib/lynx/env.js.map +1 -1
- package/runtime/lib/lynx/lazy-bundle.js +7 -5
- package/runtime/lib/lynx/lazy-bundle.js.map +1 -1
- package/runtime/lib/lynx/performance.js +1 -1
- package/runtime/lib/lynx/performance.js.map +1 -1
- package/runtime/lib/lynx/runWithForce.js +3 -0
- package/runtime/lib/lynx/runWithForce.js.map +1 -1
- package/runtime/lib/lynx/tt.js +12 -33
- package/runtime/lib/lynx/tt.js.map +1 -1
- package/runtime/lib/lynx-api.d.ts +1 -1
- package/runtime/lib/lynx-api.js +3 -0
- package/runtime/lib/lynx-api.js.map +1 -1
- package/runtime/lib/lynx.js +6 -6
- package/runtime/lib/lynx.js.map +1 -1
- package/runtime/lib/opcodes.js +2 -1
- package/runtime/lib/opcodes.js.map +1 -1
- package/runtime/lib/pendingListUpdates.d.ts +6 -0
- package/runtime/lib/pendingListUpdates.js +16 -0
- package/runtime/lib/pendingListUpdates.js.map +1 -0
- package/runtime/lib/renderToOpcodes/index.js +7 -7
- package/runtime/lib/renderToOpcodes/index.js.map +1 -1
- package/runtime/lib/snapshot/dynamicPartType.d.ts +12 -0
- package/runtime/lib/snapshot/dynamicPartType.js +17 -0
- package/runtime/lib/snapshot/dynamicPartType.js.map +1 -0
- package/runtime/lib/snapshot/gesture.js +3 -0
- package/runtime/lib/snapshot/gesture.js.map +1 -1
- package/runtime/lib/snapshot/list.d.ts +3 -0
- package/runtime/lib/snapshot/list.js +23 -0
- package/runtime/lib/snapshot/list.js.map +1 -0
- package/runtime/lib/snapshot/platformInfo.d.ts +10 -0
- package/runtime/lib/snapshot/platformInfo.js +6 -3
- package/runtime/lib/snapshot/platformInfo.js.map +1 -1
- package/runtime/lib/snapshot/ref.d.ts +17 -9
- package/runtime/lib/snapshot/ref.js +64 -73
- package/runtime/lib/snapshot/ref.js.map +1 -1
- package/runtime/lib/snapshot/spread.d.ts +2 -2
- package/runtime/lib/snapshot/spread.js +12 -12
- package/runtime/lib/snapshot/spread.js.map +1 -1
- package/runtime/lib/snapshot/workletEvent.js +1 -1
- package/runtime/lib/snapshot/workletEvent.js.map +1 -1
- package/runtime/lib/snapshot/workletRef.d.ts +3 -3
- package/runtime/lib/snapshot/workletRef.js +27 -8
- package/runtime/lib/snapshot/workletRef.js.map +1 -1
- package/runtime/lib/snapshot.d.ts +9 -18
- package/runtime/lib/snapshot.js +46 -40
- package/runtime/lib/snapshot.js.map +1 -1
- package/runtime/lib/snapshotInstanceHydrationMap.d.ts +9 -0
- package/runtime/lib/snapshotInstanceHydrationMap.js +16 -0
- package/runtime/lib/snapshotInstanceHydrationMap.js.map +1 -0
- package/runtime/lib/utils.js +1 -1
- package/runtime/lib/utils.js.map +1 -1
- package/runtime/lib/worklet/workletRef.js +1 -2
- package/runtime/lib/worklet/workletRef.js.map +1 -1
- package/runtime/src/backgroundSnapshot.ts +75 -52
- package/runtime/src/compat/initData.ts +10 -9
- package/runtime/src/compat/lynxComponent.ts +12 -13
- package/runtime/src/debug/profile.ts +1 -0
- package/runtime/src/gesture/processGestureBagkround.ts +5 -1
- package/runtime/src/gesture/types.ts +3 -0
- package/runtime/src/hooks/react.ts +3 -3
- package/runtime/src/hooks/useLynxGlobalEventListener.ts +1 -1
- package/runtime/src/hydrate.ts +6 -4
- package/runtime/src/internal.ts +3 -2
- package/runtime/src/legacy-react-runtime/index.ts +1 -1
- package/runtime/src/lifecycle/destroy.ts +1 -0
- package/runtime/src/lifecycle/event/delayEvents.ts +3 -0
- package/runtime/src/lifecycle/event/delayLifecycleEvents.ts +7 -13
- package/runtime/src/lifecycle/event/jsReady.ts +4 -3
- package/runtime/src/lifecycle/patch/commit.ts +10 -41
- package/runtime/src/lifecycle/patch/error.ts +61 -0
- package/runtime/src/lifecycle/patch/isMainThreadHydrationFinished.ts +3 -0
- package/runtime/src/lifecycle/patch/snapshotPatch.ts +2 -2
- package/runtime/src/lifecycle/patch/snapshotPatchApply.ts +28 -28
- package/runtime/src/lifecycle/patch/updateMainThread.ts +7 -16
- package/runtime/src/lifecycle/ref/delay.ts +99 -0
- package/runtime/src/lifecycle/reload.ts +10 -7
- package/runtime/src/lifecycle/render.ts +3 -2
- package/runtime/src/lifecycleConstant.ts +11 -7
- package/runtime/src/list.ts +33 -269
- package/runtime/src/listUpdateInfo.ts +221 -0
- package/runtime/src/lynx/calledByNative.ts +15 -10
- package/runtime/src/lynx/component.ts +9 -0
- package/runtime/src/lynx/dynamic-js.ts +5 -1
- package/runtime/src/lynx/env.ts +17 -17
- package/runtime/src/lynx/lazy-bundle.ts +22 -14
- package/runtime/src/lynx/performance.ts +1 -1
- package/runtime/src/lynx/runWithForce.ts +9 -5
- package/runtime/src/lynx/tt.ts +19 -37
- package/runtime/src/lynx-api.ts +5 -2
- package/runtime/src/lynx.ts +7 -6
- package/runtime/src/opcodes.ts +2 -1
- package/runtime/src/pendingListUpdates.ts +18 -0
- package/runtime/src/renderToOpcodes/index.ts +7 -7
- package/runtime/src/snapshot/dynamicPartType.ts +16 -0
- package/runtime/src/snapshot/gesture.ts +3 -0
- package/runtime/src/snapshot/list.ts +36 -0
- package/runtime/src/snapshot/platformInfo.ts +19 -5
- package/runtime/src/snapshot/ref.ts +78 -87
- package/runtime/src/snapshot/spread.ts +47 -22
- package/runtime/src/snapshot/workletEvent.ts +1 -1
- package/runtime/src/snapshot/workletRef.ts +36 -10
- package/runtime/src/snapshot.ts +62 -51
- package/runtime/src/snapshotInstanceHydrationMap.ts +17 -0
- package/runtime/src/utils.ts +3 -3
- package/runtime/src/worklet/workletRef.ts +1 -2
- package/testing-library/dist/env/vitest.js +8 -6
- package/testing-library/dist/pure.js +4 -3
- package/testing-library/dist/vitest.config.js +7 -7
- package/transform/cjs/main.cjs +4 -0
- package/transform/dist/wasm.cjs +1 -1
- package/worklet-runtime/dist/dev.js +1 -4
- package/worklet-runtime/dist/main.js +0 -3
- package/worklet-runtime/lib/bindings/observers.d.ts +14 -1
- package/worklet-runtime/lib/bindings/observers.js +7 -7
- package/worklet-runtime/lib/bindings/observers.js.map +1 -1
- package/worklet-runtime/lib/hydrate.js +0 -5
- package/worklet-runtime/lib/hydrate.js.map +1 -1
- package/runtime/lib/lifecycle/delayUnmount.d.ts +0 -8
- package/runtime/lib/lifecycle/delayUnmount.js +0 -65
- package/runtime/lib/lifecycle/delayUnmount.js.map +0 -1
- package/runtime/src/lifecycle/delayUnmount.ts +0 -77
|
@@ -1,15 +1,8 @@
|
|
|
1
|
-
import { nextCommitTaskId } from '../lifecycle/patch/commit.js';
|
|
2
|
-
import { SnapshotInstance, backgroundSnapshotInstanceManager } from '../snapshot.js';
|
|
3
1
|
import { workletUnRef } from './workletRef.js';
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
let nextRefId = 1;
|
|
2
|
+
import { RefProxy } from '../lifecycle/ref/delay.js';
|
|
3
|
+
const refsToClear = [];
|
|
4
|
+
const refsToApply = [];
|
|
8
5
|
function unref(snapshot, recursive) {
|
|
9
|
-
snapshot.__ref_set?.forEach(v => {
|
|
10
|
-
globalRefPatch[v] = null;
|
|
11
|
-
});
|
|
12
|
-
snapshot.__ref_set?.clear();
|
|
13
6
|
snapshot.__worklet_ref_set?.forEach(v => {
|
|
14
7
|
if (v) {
|
|
15
8
|
workletUnRef(v);
|
|
@@ -22,74 +15,50 @@ function unref(snapshot, recursive) {
|
|
|
22
15
|
});
|
|
23
16
|
}
|
|
24
17
|
}
|
|
18
|
+
// This function is modified from preact source code.
|
|
25
19
|
function applyRef(ref, value) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
else
|
|
41
|
-
ref.current = value;
|
|
42
|
-
}
|
|
43
|
-
function updateBackgroundRefs(commitId) {
|
|
44
|
-
const oldRefMap = globalRefsToRemove.get(commitId);
|
|
45
|
-
if (oldRefMap) {
|
|
46
|
-
globalRefsToRemove.delete(commitId);
|
|
47
|
-
for (const ref of oldRefMap.values()) {
|
|
48
|
-
applyRef(ref, null);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
const newRefMap = globalRefsToSet.get(commitId);
|
|
52
|
-
if (newRefMap) {
|
|
53
|
-
globalRefsToSet.delete(commitId);
|
|
54
|
-
for (const sign in newRefMap) {
|
|
55
|
-
const ref = backgroundSnapshotInstanceManager.getValueBySign(sign);
|
|
56
|
-
if (ref) {
|
|
57
|
-
// TODO: ref: support __REF_FIRE_IMMEDIATELY__
|
|
58
|
-
const v = newRefMap[sign] && lynx.createSelectorQuery().selectUniqueID(newRefMap[sign]);
|
|
59
|
-
applyRef(ref, v);
|
|
20
|
+
const newRef = value && new RefProxy(value);
|
|
21
|
+
try {
|
|
22
|
+
if (typeof ref == 'function') {
|
|
23
|
+
const hasRefUnmount = typeof ref._unmount == 'function';
|
|
24
|
+
if (hasRefUnmount) {
|
|
25
|
+
ref._unmount();
|
|
26
|
+
}
|
|
27
|
+
if (!hasRefUnmount || newRef != null) {
|
|
28
|
+
// Store the cleanup function on the function
|
|
29
|
+
// instance object itself to avoid shape
|
|
30
|
+
// transitioning vnode
|
|
31
|
+
ref._unmount = ref(newRef);
|
|
60
32
|
}
|
|
61
33
|
}
|
|
34
|
+
else
|
|
35
|
+
ref.current = newRef;
|
|
36
|
+
/* v8 ignore start */
|
|
62
37
|
}
|
|
38
|
+
catch (e) {
|
|
39
|
+
lynx.reportError(e);
|
|
40
|
+
}
|
|
41
|
+
/* v8 ignore stop */
|
|
63
42
|
}
|
|
64
|
-
function updateRef(snapshot, expIndex, oldValue, elementIndex
|
|
43
|
+
function updateRef(snapshot, expIndex, oldValue, elementIndex) {
|
|
65
44
|
const value = snapshot.__values[expIndex];
|
|
66
45
|
let ref;
|
|
67
|
-
if (
|
|
68
|
-
ref = undefined;
|
|
69
|
-
}
|
|
70
|
-
else if (typeof value === 'string') {
|
|
46
|
+
if (typeof value === 'string') {
|
|
71
47
|
ref = value;
|
|
72
48
|
}
|
|
73
49
|
else {
|
|
74
|
-
ref =
|
|
50
|
+
ref = `react-ref-${snapshot.__id}-${expIndex}`;
|
|
75
51
|
}
|
|
76
52
|
snapshot.__values[expIndex] = ref;
|
|
77
|
-
if (snapshot.__elements && ref) {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
if (oldValue !== ref) {
|
|
85
|
-
snapshot.__ref_set?.delete(oldValue);
|
|
53
|
+
if (snapshot.__elements && oldValue !== ref) {
|
|
54
|
+
if (oldValue) {
|
|
55
|
+
__SetAttribute(snapshot.__elements[elementIndex], oldValue, undefined);
|
|
56
|
+
}
|
|
57
|
+
if (ref) {
|
|
58
|
+
__SetAttribute(snapshot.__elements[elementIndex], ref, 1);
|
|
59
|
+
}
|
|
86
60
|
}
|
|
87
61
|
}
|
|
88
|
-
function takeGlobalRefPatchMap() {
|
|
89
|
-
const patch = globalRefPatch;
|
|
90
|
-
globalRefPatch = {};
|
|
91
|
-
return patch;
|
|
92
|
-
}
|
|
93
62
|
function transformRef(ref) {
|
|
94
63
|
if (ref === undefined || ref === null) {
|
|
95
64
|
return ref;
|
|
@@ -98,21 +67,43 @@ function transformRef(ref) {
|
|
|
98
67
|
if ('__ref' in ref) {
|
|
99
68
|
return ref;
|
|
100
69
|
}
|
|
101
|
-
return Object.defineProperty(ref, '__ref', { value:
|
|
70
|
+
return Object.defineProperty(ref, '__ref', { value: 1 });
|
|
102
71
|
}
|
|
103
72
|
throw new Error(`Elements' "ref" property should be a function, or an object created `
|
|
104
73
|
+ `by createRef(), but got [${typeof ref}] instead`);
|
|
105
74
|
}
|
|
106
|
-
function
|
|
107
|
-
|
|
75
|
+
function applyQueuedRefs() {
|
|
76
|
+
try {
|
|
77
|
+
for (const ref of refsToClear) {
|
|
78
|
+
applyRef(ref, null);
|
|
79
|
+
}
|
|
80
|
+
for (let i = 0; i < refsToApply.length; i += 2) {
|
|
81
|
+
const ref = refsToApply[i];
|
|
82
|
+
const value = refsToApply[i + 1];
|
|
83
|
+
applyRef(ref, value);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
finally {
|
|
87
|
+
clearQueuedRefs();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
function queueRefAttrUpdate(oldRef, newRef, snapshotInstanceId, expIndex) {
|
|
91
|
+
if (oldRef === newRef) {
|
|
108
92
|
return;
|
|
109
93
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
oldRefs = new Map();
|
|
113
|
-
globalRefsToRemove.set(nextCommitTaskId, oldRefs);
|
|
94
|
+
if (oldRef) {
|
|
95
|
+
refsToClear.push(oldRef);
|
|
114
96
|
}
|
|
115
|
-
|
|
97
|
+
if (newRef) {
|
|
98
|
+
refsToApply.push(newRef, [snapshotInstanceId, expIndex]);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
function clearQueuedRefs() {
|
|
102
|
+
refsToClear.length = 0;
|
|
103
|
+
refsToApply.length = 0;
|
|
116
104
|
}
|
|
117
|
-
|
|
105
|
+
/**
|
|
106
|
+
* @internal
|
|
107
|
+
*/
|
|
108
|
+
export { queueRefAttrUpdate, updateRef, unref, transformRef, applyRef, applyQueuedRefs, clearQueuedRefs };
|
|
118
109
|
//# sourceMappingURL=ref.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ref.js","sourceRoot":"","sources":["../../src/snapshot/ref.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ref.js","sourceRoot":"","sources":["../../src/snapshot/ref.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BackgroundSnapshotInstance } from '../backgroundSnapshot.js';
|
|
1
|
+
import type { BackgroundSnapshotInstance } from '../backgroundSnapshot.js';
|
|
2
2
|
import { SnapshotInstance } from '../snapshot.js';
|
|
3
|
-
declare function updateSpread(snapshot: SnapshotInstance, index: number, oldValue:
|
|
3
|
+
declare function updateSpread(snapshot: SnapshotInstance, index: number, oldValue: Record<string, unknown> | undefined | null, elementIndex: number): void;
|
|
4
4
|
declare function transformSpread(snapshot: BackgroundSnapshotInstance | SnapshotInstance, index: number, spread: Record<string, unknown>): Record<string, unknown>;
|
|
5
5
|
export { transformSpread, updateSpread };
|
|
@@ -1,8 +1,8 @@
|
|
|
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 {
|
|
5
|
-
import {
|
|
4
|
+
import { ListUpdateInfoRecording } from '../listUpdateInfo.js';
|
|
5
|
+
import { __pendingListUpdates } from '../pendingListUpdates.js';
|
|
6
6
|
import { SnapshotInstance } from '../snapshot.js';
|
|
7
7
|
import { isDirectOrDeepEqual, isEmptyObject, pick } from '../utils.js';
|
|
8
8
|
import { updateEvent } from './event.js';
|
|
@@ -11,6 +11,7 @@ import { platformInfoAttributes, updateListItemPlatformInfo } from './platformIn
|
|
|
11
11
|
import { transformRef, updateRef } from './ref.js';
|
|
12
12
|
import { updateWorkletEvent } from './workletEvent.js';
|
|
13
13
|
import { updateWorkletRef } from './workletRef.js';
|
|
14
|
+
// eslint-disable-next-line regexp/no-unused-capturing-group
|
|
14
15
|
const eventRegExp = /^(([A-Za-z-]*):)?(bind|catch|capture-bind|capture-catch|global-bind)([A-Za-z]+)$/;
|
|
15
16
|
const eventTypeMap = {
|
|
16
17
|
bind: 'bindEvent',
|
|
@@ -29,8 +30,7 @@ const noFlattenAttributes = /* @__PURE__ */ new Set([
|
|
|
29
30
|
function updateSpread(snapshot, index, oldValue, elementIndex) {
|
|
30
31
|
oldValue ??= {};
|
|
31
32
|
let newValue = snapshot.__values[index]; // compiler guarantee this must be an object;
|
|
32
|
-
|
|
33
|
-
const list = snapshot.__parent;
|
|
33
|
+
const list = snapshot.parentNode;
|
|
34
34
|
if (list?.__snapshot_def.isListHolder) {
|
|
35
35
|
const oldPlatformInfo = pick(oldValue, platformInfoAttributes);
|
|
36
36
|
const platformInfo = pick(newValue, platformInfoAttributes);
|
|
@@ -76,7 +76,6 @@ function updateSpread(snapshot, index, oldValue, elementIndex) {
|
|
|
76
76
|
// collected below
|
|
77
77
|
}
|
|
78
78
|
else if (key === 'ref') {
|
|
79
|
-
snapshot.__ref_set ??= new Set();
|
|
80
79
|
const fakeSnapshot = {
|
|
81
80
|
__values: {
|
|
82
81
|
get [index]() {
|
|
@@ -89,9 +88,8 @@ function updateSpread(snapshot, index, oldValue, elementIndex) {
|
|
|
89
88
|
},
|
|
90
89
|
__id: snapshot.__id,
|
|
91
90
|
__elements: snapshot.__elements,
|
|
92
|
-
__ref_set: snapshot.__ref_set,
|
|
93
91
|
};
|
|
94
|
-
updateRef(fakeSnapshot, index, oldValue[key], elementIndex
|
|
92
|
+
updateRef(fakeSnapshot, index, oldValue[key], elementIndex);
|
|
95
93
|
}
|
|
96
94
|
else if (key.endsWith(':ref')) {
|
|
97
95
|
snapshot.__worklet_ref_set ??= new Set();
|
|
@@ -172,7 +170,6 @@ function updateSpread(snapshot, index, oldValue, elementIndex) {
|
|
|
172
170
|
// collected below
|
|
173
171
|
}
|
|
174
172
|
else if (key === 'ref') {
|
|
175
|
-
snapshot.__ref_set ??= new Set();
|
|
176
173
|
const fakeSnapshot = {
|
|
177
174
|
__values: {
|
|
178
175
|
get [index]() {
|
|
@@ -185,9 +182,8 @@ function updateSpread(snapshot, index, oldValue, elementIndex) {
|
|
|
185
182
|
},
|
|
186
183
|
__id: snapshot.__id,
|
|
187
184
|
__elements: snapshot.__elements,
|
|
188
|
-
__ref_set: snapshot.__ref_set,
|
|
189
185
|
};
|
|
190
|
-
updateRef(fakeSnapshot, index, oldValue[key], elementIndex
|
|
186
|
+
updateRef(fakeSnapshot, index, oldValue[key], elementIndex);
|
|
191
187
|
}
|
|
192
188
|
else if (key.endsWith(':ref')) {
|
|
193
189
|
snapshot.__worklet_ref_set ??= new Set();
|
|
@@ -267,8 +263,12 @@ function transformSpread(snapshot, index, spread) {
|
|
|
267
263
|
result['className'] = value;
|
|
268
264
|
}
|
|
269
265
|
else if (key === 'ref') {
|
|
270
|
-
|
|
271
|
-
|
|
266
|
+
if (__LEPUS__) {
|
|
267
|
+
result[key] = value ? 1 : undefined;
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
result[key] = transformRef(value)?.__ref;
|
|
271
|
+
}
|
|
272
272
|
}
|
|
273
273
|
else if (typeof value === 'function') {
|
|
274
274
|
result[key] = `${snapshot.__id}:${index}:${key}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spread.js","sourceRoot":"","sources":["../../src/snapshot/spread.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;
|
|
1
|
+
{"version":3,"file":"spread.js","sourceRoot":"","sources":["../../src/snapshot/spread.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@
|
|
|
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 { onWorkletCtxUpdate } from '@lynx-js/react/worklet-runtime/bindings';
|
|
5
|
-
import { SnapshotInstance } from '../snapshot.js';
|
|
6
5
|
import { isMainThreadHydrationFinished } from '../lifecycle/patch/isMainThreadHydrationFinished.js';
|
|
6
|
+
import { SnapshotInstance } from '../snapshot.js';
|
|
7
7
|
function updateWorkletEvent(snapshot, expIndex, oldValue, elementIndex, workletType, eventType, eventName) {
|
|
8
8
|
if (!snapshot.__elements) {
|
|
9
9
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workletEvent.js","sourceRoot":"","sources":["../../src/snapshot/workletEvent.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAG7E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"workletEvent.js","sourceRoot":"","sources":["../../src/snapshot/workletEvent.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAG7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,qDAAqD,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,SAAS,kBAAkB,CACzB,QAA0B,EAC1B,QAAgB,EAChB,QAAiB,EACjB,YAAoB,EACpB,WAAmB,EACnB,SAAiB,EACjB,SAAiB;IAEjB,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,QAAS,CAAC,QAAQ,CAAY,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;IAC3E,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;IAEjC,IAAI,WAAW,KAAK,aAAa,EAAE,CAAC;QAClC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,6BAA6B,EAAE,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAE,CAAC,CAAC;QACxG,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE,SAAS;YACf,KAAK;SACN,CAAC;QACF,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAE,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Element, Worklet, WorkletRefImpl } from '@lynx-js/react/worklet-runtime/bindings';
|
|
2
2
|
import type { SnapshotInstance } from '../snapshot.js';
|
|
3
|
-
declare function
|
|
4
|
-
declare function
|
|
5
|
-
export
|
|
3
|
+
export declare function applyRefQueue(): void;
|
|
4
|
+
export declare function workletUnRef(value: Worklet | WorkletRefImpl<Element>): void;
|
|
5
|
+
export declare function updateWorkletRef(snapshot: SnapshotInstance, expIndex: number, oldValue: WorkletRefImpl<Element> | Worklet | null | undefined, elementIndex: number, _workletType: string): void;
|
|
@@ -1,8 +1,27 @@
|
|
|
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 { runWorkletCtx, updateWorkletRef as update } from '@lynx-js/react/worklet-runtime/bindings';
|
|
5
|
-
|
|
4
|
+
import { onWorkletCtxUpdate, runWorkletCtx, updateWorkletRef as update } from '@lynx-js/react/worklet-runtime/bindings';
|
|
5
|
+
import { isMainThreadHydrationFinished } from '../lifecycle/patch/isMainThreadHydrationFinished.js';
|
|
6
|
+
let mtRefQueue = [];
|
|
7
|
+
export function applyRefQueue() {
|
|
8
|
+
const queue = mtRefQueue;
|
|
9
|
+
mtRefQueue = [];
|
|
10
|
+
for (let i = 0; i < queue.length; i += 2) {
|
|
11
|
+
const worklet = queue[i];
|
|
12
|
+
const element = queue[i + 1];
|
|
13
|
+
if ('_wvid' in worklet) {
|
|
14
|
+
update(worklet, element);
|
|
15
|
+
}
|
|
16
|
+
else if ('_wkltId' in worklet) {
|
|
17
|
+
worklet._unmount = runWorkletCtx(worklet, [{ elementRefptr: element }]);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function addToRefQueue(worklet, element) {
|
|
22
|
+
mtRefQueue.push(worklet, element);
|
|
23
|
+
}
|
|
24
|
+
export function workletUnRef(value) {
|
|
6
25
|
if ('_wvid' in value) {
|
|
7
26
|
update(value, null);
|
|
8
27
|
}
|
|
@@ -15,7 +34,7 @@ function workletUnRef(value) {
|
|
|
15
34
|
}
|
|
16
35
|
}
|
|
17
36
|
}
|
|
18
|
-
function updateWorkletRef(snapshot, expIndex, oldValue, elementIndex, _workletType) {
|
|
37
|
+
export function updateWorkletRef(snapshot, expIndex, oldValue, elementIndex, _workletType) {
|
|
19
38
|
if (!snapshot.__elements) {
|
|
20
39
|
return;
|
|
21
40
|
}
|
|
@@ -28,12 +47,13 @@ function updateWorkletRef(snapshot, expIndex, oldValue, elementIndex, _workletTy
|
|
|
28
47
|
// do nothing
|
|
29
48
|
}
|
|
30
49
|
else if (value._wvid) {
|
|
31
|
-
|
|
50
|
+
const element = snapshot.__elements[elementIndex];
|
|
51
|
+
addToRefQueue(value, element);
|
|
32
52
|
}
|
|
33
53
|
else if (value._wkltId) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
54
|
+
const element = snapshot.__elements[elementIndex];
|
|
55
|
+
onWorkletCtxUpdate(value, oldValue, !isMainThreadHydrationFinished, element);
|
|
56
|
+
addToRefQueue(value, element);
|
|
37
57
|
/* v8 ignore next 3 */
|
|
38
58
|
}
|
|
39
59
|
else if (value._type === '__LEPUS__' || value._lepusWorkletHash) {
|
|
@@ -50,5 +70,4 @@ function updateWorkletRef(snapshot, expIndex, oldValue, elementIndex, _workletTy
|
|
|
50
70
|
// Add an arbitrary attribute to avoid this element being layout-only
|
|
51
71
|
__SetAttribute(snapshot.__elements[elementIndex], 'has-react-ref', true);
|
|
52
72
|
}
|
|
53
|
-
export { updateWorkletRef, workletUnRef };
|
|
54
73
|
//# sourceMappingURL=workletRef.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workletRef.js","sourceRoot":"","sources":["../../src/snapshot/workletRef.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;
|
|
1
|
+
{"version":3,"file":"workletRef.js","sourceRoot":"","sources":["../../src/snapshot/workletRef.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,29 +11,20 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import type { Worklet, WorkletRefImpl } from '@lynx-js/react/worklet-runtime/bindings';
|
|
13
13
|
import type { BackgroundSnapshotInstance } from './backgroundSnapshot.js';
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
* These are determined at compile time through static analysis
|
|
17
|
-
*/
|
|
18
|
-
export declare const enum DynamicPartType {
|
|
19
|
-
Attr = 0,// Regular attribute updates
|
|
20
|
-
Spread = 1,// Spread operator in JSX
|
|
21
|
-
Slot = 2,// Slot for component children
|
|
22
|
-
Children = 3,// Regular children updates
|
|
23
|
-
ListChildren = 4,// List/array children updates
|
|
24
|
-
MultiChildren = 5
|
|
25
|
-
}
|
|
14
|
+
import { DynamicPartType } from './snapshot/dynamicPartType.js';
|
|
15
|
+
import type { PlatformInfo } from './snapshot/platformInfo.js';
|
|
26
16
|
/**
|
|
27
17
|
* A snapshot definition that contains all the information needed to create and update elements
|
|
28
18
|
* This is generated at compile time through static analysis of the JSX
|
|
29
19
|
*/
|
|
30
|
-
interface Snapshot {
|
|
20
|
+
export interface Snapshot {
|
|
31
21
|
create: null | ((ctx: SnapshotInstance) => FiberElement[]);
|
|
32
22
|
update: null | ((ctx: SnapshotInstance, index: number, oldValue: any) => void)[];
|
|
33
23
|
slot: [DynamicPartType, number][];
|
|
34
24
|
isListHolder?: boolean;
|
|
35
25
|
cssId?: number | undefined;
|
|
36
26
|
entryName?: string | undefined;
|
|
27
|
+
refAndSpreadIndexes?: number[] | null;
|
|
37
28
|
}
|
|
38
29
|
export declare let __page: FiberElement;
|
|
39
30
|
export declare let __pageId: number;
|
|
@@ -55,7 +46,7 @@ export declare const backgroundSnapshotInstanceManager: {
|
|
|
55
46
|
getValueBySign(str: string): unknown;
|
|
56
47
|
};
|
|
57
48
|
export declare function entryUniqID(uniqID: string, entryName?: string): string;
|
|
58
|
-
export declare function createSnapshot(uniqID: string, create: Snapshot['create'] | null, update: Snapshot['update'] | null, slot: Snapshot['slot'], cssId
|
|
49
|
+
export declare function createSnapshot(uniqID: string, create: Snapshot['create'] | null, update: Snapshot['update'] | null, slot: Snapshot['slot'], cssId: number | undefined, entryName: string | undefined, refAndSpreadIndexes: number[] | null): string;
|
|
59
50
|
export interface WithChildren {
|
|
60
51
|
childNodes: WithChildren[];
|
|
61
52
|
}
|
|
@@ -79,15 +70,15 @@ export declare class SnapshotInstance {
|
|
|
79
70
|
__snapshot_def: Snapshot;
|
|
80
71
|
__elements?: FiberElement[] | undefined;
|
|
81
72
|
__element_root?: FiberElement | undefined;
|
|
82
|
-
__values?:
|
|
73
|
+
__values?: unknown[] | undefined;
|
|
83
74
|
__current_slot_index: number;
|
|
84
|
-
__ref_set?: Set<string>;
|
|
85
75
|
__worklet_ref_set?: Set<WorkletRefImpl<any> | Worklet>;
|
|
86
|
-
__listItemPlatformInfo?:
|
|
76
|
+
__listItemPlatformInfo?: PlatformInfo;
|
|
87
77
|
constructor(type: string, id?: number);
|
|
88
78
|
ensureElements(): void;
|
|
89
79
|
unRenderElements(): void;
|
|
90
80
|
takeElements(): SnapshotInstance;
|
|
81
|
+
tearDown(): void;
|
|
91
82
|
private __parent;
|
|
92
83
|
private __firstChild;
|
|
93
84
|
private __lastChild;
|
|
@@ -105,5 +96,5 @@ export declare class SnapshotInstance {
|
|
|
105
96
|
toJSON(): Omit<SerializedSnapshotInstance, 'children'> & {
|
|
106
97
|
children: SnapshotInstance[] | undefined;
|
|
107
98
|
};
|
|
99
|
+
callUpdateIfNotDirectOrDeepEqual(index: number, oldValue: any, newValue: any): void;
|
|
108
100
|
}
|
|
109
|
-
export {};
|