@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.
Files changed (202) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/components/lib/Page.js.map +1 -1
  3. package/components/src/Page.ts +1 -1
  4. package/package.json +1 -1
  5. package/refresh/.turbo/turbo-build.log +1 -1
  6. package/runtime/lib/backgroundSnapshot.d.ts +2 -1
  7. package/runtime/lib/backgroundSnapshot.js +66 -42
  8. package/runtime/lib/backgroundSnapshot.js.map +1 -1
  9. package/runtime/lib/compat/initData.d.ts +7 -5
  10. package/runtime/lib/compat/initData.js +1 -2
  11. package/runtime/lib/compat/initData.js.map +1 -1
  12. package/runtime/lib/compat/lynxComponent.js +10 -12
  13. package/runtime/lib/compat/lynxComponent.js.map +1 -1
  14. package/runtime/lib/debug/profile.js +1 -0
  15. package/runtime/lib/debug/profile.js.map +1 -1
  16. package/runtime/lib/gesture/processGestureBagkround.d.ts +1 -1
  17. package/runtime/lib/gesture/processGestureBagkround.js +4 -1
  18. package/runtime/lib/gesture/processGestureBagkround.js.map +1 -1
  19. package/runtime/lib/gesture/types.js.map +1 -1
  20. package/runtime/lib/hooks/react.js +3 -3
  21. package/runtime/lib/hooks/react.js.map +1 -1
  22. package/runtime/lib/hooks/useLynxGlobalEventListener.d.ts +1 -1
  23. package/runtime/lib/hydrate.d.ts +1 -1
  24. package/runtime/lib/hydrate.js +5 -4
  25. package/runtime/lib/hydrate.js.map +1 -1
  26. package/runtime/lib/internal.d.ts +3 -2
  27. package/runtime/lib/internal.js +3 -2
  28. package/runtime/lib/internal.js.map +1 -1
  29. package/runtime/lib/legacy-react-runtime/index.js +1 -1
  30. package/runtime/lib/legacy-react-runtime/index.js.map +1 -1
  31. package/runtime/lib/lifecycle/destroy.js +1 -0
  32. package/runtime/lib/lifecycle/destroy.js.map +1 -1
  33. package/runtime/lib/lifecycle/event/delayEvents.js +3 -0
  34. package/runtime/lib/lifecycle/event/delayEvents.js.map +1 -1
  35. package/runtime/lib/lifecycle/event/delayLifecycleEvents.d.ts +3 -2
  36. package/runtime/lib/lifecycle/event/delayLifecycleEvents.js +1 -12
  37. package/runtime/lib/lifecycle/event/delayLifecycleEvents.js.map +1 -1
  38. package/runtime/lib/lifecycle/event/jsReady.d.ts +1 -1
  39. package/runtime/lib/lifecycle/event/jsReady.js +3 -2
  40. package/runtime/lib/lifecycle/event/jsReady.js.map +1 -1
  41. package/runtime/lib/lifecycle/patch/commit.d.ts +0 -2
  42. package/runtime/lib/lifecycle/patch/commit.js +8 -36
  43. package/runtime/lib/lifecycle/patch/commit.js.map +1 -1
  44. package/runtime/lib/lifecycle/patch/error.d.ts +8 -0
  45. package/runtime/lib/lifecycle/patch/error.js +47 -0
  46. package/runtime/lib/lifecycle/patch/error.js.map +1 -0
  47. package/runtime/lib/lifecycle/patch/isMainThreadHydrationFinished.js +3 -0
  48. package/runtime/lib/lifecycle/patch/isMainThreadHydrationFinished.js.map +1 -1
  49. package/runtime/lib/lifecycle/patch/snapshotPatch.d.ts +2 -2
  50. package/runtime/lib/lifecycle/patch/snapshotPatch.js.map +1 -1
  51. package/runtime/lib/lifecycle/patch/snapshotPatchApply.js +10 -10
  52. package/runtime/lib/lifecycle/patch/snapshotPatchApply.js.map +1 -1
  53. package/runtime/lib/lifecycle/patch/updateMainThread.d.ts +0 -1
  54. package/runtime/lib/lifecycle/patch/updateMainThread.js +7 -14
  55. package/runtime/lib/lifecycle/patch/updateMainThread.js.map +1 -1
  56. package/runtime/lib/lifecycle/ref/delay.d.ts +31 -0
  57. package/runtime/lib/lifecycle/ref/delay.js +80 -0
  58. package/runtime/lib/lifecycle/ref/delay.js.map +1 -0
  59. package/runtime/lib/lifecycle/reload.d.ts +1 -1
  60. package/runtime/lib/lifecycle/reload.js +8 -5
  61. package/runtime/lib/lifecycle/reload.js.map +1 -1
  62. package/runtime/lib/lifecycle/render.js +3 -2
  63. package/runtime/lib/lifecycle/render.js.map +1 -1
  64. package/runtime/lib/lifecycleConstant.d.ts +10 -7
  65. package/runtime/lib/lifecycleConstant.js +8 -8
  66. package/runtime/lib/lifecycleConstant.js.map +1 -1
  67. package/runtime/lib/list.d.ts +1 -45
  68. package/runtime/lib/list.js +31 -206
  69. package/runtime/lib/list.js.map +1 -1
  70. package/runtime/lib/listUpdateInfo.d.ts +38 -0
  71. package/runtime/lib/listUpdateInfo.js +152 -0
  72. package/runtime/lib/listUpdateInfo.js.map +1 -0
  73. package/runtime/lib/lynx/calledByNative.js +9 -6
  74. package/runtime/lib/lynx/calledByNative.js.map +1 -1
  75. package/runtime/lib/lynx/component.js +7 -0
  76. package/runtime/lib/lynx/component.js.map +1 -1
  77. package/runtime/lib/lynx/dynamic-js.d.ts +5 -1
  78. package/runtime/lib/lynx/dynamic-js.js +1 -0
  79. package/runtime/lib/lynx/dynamic-js.js.map +1 -1
  80. package/runtime/lib/lynx/env.d.ts +1 -1
  81. package/runtime/lib/lynx/env.js +13 -13
  82. package/runtime/lib/lynx/env.js.map +1 -1
  83. package/runtime/lib/lynx/lazy-bundle.js +7 -5
  84. package/runtime/lib/lynx/lazy-bundle.js.map +1 -1
  85. package/runtime/lib/lynx/performance.js +1 -1
  86. package/runtime/lib/lynx/performance.js.map +1 -1
  87. package/runtime/lib/lynx/runWithForce.js +3 -0
  88. package/runtime/lib/lynx/runWithForce.js.map +1 -1
  89. package/runtime/lib/lynx/tt.js +12 -33
  90. package/runtime/lib/lynx/tt.js.map +1 -1
  91. package/runtime/lib/lynx-api.d.ts +1 -1
  92. package/runtime/lib/lynx-api.js +3 -0
  93. package/runtime/lib/lynx-api.js.map +1 -1
  94. package/runtime/lib/lynx.js +6 -6
  95. package/runtime/lib/lynx.js.map +1 -1
  96. package/runtime/lib/opcodes.js +2 -1
  97. package/runtime/lib/opcodes.js.map +1 -1
  98. package/runtime/lib/pendingListUpdates.d.ts +6 -0
  99. package/runtime/lib/pendingListUpdates.js +16 -0
  100. package/runtime/lib/pendingListUpdates.js.map +1 -0
  101. package/runtime/lib/renderToOpcodes/index.js +7 -7
  102. package/runtime/lib/renderToOpcodes/index.js.map +1 -1
  103. package/runtime/lib/snapshot/dynamicPartType.d.ts +12 -0
  104. package/runtime/lib/snapshot/dynamicPartType.js +17 -0
  105. package/runtime/lib/snapshot/dynamicPartType.js.map +1 -0
  106. package/runtime/lib/snapshot/gesture.js +3 -0
  107. package/runtime/lib/snapshot/gesture.js.map +1 -1
  108. package/runtime/lib/snapshot/list.d.ts +3 -0
  109. package/runtime/lib/snapshot/list.js +23 -0
  110. package/runtime/lib/snapshot/list.js.map +1 -0
  111. package/runtime/lib/snapshot/platformInfo.d.ts +10 -0
  112. package/runtime/lib/snapshot/platformInfo.js +6 -3
  113. package/runtime/lib/snapshot/platformInfo.js.map +1 -1
  114. package/runtime/lib/snapshot/ref.d.ts +17 -9
  115. package/runtime/lib/snapshot/ref.js +64 -73
  116. package/runtime/lib/snapshot/ref.js.map +1 -1
  117. package/runtime/lib/snapshot/spread.d.ts +2 -2
  118. package/runtime/lib/snapshot/spread.js +12 -12
  119. package/runtime/lib/snapshot/spread.js.map +1 -1
  120. package/runtime/lib/snapshot/workletEvent.js +1 -1
  121. package/runtime/lib/snapshot/workletEvent.js.map +1 -1
  122. package/runtime/lib/snapshot/workletRef.d.ts +3 -3
  123. package/runtime/lib/snapshot/workletRef.js +27 -8
  124. package/runtime/lib/snapshot/workletRef.js.map +1 -1
  125. package/runtime/lib/snapshot.d.ts +9 -18
  126. package/runtime/lib/snapshot.js +46 -40
  127. package/runtime/lib/snapshot.js.map +1 -1
  128. package/runtime/lib/snapshotInstanceHydrationMap.d.ts +9 -0
  129. package/runtime/lib/snapshotInstanceHydrationMap.js +16 -0
  130. package/runtime/lib/snapshotInstanceHydrationMap.js.map +1 -0
  131. package/runtime/lib/utils.js +1 -1
  132. package/runtime/lib/utils.js.map +1 -1
  133. package/runtime/lib/worklet/workletRef.js +1 -2
  134. package/runtime/lib/worklet/workletRef.js.map +1 -1
  135. package/runtime/src/backgroundSnapshot.ts +75 -52
  136. package/runtime/src/compat/initData.ts +10 -9
  137. package/runtime/src/compat/lynxComponent.ts +12 -13
  138. package/runtime/src/debug/profile.ts +1 -0
  139. package/runtime/src/gesture/processGestureBagkround.ts +5 -1
  140. package/runtime/src/gesture/types.ts +3 -0
  141. package/runtime/src/hooks/react.ts +3 -3
  142. package/runtime/src/hooks/useLynxGlobalEventListener.ts +1 -1
  143. package/runtime/src/hydrate.ts +6 -4
  144. package/runtime/src/internal.ts +3 -2
  145. package/runtime/src/legacy-react-runtime/index.ts +1 -1
  146. package/runtime/src/lifecycle/destroy.ts +1 -0
  147. package/runtime/src/lifecycle/event/delayEvents.ts +3 -0
  148. package/runtime/src/lifecycle/event/delayLifecycleEvents.ts +7 -13
  149. package/runtime/src/lifecycle/event/jsReady.ts +4 -3
  150. package/runtime/src/lifecycle/patch/commit.ts +10 -41
  151. package/runtime/src/lifecycle/patch/error.ts +61 -0
  152. package/runtime/src/lifecycle/patch/isMainThreadHydrationFinished.ts +3 -0
  153. package/runtime/src/lifecycle/patch/snapshotPatch.ts +2 -2
  154. package/runtime/src/lifecycle/patch/snapshotPatchApply.ts +28 -28
  155. package/runtime/src/lifecycle/patch/updateMainThread.ts +7 -16
  156. package/runtime/src/lifecycle/ref/delay.ts +99 -0
  157. package/runtime/src/lifecycle/reload.ts +10 -7
  158. package/runtime/src/lifecycle/render.ts +3 -2
  159. package/runtime/src/lifecycleConstant.ts +11 -7
  160. package/runtime/src/list.ts +33 -269
  161. package/runtime/src/listUpdateInfo.ts +221 -0
  162. package/runtime/src/lynx/calledByNative.ts +15 -10
  163. package/runtime/src/lynx/component.ts +9 -0
  164. package/runtime/src/lynx/dynamic-js.ts +5 -1
  165. package/runtime/src/lynx/env.ts +17 -17
  166. package/runtime/src/lynx/lazy-bundle.ts +22 -14
  167. package/runtime/src/lynx/performance.ts +1 -1
  168. package/runtime/src/lynx/runWithForce.ts +9 -5
  169. package/runtime/src/lynx/tt.ts +19 -37
  170. package/runtime/src/lynx-api.ts +5 -2
  171. package/runtime/src/lynx.ts +7 -6
  172. package/runtime/src/opcodes.ts +2 -1
  173. package/runtime/src/pendingListUpdates.ts +18 -0
  174. package/runtime/src/renderToOpcodes/index.ts +7 -7
  175. package/runtime/src/snapshot/dynamicPartType.ts +16 -0
  176. package/runtime/src/snapshot/gesture.ts +3 -0
  177. package/runtime/src/snapshot/list.ts +36 -0
  178. package/runtime/src/snapshot/platformInfo.ts +19 -5
  179. package/runtime/src/snapshot/ref.ts +78 -87
  180. package/runtime/src/snapshot/spread.ts +47 -22
  181. package/runtime/src/snapshot/workletEvent.ts +1 -1
  182. package/runtime/src/snapshot/workletRef.ts +36 -10
  183. package/runtime/src/snapshot.ts +62 -51
  184. package/runtime/src/snapshotInstanceHydrationMap.ts +17 -0
  185. package/runtime/src/utils.ts +3 -3
  186. package/runtime/src/worklet/workletRef.ts +1 -2
  187. package/testing-library/dist/env/vitest.js +8 -6
  188. package/testing-library/dist/pure.js +4 -3
  189. package/testing-library/dist/vitest.config.js +7 -7
  190. package/transform/cjs/main.cjs +4 -0
  191. package/transform/dist/wasm.cjs +1 -1
  192. package/worklet-runtime/dist/dev.js +1 -4
  193. package/worklet-runtime/dist/main.js +0 -3
  194. package/worklet-runtime/lib/bindings/observers.d.ts +14 -1
  195. package/worklet-runtime/lib/bindings/observers.js +7 -7
  196. package/worklet-runtime/lib/bindings/observers.js.map +1 -1
  197. package/worklet-runtime/lib/hydrate.js +0 -5
  198. package/worklet-runtime/lib/hydrate.js.map +1 -1
  199. package/runtime/lib/lifecycle/delayUnmount.d.ts +0 -8
  200. package/runtime/lib/lifecycle/delayUnmount.js +0 -65
  201. package/runtime/lib/lifecycle/delayUnmount.js.map +0 -1
  202. package/runtime/src/lifecycle/delayUnmount.ts +0 -77
