@lynx-js/react 0.109.1 → 0.110.0
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 +39 -0
- package/package.json +2 -2
- package/refresh/.turbo/turbo-build.log +1 -1
- package/refresh/package.json +1 -1
- package/runtime/lib/backgroundSnapshot.d.ts +2 -1
- package/runtime/lib/backgroundSnapshot.js +65 -42
- package/runtime/lib/backgroundSnapshot.js.map +1 -1
- package/runtime/lib/hooks/react.js +3 -3
- package/runtime/lib/hooks/react.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 +18 -11
- 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 +6 -13
- 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 +7 -4
- 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 -1
- package/runtime/lib/list.js +9 -7
- package/runtime/lib/list.js.map +1 -1
- package/runtime/lib/lynx/calledByNative.js +8 -5
- 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.js +5 -6
- package/runtime/lib/lynx.js.map +1 -1
- package/runtime/lib/snapshot/ref.d.ts +14 -9
- package/runtime/lib/snapshot/ref.js +64 -73
- package/runtime/lib/snapshot/ref.js.map +1 -1
- package/runtime/lib/snapshot/spread.js +9 -8
- package/runtime/lib/snapshot/spread.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 +4 -4
- package/runtime/lib/snapshot.js +28 -13
- 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/worklet/workletRef.js +1 -2
- package/runtime/lib/worklet/workletRef.js.map +1 -1
- package/runtime/src/backgroundSnapshot.ts +74 -47
- package/runtime/src/hooks/react.ts +3 -3
- 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 +35 -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 +9 -6
- package/runtime/src/lifecycle/render.ts +3 -2
- package/runtime/src/lifecycleConstant.ts +11 -7
- package/runtime/src/list.ts +9 -7
- package/runtime/src/lynx/calledByNative.ts +14 -9
- 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 +1 -1
- package/runtime/src/lynx.ts +6 -6
- package/runtime/src/snapshot/ref.ts +77 -87
- package/runtime/src/snapshot/spread.ts +8 -8
- package/runtime/src/snapshot/workletRef.ts +35 -9
- package/runtime/src/snapshot.ts +39 -20
- package/runtime/src/snapshotInstanceHydrationMap.ts +17 -0
- package/runtime/src/worklet/workletRef.ts +1 -2
- package/testing-library/dist/env/vitest.js +10 -8
- package/testing-library/dist/index.js +3 -3
- package/testing-library/dist/pure.js +93 -92
- package/testing-library/dist/vitest-global-setup.js +41 -41
- package/testing-library/dist/vitest.config.js +17 -14
- package/transform/dist/wasm.cjs +1 -1
- package/worklet-runtime/dist/dev.js +1 -4
- package/worklet-runtime/dist/main.js +0 -4
- package/worklet-runtime/lib/bindings/bindings.d.ts +1 -1
- package/worklet-runtime/lib/bindings/bindings.js +1 -26
- package/worklet-runtime/lib/bindings/bindings.js.map +1 -1
- package/worklet-runtime/lib/bindings/index.d.ts +2 -1
- package/worklet-runtime/lib/bindings/index.js +2 -1
- package/worklet-runtime/lib/bindings/index.js.map +1 -1
- package/worklet-runtime/lib/bindings/observers.d.ts +14 -0
- package/worklet-runtime/lib/bindings/observers.js +31 -0
- package/worklet-runtime/lib/bindings/observers.js.map +1 -0
- 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
- package/worklet-runtime/dist/dev.js.map +0 -8
- package/worklet-runtime/dist/main.js.map +0 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commit.js","sourceRoot":"","sources":["../../../src/lifecycle/patch/commit.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAoB1D,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"commit.js","sourceRoot":"","sources":["../../../src/lifecycle/patch/commit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const ctxNotFoundType = "Lynx.Error.CtxNotFound";
|
|
2
|
+
export interface CtxNotFoundData {
|
|
3
|
+
id: number;
|
|
4
|
+
}
|
|
5
|
+
export declare function sendCtxNotFoundEventToBackground(id: number): void;
|
|
6
|
+
export declare function reportCtxNotFound(data: CtxNotFoundData): void;
|
|
7
|
+
export declare function addCtxNotFoundEventListener(): void;
|
|
8
|
+
export declare function removeCtxNotFoundEventListener(): void;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// Copyright 2025 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 { backgroundSnapshotInstanceManager, snapshotManager } from '../../snapshot.js';
|
|
5
|
+
export const ctxNotFoundType = 'Lynx.Error.CtxNotFound';
|
|
6
|
+
const errorMsg = 'snapshotPatchApply failed: ctx not found';
|
|
7
|
+
let ctxNotFoundEventListener = null;
|
|
8
|
+
export function sendCtxNotFoundEventToBackground(id) {
|
|
9
|
+
/* v8 ignore next 3 */
|
|
10
|
+
if (!lynx.getJSContext) {
|
|
11
|
+
throw new Error(errorMsg);
|
|
12
|
+
}
|
|
13
|
+
lynx.getJSContext().dispatchEvent({
|
|
14
|
+
type: ctxNotFoundType,
|
|
15
|
+
data: {
|
|
16
|
+
id,
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
export function reportCtxNotFound(data) {
|
|
21
|
+
const id = data.id;
|
|
22
|
+
const instance = backgroundSnapshotInstanceManager.values.get(id);
|
|
23
|
+
let snapshotType = 'null';
|
|
24
|
+
if (instance && instance.__snapshot_def) {
|
|
25
|
+
for (const [snapshotId, snapshot] of snapshotManager.values.entries()) {
|
|
26
|
+
if (snapshot === instance.__snapshot_def) {
|
|
27
|
+
snapshotType = snapshotId;
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
lynx.reportError(new Error(`${errorMsg}, snapshot type: '${snapshotType}'`));
|
|
33
|
+
}
|
|
34
|
+
export function addCtxNotFoundEventListener() {
|
|
35
|
+
ctxNotFoundEventListener = (e) => {
|
|
36
|
+
reportCtxNotFound(e.data);
|
|
37
|
+
};
|
|
38
|
+
lynx.getCoreContext?.().addEventListener(ctxNotFoundType, ctxNotFoundEventListener);
|
|
39
|
+
}
|
|
40
|
+
export function removeCtxNotFoundEventListener() {
|
|
41
|
+
const coreContext = lynx.getCoreContext?.();
|
|
42
|
+
if (coreContext && ctxNotFoundEventListener) {
|
|
43
|
+
coreContext.removeEventListener(ctxNotFoundType, ctxNotFoundEventListener);
|
|
44
|
+
ctxNotFoundEventListener = null;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../src/lifecycle/patch/error.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D,OAAO,EAAE,iCAAiC,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEvF,MAAM,CAAC,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAExD,MAAM,QAAQ,GAAG,0CAA0C,CAAC;AAE5D,IAAI,wBAAwB,GAA6C,IAAI,CAAC;AAM9E,MAAM,UAAU,gCAAgC,CAAC,EAAU;IACzD,sBAAsB;IACtB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC,YAAY,EAAE,CAAC,aAAa,CAAC;QAChC,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE;YACJ,EAAE;SACgB;KACrB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAqB;IACrD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACnB,MAAM,QAAQ,GAAG,iCAAiC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAElE,IAAI,YAAY,GAAG,MAAM,CAAC;IAE1B,IAAI,QAAQ,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACtE,IAAI,QAAQ,KAAK,QAAQ,CAAC,cAAc,EAAE,CAAC;gBACzC,YAAY,GAAG,UAAU,CAAC;gBAC1B,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,GAAG,QAAQ,qBAAqB,YAAY,GAAG,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,wBAAwB,GAAG,CAAC,CAAC,EAAE,EAAE;QAC/B,iBAAiB,CAAC,CAAC,CAAC,IAAuB,CAAC,CAAC;IAC/C,CAAC,CAAC;IACF,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,gBAAgB,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;IAC5C,IAAI,WAAW,IAAI,wBAAwB,EAAE,CAAC;QAC5C,WAAW,CAAC,mBAAmB,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC;QAC3E,wBAAwB,GAAG,IAAI,CAAC;IAClC,CAAC;AACH,CAAC"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// Copyright 2025 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.
|
|
1
4
|
import { onHydrationFinished } from '@lynx-js/react/worklet-runtime/bindings';
|
|
2
5
|
export let isMainThreadHydrationFinished = false;
|
|
3
6
|
export function setMainThreadHydrationFinished(isFinished) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isMainThreadHydrationFinished.js","sourceRoot":"","sources":["../../../src/lifecycle/patch/isMainThreadHydrationFinished.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAE9E,MAAM,CAAC,IAAI,6BAA6B,GAAG,KAAK,CAAC;AAEjD,MAAM,UAAU,8BAA8B,CAAC,UAAmB;IAChE,IAAI,UAAU,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACjD,mBAAmB,EAAE,CAAC;IACxB,CAAC;IACD,6BAA6B,GAAG,UAAU,CAAC;AAC7C,CAAC"}
|
|
1
|
+
{"version":3,"file":"isMainThreadHydrationFinished.js","sourceRoot":"","sources":["../../../src/lifecycle/patch/isMainThreadHydrationFinished.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAE9E,MAAM,CAAC,IAAI,6BAA6B,GAAG,KAAK,CAAC;AAEjD,MAAM,UAAU,8BAA8B,CAAC,UAAmB;IAChE,IAAI,UAAU,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACjD,mBAAmB,EAAE,CAAC;IACxB,CAAC;IACD,6BAA6B,GAAG,UAAU,CAAC;AAC7C,CAAC"}
|
|
@@ -12,8 +12,8 @@ export declare const enum SnapshotOperation {
|
|
|
12
12
|
DEV_ONLY_AddSnapshot = 100,
|
|
13
13
|
DEV_ONLY_RegisterWorklet = 101
|
|
14
14
|
}
|
|
15
|
-
export type SnapshotPatch =
|
|
16
|
-
export declare let __globalSnapshotPatch:
|
|
15
|
+
export type SnapshotPatch = unknown[];
|
|
16
|
+
export declare let __globalSnapshotPatch: SnapshotPatch | undefined;
|
|
17
17
|
export declare function takeGlobalSnapshotPatch(): SnapshotPatch | undefined;
|
|
18
18
|
export declare function initGlobalSnapshotPatch(): void;
|
|
19
19
|
export declare function deinitGlobalSnapshotPatch(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshotPatch.js","sourceRoot":"","sources":["../../../src/lifecycle/patch/snapshotPatch.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D;;;;GAIG;AAEH,MAAM,CAAN,IAAkB,iBASjB;AATD,WAAkB,iBAAiB;IACjC,2EAAa,CAAA;IACb,yEAAY,CAAA;IACZ,uEAAW,CAAA;IACX,yEAAY,CAAA;IACZ,2EAAa,CAAA;IAEb,2FAA0B,CAAA;IAC1B,mGAA8B,CAAA;AAChC,CAAC,EATiB,iBAAiB,KAAjB,iBAAiB,QASlC;AA2BD,MAAM,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"snapshotPatch.js","sourceRoot":"","sources":["../../../src/lifecycle/patch/snapshotPatch.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D;;;;GAIG;AAEH,MAAM,CAAN,IAAkB,iBASjB;AATD,WAAkB,iBAAiB;IACjC,2EAAa,CAAA;IACb,yEAAY,CAAA;IACZ,uEAAW,CAAA;IACX,yEAAY,CAAA;IACZ,2EAAa,CAAA;IAEb,2FAA0B,CAAA;IAC1B,mGAA8B,CAAA;AAChC,CAAC,EATiB,iBAAiB,KAAjB,iBAAiB,QASlC;AA2BD,MAAM,CAAC,IAAI,qBAAgD,CAAC;AAE5D,MAAM,UAAU,uBAAuB;IACrC,IAAI,qBAAqB,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,qBAAqB,CAAC;QACnC,qBAAqB,GAAG,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,qBAAqB,GAAG,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,qBAAqB,GAAG,SAAS,CAAC;AACpC,CAAC"}
|
|
@@ -11,11 +11,9 @@
|
|
|
11
11
|
* removal, and attribute updates, ensuring they are applied in the correct
|
|
12
12
|
* order and with proper error handling.
|
|
13
13
|
*/
|
|
14
|
-
import {
|
|
14
|
+
import { sendCtxNotFoundEventToBackground } from './error.js';
|
|
15
15
|
import { SnapshotOperation } from './snapshotPatch.js';
|
|
16
|
-
|
|
17
|
-
lynx.reportError(new Error(`snapshotPatchApply failed: ctx not found`));
|
|
18
|
-
}
|
|
16
|
+
import { SnapshotInstance, createSnapshot, entryUniqID, snapshotInstanceManager, snapshotManager, } from '../../snapshot.js';
|
|
19
17
|
/**
|
|
20
18
|
* Applies a patch of snapshot operations to the main thread.
|
|
21
19
|
* This is the counterpart to the patch generation in the background thread.
|
|
@@ -39,7 +37,7 @@ export function snapshotPatchApply(snapshotPatch) {
|
|
|
39
37
|
const child = snapshotInstanceManager.values.get(childId);
|
|
40
38
|
const existingNode = snapshotInstanceManager.values.get(beforeId);
|
|
41
39
|
if (!parent || !child) {
|
|
42
|
-
|
|
40
|
+
sendCtxNotFoundEventToBackground(parent ? childId : parentId);
|
|
43
41
|
}
|
|
44
42
|
else {
|
|
45
43
|
parent.insertBefore(child, existingNode);
|
|
@@ -52,7 +50,7 @@ export function snapshotPatchApply(snapshotPatch) {
|
|
|
52
50
|
const parent = snapshotInstanceManager.values.get(parentId);
|
|
53
51
|
const child = snapshotInstanceManager.values.get(childId);
|
|
54
52
|
if (!parent || !child) {
|
|
55
|
-
|
|
53
|
+
sendCtxNotFoundEventToBackground(parent ? childId : parentId);
|
|
56
54
|
}
|
|
57
55
|
else {
|
|
58
56
|
parent.removeChild(child);
|
|
@@ -68,7 +66,7 @@ export function snapshotPatchApply(snapshotPatch) {
|
|
|
68
66
|
si.setAttribute(dynamicPartIndex, value);
|
|
69
67
|
}
|
|
70
68
|
else {
|
|
71
|
-
|
|
69
|
+
sendCtxNotFoundEventToBackground(id);
|
|
72
70
|
}
|
|
73
71
|
break;
|
|
74
72
|
}
|
|
@@ -80,7 +78,7 @@ export function snapshotPatchApply(snapshotPatch) {
|
|
|
80
78
|
si.setAttribute('values', values);
|
|
81
79
|
}
|
|
82
80
|
else {
|
|
83
|
-
|
|
81
|
+
sendCtxNotFoundEventToBackground(id);
|
|
84
82
|
}
|
|
85
83
|
break;
|
|
86
84
|
}
|
|
@@ -90,12 +88,14 @@ export function snapshotPatchApply(snapshotPatch) {
|
|
|
90
88
|
const create = snapshotPatch[++i];
|
|
91
89
|
const update = snapshotPatch[++i];
|
|
92
90
|
const slot = snapshotPatch[++i];
|
|
93
|
-
const cssId = snapshotPatch[++i] ?? 0;
|
|
91
|
+
const cssId = (snapshotPatch[++i] ?? 0);
|
|
94
92
|
const entryName = snapshotPatch[++i];
|
|
95
93
|
if (!snapshotManager.values.has(entryUniqID(uniqID, entryName))) {
|
|
96
94
|
// HMR-related
|
|
97
95
|
// Update the evaluated snapshots from JS.
|
|
98
|
-
createSnapshot(uniqID, evaluate(create),
|
|
96
|
+
createSnapshot(uniqID, evaluate(create),
|
|
97
|
+
// eslint-disable-next-line unicorn/no-array-callback-reference
|
|
98
|
+
update.map(evaluate), slot, cssId, entryName, null);
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
101
|
break;
|
|
@@ -113,11 +113,18 @@ export function snapshotPatchApply(snapshotPatch) {
|
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
|
+
/* v8 ignore start */
|
|
116
117
|
/**
|
|
117
118
|
* Evaluates a string as code with ReactLynx runtime injected.
|
|
118
119
|
* Used for HMR (Hot Module Replacement) to update snapshot definitions.
|
|
119
120
|
*/
|
|
120
121
|
function evaluate(code) {
|
|
121
|
-
|
|
122
|
+
if (__DEV__) {
|
|
123
|
+
// We are using `eval` here to make the updated snapshot to access variables like `__webpack_require__`.
|
|
124
|
+
// See: https://github.com/lynx-family/lynx-stack/issues/983.
|
|
125
|
+
return eval(`(() => ${code})()`);
|
|
126
|
+
}
|
|
127
|
+
throw new Error('unreachable: evaluate is not supported in production');
|
|
122
128
|
}
|
|
129
|
+
/* v8 ignore stop */
|
|
123
130
|
//# sourceMappingURL=snapshotPatchApply.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshotPatchApply.js","sourceRoot":"","sources":["../../../src/lifecycle/patch/snapshotPatchApply.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D;;;;;;;;;GASG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"snapshotPatchApply.js","sourceRoot":"","sources":["../../../src/lifecycle/patch/snapshotPatchApply.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D;;;;;;;;;GASG;AAEH,OAAO,EAAE,gCAAgC,EAAE,MAAM,YAAY,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,uBAAuB,EACvB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAG3B;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,aAA4B;IAC7D,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAChC,QAAQ,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,KAAK,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC;gBACrC,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,CAAC,CAAW,CAAC;gBAC1C,MAAM,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC,CAAW,CAAC;gBACxC,IAAI,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC/B,MAAM;YACR,CAAC;YACD,KAAK,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;gBACpC,MAAM,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC,CAAW,CAAC;gBAC9C,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,CAAW,CAAC;gBAC7C,MAAM,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC,CAAuB,CAAC;gBAC1D,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC5D,MAAM,KAAK,GAAG,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC1D,MAAM,YAAY,GAAG,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,QAAS,CAAC,CAAC;gBACnE,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;oBACtB,gCAAgC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAChE,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBAC3C,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;gBACnC,MAAM,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC,CAAW,CAAC;gBAC9C,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,CAAW,CAAC;gBAC7C,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC5D,MAAM,KAAK,GAAG,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC1D,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;oBACtB,gCAAgC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAChE,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;gBACpC,MAAM,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC,CAAW,CAAC;gBACxC,MAAM,gBAAgB,GAAG,aAAa,CAAC,EAAE,CAAC,CAAW,CAAC;gBACtD,MAAM,KAAK,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjC,MAAM,EAAE,GAAG,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClD,IAAI,EAAE,EAAE,CAAC;oBACP,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACN,gCAAgC,CAAC,EAAE,CAAC,CAAC;gBACvC,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC;gBACrC,MAAM,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC,CAAW,CAAC;gBACxC,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClC,MAAM,EAAE,GAAG,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClD,IAAI,EAAE,EAAE,CAAC;oBACP,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,gCAAgC,CAAC,EAAE,CAAC,CAAC;gBACvC,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,iBAAiB,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC5C,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,CAAW,CAAC;oBAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,CAAW,CAAC;oBAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,CAAa,CAAC;oBAC9C,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,CAAC,CAAgC,CAAC;oBAC/D,MAAM,KAAK,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAW,CAAC;oBAClD,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE,CAAC,CAAuB,CAAC;oBAE3D,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;wBAChE,cAAc;wBACd,0CAA0C;wBAC1C,cAAc,CACZ,MAAM,EACN,QAAQ,CAA4C,MAAM,CAAC;wBAC3D,+DAA+D;wBAC/D,MAAM,CAAC,GAAG,CAAgE,QAAQ,CAAC,EACnF,IAAI,EACJ,KAAK,EACL,SAAS,EACT,IAAI,CACL,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YACC,qDAAqD;YACrD,mBAAmB;YACnB,mBAAmB;YACnB,+CAA+C;YAC/C,gDAAgD;YAChD,6EAA6E;YAC7E,gDAAgD;YAChD,MAAM;YACN,WAAW;YACX,IAAI;QACR,CAAC;IACH,CAAC;AACH,CAAC;AAED,qBAAqB;AACrB;;;GAGG;AACH,SAAS,QAAQ,CAAI,IAAY;IAC/B,IAAI,OAAO,EAAE,CAAC;QACZ,wGAAwG;QACxG,6DAA6D;QAC7D,OAAO,IAAI,CAAC,UAAU,IAAI,KAAK,CAAM,CAAC;IACxC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;AAC1E,CAAC;AACD,oBAAoB"}
|
|
@@ -2,15 +2,14 @@
|
|
|
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 { updateWorkletRefInitValueChanges } from '@lynx-js/react/worklet-runtime/bindings';
|
|
5
|
-
import { snapshotPatchApply } from './snapshotPatchApply.js';
|
|
6
5
|
import { LifecycleConstant } from '../../lifecycleConstant.js';
|
|
7
6
|
import { __pendingListUpdates } from '../../list.js';
|
|
8
|
-
import {
|
|
9
|
-
import { takeGlobalRefPatchMap } from '../../snapshot/ref.js';
|
|
7
|
+
import { PerformanceTimingKeys, markTiming, setPipeline } from '../../lynx/performance.js';
|
|
10
8
|
import { __page } from '../../snapshot.js';
|
|
11
|
-
import { isEmptyObject } from '../../utils.js';
|
|
12
9
|
import { getReloadVersion } from '../pass.js';
|
|
13
10
|
import { setMainThreadHydrationFinished } from './isMainThreadHydrationFinished.js';
|
|
11
|
+
import { snapshotPatchApply } from './snapshotPatchApply.js';
|
|
12
|
+
import { applyRefQueue } from '../../snapshot/workletRef.js';
|
|
14
13
|
function updateMainThread({ data, patchOptions }) {
|
|
15
14
|
if ((patchOptions.reloadVersion) < getReloadVersion()) {
|
|
16
15
|
return;
|
|
@@ -21,7 +20,7 @@ function updateMainThread({ data, patchOptions }) {
|
|
|
21
20
|
const { patchList, flushOptions = {} } = JSON.parse(data);
|
|
22
21
|
markTiming(PerformanceTimingKeys.parseChangesEnd);
|
|
23
22
|
markTiming(PerformanceTimingKeys.patchChangesStart);
|
|
24
|
-
for (const { snapshotPatch, workletRefInitValuePatch
|
|
23
|
+
for (const { snapshotPatch, workletRefInitValuePatch } of patchList) {
|
|
25
24
|
updateWorkletRefInitValueChanges(workletRefInitValuePatch);
|
|
26
25
|
__pendingListUpdates.clear();
|
|
27
26
|
if (snapshotPatch) {
|
|
@@ -30,13 +29,13 @@ function updateMainThread({ data, patchOptions }) {
|
|
|
30
29
|
__pendingListUpdates.flush();
|
|
31
30
|
// console.debug('********** Lepus updatePatch:');
|
|
32
31
|
// printSnapshotInstance(snapshotInstanceManager.values.get(-1)!);
|
|
33
|
-
commitMainThreadPatchUpdate(id);
|
|
34
32
|
}
|
|
35
33
|
markTiming(PerformanceTimingKeys.patchChangesEnd);
|
|
36
34
|
markTiming(PerformanceTimingKeys.mtsRenderEnd);
|
|
37
35
|
if (patchOptions.isHydration) {
|
|
38
36
|
setMainThreadHydrationFinished(true);
|
|
39
37
|
}
|
|
38
|
+
applyRefQueue();
|
|
40
39
|
if (patchOptions.pipelineOptions) {
|
|
41
40
|
flushOptions.pipelineOptions = patchOptions.pipelineOptions;
|
|
42
41
|
}
|
|
@@ -46,14 +45,8 @@ function updateMainThread({ data, patchOptions }) {
|
|
|
46
45
|
function injectUpdateMainThread() {
|
|
47
46
|
Object.assign(globalThis, { [LifecycleConstant.patchUpdate]: updateMainThread });
|
|
48
47
|
}
|
|
49
|
-
function commitMainThreadPatchUpdate(commitTaskId) {
|
|
50
|
-
const refPatch = takeGlobalRefPatchMap();
|
|
51
|
-
if (!isEmptyObject(refPatch)) {
|
|
52
|
-
__OnLifecycleEvent([LifecycleConstant.ref, { commitTaskId, refPatch: JSON.stringify(refPatch) }]);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
48
|
/**
|
|
56
49
|
* @internal
|
|
57
50
|
*/
|
|
58
|
-
export {
|
|
51
|
+
export { injectUpdateMainThread };
|
|
59
52
|
//# sourceMappingURL=updateMainThread.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateMainThread.js","sourceRoot":"","sources":["../../../src/lifecycle/patch/updateMainThread.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D,OAAO,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"updateMainThread.js","sourceRoot":"","sources":["../../../src/lifecycle/patch/updateMainThread.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D,OAAO,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAC;AAE3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,SAAS,gBAAgB,CACvB,EAAE,IAAI,EAAE,YAAY,EAGnB;IAED,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,gBAAgB,EAAE,EAAE,CAAC;QACtD,OAAO;IACT,CAAC;IAED,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAC1C,UAAU,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;IACjD,UAAU,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IACpD,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAc,CAAC;IAEvE,UAAU,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;IAClD,UAAU,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IAEpD,KAAK,MAAM,EAAE,aAAa,EAAE,wBAAwB,EAAE,IAAI,SAAS,EAAE,CAAC;QACpE,gCAAgC,CAAC,wBAAwB,CAAC,CAAC;QAC3D,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,aAAa,EAAE,CAAC;YAClB,kBAAkB,CAAC,aAAa,CAAC,CAAC;QACpC,CAAC;QACD,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAC7B,kDAAkD;QAClD,kEAAkE;IACpE,CAAC;IACD,UAAU,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;IAClD,UAAU,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAC/C,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;QAC7B,8BAA8B,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,aAAa,EAAE,CAAC;IAChB,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC;QACjC,YAAY,CAAC,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC;IAC9D,CAAC;IACD,4BAA4B;IAC5B,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,sBAAsB;IAC7B,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { NodesRef } from '@lynx-js/types';
|
|
2
|
+
/**
|
|
3
|
+
* A flag to indicate whether UI operations should be delayed.
|
|
4
|
+
* When set to true, UI operations will be queued in the `delayedUiOps` array
|
|
5
|
+
* and executed later when `runDelayedUiOps` is called.
|
|
6
|
+
* This is used before hydration to ensure UI operations are batched
|
|
7
|
+
* and executed at the appropriate time.
|
|
8
|
+
*/
|
|
9
|
+
declare const shouldDelayUiOps: {
|
|
10
|
+
value: boolean;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Executes all delayed UI operations.
|
|
14
|
+
*/
|
|
15
|
+
declare function runDelayedUiOps(): void;
|
|
16
|
+
/**
|
|
17
|
+
* A proxy class designed for managing and executing reference-based tasks.
|
|
18
|
+
* It delays the execution of tasks until hydration is complete.
|
|
19
|
+
*/
|
|
20
|
+
declare class RefProxy {
|
|
21
|
+
private readonly refAttr;
|
|
22
|
+
private task;
|
|
23
|
+
constructor(refAttr: [snapshotInstanceId: number, expIndex: number]);
|
|
24
|
+
private setTask;
|
|
25
|
+
invoke(...args: Parameters<NodesRef['invoke']>): RefProxy;
|
|
26
|
+
path(...args: Parameters<NodesRef['path']>): RefProxy;
|
|
27
|
+
fields(...args: Parameters<NodesRef['fields']>): RefProxy;
|
|
28
|
+
setNativeProps(...args: Parameters<NodesRef['setNativeProps']>): RefProxy;
|
|
29
|
+
exec(): void;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// Copyright 2024 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 { hydrationMap } from '../../snapshotInstanceHydrationMap.js';
|
|
5
|
+
/**
|
|
6
|
+
* A flag to indicate whether UI operations should be delayed.
|
|
7
|
+
* When set to true, UI operations will be queued in the `delayedUiOps` array
|
|
8
|
+
* and executed later when `runDelayedUiOps` is called.
|
|
9
|
+
* This is used before hydration to ensure UI operations are batched
|
|
10
|
+
* and executed at the appropriate time.
|
|
11
|
+
*/
|
|
12
|
+
const shouldDelayUiOps = { value: true };
|
|
13
|
+
/**
|
|
14
|
+
* An array of functions that will be executed later when `runDelayedUiOps` is called.
|
|
15
|
+
* These functions contain UI operations that need to be delayed.
|
|
16
|
+
*/
|
|
17
|
+
const delayedUiOps = [];
|
|
18
|
+
/**
|
|
19
|
+
* Runs a task either immediately or delays it based on the `shouldDelayUiOps` flag.
|
|
20
|
+
* @param task - The function to execute.
|
|
21
|
+
*/
|
|
22
|
+
function runOrDelay(task) {
|
|
23
|
+
if (shouldDelayUiOps.value) {
|
|
24
|
+
delayedUiOps.push(task);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
task();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Executes all delayed UI operations.
|
|
32
|
+
*/
|
|
33
|
+
function runDelayedUiOps() {
|
|
34
|
+
for (const task of delayedUiOps) {
|
|
35
|
+
task();
|
|
36
|
+
}
|
|
37
|
+
shouldDelayUiOps.value = false;
|
|
38
|
+
delayedUiOps.length = 0;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* A proxy class designed for managing and executing reference-based tasks.
|
|
42
|
+
* It delays the execution of tasks until hydration is complete.
|
|
43
|
+
*/
|
|
44
|
+
class RefProxy {
|
|
45
|
+
refAttr;
|
|
46
|
+
task;
|
|
47
|
+
constructor(refAttr) {
|
|
48
|
+
this.refAttr = refAttr;
|
|
49
|
+
}
|
|
50
|
+
setTask(method, args) {
|
|
51
|
+
this.task = (nodesRef) => {
|
|
52
|
+
return nodesRef[method](...args);
|
|
53
|
+
};
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
56
|
+
invoke(...args) {
|
|
57
|
+
return new RefProxy(this.refAttr).setTask('invoke', args);
|
|
58
|
+
}
|
|
59
|
+
path(...args) {
|
|
60
|
+
return new RefProxy(this.refAttr).setTask('path', args);
|
|
61
|
+
}
|
|
62
|
+
fields(...args) {
|
|
63
|
+
return new RefProxy(this.refAttr).setTask('fields', args);
|
|
64
|
+
}
|
|
65
|
+
setNativeProps(...args) {
|
|
66
|
+
return new RefProxy(this.refAttr).setTask('setNativeProps', args);
|
|
67
|
+
}
|
|
68
|
+
exec() {
|
|
69
|
+
runOrDelay(() => {
|
|
70
|
+
const realRefId = hydrationMap.get(this.refAttr[0]) ?? this.refAttr[0];
|
|
71
|
+
const refSelector = `[react-ref-${realRefId}-${this.refAttr[1]}]`;
|
|
72
|
+
this.task(lynx.createSelectorQuery().select(refSelector)).exec();
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* @internal
|
|
78
|
+
*/
|
|
79
|
+
export { RefProxy, runDelayedUiOps, shouldDelayUiOps };
|
|
80
|
+
//# sourceMappingURL=delay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delay.js","sourceRoot":"","sources":["../../../src/lifecycle/ref/delay.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAI1D,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAIrE;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAEzC;;;GAGG;AACH,MAAM,YAAY,GAAmB,EAAE,CAAC;AAExC;;;GAGG;AACH,SAAS,UAAU,CAAC,IAAgB;IAClC,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC3B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,IAAI,EAAE,CAAC;IACT,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,eAAe;IACtB,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,IAAI,EAAE,CAAC;IACT,CAAC;IACD,gBAAgB,CAAC,KAAK,GAAG,KAAK,CAAC;IAC/B,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,QAAQ;IACK,OAAO,CAAiD;IACjE,IAAI,CAAsB;IAElC,YAAY,OAAuD;QACjE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEO,OAAO,CACb,MAAS,EACT,IAA6B;QAE7B,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE;YACvB,OAAQ,QAAQ,CAAC,MAAM,CAAkD,CAAC,GAAG,IAAI,CAAC,CAAC;QACrF,CAAC,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,GAAG,IAAoC;QAC5C,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,CAAC,GAAG,IAAkC;QACxC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,GAAG,IAAoC;QAC5C,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,cAAc,CAAC,GAAG,IAA4C;QAC5D,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,IAAI;QACF,UAAU,CAAC,GAAG,EAAE;YACd,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,WAAW,GAAG,cAAc,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;YAClE,IAAI,CAAC,IAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
declare function reloadMainThread(data:
|
|
1
|
+
declare function reloadMainThread(data: unknown, options: UpdatePageOption): void;
|
|
2
2
|
declare function reloadBackground(updateData: Record<string, any>): void;
|
|
3
3
|
export { reloadBackground, reloadMainThread };
|
|
@@ -10,16 +10,17 @@ import { hydrate } from '../hydrate.js';
|
|
|
10
10
|
import { LifecycleConstant } from '../lifecycleConstant.js';
|
|
11
11
|
import { __pendingListUpdates } from '../list.js';
|
|
12
12
|
import { __root, setRoot } from '../root.js';
|
|
13
|
+
import { destroyBackground } from './destroy.js';
|
|
14
|
+
import { applyRefQueue } from '../snapshot/workletRef.js';
|
|
13
15
|
import { SnapshotInstance, __page, snapshotInstanceManager } from '../snapshot.js';
|
|
14
|
-
import { takeGlobalRefPatchMap } from '../snapshot/ref.js';
|
|
15
16
|
import { isEmptyObject } from '../utils.js';
|
|
16
17
|
import { destroyWorklet } from '../worklet/destroy.js';
|
|
17
|
-
import { destroyBackground } from './destroy.js';
|
|
18
18
|
import { clearJSReadyEventIdSwap, isJSReady } from './event/jsReady.js';
|
|
19
19
|
import { increaseReloadVersion } from './pass.js';
|
|
20
|
+
import { setMainThreadHydrationFinished } from './patch/isMainThreadHydrationFinished.js';
|
|
20
21
|
import { deinitGlobalSnapshotPatch } from './patch/snapshotPatch.js';
|
|
22
|
+
import { shouldDelayUiOps } from './ref/delay.js';
|
|
21
23
|
import { renderMainThread } from './render.js';
|
|
22
|
-
import { setMainThreadHydrationFinished } from './patch/isMainThreadHydrationFinished.js';
|
|
23
24
|
function reloadMainThread(data, options) {
|
|
24
25
|
if (__PROFILE__) {
|
|
25
26
|
console.profile('reloadTemplate');
|
|
@@ -42,12 +43,12 @@ function reloadMainThread(data, options) {
|
|
|
42
43
|
});
|
|
43
44
|
// always call this before `__FlushElementTree`
|
|
44
45
|
__pendingListUpdates.flush();
|
|
46
|
+
applyRefQueue();
|
|
45
47
|
if (isJSReady) {
|
|
46
48
|
__OnLifecycleEvent([
|
|
47
49
|
LifecycleConstant.firstScreen, /* FIRST_SCREEN */
|
|
48
50
|
{
|
|
49
51
|
root: JSON.stringify(__root),
|
|
50
|
-
refPatch: JSON.stringify(takeGlobalRefPatchMap()),
|
|
51
52
|
},
|
|
52
53
|
]);
|
|
53
54
|
}
|
|
@@ -66,6 +67,8 @@ function reloadBackground(updateData) {
|
|
|
66
67
|
increaseReloadVersion();
|
|
67
68
|
// COW when modify `lynx.__initData` to make sure Provider & Consumer works
|
|
68
69
|
lynx.__initData = Object.assign({}, lynx.__initData, updateData);
|
|
70
|
+
shouldDelayUiOps.value = true;
|
|
71
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
69
72
|
render(__root.__jsx, __root);
|
|
70
73
|
if (__PROFILE__) {
|
|
71
74
|
console.profileEnd();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reload.js","sourceRoot":"","sources":["../../src/lifecycle/reload.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"reload.js","sourceRoot":"","sources":["../../src/lifecycle/reload.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ function renderMainThread() {
|
|
|
12
12
|
/* v8 ignore start */
|
|
13
13
|
if (process.env['NODE_ENV'] === 'test' && typeof __TESTING_FORCE_RENDER_TO_OPCODE__ !== 'undefined'
|
|
14
14
|
&& !__TESTING_FORCE_RENDER_TO_OPCODE__) {
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
15
16
|
render(__root.__jsx, __root);
|
|
16
17
|
}
|
|
17
18
|
else {
|
|
@@ -20,8 +21,7 @@ function renderMainThread() {
|
|
|
20
21
|
if (__PROFILE__) {
|
|
21
22
|
console.profile('renderToString');
|
|
22
23
|
}
|
|
23
|
-
|
|
24
|
-
opcodes = renderToString(__root.__jsx);
|
|
24
|
+
opcodes = renderToString(__root.__jsx, undefined);
|
|
25
25
|
}
|
|
26
26
|
catch (e) {
|
|
27
27
|
lynx.reportError(e);
|
|
@@ -35,6 +35,7 @@ function renderMainThread() {
|
|
|
35
35
|
if (__PROFILE__) {
|
|
36
36
|
console.profile('renderOpcodesInto');
|
|
37
37
|
}
|
|
38
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
38
39
|
renderOpcodesInto(opcodes, __root);
|
|
39
40
|
if (__ENABLE_SSR__) {
|
|
40
41
|
__root.__opcodes = opcodes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/lifecycle/render.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,SAAS,gBAAgB;IACvB,qBAAqB;IACrB,IACE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,IAAI,OAAO,kCAAkC,KAAK,WAAW;WAC5F,CAAC,kCAAkC,EACtC,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAa,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACpC,CAAC;YACD,
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/lifecycle/render.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,SAAS,gBAAgB;IACvB,qBAAqB;IACrB,IACE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,IAAI,OAAO,kCAAkC,KAAK,WAAW;WAC5F,CAAC,kCAAkC,EACtC,CAAC;QACD,iEAAiE;QACjE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAa,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACpC,CAAC;YACD,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,WAAW,CAAC,CAAU,CAAC,CAAC;YAC7B,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;gBAAS,CAAC;YACT,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QACD,iEAAiE;QACjE,iBAAiB,CAAC,OAAO,EAAE,MAAa,CAAC,CAAC;QAC1C,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC;QAC7B,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IACD,oBAAoB;AACtB,CAAC;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
export declare
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
export declare const enum LifecycleConstant {
|
|
2
|
+
firstScreen = "rLynxFirstScreen",
|
|
3
|
+
updateFromRoot = "updateFromRoot",
|
|
4
|
+
globalEventFromLepus = "globalEventFromLepus",
|
|
5
|
+
jsReady = "rLynxJSReady",
|
|
6
|
+
patchUpdate = "rLynxChange"
|
|
7
|
+
}
|
|
8
|
+
export interface FirstScreenData {
|
|
9
|
+
root: string;
|
|
10
|
+
jsReadyEventIdSwap: Record<string | number, number>;
|
|
8
11
|
}
|
|
9
12
|
export declare const enum NativeUpdateDataType {
|
|
10
13
|
UPDATE = 0,
|
|
@@ -1,14 +1,14 @@
|
|
|
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
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
4
|
+
export var LifecycleConstant;
|
|
5
|
+
(function (LifecycleConstant) {
|
|
6
|
+
LifecycleConstant["firstScreen"] = "rLynxFirstScreen";
|
|
7
|
+
LifecycleConstant["updateFromRoot"] = "updateFromRoot";
|
|
8
|
+
LifecycleConstant["globalEventFromLepus"] = "globalEventFromLepus";
|
|
9
|
+
LifecycleConstant["jsReady"] = "rLynxJSReady";
|
|
10
|
+
LifecycleConstant["patchUpdate"] = "rLynxChange";
|
|
11
|
+
})(LifecycleConstant || (LifecycleConstant = {}));
|
|
12
12
|
export var NativeUpdateDataType;
|
|
13
13
|
(function (NativeUpdateDataType) {
|
|
14
14
|
NativeUpdateDataType[NativeUpdateDataType["UPDATE"] = 0] = "UPDATE";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycleConstant.js","sourceRoot":"","sources":["../src/lifecycleConstant.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,MAAM,
|
|
1
|
+
{"version":3,"file":"lifecycleConstant.js","sourceRoot":"","sources":["../src/lifecycleConstant.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,MAAM,CAAN,IAAkB,iBAMjB;AAND,WAAkB,iBAAiB;IACjC,qDAAgC,CAAA;IAChC,sDAAiC,CAAA;IACjC,kEAA6C,CAAA;IAC7C,6CAAwB,CAAA;IACxB,gDAA2B,CAAA;AAC7B,CAAC,EANiB,iBAAiB,KAAjB,iBAAiB,QAMlC;AAOD,MAAM,CAAN,IAAkB,oBAGjB;AAHD,WAAkB,oBAAoB;IACpC,mEAAU,CAAA;IACV,iEAAS,CAAA;AACX,CAAC,EAHiB,oBAAoB,KAApB,oBAAoB,QAGrC"}
|
package/runtime/lib/list.d.ts
CHANGED