@lynx-js/react 0.108.0 → 0.109.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 +22 -0
- package/package.json +4 -4
- package/refresh/.turbo/turbo-build.log +1 -1
- package/runtime/jsx-dev-runtime/index.d.ts +13 -7
- package/runtime/jsx-runtime/index.d.ts +17 -7
- package/runtime/lib/gesture/processGesture.d.ts +2 -2
- package/runtime/lib/gesture/processGesture.js +14 -7
- package/runtime/lib/gesture/processGesture.js.map +1 -1
- package/runtime/lib/lifecycle/patch/isMainThreadHydrationFinished.d.ts +2 -0
- package/runtime/lib/lifecycle/patch/isMainThreadHydrationFinished.js +9 -0
- package/runtime/lib/lifecycle/patch/isMainThreadHydrationFinished.js.map +1 -0
- package/runtime/lib/lifecycle/patch/snapshotPatchApply.js +2 -2
- package/runtime/lib/lifecycle/patch/snapshotPatchApply.js.map +1 -1
- package/runtime/lib/lifecycle/patch/updateMainThread.js +4 -3
- package/runtime/lib/lifecycle/patch/updateMainThread.js.map +1 -1
- package/runtime/lib/lifecycle/reload.js +2 -0
- package/runtime/lib/lifecycle/reload.js.map +1 -1
- package/runtime/lib/snapshot/gesture.d.ts +1 -1
- package/runtime/lib/snapshot/gesture.js +4 -3
- package/runtime/lib/snapshot/gesture.js.map +1 -1
- package/runtime/lib/snapshot/ref.js.map +1 -1
- package/runtime/lib/snapshot/spread.d.ts +0 -6
- package/runtime/lib/snapshot/spread.js +4 -10
- package/runtime/lib/snapshot/spread.js.map +1 -1
- package/runtime/lib/snapshot/workletEvent.d.ts +2 -1
- package/runtime/lib/snapshot/workletEvent.js +4 -3
- package/runtime/lib/snapshot/workletEvent.js.map +1 -1
- package/runtime/lib/snapshot/workletRef.d.ts +4 -4
- package/runtime/lib/snapshot/workletRef.js +6 -4
- package/runtime/lib/snapshot/workletRef.js.map +1 -1
- package/runtime/lib/snapshot.d.ts +1 -0
- package/runtime/lib/snapshot.js +5 -4
- package/runtime/lib/snapshot.js.map +1 -1
- package/runtime/lib/worklet/runOnBackground.js +21 -12
- package/runtime/lib/worklet/runOnBackground.js.map +1 -1
- package/runtime/lib/worklet/workletRef.d.ts +1 -0
- package/runtime/lib/worklet/workletRef.js +14 -12
- package/runtime/lib/worklet/workletRef.js.map +1 -1
- package/runtime/src/gesture/processGesture.ts +23 -15
- package/runtime/src/lifecycle/patch/isMainThreadHydrationFinished.ts +10 -0
- package/runtime/src/lifecycle/patch/snapshotPatchApply.ts +8 -2
- package/runtime/src/lifecycle/patch/updateMainThread.ts +4 -3
- package/runtime/src/lifecycle/reload.ts +2 -0
- package/runtime/src/snapshot/gesture.ts +6 -4
- package/runtime/src/snapshot/ref.ts +2 -2
- package/runtime/src/snapshot/spread.ts +15 -5
- package/runtime/src/snapshot/workletEvent.ts +5 -3
- package/runtime/src/snapshot/workletRef.ts +17 -18
- package/runtime/src/snapshot.ts +6 -4
- package/runtime/src/worklet/runOnBackground.ts +37 -15
- package/runtime/src/worklet/workletRef.ts +15 -12
- package/testing-library/dist/vitest-global-setup.js +7 -0
- package/transform/dist/wasm.cjs +1 -1
- package/transform/index.d.ts +443 -14
- package/types/react.d.ts +1 -1
- package/worklet-runtime/dist/dev.js +133 -33
- package/worklet-runtime/dist/dev.js.map +4 -4
- package/worklet-runtime/dist/main.js +133 -33
- package/worklet-runtime/dist/main.js.map +4 -4
- package/worklet-runtime/lib/api/element.d.ts +3 -3
- package/worklet-runtime/lib/api/element.js +3 -3
- package/worklet-runtime/lib/api/element.js.map +1 -1
- package/worklet-runtime/lib/api/lepusQuerySelector.js +1 -3
- package/worklet-runtime/lib/api/lepusQuerySelector.js.map +1 -1
- package/worklet-runtime/lib/api/lynxApi.js +10 -10
- package/worklet-runtime/lib/api/lynxApi.js.map +1 -1
- package/worklet-runtime/lib/bindings/bindings.d.ts +1 -1
- package/worklet-runtime/lib/bindings/bindings.js +21 -8
- package/worklet-runtime/lib/bindings/bindings.js.map +1 -1
- package/worklet-runtime/lib/bindings/events.d.ts +4 -1
- package/worklet-runtime/lib/bindings/events.js.map +1 -1
- package/worklet-runtime/lib/bindings/index.d.ts +1 -1
- package/worklet-runtime/lib/bindings/index.js +1 -1
- package/worklet-runtime/lib/bindings/index.js.map +1 -1
- package/worklet-runtime/lib/bindings/loadRuntime.js +0 -2
- package/worklet-runtime/lib/bindings/loadRuntime.js.map +1 -1
- package/worklet-runtime/lib/bindings/types.d.ts +15 -5
- package/worklet-runtime/lib/bindings/types.js +3 -0
- package/worklet-runtime/lib/bindings/types.js.map +1 -1
- package/worklet-runtime/lib/delayRunOnBackground.d.ts +12 -0
- package/worklet-runtime/lib/delayRunOnBackground.js +23 -0
- package/worklet-runtime/lib/delayRunOnBackground.js.map +1 -0
- package/worklet-runtime/lib/delayWorkletEvent.js +2 -2
- package/worklet-runtime/lib/delayWorkletEvent.js.map +1 -1
- package/worklet-runtime/lib/global.d.ts +6 -3
- package/worklet-runtime/lib/hydrate.d.ts +11 -0
- package/worklet-runtime/lib/hydrate.js +86 -0
- package/worklet-runtime/lib/hydrate.js.map +1 -0
- package/worklet-runtime/lib/jsFunctionLifecycle.js +2 -2
- package/worklet-runtime/lib/jsFunctionLifecycle.js.map +1 -1
- package/worklet-runtime/lib/listeners.js.map +1 -1
- package/worklet-runtime/lib/utils/profile.d.ts +1 -1
- package/worklet-runtime/lib/utils/version.js +1 -1
- package/worklet-runtime/lib/workletRef.d.ts +6 -3
- package/worklet-runtime/lib/workletRef.js +33 -6
- package/worklet-runtime/lib/workletRef.js.map +1 -1
- package/worklet-runtime/lib/workletRuntime.js +12 -14
- package/worklet-runtime/lib/workletRuntime.js.map +1 -1
package/runtime/lib/snapshot.js
CHANGED
|
@@ -134,12 +134,15 @@ export const backgroundSnapshotInstanceManager = {
|
|
|
134
134
|
}
|
|
135
135
|
},
|
|
136
136
|
};
|
|
137
|
+
export function entryUniqID(uniqID, entryName) {
|
|
138
|
+
return entryName ? `${entryName}:${uniqID}` : uniqID;
|
|
139
|
+
}
|
|
137
140
|
export function createSnapshot(uniqID, create, update, slot, cssId, entryName) {
|
|
138
141
|
if (__DEV__ && __JS__
|
|
139
142
|
// `__globalSnapshotPatch` does not exist before hydration,
|
|
140
143
|
// so the snapshot of the first screen will not be sent to the main thread.
|
|
141
144
|
&& __globalSnapshotPatch
|
|
142
|
-
&& !snapshotManager.values.has(uniqID)
|
|
145
|
+
&& !snapshotManager.values.has(entryUniqID(uniqID, entryName))
|
|
143
146
|
// `create` may be `null` when loading a lazy bundle after hydration.
|
|
144
147
|
&& create !== null) {
|
|
145
148
|
// We only update the lepus snapshot if the `uniqID` is different.
|
|
@@ -151,9 +154,7 @@ export function createSnapshot(uniqID, create, update, slot, cssId, entryName) {
|
|
|
151
154
|
// As a result, both the static part (`create`) and the dynamic parts (`update` and `slot`) can be updated.
|
|
152
155
|
create.toString(), update?.map(f => f.toString()) ?? [], slot, cssId, entryName);
|
|
153
156
|
}
|
|
154
|
-
|
|
155
|
-
uniqID = `${entryName}:${uniqID}`;
|
|
156
|
-
}
|
|
157
|
+
uniqID = entryUniqID(uniqID, entryName);
|
|
157
158
|
const s = { create, update, slot, cssId, entryName };
|
|
158
159
|
snapshotManager.values.set(uniqID, s);
|
|
159
160
|
if (slot && slot[0] && slot[0][0] === DynamicPartType.ListChildren) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAiB1D,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC9F,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAC/F,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD;;;GAGG;AACH,MAAM,CAAN,IAAkB,eAOjB;AAPD,WAAkB,eAAe;IAC/B,qDAAQ,CAAA;IACR,yDAAM,CAAA;IACN,qDAAI,CAAA;IACJ,6DAAQ,CAAA;IACR,qEAAY,CAAA;IACZ,uEAAa,CAAA;AACf,CAAC,EAPiB,eAAe,KAAf,eAAe,QAOhC;AAgBD,MAAM,CAAC,IAAI,MAAoB,CAAC;AAChC,MAAM,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC;AACxB,MAAM,UAAU,SAAS,CAAC,IAAkB;IAC1C,MAAM,GAAG,IAAI,CAAC;IACd,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,MAAM,GAAG,SAAoC,CAAC;IAC9C,QAAQ,GAAG,CAAC,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAExB;IACF,MAAM,EAAE,eAAe,CAAC,IAAI,GAAG,CAAmB;QAChD;YACE,MAAM;YACN;gBACE,MAAM;oBACJ,qBAAqB;oBACrB,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;wBACvB,OAAO,EAAE,CAAC;oBACZ,CAAC;oBACD,oBAAoB;oBACpB,OAAO,CAAC,MAAO,CAAC,CAAC;gBACnB,CAAC;gBACD,MAAM,EAAE,EAAE;gBACV,IAAI,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACrC,YAAY,EAAE,KAAK;gBACnB,KAAK,EAAE,CAAC;aACT;SACF;QACD;YACE,SAAS;YACT;gBACE,MAAM;oBACJ,qBAAqB;oBACrB,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;wBACvB,OAAO,EAAE,CAAC;oBACZ,CAAC;oBACD,oBAAoB;oBACpB,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5C,CAAC;gBACD,MAAM,EAAE,EAAE;gBACV,IAAI,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACrC,YAAY,EAAE,KAAK;aACpB;SACF;QACD;YACE,IAAyB;YACzB;gBACE,MAAM;oBACJ,qBAAqB;oBACrB,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;wBACvB,OAAO,EAAE,CAAC;oBACZ,CAAC;oBACD,oBAAoB;oBACpB,OAAO,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACjD,CAAC;gBACD,MAAM,EAAE;oBACN,GAAG,CAAC,EAAE;wBACJ,qBAAqB;wBACrB,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;4BACvB,OAAO;wBACT,CAAC;wBACD,oBAAoB;wBACpB,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;4BACnB,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE,MAAM,EAAE,GAAG,CAAC,QAAS,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/D,CAAC;oBACH,CAAC;iBACF;gBACD,IAAI,EAAE,EAAE;gBACR,YAAY,EAAE,KAAK;aACpB;SACF;KACF,CAAC;CACH,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAIhC;IACF,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,eAAe,CAAC,IAAI,GAAG,EAA4B;IAC3D,KAAK;QACH,iDAAiD;QACjD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAM1C;IACF,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,eAAe,CAAC,IAAI,GAAG,EAAsC;IACrE,KAAK;QACH,iDAAiD;QACjD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IACD,QAAQ,CAAC,EAAU,EAAE,KAAa;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACtB,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC;IAClB,CAAC;IACD,cAAc,CAAC,GAAW;QACxB,MAAM,GAAG,GAAG,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,GAAG,CAAC,QAAS,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,CAAC,QAAS,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,SAAkB;IAC5D,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,MAAc,EACd,MAAiC,EACjC,MAAiC,EACjC,IAAsB,EACtB,KAAc,EACd,SAAkB;IAElB,IACE,OAAO,IAAI,MAAM;QACjB,2DAA2D;QAC3D,2EAA2E;WACxE,qBAAqB;WACrB,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC9D,qEAAqE;WAClE,MAAM,KAAK,IAAI,EAClB,CAAC;QACD,kEAAkE;QAClE,qEAAqE;QACrE,0IAA0I;QAC1I,qBAAqB,CAAC,IAAI,CACxB,iBAAiB,CAAC,oBAAoB,EACtC,MAAM;QACN,mGAAmG;QACnG,kDAAkD;QAClD,2GAA2G;QAC3G,MAAM,CAAC,QAAQ,EAAE,EACjB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EACpC,IAAI,EACJ,KAAK,EACL,SAAS,CACV,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAExC,MAAM,CAAC,GAAa,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC/D,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC,YAAY,EAAE,CAAC;QACnE,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAMD,MAAM,UAAU,wBAAwB,CACtC,EAAK,EACL,QAAyB;IAEzB,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,CAAC;IACb,KAAK,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;QACnB,wBAAwB,CAAC,EAAO,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AASD,MAAM,kBAAkB,GAAG,UAAU,CAAC;AACtC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB;;;;;;GAMG;AACH,MAAM,OAAO,gBAAgB;IAWR;IAVnB,IAAI,CAAS;IACb,cAAc,CAAW;IACzB,UAAU,CAA8B;IACxC,cAAc,CAA4B;IAC1C,QAAQ,CAAqB;IAC7B,oBAAoB,GAAG,CAAC,CAAC;IACzB,SAAS,CAAe;IACxB,iBAAiB,CAAsC;IACvD,sBAAsB,CAAO;IAE7B,YAAmB,IAAY,EAAE,EAAW;QAAzB,SAAI,GAAJ,IAAI,CAAQ;QAC7B,IAAI,CAAC,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QAExD,EAAE,KAAK,uBAAuB,CAAC,MAAM,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,cAAc;QACZ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7E,MAAM,QAAQ,GAAG,MAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAElC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,qBAAqB;YACrB,sFAAsF;YACtF,uFAAuF;YACvF,IAAI,SAAS,KAAK,kBAAkB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAChE,UAAU,CAAC,IAAI,CAAC,UAAW,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,sBAAsB;YACtB,IAAI,SAAS,KAAK,kBAAkB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAChE,+DAA+D;gBAC/D,UAAU,CAAC,IAAI,CAAC,UAAW,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,UAAW,EAAE,KAAK,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,qCAAqC;QACvC,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;YAC9B,OAAO,KAAK,EAAE,CAAC;gBACb,KAAK,CAAC,cAAc,EAAE,CAAC;gBAEvB,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,KAAK,CAAE,CAAC;gBAC1C,QAAQ,IAAI,EAAE,CAAC;oBACb,KAAK,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC1B,gBAAgB,CAAC,KAAK,CAAC,cAAe,EAAE,QAAQ,CAAC,YAAY,CAAE,CAAC,CAAC;wBACjE,QAAQ,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,cAAe,CAAC;wBAC/C,KAAK,EAAE,CAAC;wBACR,MAAM;oBACR,CAAC;oBACD,qBAAqB;oBACrB,KAAK,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC;wBACnC,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAE,CAAC,KAAK,SAAS,EAAE,CAAC;4BACpD,gBAAgB,CAAC,KAAK,CAAC,cAAe,EAAE,QAAQ,CAAC,YAAY,CAAE,CAAC,CAAC;wBACnE,CAAC;6BAAM,CAAC;4BACN,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAE,EAAE,KAAK,CAAC,cAAe,CAAC,CAAC;wBAClE,CAAC;wBACD,KAAK,EAAE,CAAC;wBACR,MAAM;oBACR,CAAC;oBACD,mBAAmB;oBACnB,KAAK,eAAe,CAAC,QAAQ,CAAC;oBAC9B,KAAK,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;wBAClC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAE,EAAE,KAAK,CAAC,cAAe,CAAC,CAAC;wBAChE,MAAM;oBACR,CAAC;gBACH,CAAC;gBAED,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAEhC,IAAI,YAAY,EAAE,CAAC;YACjB,qCAAqC;QACvC,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;YAC9B,OAAO,KAAK,EAAE,CAAC;gBACb,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBACzB,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,YAAY;QACV,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAqB,CAAC;QAExE,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACvC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE3B,YAAY;QACZ,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnF,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAC/B,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAEvC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,sBAAsB;IACtB,wBAAwB;IAEhB,QAAQ,GAA4B,IAAI,CAAC;IACzC,YAAY,GAA4B,IAAI,CAAC;IAC7C,WAAW,GAA4B,IAAI,CAAC;IAC5C,iBAAiB,GAA4B,IAAI,CAAC;IAClD,aAAa,GAA4B,IAAI,CAAC;IAEtD,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,sBAAsB;IACtB,4BAA4B;IAC5B,IAAI;IAEJ,QAAQ,CAAC,KAAuB;QAC9B,OAAO,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACnC,CAAC;IAED,IAAI,UAAU;QACZ,MAAM,KAAK,GAAuB,EAAE,CAAC;QACrC,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7B,OAAO,IAAI,EAAE,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,cAAc,CAAC,IAAsB,EAAE,UAA6B;QAClE,sEAAsE;QACtE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QAED,oEAAoE;QACpE,IAAI,UAAU,EAAE,CAAC;YACf,mEAAmE;YACnE,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;gBACjC,UAAU,CAAC,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAC;gBAClD,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAChC,CAAC;YACD,UAAU,CAAC,iBAAiB,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC;gBACtC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAChC,CAAC;YACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,aAAa,CAAC,IAAsB;QAClC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACzC,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,YAAY,CAAC,OAAyB,EAAE,YAA+B;QACrE,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC;YAChC,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,uBAAuB,CACrE,IAAI,CACL,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACzC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC;QAC/C,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBACxB,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;QACzC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,MAAM,CAAC,EAAE,YAAY,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;YACjD,MAAM,MAAM,GAAG,UAAU,CAAC,YAAY,CAAE,CAAC;YACzC,IAAI,YAAY,EAAE,CAAC;gBACjB,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,cAAe,CAAC,CAAC;YACnD,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACjB,qBAAqB,CACnB,MAAM,EACN,OAAO,CAAC,cAAe,EACvB,YAAY,CAAC,cAAc,CAC5B,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,cAAe,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1C,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC;YAEtD,IAAI,CAAC,KAAK,eAAe,CAAC,IAAI,EAAE,CAAC;gBAC/B,gBAAgB,CAAC,OAAO,CAAC,cAAe,EAAE,UAAU,CAAC,YAAY,CAAE,CAAC,CAAC;gBACrE,UAAU,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,cAAe,CAAC;gBAEnD,qBAAqB;YACvB,CAAC;iBAAM,IAAI,CAAC,KAAK,eAAe,CAAC,aAAa,EAAE,CAAC;gBAC/C,IAAI,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAE,CAAC,KAAK,SAAS,EAAE,CAAC;oBACtD,gBAAgB,CAAC,OAAO,CAAC,cAAe,EAAE,UAAU,CAAC,YAAY,CAAE,CAAC,CAAC;gBACvE,CAAC;qBAAM,CAAC;oBACN,eAAe,CAAC,UAAU,CAAC,YAAY,CAAE,EAAE,OAAO,CAAC,cAAe,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;YACD,mBAAmB;QACrB,CAAC;IACH,CAAC;IAED,WAAW,CAAC,KAAuB;QACjC,MAAM,CAAC,GAAG,GAAG,EAAE;YACb,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC1B,wBAAwB,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE;gBAClC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAClB,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC;YAChC,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,uBAAuB,CACrE,IAAI,CACL,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC,EAAE,CAAC;YACJ,OAAO;QACT,CAAC;QAED,wDAAwD;QACxD,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACnB,CAAC,EAAE,CAAC;QACJ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,CAAC,EAAE,YAAY,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;YACjD,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAE,EAAE,KAAK,CAAC,cAAe,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YACtC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,YAAY,CAAC,GAAoB,EAAE,KAAU;QAC3C,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,QAAa,EAAE,QAAa,EAAE,EAAE;YAC7D,IAAI,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA,CAAC;iBAC1C,CAAC;gBACJ,IAAI,CAAC,cAAc,CAAC,MAAO,CAAC,KAAK,CAAE,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;oBAClD,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;oBAClD,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACnE,IAAI,CAAC,QAAQ,KAAK,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;IACpE,CAAC;IAED,MAAM;QACJ,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,IAAI;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,QAAQ;YACrB,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;SAC1D,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
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 { WorkletEvents } from '@lynx-js/react/worklet-runtime/bindings';
|
|
4
|
+
import { WorkletEvents, delayRunOnBackground } from '@lynx-js/react/worklet-runtime/bindings';
|
|
5
5
|
import { destroyTasks } from './destroy.js';
|
|
6
6
|
import { WorkletExecIdMap } from './execMap.js';
|
|
7
7
|
import { isRunOnBackgroundEnabled } from './functionality.js';
|
|
@@ -87,19 +87,28 @@ function runOnBackground(f) {
|
|
|
87
87
|
return async (...params) => {
|
|
88
88
|
return new Promise((resolve) => {
|
|
89
89
|
const resolveId = onFunctionCall(resolve);
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
params,
|
|
98
|
-
resolveId,
|
|
99
|
-
}),
|
|
100
|
-
});
|
|
90
|
+
if (obj._isFirstScreen) {
|
|
91
|
+
delayRunOnBackground(obj, (fnId, execId) => {
|
|
92
|
+
dispatchRunBackgroundFunctionEvent(fnId, params, execId, resolveId);
|
|
93
|
+
});
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
dispatchRunBackgroundFunctionEvent(obj._jsFnId, params, obj._execId, resolveId);
|
|
101
97
|
});
|
|
102
98
|
};
|
|
103
99
|
}
|
|
100
|
+
function dispatchRunBackgroundFunctionEvent(fnId, params, execId, resolveId) {
|
|
101
|
+
lynx.getJSContext().dispatchEvent({
|
|
102
|
+
type: WorkletEvents.runOnBackground,
|
|
103
|
+
data: JSON.stringify({
|
|
104
|
+
obj: {
|
|
105
|
+
_jsFnId: fnId,
|
|
106
|
+
_execId: execId,
|
|
107
|
+
},
|
|
108
|
+
params,
|
|
109
|
+
resolveId,
|
|
110
|
+
}),
|
|
111
|
+
});
|
|
112
|
+
}
|
|
104
113
|
export { registerWorkletCtx, runJSFunction, runOnBackground };
|
|
105
114
|
//# sourceMappingURL=runOnBackground.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runOnBackground.js","sourceRoot":"","sources":["../../src/worklet/runOnBackground.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;
|
|
1
|
+
{"version":3,"file":"runOnBackground.js","sourceRoot":"","sources":["../../src/worklet/runOnBackground.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import { WorkletEvents } from '@lynx-js/react/worklet-runtime/bindings';
|
|
2
2
|
import { addWorkletRefInitValue } from './workletRefPool.js';
|
|
3
3
|
import { useMemo } from '../hooks/react.js';
|
|
4
|
-
|
|
4
|
+
// Split into two variables for testing purposes
|
|
5
|
+
let lastIdBG = 0;
|
|
6
|
+
let lastIdMT = 0;
|
|
7
|
+
export function clearWorkletRefLastIdForTesting() {
|
|
8
|
+
lastIdBG = lastIdMT = 0;
|
|
9
|
+
}
|
|
5
10
|
class WorkletRef {
|
|
6
11
|
/**
|
|
7
12
|
* @internal
|
|
8
13
|
*/
|
|
9
|
-
|
|
14
|
+
_wvid;
|
|
10
15
|
/**
|
|
11
16
|
* @internal
|
|
12
17
|
*/
|
|
@@ -23,17 +28,14 @@ class WorkletRef {
|
|
|
23
28
|
* @internal
|
|
24
29
|
*/
|
|
25
30
|
constructor(initValue, type) {
|
|
31
|
+
this._initValue = initValue;
|
|
32
|
+
this._type = type;
|
|
26
33
|
if (__JS__) {
|
|
27
|
-
this.
|
|
28
|
-
this.
|
|
29
|
-
this._type = type;
|
|
30
|
-
addWorkletRefInitValue(this._id, initValue);
|
|
34
|
+
this._wvid = ++lastIdBG;
|
|
35
|
+
addWorkletRefInitValue(this._wvid, initValue);
|
|
31
36
|
}
|
|
32
37
|
else {
|
|
33
|
-
|
|
34
|
-
// The real WorkletRef will be generated by the worklet runtime.
|
|
35
|
-
this._id = -1;
|
|
36
|
-
this._type = '__LEPUS__';
|
|
38
|
+
this._wvid = --lastIdMT;
|
|
37
39
|
}
|
|
38
40
|
}
|
|
39
41
|
get current() {
|
|
@@ -60,7 +62,7 @@ class WorkletRef {
|
|
|
60
62
|
*/
|
|
61
63
|
toJSON() {
|
|
62
64
|
return {
|
|
63
|
-
_wvid: this.
|
|
65
|
+
_wvid: this._wvid,
|
|
64
66
|
};
|
|
65
67
|
}
|
|
66
68
|
}
|
|
@@ -75,7 +77,7 @@ export class MainThreadRef extends WorkletRef {
|
|
|
75
77
|
constructor(initValue) {
|
|
76
78
|
super(initValue, 'main-thread');
|
|
77
79
|
if (__JS__) {
|
|
78
|
-
const id = this.
|
|
80
|
+
const id = this._wvid;
|
|
79
81
|
this._lifecycleObserver = lynx.getNativeApp().createJSObjectDestructionObserver?.(() => {
|
|
80
82
|
lynx.getCoreContext?.().dispatchEvent({
|
|
81
83
|
type: WorkletEvents.releaseWorkletRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workletRef.js","sourceRoot":"","sources":["../../src/worklet/workletRef.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAExE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,IAAI,MAAM,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"workletRef.js","sourceRoot":"","sources":["../../src/worklet/workletRef.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAExE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,gDAAgD;AAChD,IAAI,QAAQ,GAAG,CAAC,CAAC;AACjB,IAAI,QAAQ,GAAG,CAAC,CAAC;AAEjB,MAAM,UAAU,+BAA+B;IAC7C,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,MAAe,UAAU;IACvB;;OAEG;IACO,KAAK,CAAS;IACxB;;OAEG;IACO,UAAU,CAAgB;IACpC;;OAEG;IACO,KAAK,CAAS;IACxB;;OAEG;IACO,kBAAkB,CAAU;IAEtC;;OAEG;IACH,YAAsB,SAAY,EAAE,IAAY;QAC9C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,GAAG,EAAE,QAAQ,CAAC;YACxB,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,EAAE,QAAQ,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,IAAI,OAAO;QACT,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;QAC1G,CAAC;QACD,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;YACzB,oBAAoB;YACpB,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;QAC/G,CAAC;QACD,oBAAoB;QACpB,OAAO,SAAc,CAAC;IACxB,CAAC;IAED,IAAI,OAAO,CAAC,CAAI;QACd,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;QAC1G,CAAC;QACD,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;QAC/G,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,aAAiB,SAAQ,UAAa;IACjD,YAAY,SAAY;QACtB,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAChC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;YACtB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,iCAAiC,EAAE,CAAC,GAAG,EAAE;gBACrF,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,aAAa,CAAC;oBACpC,IAAI,EAAE,aAAa,CAAC,iBAAiB;oBACrC,IAAI,EAAE;wBACJ,EAAE;qBACH;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF;AA2HD,MAAM,UAAU,gBAAgB,CAAI,SAAa;IAC/C,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,OAAO,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
|
|
@@ -1,17 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
type ComposedGesture,
|
|
5
|
-
type BaseGesture,
|
|
6
|
-
type GestureConfig,
|
|
7
|
-
} from './types.js';
|
|
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.
|
|
8
4
|
import { onWorkletCtxUpdate } from '@lynx-js/react/worklet-runtime/bindings';
|
|
9
5
|
|
|
6
|
+
import { GestureTypeInner } from './types.js';
|
|
7
|
+
import type { BaseGesture, ComposedGesture, GestureConfig, GestureKind } from './types.js';
|
|
8
|
+
|
|
10
9
|
function isSerializedGesture(gesture: GestureKind): boolean {
|
|
11
10
|
return gesture.__isSerialized ?? false;
|
|
12
11
|
}
|
|
13
12
|
|
|
14
|
-
function getGestureInfo(
|
|
13
|
+
function getGestureInfo(
|
|
14
|
+
gesture: BaseGesture,
|
|
15
|
+
oldGesture: BaseGesture | undefined,
|
|
16
|
+
isFirstScreen: boolean,
|
|
17
|
+
dom: FiberElement,
|
|
18
|
+
) {
|
|
15
19
|
const config = {
|
|
16
20
|
callbacks: [],
|
|
17
21
|
} as GestureConfig;
|
|
@@ -22,12 +26,11 @@ function getGestureInfo(gesture: BaseGesture, dom: FiberElement) {
|
|
|
22
26
|
}
|
|
23
27
|
|
|
24
28
|
for (
|
|
25
|
-
const key of Object.keys(baseGesture.callbacks)
|
|
26
|
-
keyof BaseGesture['callbacks']
|
|
27
|
-
>
|
|
29
|
+
const key of Object.keys(baseGesture.callbacks)
|
|
28
30
|
) {
|
|
29
31
|
const callback = baseGesture.callbacks[key]!;
|
|
30
|
-
|
|
32
|
+
const oldCallback = oldGesture?.callbacks[key];
|
|
33
|
+
onWorkletCtxUpdate(callback, oldCallback, isFirstScreen, dom);
|
|
31
34
|
config.callbacks.push({
|
|
32
35
|
name: key,
|
|
33
36
|
callback: callback,
|
|
@@ -49,6 +52,8 @@ function getGestureInfo(gesture: BaseGesture, dom: FiberElement) {
|
|
|
49
52
|
export function processGesture(
|
|
50
53
|
dom: FiberElement,
|
|
51
54
|
gesture: GestureKind,
|
|
55
|
+
oldGesture: GestureKind | undefined,
|
|
56
|
+
isFirstScreen: boolean,
|
|
52
57
|
gestureOptions?: {
|
|
53
58
|
domSet: boolean;
|
|
54
59
|
},
|
|
@@ -63,13 +68,16 @@ export function processGesture(
|
|
|
63
68
|
}
|
|
64
69
|
|
|
65
70
|
if (gesture.type === GestureTypeInner.COMPOSED) {
|
|
66
|
-
for (const subGesture of (gesture as ComposedGesture).gestures) {
|
|
67
|
-
processGesture(dom, subGesture,
|
|
71
|
+
for (const [index, subGesture] of (gesture as ComposedGesture).gestures.entries()) {
|
|
72
|
+
processGesture(dom, subGesture, (oldGesture as ComposedGesture)?.gestures[index], isFirstScreen, {
|
|
73
|
+
domSet: true,
|
|
74
|
+
});
|
|
68
75
|
}
|
|
69
76
|
} else {
|
|
70
77
|
const baseGesture = gesture as BaseGesture;
|
|
78
|
+
const oldBaseGesture = oldGesture as BaseGesture | undefined;
|
|
71
79
|
|
|
72
|
-
const { config, relationMap } = getGestureInfo(baseGesture, dom);
|
|
80
|
+
const { config, relationMap } = getGestureInfo(baseGesture, oldBaseGesture, isFirstScreen, dom);
|
|
73
81
|
__SetGestureDetector(
|
|
74
82
|
dom,
|
|
75
83
|
baseGesture.id,
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { onHydrationFinished } from '@lynx-js/react/worklet-runtime/bindings';
|
|
2
|
+
|
|
3
|
+
export let isMainThreadHydrationFinished = false;
|
|
4
|
+
|
|
5
|
+
export function setMainThreadHydrationFinished(isFinished: boolean): void {
|
|
6
|
+
if (isFinished && !isMainThreadHydrationFinished) {
|
|
7
|
+
onHydrationFinished();
|
|
8
|
+
}
|
|
9
|
+
isMainThreadHydrationFinished = isFinished;
|
|
10
|
+
}
|
|
@@ -13,7 +13,13 @@
|
|
|
13
13
|
* order and with proper error handling.
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
|
-
import {
|
|
16
|
+
import {
|
|
17
|
+
SnapshotInstance,
|
|
18
|
+
createSnapshot,
|
|
19
|
+
entryUniqID,
|
|
20
|
+
snapshotInstanceManager,
|
|
21
|
+
snapshotManager,
|
|
22
|
+
} from '../../snapshot.js';
|
|
17
23
|
import type { SnapshotPatch } from './snapshotPatch.js';
|
|
18
24
|
import { SnapshotOperation } from './snapshotPatch.js';
|
|
19
25
|
|
|
@@ -94,7 +100,7 @@ export function snapshotPatchApply(snapshotPatch: SnapshotPatch): void {
|
|
|
94
100
|
const cssId: number = snapshotPatch[++i] ?? 0;
|
|
95
101
|
const entryName: string | undefined = snapshotPatch[++i];
|
|
96
102
|
|
|
97
|
-
if (!snapshotManager.values.has(uniqID)) {
|
|
103
|
+
if (!snapshotManager.values.has(entryUniqID(uniqID, entryName))) {
|
|
98
104
|
// HMR-related
|
|
99
105
|
// Update the evaluated snapshots from JS.
|
|
100
106
|
createSnapshot(
|
|
@@ -2,17 +2,18 @@
|
|
|
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
|
|
|
5
|
-
import {
|
|
5
|
+
import { updateWorkletRefInitValueChanges } from '@lynx-js/react/worklet-runtime/bindings';
|
|
6
6
|
|
|
7
7
|
import type { PatchList, PatchOptions } from './commit.js';
|
|
8
8
|
import { snapshotPatchApply } from './snapshotPatchApply.js';
|
|
9
9
|
import { LifecycleConstant } from '../../lifecycleConstant.js';
|
|
10
10
|
import { __pendingListUpdates } from '../../list.js';
|
|
11
|
-
import {
|
|
11
|
+
import { markTiming, PerformanceTimingKeys, setPipeline } from '../../lynx/performance.js';
|
|
12
12
|
import { takeGlobalRefPatchMap } from '../../snapshot/ref.js';
|
|
13
13
|
import { __page } from '../../snapshot.js';
|
|
14
14
|
import { isEmptyObject } from '../../utils.js';
|
|
15
15
|
import { getReloadVersion } from '../pass.js';
|
|
16
|
+
import { setMainThreadHydrationFinished } from './isMainThreadHydrationFinished.js';
|
|
16
17
|
|
|
17
18
|
function updateMainThread(
|
|
18
19
|
{ data, patchOptions }: {
|
|
@@ -47,7 +48,7 @@ function updateMainThread(
|
|
|
47
48
|
markTiming(PerformanceTimingKeys.patchChangesEnd);
|
|
48
49
|
markTiming(PerformanceTimingKeys.mtsRenderEnd);
|
|
49
50
|
if (patchOptions.isHydration) {
|
|
50
|
-
|
|
51
|
+
setMainThreadHydrationFinished(true);
|
|
51
52
|
}
|
|
52
53
|
if (patchOptions.pipelineOptions) {
|
|
53
54
|
flushOptions.pipelineOptions = patchOptions.pipelineOptions;
|
|
@@ -22,6 +22,7 @@ import { clearJSReadyEventIdSwap, isJSReady } from './event/jsReady.js';
|
|
|
22
22
|
import { increaseReloadVersion } from './pass.js';
|
|
23
23
|
import { deinitGlobalSnapshotPatch } from './patch/snapshotPatch.js';
|
|
24
24
|
import { renderMainThread } from './render.js';
|
|
25
|
+
import { setMainThreadHydrationFinished } from './patch/isMainThreadHydrationFinished.js';
|
|
25
26
|
|
|
26
27
|
function reloadMainThread(data: any, options: UpdatePageOption): void {
|
|
27
28
|
if (__PROFILE__) {
|
|
@@ -38,6 +39,7 @@ function reloadMainThread(data: any, options: UpdatePageOption): void {
|
|
|
38
39
|
snapshotInstanceManager.clear();
|
|
39
40
|
__pendingListUpdates.clear();
|
|
40
41
|
clearJSReadyEventIdSwap();
|
|
42
|
+
setMainThreadHydrationFinished(false);
|
|
41
43
|
|
|
42
44
|
const oldRoot = __root;
|
|
43
45
|
setRoot(new SnapshotInstance('root'));
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { SnapshotInstance } from '../snapshot.js';
|
|
2
1
|
import { processGesture } from '../gesture/processGesture.js';
|
|
2
|
+
import type { GestureKind } from '../gesture/types.js';
|
|
3
|
+
import { isMainThreadHydrationFinished } from '../lifecycle/patch/isMainThreadHydrationFinished.js';
|
|
4
|
+
import { SnapshotInstance } from '../snapshot.js';
|
|
3
5
|
|
|
4
6
|
export function updateGesture(
|
|
5
7
|
snapshot: SnapshotInstance,
|
|
6
8
|
expIndex: number,
|
|
7
|
-
|
|
9
|
+
oldValue: any,
|
|
8
10
|
elementIndex: number,
|
|
9
11
|
workletType: string,
|
|
10
12
|
): void {
|
|
@@ -14,10 +16,10 @@ export function updateGesture(
|
|
|
14
16
|
if (__PROFILE__) {
|
|
15
17
|
console.profile('updateGesture');
|
|
16
18
|
}
|
|
17
|
-
const value = snapshot.__values![expIndex];
|
|
19
|
+
const value = snapshot.__values![expIndex] as GestureKind;
|
|
18
20
|
|
|
19
21
|
if (workletType === 'main-thread') {
|
|
20
|
-
processGesture(snapshot.__elements[elementIndex]!, value);
|
|
22
|
+
processGesture(snapshot.__elements[elementIndex]!, value, oldValue as GestureKind, !isMainThreadHydrationFinished);
|
|
21
23
|
}
|
|
22
24
|
if (__PROFILE__) {
|
|
23
25
|
console.profileEnd();
|
|
@@ -1,7 +1,7 @@
|
|
|
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 type { Worklet,
|
|
4
|
+
import type { Element, Worklet, WorkletRefImpl } from '@lynx-js/react/worklet-runtime/bindings';
|
|
5
5
|
|
|
6
6
|
import { nextCommitTaskId } from '../lifecycle/patch/commit.js';
|
|
7
7
|
import { SnapshotInstance, backgroundSnapshotInstanceManager } from '../snapshot.js';
|
|
@@ -20,7 +20,7 @@ function unref(snapshot: SnapshotInstance, recursive: boolean): void {
|
|
|
20
20
|
|
|
21
21
|
snapshot.__worklet_ref_set?.forEach(v => {
|
|
22
22
|
if (v) {
|
|
23
|
-
workletUnRef(v as Worklet |
|
|
23
|
+
workletUnRef(v as Worklet | WorkletRefImpl<Element>);
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
26
|
snapshot.__worklet_ref_set?.clear();
|
|
@@ -9,8 +9,10 @@
|
|
|
9
9
|
* optimized attribute updates at compile time, avoiding runtime object spreads.
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
+
import type { Worklet } from '@lynx-js/react/worklet-runtime/bindings';
|
|
13
|
+
|
|
12
14
|
import { BackgroundSnapshotInstance } from '../backgroundSnapshot.js';
|
|
13
|
-
import {
|
|
15
|
+
import { ListUpdateInfoRecording, __pendingListUpdates } from '../list.js';
|
|
14
16
|
import { SnapshotInstance } from '../snapshot.js';
|
|
15
17
|
import { isDirectOrDeepEqual, isEmptyObject, pick } from '../utils.js';
|
|
16
18
|
import { updateEvent } from './event.js';
|
|
@@ -37,7 +39,7 @@ const noFlattenAttributes = /* @__PURE__ */ new Set<string>([
|
|
|
37
39
|
]);
|
|
38
40
|
|
|
39
41
|
function updateSpread(snapshot: SnapshotInstance, index: number, oldValue: any, elementIndex: number): void {
|
|
40
|
-
oldValue
|
|
42
|
+
oldValue ??= {};
|
|
41
43
|
let newValue: Record<string, any> = snapshot.__values![index]; // compiler guarantee this must be an object;
|
|
42
44
|
|
|
43
45
|
// @ts-ignore
|
|
@@ -132,7 +134,7 @@ function updateSpread(snapshot: SnapshotInstance, index: number, oldValue: any,
|
|
|
132
134
|
__elements: snapshot.__elements,
|
|
133
135
|
} as SnapshotInstance;
|
|
134
136
|
updateGesture(fakeSnapshot, index, oldValue[key], elementIndex, workletType);
|
|
135
|
-
} else if ((match =
|
|
137
|
+
} else if ((match = eventRegExp.exec(key))) {
|
|
136
138
|
const workletType = match[2];
|
|
137
139
|
const eventType = eventTypeMap[match[3]!]!;
|
|
138
140
|
const eventName = match[4]!;
|
|
@@ -150,7 +152,15 @@ function updateSpread(snapshot: SnapshotInstance, index: number, oldValue: any,
|
|
|
150
152
|
__elements: snapshot.__elements,
|
|
151
153
|
} as SnapshotInstance;
|
|
152
154
|
if (workletType) {
|
|
153
|
-
updateWorkletEvent(
|
|
155
|
+
updateWorkletEvent(
|
|
156
|
+
fakeSnapshot,
|
|
157
|
+
index,
|
|
158
|
+
oldValue[key] as Worklet,
|
|
159
|
+
elementIndex,
|
|
160
|
+
workletType,
|
|
161
|
+
eventType,
|
|
162
|
+
eventName,
|
|
163
|
+
);
|
|
154
164
|
} else {
|
|
155
165
|
updateEvent(fakeSnapshot, index, oldValue[key], elementIndex, eventType, eventName, key);
|
|
156
166
|
}
|
|
@@ -220,7 +230,7 @@ function updateSpread(snapshot: SnapshotInstance, index: number, oldValue: any,
|
|
|
220
230
|
__elements: snapshot.__elements,
|
|
221
231
|
} as SnapshotInstance;
|
|
222
232
|
updateGesture(fakeSnapshot, index, oldValue[key], elementIndex, workletType);
|
|
223
|
-
} else if ((match =
|
|
233
|
+
} else if ((match = eventRegExp.exec(key))) {
|
|
224
234
|
const workletType = match[2];
|
|
225
235
|
const eventType = eventTypeMap[match[3]!]!;
|
|
226
236
|
const eventName = match[4]!;
|
|
@@ -2,13 +2,15 @@
|
|
|
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 type { Worklet } from '@lynx-js/react/worklet-runtime/bindings';
|
|
5
6
|
|
|
6
7
|
import { SnapshotInstance } from '../snapshot.js';
|
|
8
|
+
import { isMainThreadHydrationFinished } from '../lifecycle/patch/isMainThreadHydrationFinished.js';
|
|
7
9
|
|
|
8
10
|
function updateWorkletEvent(
|
|
9
11
|
snapshot: SnapshotInstance,
|
|
10
12
|
expIndex: number,
|
|
11
|
-
|
|
13
|
+
oldValue: Worklet,
|
|
12
14
|
elementIndex: number,
|
|
13
15
|
workletType: string,
|
|
14
16
|
eventType: string,
|
|
@@ -17,11 +19,11 @@ function updateWorkletEvent(
|
|
|
17
19
|
if (!snapshot.__elements) {
|
|
18
20
|
return;
|
|
19
21
|
}
|
|
20
|
-
const value = snapshot.__values![expIndex] || {};
|
|
22
|
+
const value = (snapshot.__values![expIndex] as Worklet || undefined) ?? {};
|
|
21
23
|
value._workletType = workletType;
|
|
22
24
|
|
|
23
25
|
if (workletType === 'main-thread') {
|
|
24
|
-
onWorkletCtxUpdate(value, snapshot.__elements[elementIndex]!);
|
|
26
|
+
onWorkletCtxUpdate(value, oldValue, !isMainThreadHydrationFinished, snapshot.__elements[elementIndex]!);
|
|
25
27
|
const event = {
|
|
26
28
|
type: 'worklet',
|
|
27
29
|
value,
|
|
@@ -1,23 +1,19 @@
|
|
|
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
|
-
|
|
6
|
-
type WorkletRef,
|
|
7
|
-
runWorkletCtx,
|
|
8
|
-
updateWorkletRef as update,
|
|
9
|
-
} from '@lynx-js/react/worklet-runtime/bindings';
|
|
4
|
+
import { runWorkletCtx, updateWorkletRef as update } from '@lynx-js/react/worklet-runtime/bindings';
|
|
5
|
+
import type { Element, Worklet, WorkletRefImpl } from '@lynx-js/react/worklet-runtime/bindings';
|
|
10
6
|
|
|
11
|
-
import { SnapshotInstance } from '../snapshot.js';
|
|
7
|
+
import type { SnapshotInstance } from '../snapshot.js';
|
|
12
8
|
|
|
13
|
-
function workletUnRef(value: Worklet |
|
|
9
|
+
function workletUnRef(value: Worklet | WorkletRefImpl<Element>): void {
|
|
14
10
|
if ('_wvid' in value) {
|
|
15
|
-
update(value as
|
|
11
|
+
update(value as WorkletRefImpl<Element>, null);
|
|
16
12
|
} else if ('_wkltId' in value) {
|
|
17
13
|
if (typeof value._unmount == 'function') {
|
|
18
|
-
value._unmount();
|
|
14
|
+
(value._unmount as () => void)();
|
|
19
15
|
} else {
|
|
20
|
-
runWorkletCtx(value
|
|
16
|
+
runWorkletCtx(value, [null]);
|
|
21
17
|
}
|
|
22
18
|
}
|
|
23
19
|
}
|
|
@@ -25,7 +21,7 @@ function workletUnRef(value: Worklet | WorkletRef<unknown>): void {
|
|
|
25
21
|
function updateWorkletRef(
|
|
26
22
|
snapshot: SnapshotInstance,
|
|
27
23
|
expIndex: number,
|
|
28
|
-
oldValue:
|
|
24
|
+
oldValue: WorkletRefImpl<Element> | Worklet | undefined,
|
|
29
25
|
elementIndex: number,
|
|
30
26
|
_workletType: string,
|
|
31
27
|
): void {
|
|
@@ -38,15 +34,18 @@ function updateWorkletRef(
|
|
|
38
34
|
snapshot.__worklet_ref_set?.delete(oldValue);
|
|
39
35
|
}
|
|
40
36
|
|
|
41
|
-
const value = snapshot.__values![expIndex];
|
|
37
|
+
const value = snapshot.__values![expIndex] as (WorkletRefImpl<Element> | Worklet | undefined);
|
|
42
38
|
if (value === null || value === undefined) {
|
|
43
39
|
// do nothing
|
|
44
40
|
} else if (value._wvid) {
|
|
45
|
-
update(value as
|
|
46
|
-
} else if (value._wkltId) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
41
|
+
update(value as WorkletRefImpl<Element>, snapshot.__elements[elementIndex]!);
|
|
42
|
+
} else if ((value as Worklet)._wkltId) {
|
|
43
|
+
(value as Worklet)._unmount = runWorkletCtx(value as Worklet, [{
|
|
44
|
+
elementRefptr: (snapshot.__elements[elementIndex]!) as any,
|
|
45
|
+
}]) as () => void;
|
|
46
|
+
/* v8 ignore next 3 */
|
|
47
|
+
} else if (value._type === '__LEPUS__' || (value as Worklet)._lepusWorkletHash) {
|
|
48
|
+
// for pre-0.99 compatibility
|
|
50
49
|
// During the initial render, we will not update the WorkletRef because the background thread is not ready yet.
|
|
51
50
|
} else {
|
|
52
51
|
throw new Error('MainThreadRef: main-thread:ref must be of type MainThreadRef or main-thread function.');
|
package/runtime/src/snapshot.ts
CHANGED
|
@@ -181,6 +181,10 @@ export const backgroundSnapshotInstanceManager: {
|
|
|
181
181
|
},
|
|
182
182
|
};
|
|
183
183
|
|
|
184
|
+
export function entryUniqID(uniqID: string, entryName?: string): string {
|
|
185
|
+
return entryName ? `${entryName}:${uniqID}` : uniqID;
|
|
186
|
+
}
|
|
187
|
+
|
|
184
188
|
export function createSnapshot(
|
|
185
189
|
uniqID: string,
|
|
186
190
|
create: Snapshot['create'] | null,
|
|
@@ -194,7 +198,7 @@ export function createSnapshot(
|
|
|
194
198
|
// `__globalSnapshotPatch` does not exist before hydration,
|
|
195
199
|
// so the snapshot of the first screen will not be sent to the main thread.
|
|
196
200
|
&& __globalSnapshotPatch
|
|
197
|
-
&& !snapshotManager.values.has(uniqID)
|
|
201
|
+
&& !snapshotManager.values.has(entryUniqID(uniqID, entryName))
|
|
198
202
|
// `create` may be `null` when loading a lazy bundle after hydration.
|
|
199
203
|
&& create !== null
|
|
200
204
|
) {
|
|
@@ -215,9 +219,7 @@ export function createSnapshot(
|
|
|
215
219
|
);
|
|
216
220
|
}
|
|
217
221
|
|
|
218
|
-
|
|
219
|
-
uniqID = `${entryName}:${uniqID}`;
|
|
220
|
-
}
|
|
222
|
+
uniqID = entryUniqID(uniqID, entryName);
|
|
221
223
|
|
|
222
224
|
const s: Snapshot = { create, update, slot, cssId, entryName };
|
|
223
225
|
snapshotManager.values.set(uniqID, s);
|