package/CHANGELOG.md CHANGED
@@ -1,5 +1,38 @@
1
1
  # @lynx-js/react
2
2
 
3
+ ## 0.110.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Fix a memory leak when using `<list/>`. ([#1144](https://github.com/lynx-family/lynx-stack/pull/1144))
8
+
9
+ ## 0.110.0
10
+
11
+ ### Minor Changes
12
+
13
+ - Fixed closure variable capture issue in effect hooks to prevent stale values and ensured proper execution order between refs, effects, and event handlers. ([#770](https://github.com/lynx-family/lynx-stack/pull/770))
14
+
15
+ **Breaking Changes**:
16
+
17
+ - The execution timing of `ref`, `useEffect()` callback, `componentDidMount`, `componentDidUpdate`, `componentWillUnmount` and the callback of `setState` have been moved forward. These effects will now execute before hydration is complete, rather than waiting for the main thread update to complete.
18
+ - For components inside `<list />`, `ref` callbacks will now be triggered during background thread rendering, regardless of component visibility. If your code depends on component visibility timing, use `main-thread:ref` instead of regular `ref`.
19
+
20
+ ### Patch Changes
21
+
22
+ - Fixed two memory leaks: ([#1071](https://github.com/lynx-family/lynx-stack/pull/1071))
23
+
24
+ 1. When JSX is rendered on the main thread and removed, FiberElement can still be referenced by `__root.__jsx` through `props.children`;
25
+
26
+ 2. When the SnapshotInstance tree is removed from the root node, its child nodes form a cycle reference because the `__previousSibling` and `__nextSibling` properties point to each other, thus causing a FiberElement leak.
27
+
28
+ - Optimize the error message when snapshots cannot be found in the main thread. ([#1083](https://github.com/lynx-family/lynx-stack/pull/1083))
29
+
30
+ - Fix a problem causing `MainThreadRef`s to not be updated correctly during hydration when they are set to `main-thread:ref`s. ([#1001](https://github.com/lynx-family/lynx-stack/pull/1001))
31
+
32
+ - Add snapshot id report when throwing `snapshotPatchApply failed: ctx not found` error. ([#1107](https://github.com/lynx-family/lynx-stack/pull/1107))
33
+
34
+ - Fix a bug in ReactLynx Testing Library that rendered snapshot of inline style was normalized incorrectly (eg. `flex:1` was normalized to `flex: 1 1 0%;` incorrectly). ([#1040](https://github.com/lynx-family/lynx-stack/pull/1040))
35
+
3
36
  ## 0.109.2
4
37
 
5
38
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"Page.js","sourceRoot":"","sources":["../src/Page.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAI1D,+BAA+B;AAC/B,6FAA6F;AAC7F,4CAA4C;AAC5C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEhF,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB,MAAM,IAAI;AACR,eAAe,CAAC,CAAC;IACf,IAAI,SAAS,EAAE,CAAC;QACd,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,MAAO,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC7E,qBAAqB;YACrB,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YACD,oBAAoB;YACpB,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CACf,UAAS,KAAK,EAAE,GAAG;QACjB,MAAM,EACJ,QAAQ,EACR,GAAG,SAAS,EACb,GAAG,KAAK,CAAC;QAEV,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAC7B,GAAG;gBACH,GAAG,SAAS;gBACZ,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC,CAAC;QACJ,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAExC,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC,WAAW,CACd,IAAI,KAAK,CACP,uEAAuE,CACxE,CACF,CAAC;gBACF,kBAAkB,CAAC,OAAO,GAAG,KAAK,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;YAED,OAAO,GAAG,EAAE;gBACV,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE;oBAC5B;wBACE,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;4BAC5C,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;wBAC1B,CAAC,CAAC,CACH;wBACD,QAAQ,EAAE,IAAI;qBACf;iBACF,CAAC,CAAC;gBACH,oBAAoB;gBACpB,IAAI,kBAAkB,CAAC,OAAO;oBAAE,WAAW,GAAG,KAAK,CAAC;YACtD,CAAC,CAAC;QACJ,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,OAAO,QAAQ,CAAC;IAClB,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,EAAE,CAAC;AAEP,OAAO,EAAE,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"Page.js","sourceRoot":"","sources":["../src/Page.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAI1D,+BAA+B;AAC/B,6FAA6F;AAC7F,4CAA4C;AAC5C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEhF,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB,MAAM,IAAI;AACR,eAAe,CAAC,CAAC;IACf,IAAI,SAAS,EAAE,CAAC;QACd,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,MAAO,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC7E,qBAAqB;YACrB,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YACD,oBAAoB;YACpB,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAmC,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CACf,UAAS,KAAK,EAAE,GAAG;QACjB,MAAM,EACJ,QAAQ,EACR,GAAG,SAAS,EACb,GAAG,KAAK,CAAC;QAEV,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAC7B,GAAG;gBACH,GAAG,SAAS;gBACZ,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC,CAAC;QACJ,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAExC,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC,WAAW,CACd,IAAI,KAAK,CACP,uEAAuE,CACxE,CACF,CAAC;gBACF,kBAAkB,CAAC,OAAO,GAAG,KAAK,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;YAED,OAAO,GAAG,EAAE;gBACV,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE;oBAC5B;wBACE,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;4BAC5C,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;wBAC1B,CAAC,CAAC,CACH;wBACD,QAAQ,EAAE,IAAI;qBACf;iBACF,CAAC,CAAC;gBACH,oBAAoB;gBACpB,IAAI,kBAAkB,CAAC,OAAO;oBAAE,WAAW,GAAG,KAAK,CAAC;YACtD,CAAC,CAAC;QACJ,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,OAAO,QAAQ,CAAC;IAClB,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,EAAE,CAAC;AAEP,OAAO,EAAE,IAAI,EAAE,CAAC"}
@@ -21,7 +21,7 @@ const Page: ForwardRefExoticComponent<Omit<PropsWithChildren, 'ref'> & RefAttrib
21
21
  return;
22
22
  }
23
23
  /* v8 ignore stop */
24
- updateSpread(snapshot, index, oldValue, 0);
24
+ updateSpread(snapshot, index, oldValue as Record<string, unknown>, 0);
25
25
  };
26
26
  }
27
27
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lynx-js/react",
3
- "version": "0.109.2",
3
+ "version": "0.110.1",
4
4
  "description": "ReactLynx is a framework for developing Lynx applications with familiar React.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -5,4 +5,4 @@
5
5
 
6
6
  dist/index.js 11.4kb
7
7
 
8
- ⚡ Done in 23ms
8
+ ⚡ Done in 22ms
@@ -1,10 +1,11 @@
1
1
  import type { SnapshotPatch } from './lifecycle/patch/snapshotPatch.js';
2
- import type { SerializedSnapshotInstance } from './snapshot.js';
2
+ import type { SerializedSnapshotInstance, Snapshot } from './snapshot.js';
3
3
  export declare class BackgroundSnapshotInstance {
4
4
  type: string;
5
5
  constructor(type: string);
6
6
  __id: number;
7
7
  __values: any[] | undefined;
8
+ __snapshot_def: Snapshot;
8
9
  private __parent;
9
10
  private __firstChild;
10
11
  private __lastChild;
@@ -6,15 +6,18 @@ import { diffArrayAction, diffArrayLepus } from './hydrate.js';
6
6
  import { globalBackgroundSnapshotInstancesToRemove } from './lifecycle/patch/commit.js';
7
7
  import { SnapshotOperation, __globalSnapshotPatch, initGlobalSnapshotPatch, takeGlobalSnapshotPatch, } from './lifecycle/patch/snapshotPatch.js';
8
8
  import { globalPipelineOptions } from './lynx/performance.js';
9
- import { DynamicPartType, backgroundSnapshotInstanceManager, snapshotManager, traverseSnapshotInstance, } from './snapshot.js';
10
- import { markRefToRemove } from './snapshot/ref.js';
9
+ import { DynamicPartType } from './snapshot/dynamicPartType.js';
10
+ import { clearQueuedRefs, queueRefAttrUpdate } from './snapshot/ref.js';
11
11
  import { transformSpread } from './snapshot/spread.js';
12
+ import { backgroundSnapshotInstanceManager, snapshotManager, traverseSnapshotInstance } from './snapshot.js';
13
+ import { hydrationMap } from './snapshotInstanceHydrationMap.js';
12
14
  import { isDirectOrDeepEqual } from './utils.js';
13
15
  import { onPostWorkletCtx } from './worklet/ctx.js';
14
16
  export class BackgroundSnapshotInstance {
15
17
  type;
16
18
  constructor(type) {
17
19
  this.type = type;
20
+ this.__snapshot_def = snapshotManager.values.get(type);
18
21
  let id;
19
22
  id = this.__id = backgroundSnapshotInstanceManager.nextId += 1;
20
23
  backgroundSnapshotInstanceManager.values.set(id, this);
@@ -22,6 +25,7 @@ export class BackgroundSnapshotInstance {
22
25
  }
23
26
  __id;
24
27
  __values;
28
+ __snapshot_def;
25
29
  __parent = null;
26
30
  __firstChild = null;
27
31
  __lastChild = null;
@@ -116,6 +120,21 @@ export class BackgroundSnapshotInstance {
116
120
  node.__nextSibling = null;
117
121
  traverseSnapshotInstance(node, v => {
118
122
  v.__parent = null;
123
+ v.__previousSibling = null;
124
+ v.__nextSibling = null;
125
+ if (v.__values) {
126
+ v.__snapshot_def.refAndSpreadIndexes?.forEach((i) => {
127
+ const value = v.__values[i];
128
+ if (value && (typeof value === 'object' || typeof value === 'function')) {
129
+ if ('__spread' in value && 'ref' in value) {
130
+ queueRefAttrUpdate(value.ref, null, v.__id, i);
131
+ }
132
+ else if ('__ref' in value) {
133
+ queueRefAttrUpdate(value, null, v.__id, i);
134
+ }
135
+ }
136
+ });
137
+ }
119
138
  globalBackgroundSnapshotInstancesToRemove.push(v.__id);
120
139
  });
121
140
  }
@@ -142,7 +161,7 @@ export class BackgroundSnapshotInstance {
142
161
  for (let index = 0; index < value.length; index++) {
143
162
  const { needUpdate, valueToCommit } = this.setAttributeImpl(value[index], oldValues[index], index);
144
163
  if (needUpdate) {
145
- __globalSnapshotPatch?.push(SnapshotOperation.SetAttribute, this.__id, index, valueToCommit);
164
+ __globalSnapshotPatch.push(SnapshotOperation.SetAttribute, this.__id, index, valueToCommit);
146
165
  }
147
166
  }
148
167
  }
@@ -153,9 +172,22 @@ export class BackgroundSnapshotInstance {
153
172
  const { valueToCommit } = this.setAttributeImpl(value[index], null, index);
154
173
  patch[index] = valueToCommit;
155
174
  }
156
- __globalSnapshotPatch?.push(SnapshotOperation.SetAttributes, this.__id, patch);
175
+ __globalSnapshotPatch.push(SnapshotOperation.SetAttributes, this.__id, patch);
157
176
  }
158
177
  }
178
+ else {
179
+ this.__snapshot_def.refAndSpreadIndexes?.forEach((index) => {
180
+ const v = value[index];
181
+ if (v && (typeof v === 'object' || typeof v === 'function')) {
182
+ if ('__spread' in v && 'ref' in v) {
183
+ queueRefAttrUpdate(null, v.ref, this.__id, index);
184
+ }
185
+ else if ('__ref' in v) {
186
+ queueRefAttrUpdate(null, v, this.__id, index);
187
+ }
188
+ }
189
+ });
190
+ }
159
191
  this.__values = value;
160
192
  if (__PROFILE__) {
161
193
  console.profileEnd();
@@ -173,24 +205,24 @@ export class BackgroundSnapshotInstance {
173
205
  }
174
206
  setAttributeImpl(newValue, oldValue, index) {
175
207
  if (!newValue) {
176
- if (oldValue && oldValue.__ref) {
177
- markRefToRemove(`${this.__id}:${index}:`, oldValue);
208
+ // `oldValue` can't be a spread.
209
+ if (oldValue && typeof oldValue === 'object' && '__ref' in oldValue) {
210
+ queueRefAttrUpdate(oldValue, null, this.__id, index);
178
211
  }
179
212
  return { needUpdate: oldValue !== newValue, valueToCommit: newValue };
180
213
  }
181
214
  const newType = typeof newValue;
182
215
  if (newType === 'object') {
183
- if (newValue.__spread) {
184
- const oldSpread = oldValue ? oldValue.__spread : oldValue;
185
- const newSpread = transformSpread(this, index, newValue);
216
+ const newValueObj = newValue;
217
+ if ('__spread' in newValueObj) {
218
+ const oldSpread = oldValue?.__spread;
219
+ const newSpread = transformSpread(this, index, newValueObj);
186
220
  const needUpdate = !isDirectOrDeepEqual(oldSpread, newSpread);
187
221
  // use __spread to cache the transform result for next diff
188
- newValue.__spread = newSpread;
222
+ newValueObj['__spread'] = newSpread;
223
+ queueRefAttrUpdate(oldSpread && (oldValue.ref), newValueObj['ref'], this.__id, index);
189
224
  if (needUpdate) {
190
- if (oldSpread && oldSpread.ref) {
191
- markRefToRemove(`${this.__id}:${index}:ref`, oldValue.ref);
192
- }
193
- for (let key in newSpread) {
225
+ for (const key in newSpread) {
194
226
  const newSpreadValue = newSpread[key];
195
227
  if (!newSpreadValue) {
196
228
  continue;
@@ -201,33 +233,27 @@ export class BackgroundSnapshotInstance {
201
233
  else if (newSpreadValue.__isGesture) {
202
234
  processGestureBackground(newSpreadValue);
203
235
  }
204
- else if (key == '__lynx_timing_flag' && oldSpread?.[key] != newSpreadValue) {
205
- if (globalPipelineOptions) {
206
- globalPipelineOptions.needTimestamps = true;
207
- }
236
+ else if (key == '__lynx_timing_flag' && oldSpread?.[key] != newSpreadValue && globalPipelineOptions) {
237
+ globalPipelineOptions.needTimestamps = true;
208
238
  }
209
239
  }
210
240
  }
211
241
  return { needUpdate, valueToCommit: newSpread };
212
242
  }
213
- if (newValue.__ref) {
214
- // force update to update ref value
215
- // TODO: ref: optimize this. The ref update maybe can be done on the background thread to reduce updating.
216
- // The old ref must have a place to be stored because it needs to be cleared when the main thread returns.
217
- markRefToRemove(`${this.__id}:${index}:`, oldValue);
218
- // update ref. On the main thread, the ref id will be replaced with value's sign when updating.
219
- return { needUpdate: true, valueToCommit: newValue.__ref };
243
+ if ('__ref' in newValueObj) {
244
+ queueRefAttrUpdate(oldValue, newValueObj, this.__id, index);
245
+ return { needUpdate: false, valueToCommit: 1 };
220
246
  }
221
- if (newValue._wkltId) {
222
- return { needUpdate: true, valueToCommit: onPostWorkletCtx(newValue) };
247
+ if ('_wkltId' in newValueObj) {
248
+ return { needUpdate: true, valueToCommit: onPostWorkletCtx(newValueObj) };
223
249
  }
224
- if (newValue.__isGesture) {
225
- processGestureBackground(newValue);
250
+ if ('__isGesture' in newValueObj) {
251
+ processGestureBackground(newValueObj);
226
252
  return { needUpdate: true, valueToCommit: newValue };
227
253
  }
228
- if (newValue.__ltf) {
254
+ if ('__ltf' in newValueObj) {
229
255
  // __lynx_timing_flag
230
- if (globalPipelineOptions && oldValue?.__ltf != newValue.__ltf) {
256
+ if (globalPipelineOptions && oldValue?.__ltf != newValueObj['__ltf']) {
231
257
  globalPipelineOptions.needTimestamps = true;
232
258
  return { needUpdate: true, valueToCommit: newValue };
233
259
  }
@@ -237,8 +263,8 @@ export class BackgroundSnapshotInstance {
237
263
  }
238
264
  if (newType === 'function') {
239
265
  if (newValue.__ref) {
240
- markRefToRemove(`${this.__id}:${index}:`, oldValue);
241
- return { needUpdate: true, valueToCommit: newValue.__ref };
266
+ queueRefAttrUpdate(oldValue, newValue, this.__id, index);
267
+ return { needUpdate: false, valueToCommit: 1 };
242
268
  }
243
269
  /* event */
244
270
  return { needUpdate: !oldValue, valueToCommit: 1 };
@@ -262,6 +288,7 @@ export function hydrate(before, after) {
262
288
  }
263
289
  };
264
290
  const helper = (before, after) => {
291
+ hydrationMap.set(after.__id, before.id);
265
292
  backgroundSnapshotInstanceManager.updateId(after.__id, before.id);
266
293
  after.__values?.forEach((value, index) => {
267
294
  const old = before.values[index];
@@ -270,7 +297,7 @@ export function hydrate(before, after) {
270
297
  // `value.__spread` my contain event ids using snapshot ids before hydration. Remove it.
271
298
  delete value.__spread;
272
299
  value = transformSpread(after, index, value);
273
- for (let key in value) {
300
+ for (const key in value) {
274
301
  if (value[key] && value[key]._wkltId) {
275
302
  onPostWorkletCtx(value[key]);
276
303
  }
@@ -281,13 +308,8 @@ export function hydrate(before, after) {
281
308
  after.__values[index].__spread = value;
282
309
  }
283
310
  else if (value.__ref) {
284
- if (old) {
285
- // skip patch
286
- value = old;
287
- }
288
- else {
289
- value = value.__ref;
290
- }
311
+ // skip patch
312
+ value = old;
291
313
  }
292
314
  else if (typeof value === 'function') {
293
315
  value = `${after.__id}:${index}:`;
@@ -303,7 +325,7 @@ export function hydrate(before, after) {
303
325
  __globalSnapshotPatch.push(SnapshotOperation.SetAttribute, after.__id, index, value);
304
326
  }
305
327
  });
306
- const { slot } = snapshotManager.values.get(after.type);
328
+ const { slot } = after.__snapshot_def;
307
329
  const beforeChildNodes = before.children || [];
308
330
  const afterChildNodes = after.childNodes;
309
331
  if (!slot) {
@@ -346,6 +368,8 @@ export function hydrate(before, after) {
346
368
  });
347
369
  };
348
370
  helper(before, after);
371
+ // Hydration should not trigger ref updates. They were incorrectly triggered when using `setAttribute` to add values to the patch list.
372
+ clearQueuedRefs();
349
373
  return takeGlobalSnapshotPatch();
350
374
  }
351
375
  //# sourceMappingURL=backgroundSnapshot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backgroundSnapshot.js","sourceRoot":"","sources":["../src/backgroundSnapshot.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAU1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,yCAAyC,EAAE,MAAM,6BAA6B,CAAC;AAExF,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EACL,eAAe,EACf,iCAAiC,EACjC,eAAe,EACf,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,OAAO,0BAA0B;IAClB;IAAnB,YAAmB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;QAC7B,IAAI,EAAE,CAAC;QACP,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC,MAAM,IAAI,CAAC,CAAC;QAC/D,iCAAiC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAEvD,qBAAqB,EAAE,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,CAAS;IACb,QAAQ,CAAoB;IAEpB,QAAQ,GAAsC,IAAI,CAAC;IACnD,YAAY,GAAsC,IAAI,CAAC;IACvD,WAAW,GAAsC,IAAI,CAAC;IACtD,iBAAiB,GAAsC,IAAI,CAAC;IAC5D,aAAa,GAAsC,IAAI,CAAC;IAEhE,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,KAAiC;QACxC,OAAO,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACnC,CAAC;IAED,6BAA6B;IAC7B,4CAA4C;IAC5C,gEAAgE;IAChE,qBAAqB;IACrB,WAAW,CAAC,KAAiC;QAC3C,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IACD,oBAAoB;IAEpB,YAAY,CACV,IAAgC,EAChC,UAAuC;QAEvC,qBAAqB,EAAE,IAAI,CACzB,iBAAiB,CAAC,YAAY,EAC9B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,EACT,UAAU,EAAE,IAAI,CACjB,CAAC;QAEF,sEAAsE;QACtE,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACxB,IAAI,CAAC,EAAE,CAAC;YACN,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,IAAI,CAAC,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;YACtC,CAAC;YAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,aAAa,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACzC,CAAC;QACH,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,WAAW,CAAC,IAAgC;QAC1C,qBAAqB,EAAE,IAAI,CACzB,iBAAiB,CAAC,WAAW,EAC7B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,CACV,CAAC;QAEF,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;QAE1B,wBAAwB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;YACjC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;YAClB,yCAAyC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAAU;QACZ,MAAM,KAAK,GAAiC,EAAE,CAAC;QAC/C,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7B,OAAO,IAAI,EAAE,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,IAAI,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC9B,MAAM;YACR,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY,CAAC,GAAoB,EAAE,KAAU;QAC3C,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAChC,IAAI,SAAS,EAAE,CAAC;oBACd,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;wBAClD,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;wBACnG,IAAI,UAAU,EAAE,CAAC;4BACf,qBAAqB,EAAE,IAAI,CACzB,iBAAiB,CAAC,YAAY,EAC9B,IAAI,CAAC,IAAI,EACT,KAAK,EACL,aAAa,CACd,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,GAAG,EAAE,CAAC;oBACjB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;oBAC5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC;wBAC5C,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;wBAC3E,KAAK,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;oBAC/B,CAAC;oBACD,qBAAqB,EAAE,IAAI,CACzB,iBAAiB,CAAC,aAAa,EAC/B,IAAI,CAAC,IAAI,EACT,KAAK,CACN,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,CAAC;YACD,OAAO;QACT,CAAC;QAED,qFAAqF;QACrF,2BAA2B;QAC3B,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,CAAC,IAAI,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QAEtC,qBAAqB,EAAE,IAAI,CACzB,iBAAiB,CAAC,YAAY,EAC9B,IAAI,CAAC,IAAI,EACT,KAAK,EACL,KAAK,CACN,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,QAAa,EAAE,QAAa,EAAE,KAAa;QAIlE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAC/B,eAAe,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,EAAE,QAAQ,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,EAAE,UAAU,EAAE,QAAQ,KAAK,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;QACxE,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,QAAQ,CAAC;QAChC,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtB,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC1D,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACzD,MAAM,UAAU,GAAG,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBAC9D,2DAA2D;gBAC3D,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAC;gBAC9B,IAAI,UAAU,EAAE,CAAC;oBACf,IAAI,SAAS,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;wBAC/B,eAAe,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAC7D,CAAC;oBACD,KAAK,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;wBAC1B,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;wBACtC,IAAI,CAAC,cAAc,EAAE,CAAC;4BACpB,SAAS;wBACX,CAAC;wBACD,IAAK,cAAsB,CAAC,OAAO,EAAE,CAAC;4BACpC,SAAS,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,cAAyB,CAAC,CAAC;wBAC/D,CAAC;6BAAM,IAAK,cAAsB,CAAC,WAAW,EAAE,CAAC;4BAC/C,wBAAwB,CAAC,cAA6B,CAAC,CAAC;wBAC1D,CAAC;6BAAM,IAAI,GAAG,IAAI,oBAAoB,IAAI,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC;4BAC7E,IAAI,qBAAqB,EAAE,CAAC;gCAC1B,qBAAqB,CAAC,cAAc,GAAG,IAAI,CAAC;4BAC9C,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;YAClD,CAAC;YACD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnB,mCAAmC;gBACnC,0GAA0G;gBAC1G,0GAA0G;gBAC1G,eAAe,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACpD,+FAA+F;gBAC/F,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC7D,CAAC;YACD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzE,CAAC;YACD,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACzB,wBAAwB,CAAC,QAAQ,CAAC,CAAC;gBACnC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;YACvD,CAAC;YACD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnB,qBAAqB;gBACrB,IAAI,qBAAqB,IAAI,QAAQ,EAAE,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBAC/D,qBAAqB,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC5C,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;gBACvD,CAAC;gBACD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;YACxD,CAAC;YACD,OAAO,EAAE,UAAU,EAAE,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;QAC3F,CAAC;QACD,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAC3B,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnB,eAAe,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACpD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC7D,CAAC;YACD,WAAW;YACX,OAAO,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;QACrD,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,QAAQ,KAAK,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;IACxE,CAAC;CACF;AAED,MAAM,UAAU,OAAO,CACrB,MAAkC,EAClC,KAAiC;IAEjC,uBAAuB,EAAE,CAAC;IAE1B,MAAM,OAAO,GAAG,CAAC,MAAoC,EAAE,QAAgB,EAAE,EAAE;QACzE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;YACtB,qBAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC7E,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC9B,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;gBAC3B,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACvC,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC9B,qBAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;QACvF,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CACb,MAAkC,EAClC,KAAiC,EACjC,EAAE;QACF,iCAAiC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAClE,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACvC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAO,CAAC,KAAK,CAAC,CAAC;YAElC,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACnB,wFAAwF;oBACxF,OAAO,KAAK,CAAC,QAAQ,CAAC;oBACtB,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;oBAC7C,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;wBACtB,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;4BACrC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC/B,CAAC;6BAAM,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;4BAChD,wBAAwB,CAAC,KAAK,CAAC,GAAG,CAAgB,CAAC,CAAC;wBACtD,CAAC;oBACH,CAAC;oBACD,KAAK,CAAC,QAAS,CAAC,KAAK,CAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC3C,CAAC;qBAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBACvB,IAAI,GAAG,EAAE,CAAC;wBACR,aAAa;wBACb,KAAK,GAAG,GAAG,CAAC;oBACd,CAAC;yBAAM,CAAC;wBACN,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;oBACtB,CAAC;gBACH,CAAC;qBAAM,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;oBACvC,KAAK,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC;gBACpC,CAAC;YACH,CAAC;YAED,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC3B,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;iBAAM,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBACtC,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YACD,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBACrC,qBAAsB,CAAC,IAAI,CACzB,iBAAiB,CAAC,YAAY,EAC9B,KAAK,CAAC,IAAI,EACV,KAAK,EACL,KAAK,CACN,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC;QAEzD,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC/C,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC;QAEzC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE;YAC7B,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,eAAe,CAAC,IAAI,CAAC;gBAC1B,KAAK,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC;oBACnC,wDAAwD;oBACxD,MAAM,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAE,CAAC;oBACpC,MAAM,EAAE,GAAG,eAAe,CAAC,KAAK,CAAE,CAAC;oBACnC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBACf,MAAM;gBACR,CAAC;gBACD,KAAK,eAAe,CAAC,QAAQ,CAAC;gBAC9B,KAAK,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;oBAClC,MAAM,UAAU,GAAG,cAAc,CAC/B,gBAAgB,EAChB,eAAe,EACf,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAC3B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBACP,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACf,CAAC,CACF,CAAC;oBACF,eAAe,CACb,gBAAgB,EAChB,UAAU,EACV,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;wBACf,qBAAsB,CAAC,IAAI,CACzB,iBAAiB,CAAC,aAAa,EAC/B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,CACV,CAAC;wBACF,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBACpC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;wBAC7B,IAAI,MAAM,EAAE,CAAC;4BACX,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;4BAC1B,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;wBACtC,CAAC;wBACD,qBAAsB,CAAC,IAAI,CACzB,iBAAiB,CAAC,YAAY,EAC9B,MAAM,CAAC,EAAE,EACT,IAAI,CAAC,IAAI,EACT,MAAM,EAAE,EAAE,CACX,CAAC;wBACF,OAAO,SAAkD,CAAC;oBAC5D,CAAC,EACD,IAAI,CAAC,EAAE;wBACL,qBAAsB,CAAC,IAAI,CACzB,iBAAiB,CAAC,WAAW,EAC7B,MAAM,CAAC,EAAE,EACT,IAAI,CAAC,EAAE,CACR,CAAC;oBACJ,CAAC,EACD,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;wBACf,yEAAyE;wBACzE,qBAAsB,CAAC,IAAI,CACzB,iBAAiB,CAAC,YAAY,EAC9B,MAAM,CAAC,EAAE,EACT,IAAI,CAAC,EAAE,EACP,MAAM,EAAE,EAAE,CACX,CAAC;oBACJ,CAAC,CACF,CAAC;oBACF,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtB,OAAO,uBAAuB,EAAG,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"backgroundSnapshot.js","sourceRoot":"","sources":["../src/backgroundSnapshot.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,17 @@
1
- import type { ComponentClass, Consumer, Context, FC, ReactNode } from 'react';
1
+ import type { Consumer, Context, Provider } from 'preact';
2
+ import type { ComponentClass } from 'react';
2
3
  import { useLynxGlobalEventListener } from '../hooks/useLynxGlobalEventListener.js';
3
4
  type Getter<T> = {
4
5
  [key in keyof T]: () => T[key];
5
6
  };
6
- export declare function factory<Data>({ createContext, useState, createElement, useLynxGlobalEventListener: useListener }: typeof import('react') & {
7
+ export declare function factory<Data>({ createContext, useState, createElement, useLynxGlobalEventListener: useListener }: {
8
+ createContext: typeof import('preact').createContext;
9
+ useState: typeof import('preact/hooks').useState;
10
+ createElement: typeof import('preact').createElement;
7
11
  useLynxGlobalEventListener: typeof useLynxGlobalEventListener;
8
12
  }, prop: '__globalProps' | '__initData', eventName: string): Getter<{
9
13
  Context: Context<Data>;
10
- Provider: FC<{
11
- children?: ReactNode | undefined;
12
- }>;
14
+ Provider: Provider<Data>;
13
15
  Consumer: Consumer<Data>;
14
16
  use: () => Data;
15
17
  useChanged: (callback: (data: Data) => void) => void;
@@ -22,7 +22,6 @@ export function factory({ createContext, useState, createElement, useLynxGlobalE
22
22
  };
23
23
  const useChanged = (callback) => {
24
24
  if (!__LEPUS__) {
25
- // @ts-ignore
26
25
  useListener(eventName, callback);
27
26
  }
28
27
  };
@@ -60,7 +59,7 @@ export function factory({ createContext, useState, createElement, useLynxGlobalE
60
59
  * @public
61
60
  */
62
61
  export function withInitDataInState(App) {
63
- const isClassComponent = 'prototype' in App && App.prototype.render;
62
+ const isClassComponent = 'prototype' in App && 'render' in App.prototype;
64
63
  if (!isClassComponent) {
65
64
  // return as-is when not class component
66
65
  return App;
@@ -1 +1 @@
1
- {"version":3,"file":"initData.js","sourceRoot":"","sources":["../../src/compat/initData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initData.js","sourceRoot":"","sources":["../../src/compat/initData.ts"],"names":[],"mappings":"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"}
@@ -4,16 +4,14 @@
4
4
  import { Component } from 'preact';
5
5
  export function wrapWithLynxComponent(jsxSnapshot, jsxComponent) {
6
6
  const C = jsxComponent.type;
7
- if (typeof C === 'function') {
8
- if (C === ComponentFromReactRuntime || C.prototype instanceof ComponentFromReactRuntime) {
9
- if (jsxSnapshot.length === 1) {
10
- return jsxSnapshot(jsxComponent);
11
- }
12
- else {
13
- // spread
14
- if (!jsxComponent.props.removeComponentElement) {
15
- return jsxSnapshot(jsxComponent, takeComponentAttributes(jsxComponent));
16
- }
7
+ if (typeof C === 'function' && (C === ComponentFromReactRuntime || C.prototype instanceof ComponentFromReactRuntime)) {
8
+ if (jsxSnapshot.length === 1) {
9
+ return jsxSnapshot(jsxComponent);
10
+ }
11
+ else {
12
+ // spread
13
+ if (!jsxComponent.props.removeComponentElement) {
14
+ return jsxSnapshot(jsxComponent, takeComponentAttributes(jsxComponent));
17
15
  }
18
16
  }
19
17
  }
@@ -60,8 +58,8 @@ function takeComponentAttributes(jsxComponent) {
60
58
  || k === 'dataSet'
61
59
  || k === 'data-set'
62
60
  || k === 'removeComponentElement'
63
- || k.match(/^(global-bind|bind|catch|capture-bind|capture-catch)([A-Za-z]+)$/)
64
- || k.match(/^data-([A-Za-z]+)$/)) {
61
+ || (/^(global-bind|bind|catch|capture-bind|capture-catch)([A-Za-z]+)$/.exec(k))
62
+ || (/^data-([A-Za-z]+)$/.exec(k))) {
65
63
  attributes[k] = jsxComponent.props[k];
66
64
  delete jsxComponent.props[k];
67
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lynxComponent.js","sourceRoot":"","sources":["../../src/compat/lynxComponent.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC,MAAM,UAAU,qBAAqB,CACnC,WAAsE,EACtE,YAAiB;IAEjB,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC;IAC5B,IAAI,OAAO,CAAC,KAAK,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,yBAAyB,IAAI,CAAC,CAAC,SAAS,YAAY,yBAAyB,EAAE,CAAC;YACxF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,WAAW,CAAC,YAAY,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,SAAS;gBACT,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC;oBAC/C,OAAO,WAAW,CAAC,YAAY,EAAE,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,mBAAmB;AACnB,MAAM,OAAO,yBAA0B,SAAQ,SAAS;CACvD;AAED,MAAM,wBAAwB,GAAG,eAAe,CAAC,IAAI,GAAG,CAAC;IACvD,MAAM;IACN,OAAO;IACP,OAAO;IACP,SAAS;IACT,aAAa;IACb,SAAS;IACT,0BAA0B;IAC1B,4BAA4B;IAC5B,oBAAoB;IACpB,kBAAkB;IAClB,uBAAuB;IACvB,wBAAwB;IACxB,sBAAsB;IACtB,gBAAgB;IAChB,aAAa;IACb,4BAA4B;IAC5B,+BAA+B;IAC/B,6BAA6B;IAC7B,8BAA8B;IAC9B,WAAW;IACX,aAAa;IACb,qBAAqB;IACrB,uBAAuB;IACvB,sBAAsB;IACtB,qBAAqB;CACtB,CAAC,CAAC;AAEH,SAAS,uBAAuB,CAAC,YAAiB;IAChD,MAAM,UAAU,GAAwB,EAAE,CAAC;IAC3C,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5C,sGAAsG;QACtG,wDAAwD;QACxD,IACE,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;eAC5B,CAAC,KAAK,IAAI;eACV,CAAC,KAAK,WAAW;eACjB,CAAC,KAAK,SAAS;eACf,CAAC,KAAK,UAAU;eAChB,CAAC,KAAK,wBAAwB;eAC9B,CAAC,CAAC,KAAK,CAAC,kEAAkE,CAAC;eAC3E,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAChC,CAAC;YACD,UAAU,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"lynxComponent.js","sourceRoot":"","sources":["../../src/compat/lynxComponent.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC,MAAM,UAAU,qBAAqB,CACnC,WAAsE,EACtE,YAAiB;IAEjB,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC;IAC5B,IACE,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,KAAK,yBAAyB,IAAI,CAAC,CAAC,SAAS,YAAY,yBAAyB,CAAC,EAChH,CAAC;QACD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,WAAW,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,SAAS;YACT,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC;gBAC/C,OAAO,WAAW,CAAC,YAAY,EAAE,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,mBAAmB;AACnB,MAAM,OAAO,yBAA0B,SAAQ,SAAS;CAAG;AAE3D,MAAM,wBAAwB,GAAG,eAAe,CAAC,IAAI,GAAG,CAAC;IACvD,MAAM;IACN,OAAO;IACP,OAAO;IACP,SAAS;IACT,aAAa;IACb,SAAS;IACT,0BAA0B;IAC1B,4BAA4B;IAC5B,oBAAoB;IACpB,kBAAkB;IAClB,uBAAuB;IACvB,wBAAwB;IACxB,sBAAsB;IACtB,gBAAgB;IAChB,aAAa;IACb,4BAA4B;IAC5B,+BAA+B;IAC/B,6BAA6B;IAC7B,8BAA8B;IAC9B,WAAW;IACX,aAAa;IACb,qBAAqB;IACrB,uBAAuB;IACvB,sBAAsB;IACtB,qBAAqB;CACtB,CAAC,CAAC;AAEH,SAAS,uBAAuB,CAAC,YAAiB;IAChD,MAAM,UAAU,GAAwB,EAAE,CAAC;IAC3C,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5C,sGAAsG;QACtG,wDAAwD;QACxD,IACE,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;eAC5B,CAAC,KAAK,IAAI;eACV,CAAC,KAAK,WAAW;eACjB,CAAC,KAAK,SAAS;eACf,CAAC,KAAK,UAAU;eAChB,CAAC,KAAK,wBAAwB;eAC9B,CAAC,kEAAkE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;eAC5E,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EACjC,CAAC;YACD,UAAU,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -25,6 +25,7 @@ export function initProfileHook() {
25
25
  const oldRender = options[RENDER];
26
26
  options[RENDER] = function (vnode) {
27
27
  const displayName = getDisplayName(vnode.type);
28
+ // eslint-disable-next-line @typescript-eslint/unbound-method
28
29
  const originalRender = vnode[COMPONENT].render;
29
30
  vnode[COMPONENT].render = function render(props, state, context) {
30
31
  // This __PROFILE__ is used for DCE testing
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/debug/profile.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGjC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAElF,MAAM,UAAU,eAAe;IAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,UAAS,KAAY;QACnC,2CAA2C;QAC3C,IAAI,WAAW,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACpD,4CAA4C;YAC5C,OAAO,CAAC,OAAO,CAAC,SAAS,cAAc,CAAC,KAAK,CAAC,IAAsB,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,CAAC,MAAM,CAAC,GAAG,UAAS,KAAK;QAC9B,2CAA2C;QAC3C,IAAI,WAAW,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACpD,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,oBAAoB;QAC5C,CAAC;QACD,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,sCAAsC;IACtC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,CAAC,MAAM,CAAC,GAAG,UAAS,KAAyC;QAClE,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,IAAsB,CAAC,CAAC;QACjE,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;QAC/C,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,SAAS,MAAM,CAAO,KAAK,EAAE,KAAK,EAAE,OAAO;YACnE,2CAA2C;YAC3C,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,OAAO,CAAC,WAAW,WAAW,EAAE,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC1D,CAAC;oBAAS,CAAC;gBACT,2CAA2C;gBAC3C,IAAI,WAAW,EAAE,CAAC;oBAChB,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,CAAC;gBACD,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,cAAc,CAAC;YAC3C,CAAC;QACH,CAAC,CAAC;QACF,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAoB;IAC1C,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/debug/profile.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGjC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAElF,MAAM,UAAU,eAAe;IAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,UAAS,KAAY;QACnC,2CAA2C;QAC3C,IAAI,WAAW,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACpD,4CAA4C;YAC5C,OAAO,CAAC,OAAO,CAAC,SAAS,cAAc,CAAC,KAAK,CAAC,IAAsB,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,CAAC,MAAM,CAAC,GAAG,UAAS,KAAK;QAC9B,2CAA2C;QAC3C,IAAI,WAAW,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACpD,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,oBAAoB;QAC5C,CAAC;QACD,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,sCAAsC;IACtC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,CAAC,MAAM,CAAC,GAAG,UAAS,KAAyC;QAClE,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,IAAsB,CAAC,CAAC;QACjE,6DAA6D;QAC7D,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;QAC/C,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,SAAS,MAAM,CAAO,KAAK,EAAE,KAAK,EAAE,OAAO;YACnE,2CAA2C;YAC3C,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,OAAO,CAAC,WAAW,WAAW,EAAE,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC1D,CAAC;oBAAS,CAAC;gBACT,2CAA2C;gBAC3C,IAAI,WAAW,EAAE,CAAC;oBAChB,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,CAAC;gBACD,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,cAAc,CAAC;YAC3C,CAAC;QACH,CAAC,CAAC;QACF,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAoB;IAC1C,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC;AACvC,CAAC"}
@@ -1,2 +1,2 @@
1
- import { type GestureKind } from './types.js';
1
+ import type { GestureKind } from './types.js';
2
2
  export declare function processGestureBackground(gesture: GestureKind): void;
@@ -1,5 +1,8 @@
1
- import { onPostWorkletCtx } from '../worklet/ctx.js';
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.
2
4
  import { GestureTypeInner } from './types.js';
5
+ import { onPostWorkletCtx } from '../worklet/ctx.js';
3
6
  export function processGestureBackground(gesture) {
4
7
  if (gesture.type === GestureTypeInner.COMPOSED) {
5
8
  for (const subGesture of gesture.gestures) {
@@ -1 +1 @@
1
- {"version":3,"file":"processGestureBagkround.js","sourceRoot":"","sources":["../../src/gesture/processGestureBagkround.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAoB,gBAAgB,EAA0C,MAAM,YAAY,CAAC;AAExG,MAAM,UAAU,wBAAwB,CAAC,OAAoB;IAC3D,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QAC/C,KAAK,MAAM,UAAU,IAAK,OAA2B,CAAC,QAAQ,EAAE,CAAC;YAC/D,wBAAwB,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,GAAG,OAAsB,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;YAClE,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAE,CAAC;QACzD,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"processGestureBagkround.js","sourceRoot":"","sources":["../../src/gesture/processGestureBagkround.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,UAAU,wBAAwB,CAAC,OAAoB;IAC3D,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QAC/C,KAAK,MAAM,UAAU,IAAK,OAA2B,CAAC,QAAQ,EAAE,CAAC;YAC/D,wBAAwB,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,GAAG,OAAsB,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;YAClE,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAE,CAAC;QACzD,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/gesture/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,gBAUX;AAVD,WAAY,gBAAgB;IAC1B,gEAAa,CAAA;IACb,qDAAO,CAAA;IACP,yDAAS,CAAA;IACT,6DAAW,CAAA;IACX,qDAAO,CAAA;IACP,iEAAa,CAAA;IACb,+DAAY,CAAA;IACZ,yDAAS,CAAA;IACT,2DAAU,CAAA;AACZ,CAAC,EAVW,gBAAgB,KAAhB,gBAAgB,QAU3B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/gesture/types.ts"],"names":[],"mappings":"AAKA,MAAM,CAAN,IAAY,gBAUX;AAVD,WAAY,gBAAgB;IAC1B,gEAAa,CAAA;IACb,qDAAO,CAAA;IACP,yDAAS,CAAA;IACT,6DAAW,CAAA;IACX,qDAAO,CAAA;IACP,iEAAa,CAAA;IACb,+DAAY,CAAA;IACZ,yDAAS,CAAA;IACT,2DAAU,CAAA;AACZ,CAAC,EAVW,gBAAgB,KAAhB,gBAAgB,QAU3B"}
@@ -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 { useCallback, useContext, useDebugValue, useErrorBoundary, useId, useImperativeHandle, useMemo, useLayoutEffect as usePreactLayoutEffect, useReducer, useRef, useState, } from 'preact/hooks';
4
+ import { useCallback, useContext, useDebugValue, useErrorBoundary, useId, useImperativeHandle, useMemo, useEffect as usePreactEffect, useReducer, useRef, useState, } from 'preact/hooks';
5
5
  /**
6
6
  * `useLayoutEffect` is now an alias of `useEffect`. Use `useEffect` instead.
7
7
  *
@@ -15,7 +15,7 @@ import { useCallback, useContext, useDebugValue, useErrorBoundary, useId, useImp
15
15
  * @deprecated `useLayoutEffect` in the background thread cannot offer the precise timing for reading layout information and synchronously re-render, which is different from React.
16
16
  */
17
17
  function useLayoutEffect(effect, deps) {
18
- return usePreactLayoutEffect(effect, deps);
18
+ return usePreactEffect(effect, deps);
19
19
  }
20
20
  /**
21
21
  * Accepts a function that contains imperative, possibly effectful code.
@@ -27,7 +27,7 @@ function useLayoutEffect(effect, deps) {
27
27
  * @public
28
28
  */
29
29
  function useEffect(effect, deps) {
30
- return usePreactLayoutEffect(effect, deps);
30
+ return usePreactEffect(effect, deps);
31
31
  }
32
32
  export {
33
33
  // preact
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../../src/hooks/react.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EACL,WAAW,EACX,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,KAAK,EACL,mBAAmB,EACnB,OAAO,EACP,eAAe,IAAI,qBAAqB,EACxC,UAAU,EACV,MAAM,EACN,QAAQ,GACT,MAAM,cAAc,CAAC;AAGtB;;;;;;;;;;;GAWG;AACH,SAAS,eAAe,CAAC,MAAsB,EAAE,IAAqB;IACpE,OAAO,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,SAAS,CAAC,MAAsB,EAAE,IAAqB;IAC9D,OAAO,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,OAAO;AACL,SAAS;AACT,QAAQ,EACR,UAAU,EACV,MAAM,EACN,mBAAmB,EACnB,eAAe,EACf,SAAS,EACT,WAAW,EACX,OAAO,EACP,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,KAAK,GACN,CAAC"}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../../src/hooks/react.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EACL,WAAW,EACX,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,KAAK,EACL,mBAAmB,EACnB,OAAO,EACP,SAAS,IAAI,eAAe,EAC5B,UAAU,EACV,MAAM,EACN,QAAQ,GACT,MAAM,cAAc,CAAC;AAGtB;;;;;;;;;;;GAWG;AACH,SAAS,eAAe,CAAC,MAAsB,EAAE,IAAqB;IACpE,OAAO,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,SAAS,CAAC,MAAsB,EAAE,IAAqB;IAC9D,OAAO,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,OAAO;AACL,SAAS;AACT,QAAQ,EACR,UAAU,EACV,MAAM,EACN,mBAAmB,EACnB,eAAe,EACf,SAAS,EACT,WAAW,EACX,OAAO,EACP,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,KAAK,GACN,CAAC"}
@@ -26,4 +26,4 @@
26
26
  * @param listener - Event handler
27
27
  * @public
28
28
  */
29
- export declare function useLynxGlobalEventListener<T extends (...args: unknown[]) => void>(eventName: string, listener: T): void;
29
+ export declare function useLynxGlobalEventListener<T extends (...args: any[]) => void>(eventName: string, listener: T): void;
@@ -1,4 +1,4 @@
1
- import { SnapshotInstance } from './snapshot.js';
1
+ import type { SnapshotInstance } from './snapshot.js';
2
2
  export interface DiffResult<K> {
3
3
  $$diff: true;
4
4
  i: Record<number, K>;
@@ -1,9 +1,10 @@
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 { __pendingListUpdates, componentAtIndexFactory, enqueueComponentFactory } from './list.js';
4
+ import { componentAtIndexFactory, enqueueComponentFactory } from './list.js';
5
+ import { __pendingListUpdates } from './pendingListUpdates.js';
6
+ import { DynamicPartType } from './snapshot/dynamicPartType.js';
5
7
  import { unref } from './snapshot/ref.js';
6
- import { DynamicPartType, SnapshotInstance } from './snapshot.js';
7
8
  import { isEmptyObject } from './utils.js';
8
9
  export function isEmptyDiffResult(diffResult) {
9
10
  const hasChanged = !isEmptyObject(diffResult.i)
@@ -168,7 +169,7 @@ export function hydrate(before, after, options) {
168
169
  unref(before, false);
169
170
  }
170
171
  let swap;
171
- if (swap = options?.swap) {
172
+ if ((swap = options?.swap)) {
172
173
  swap[before.__id] = after.__id;
173
174
  }
174
175
  after.__values?.forEach((value, index) => {
@@ -260,7 +261,7 @@ export function hydrate(before, after, options) {
260
261
  };
261
262
  const listElement = before.__elements[elementIndex];
262
263
  __SetAttribute(listElement, 'update-list-info', info);
263
- const [componentAtIndex, componentAtIndexes] = componentAtIndexFactory(afterChildNodes);
264
+ const [componentAtIndex, componentAtIndexes] = componentAtIndexFactory(afterChildNodes, hydrate);
264
265
  __UpdateListCallbacks(listElement, componentAtIndex, enqueueComponentFactory(), componentAtIndexes);
265
266
  // The `before` & `after` target to the same list element, so we need to
266
267
  // avoid the newly created list's (behind snapshot instance `after`) "update-list-info" being recorded.