@lynx-js/react 0.118.0 → 0.120.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.
Files changed (404) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/package.json +28 -6
  3. package/refresh/.turbo/turbo-build.log +1 -1
  4. package/runtime/lazy/internal.js +3 -0
  5. package/runtime/lib/document.d.ts +4 -4
  6. package/runtime/lib/document.js +14 -12
  7. package/runtime/lib/document.js.map +1 -1
  8. package/runtime/lib/index.d.ts +3 -3
  9. package/runtime/lib/index.js +4 -4
  10. package/runtime/lib/index.js.map +1 -1
  11. package/runtime/lib/internal.d.ts +23 -20
  12. package/runtime/lib/internal.js +27 -23
  13. package/runtime/lib/internal.js.map +1 -1
  14. package/runtime/lib/lynx-api.d.ts +5 -5
  15. package/runtime/lib/lynx-api.js +9 -9
  16. package/runtime/lib/lynx-api.js.map +1 -1
  17. package/runtime/lib/lynx.d.ts +2 -2
  18. package/runtime/lib/lynx.js +17 -17
  19. package/runtime/lib/lynx.js.map +1 -1
  20. package/runtime/lib/root.d.ts +2 -2
  21. package/runtime/lib/root.js +2 -2
  22. package/runtime/lib/root.js.map +1 -1
  23. package/runtime/lib/{alog → snapshot/alog}/elementPAPICall.js +1 -0
  24. package/runtime/lib/snapshot/alog/elementPAPICall.js.map +1 -0
  25. package/runtime/lib/snapshot/alog/index.js.map +1 -0
  26. package/runtime/lib/{alog → snapshot/alog}/render.js +1 -1
  27. package/runtime/lib/snapshot/alog/render.js.map +1 -0
  28. package/runtime/lib/snapshot/compat/componentIs.js.map +1 -0
  29. package/runtime/lib/snapshot/compat/initData.js.map +1 -0
  30. package/runtime/lib/snapshot/compat/lynxComponent.js.map +1 -0
  31. package/runtime/lib/{debug → snapshot/debug}/component-stack.d.ts +0 -6
  32. package/runtime/lib/snapshot/debug/component-stack.js.map +1 -0
  33. package/runtime/lib/snapshot/debug/debug.js.map +1 -0
  34. package/runtime/lib/snapshot/debug/describeInvalidValue.js.map +1 -0
  35. package/runtime/lib/snapshot/debug/formatPatch.js.map +1 -0
  36. package/runtime/lib/snapshot/debug/printSnapshot.js.map +1 -0
  37. package/runtime/lib/{debug → snapshot/debug}/profile.js +1 -1
  38. package/runtime/lib/snapshot/debug/profile.js.map +1 -0
  39. package/runtime/lib/{debug → snapshot/debug}/profileHooks.js +1 -1
  40. package/runtime/lib/snapshot/debug/profileHooks.js.map +1 -0
  41. package/runtime/lib/snapshot/debug/vnodeSource.js.map +1 -0
  42. package/runtime/lib/snapshot/gesture/processGesture.js +172 -0
  43. package/runtime/lib/snapshot/gesture/processGesture.js.map +1 -0
  44. package/runtime/lib/snapshot/gesture/processGestureBagkround.d.ts +9 -0
  45. package/runtime/lib/snapshot/gesture/processGestureBagkround.js +80 -0
  46. package/runtime/lib/snapshot/gesture/processGestureBagkround.js.map +1 -0
  47. package/runtime/lib/snapshot/gesture/types.js.map +1 -0
  48. package/runtime/lib/snapshot/hooks/mainThread.d.ts +17 -0
  49. package/runtime/lib/snapshot/hooks/mainThread.js +152 -0
  50. package/runtime/lib/snapshot/hooks/mainThread.js.map +1 -0
  51. package/runtime/lib/{hooks → snapshot/hooks}/react.d.ts +1 -2
  52. package/runtime/lib/{hooks → snapshot/hooks}/react.js +8 -14
  53. package/runtime/lib/snapshot/hooks/react.js.map +1 -0
  54. package/runtime/lib/snapshot/hooks/useLynxGlobalEventListener.js.map +1 -0
  55. package/runtime/lib/snapshot/index.d.ts +1 -4
  56. package/runtime/lib/snapshot/index.js +2 -5
  57. package/runtime/lib/snapshot/index.js.map +1 -1
  58. package/runtime/lib/snapshot/legacy-react-runtime/index.js.map +1 -0
  59. package/runtime/lib/snapshot/lifecycle/constant.js.map +1 -0
  60. package/runtime/lib/{lifecycle → snapshot/lifecycle}/destroy.js +1 -1
  61. package/runtime/lib/snapshot/lifecycle/destroy.js.map +1 -0
  62. package/runtime/lib/snapshot/lifecycle/event/delayEvents.js.map +1 -0
  63. package/runtime/lib/snapshot/lifecycle/event/delayLifecycleEvents.js.map +1 -0
  64. package/runtime/lib/{lifecycle → snapshot/lifecycle}/event/jsReady.js +4 -2
  65. package/runtime/lib/snapshot/lifecycle/event/jsReady.js.map +1 -0
  66. package/runtime/lib/{lifecycle → snapshot/lifecycle}/isRendering.js +1 -1
  67. package/runtime/lib/snapshot/lifecycle/isRendering.js.map +1 -0
  68. package/runtime/lib/snapshot/lifecycle/pass.js.map +1 -0
  69. package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/commit.js +1 -1
  70. package/runtime/lib/snapshot/lifecycle/patch/commit.js.map +1 -0
  71. package/runtime/lib/snapshot/lifecycle/patch/error.js.map +1 -0
  72. package/runtime/lib/snapshot/lifecycle/patch/globalState.js.map +1 -0
  73. package/runtime/lib/snapshot/lifecycle/patch/isMainThreadHydrating.js.map +1 -0
  74. package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/snapshotPatch.js +10 -2
  75. package/runtime/lib/snapshot/lifecycle/patch/snapshotPatch.js.map +1 -0
  76. package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/snapshotPatchApply.js +2 -0
  77. package/runtime/lib/snapshot/lifecycle/patch/snapshotPatchApply.js.map +1 -0
  78. package/runtime/lib/snapshot/lifecycle/patch/updateMainThread.js.map +1 -0
  79. package/runtime/lib/snapshot/lifecycle/ref/delay.js.map +1 -0
  80. package/runtime/lib/{lifecycle → snapshot/lifecycle}/reload.js +2 -2
  81. package/runtime/lib/snapshot/lifecycle/reload.js.map +1 -0
  82. package/runtime/lib/{lifecycle → snapshot/lifecycle}/render.js +1 -7
  83. package/runtime/lib/snapshot/lifecycle/render.js.map +1 -0
  84. package/runtime/lib/{list → snapshot/list}/list.js +1 -1
  85. package/runtime/lib/snapshot/list/list.js.map +1 -0
  86. package/runtime/lib/snapshot/list/listUpdateInfo.js.map +1 -0
  87. package/runtime/lib/snapshot/list/pendingListUpdates.js.map +1 -0
  88. package/runtime/lib/{lynx → snapshot/lynx}/calledByNative.js +2 -2
  89. package/runtime/lib/snapshot/lynx/calledByNative.js.map +1 -0
  90. package/runtime/lib/snapshot/lynx/component.js.map +1 -0
  91. package/runtime/lib/snapshot/lynx/dynamic-js.js.map +1 -0
  92. package/runtime/lib/{lynx → snapshot/lynx}/env.js +0 -3
  93. package/runtime/lib/snapshot/lynx/env.js.map +1 -0
  94. package/runtime/lib/snapshot/lynx/injectLepusMethods.js.map +1 -0
  95. package/runtime/lib/snapshot/lynx/lazy-bundle.js.map +1 -0
  96. package/runtime/lib/{lynx → snapshot/lynx}/performance.js +1 -1
  97. package/runtime/lib/snapshot/lynx/performance.js.map +1 -0
  98. package/runtime/lib/{lynx → snapshot/lynx}/runWithForce.js +1 -1
  99. package/runtime/lib/snapshot/lynx/runWithForce.js.map +1 -0
  100. package/runtime/lib/{lynx → snapshot/lynx}/suspense.js +27 -17
  101. package/runtime/lib/snapshot/lynx/suspense.js.map +1 -0
  102. package/runtime/lib/{lynx → snapshot/lynx}/tt.js +1 -1
  103. package/runtime/lib/snapshot/lynx/tt.js.map +1 -0
  104. package/runtime/lib/{renderToOpcodes → snapshot/renderToOpcodes}/constants.d.ts +1 -0
  105. package/runtime/lib/{renderToOpcodes → snapshot/renderToOpcodes}/constants.js +1 -0
  106. package/runtime/lib/snapshot/renderToOpcodes/constants.js.map +1 -0
  107. package/runtime/lib/{renderToOpcodes → snapshot/renderToOpcodes}/hydrate.js +21 -4
  108. package/runtime/lib/snapshot/renderToOpcodes/hydrate.js.map +1 -0
  109. package/runtime/lib/{renderToOpcodes → snapshot/renderToOpcodes}/index.js +37 -14
  110. package/runtime/lib/snapshot/renderToOpcodes/index.js.map +1 -0
  111. package/runtime/lib/{renderToOpcodes → snapshot/renderToOpcodes}/opcodes.js +4 -2
  112. package/runtime/lib/snapshot/renderToOpcodes/opcodes.js.map +1 -0
  113. package/runtime/lib/snapshot/{backgroundSnapshot.d.ts → snapshot/backgroundSnapshot.d.ts} +1 -0
  114. package/runtime/lib/snapshot/{backgroundSnapshot.js → snapshot/backgroundSnapshot.js} +82 -53
  115. package/runtime/lib/snapshot/snapshot/backgroundSnapshot.js.map +1 -0
  116. package/runtime/lib/snapshot/snapshot/constants.js.map +1 -0
  117. package/runtime/lib/snapshot/{definition.d.ts → snapshot/definition.d.ts} +1 -0
  118. package/runtime/lib/snapshot/{definition.js → snapshot/definition.js} +6 -2
  119. package/runtime/lib/snapshot/snapshot/definition.js.map +1 -0
  120. package/runtime/lib/snapshot/{dynamicPartType.d.ts → snapshot/dynamicPartType.d.ts} +2 -0
  121. package/runtime/lib/snapshot/{dynamicPartType.js → snapshot/dynamicPartType.js} +2 -0
  122. package/runtime/lib/snapshot/snapshot/dynamicPartType.js.map +1 -0
  123. package/runtime/lib/snapshot/snapshot/event.js.map +1 -0
  124. package/runtime/lib/snapshot/snapshot/gesture.js.map +1 -0
  125. package/runtime/lib/snapshot/snapshot/index.d.ts +4 -0
  126. package/runtime/lib/snapshot/snapshot/index.js +8 -0
  127. package/runtime/lib/snapshot/snapshot/index.js.map +1 -0
  128. package/runtime/lib/snapshot/snapshot/list.js.map +1 -0
  129. package/runtime/lib/snapshot/snapshot/platformInfo.js.map +1 -0
  130. package/runtime/lib/snapshot/{ref.d.ts → snapshot/ref.d.ts} +1 -0
  131. package/runtime/lib/snapshot/{ref.js → snapshot/ref.js} +13 -1
  132. package/runtime/lib/snapshot/snapshot/ref.js.map +1 -0
  133. package/runtime/lib/snapshot/{snapshot.d.ts → snapshot/snapshot.d.ts} +1 -0
  134. package/runtime/lib/snapshot/{snapshot.js → snapshot/snapshot.js} +28 -8
  135. package/runtime/lib/snapshot/snapshot/snapshot.js.map +1 -0
  136. package/runtime/lib/snapshot/snapshot/snapshotInstanceHydrationMap.js.map +1 -0
  137. package/runtime/lib/snapshot/{spread.js → snapshot/spread.js} +4 -4
  138. package/runtime/lib/snapshot/snapshot/spread.js.map +1 -0
  139. package/runtime/lib/snapshot/{types.d.ts → snapshot/types.d.ts} +1 -0
  140. package/runtime/lib/snapshot/snapshot/types.js.map +1 -0
  141. package/runtime/lib/snapshot/snapshot/utils.js.map +1 -0
  142. package/runtime/lib/snapshot/snapshot/workletEvent.js.map +1 -0
  143. package/runtime/lib/snapshot/snapshot/workletRef.js.map +1 -0
  144. package/runtime/lib/snapshot/worklet/call/delayedRunOnMainThreadData.js.map +1 -0
  145. package/runtime/lib/snapshot/worklet/call/execMap.js.map +1 -0
  146. package/runtime/lib/snapshot/worklet/call/functionCall.js.map +1 -0
  147. package/runtime/lib/snapshot/worklet/call/runOnBackground.js.map +1 -0
  148. package/runtime/lib/snapshot/worklet/call/runOnMainThread.js.map +1 -0
  149. package/runtime/lib/snapshot/worklet/call/transformToWorklet.js.map +1 -0
  150. package/runtime/lib/snapshot/worklet/ctx.js.map +1 -0
  151. package/runtime/lib/snapshot/worklet/destroy.js.map +1 -0
  152. package/runtime/lib/{worklet → snapshot/worklet}/functionality.js +1 -1
  153. package/runtime/lib/snapshot/worklet/functionality.js.map +1 -0
  154. package/runtime/lib/snapshot/worklet/hmr.js.map +1 -0
  155. package/runtime/lib/snapshot/worklet/indexMap.js.map +1 -0
  156. package/runtime/lib/snapshot/worklet/ref/updateInitValue.js.map +1 -0
  157. package/runtime/lib/snapshot/worklet/ref/workletRef.js.map +1 -0
  158. package/runtime/lib/snapshot/worklet/ref/workletRefPool.js.map +1 -0
  159. package/runtime/lib/tsconfig.tsbuildinfo +1 -1
  160. package/runtime/lib/utils.js +1 -1
  161. package/runtime/lib/utils.js.map +1 -1
  162. package/testing-library/README.md +48 -9
  163. package/testing-library/dist/0~123.js +43 -0
  164. package/testing-library/dist/881.js +1 -0
  165. package/testing-library/dist/entry.d.ts +1 -0
  166. package/testing-library/dist/env/index.d.ts +2 -0
  167. package/testing-library/dist/env/index.js +661 -0
  168. package/testing-library/dist/env/rstest.d.ts +1 -0
  169. package/testing-library/dist/env/rstest.js +6 -0
  170. package/testing-library/dist/env/vitest.d.ts +3 -0
  171. package/testing-library/dist/env/vitest.js +8 -662
  172. package/testing-library/dist/fire-event.d.ts +111 -0
  173. package/testing-library/dist/index.d.ts +18 -6
  174. package/testing-library/dist/plugins/index.d.ts +2 -0
  175. package/testing-library/dist/plugins/index.js +282 -0
  176. package/testing-library/dist/plugins/vitest.d.ts +26 -0
  177. package/testing-library/dist/pure.js +4 -4
  178. package/testing-library/dist/rstest-config.d.ts +25 -0
  179. package/testing-library/dist/rstest-config.js +61 -0
  180. package/testing-library/dist/setupFiles/common/bootstrap.js +2 -0
  181. package/testing-library/dist/setupFiles/common/runtime-setup.js +85 -0
  182. package/testing-library/dist/setupFiles/inner/rstest.js +7 -0
  183. package/testing-library/dist/setupFiles/inner/vitest.js +11 -0
  184. package/testing-library/dist/setupFiles/rstest.js +21 -0
  185. package/testing-library/dist/setupFiles/vitest.js +20 -0
  186. package/testing-library/dist/vitest.config.d.ts +6 -0
  187. package/testing-library/dist/vitest.config.js +4 -257
  188. package/transform/dist/wasm.cjs +450 -389
  189. package/transform/index.d.ts +10 -0
  190. package/types/react.docs.d.ts +1 -1
  191. package/runtime/lib/alog/elementPAPICall.js.map +0 -1
  192. package/runtime/lib/alog/index.js.map +0 -1
  193. package/runtime/lib/alog/render.js.map +0 -1
  194. package/runtime/lib/compat/componentIs.js.map +0 -1
  195. package/runtime/lib/compat/initData.js.map +0 -1
  196. package/runtime/lib/compat/lynxComponent.js.map +0 -1
  197. package/runtime/lib/debug/component-stack.js.map +0 -1
  198. package/runtime/lib/debug/debug.js.map +0 -1
  199. package/runtime/lib/debug/describeInvalidValue.js.map +0 -1
  200. package/runtime/lib/debug/formatPatch.js.map +0 -1
  201. package/runtime/lib/debug/printSnapshot.js.map +0 -1
  202. package/runtime/lib/debug/profile.js.map +0 -1
  203. package/runtime/lib/debug/profileHooks.js.map +0 -1
  204. package/runtime/lib/debug/vnodeSource.js.map +0 -1
  205. package/runtime/lib/gesture/processGesture.js +0 -58
  206. package/runtime/lib/gesture/processGesture.js.map +0 -1
  207. package/runtime/lib/gesture/processGestureBagkround.d.ts +0 -2
  208. package/runtime/lib/gesture/processGestureBagkround.js +0 -19
  209. package/runtime/lib/gesture/processGestureBagkround.js.map +0 -1
  210. package/runtime/lib/gesture/types.js.map +0 -1
  211. package/runtime/lib/hooks/react.js.map +0 -1
  212. package/runtime/lib/hooks/useLynxGlobalEventListener.js.map +0 -1
  213. package/runtime/lib/legacy-react-runtime/index.js.map +0 -1
  214. package/runtime/lib/lifecycle/constant.js.map +0 -1
  215. package/runtime/lib/lifecycle/destroy.js.map +0 -1
  216. package/runtime/lib/lifecycle/event/delayEvents.js.map +0 -1
  217. package/runtime/lib/lifecycle/event/delayLifecycleEvents.js.map +0 -1
  218. package/runtime/lib/lifecycle/event/jsReady.js.map +0 -1
  219. package/runtime/lib/lifecycle/isRendering.js.map +0 -1
  220. package/runtime/lib/lifecycle/pass.js.map +0 -1
  221. package/runtime/lib/lifecycle/patch/commit.js.map +0 -1
  222. package/runtime/lib/lifecycle/patch/error.js.map +0 -1
  223. package/runtime/lib/lifecycle/patch/globalState.js.map +0 -1
  224. package/runtime/lib/lifecycle/patch/isMainThreadHydrating.js.map +0 -1
  225. package/runtime/lib/lifecycle/patch/snapshotPatch.js.map +0 -1
  226. package/runtime/lib/lifecycle/patch/snapshotPatchApply.js.map +0 -1
  227. package/runtime/lib/lifecycle/patch/updateMainThread.js.map +0 -1
  228. package/runtime/lib/lifecycle/ref/delay.js.map +0 -1
  229. package/runtime/lib/lifecycle/reload.js.map +0 -1
  230. package/runtime/lib/lifecycle/render.js.map +0 -1
  231. package/runtime/lib/list/list.js.map +0 -1
  232. package/runtime/lib/list/listUpdateInfo.js.map +0 -1
  233. package/runtime/lib/list/pendingListUpdates.js.map +0 -1
  234. package/runtime/lib/lynx/calledByNative.js.map +0 -1
  235. package/runtime/lib/lynx/component.js.map +0 -1
  236. package/runtime/lib/lynx/dynamic-js.js.map +0 -1
  237. package/runtime/lib/lynx/env.js.map +0 -1
  238. package/runtime/lib/lynx/injectLepusMethods.js.map +0 -1
  239. package/runtime/lib/lynx/lazy-bundle.js.map +0 -1
  240. package/runtime/lib/lynx/performance.js.map +0 -1
  241. package/runtime/lib/lynx/runWithForce.js.map +0 -1
  242. package/runtime/lib/lynx/suspense.js.map +0 -1
  243. package/runtime/lib/lynx/tt.js.map +0 -1
  244. package/runtime/lib/renderToOpcodes/constants.js.map +0 -1
  245. package/runtime/lib/renderToOpcodes/hydrate.js.map +0 -1
  246. package/runtime/lib/renderToOpcodes/index.js.map +0 -1
  247. package/runtime/lib/renderToOpcodes/opcodes.js.map +0 -1
  248. package/runtime/lib/snapshot/backgroundSnapshot.js.map +0 -1
  249. package/runtime/lib/snapshot/constants.js.map +0 -1
  250. package/runtime/lib/snapshot/definition.js.map +0 -1
  251. package/runtime/lib/snapshot/dynamicPartType.js.map +0 -1
  252. package/runtime/lib/snapshot/event.js.map +0 -1
  253. package/runtime/lib/snapshot/gesture.js.map +0 -1
  254. package/runtime/lib/snapshot/list.js.map +0 -1
  255. package/runtime/lib/snapshot/platformInfo.js.map +0 -1
  256. package/runtime/lib/snapshot/ref.js.map +0 -1
  257. package/runtime/lib/snapshot/snapshot.js.map +0 -1
  258. package/runtime/lib/snapshot/snapshotInstanceHydrationMap.js.map +0 -1
  259. package/runtime/lib/snapshot/spread.js.map +0 -1
  260. package/runtime/lib/snapshot/types.js.map +0 -1
  261. package/runtime/lib/snapshot/utils.js.map +0 -1
  262. package/runtime/lib/snapshot/workletEvent.js.map +0 -1
  263. package/runtime/lib/snapshot/workletRef.js.map +0 -1
  264. package/runtime/lib/worklet/call/delayedRunOnMainThreadData.js.map +0 -1
  265. package/runtime/lib/worklet/call/execMap.js.map +0 -1
  266. package/runtime/lib/worklet/call/functionCall.js.map +0 -1
  267. package/runtime/lib/worklet/call/runOnBackground.js.map +0 -1
  268. package/runtime/lib/worklet/call/runOnMainThread.js.map +0 -1
  269. package/runtime/lib/worklet/call/transformToWorklet.js.map +0 -1
  270. package/runtime/lib/worklet/ctx.js.map +0 -1
  271. package/runtime/lib/worklet/destroy.js.map +0 -1
  272. package/runtime/lib/worklet/functionality.js.map +0 -1
  273. package/runtime/lib/worklet/hmr.js.map +0 -1
  274. package/runtime/lib/worklet/indexMap.js.map +0 -1
  275. package/runtime/lib/worklet/ref/updateInitValue.js.map +0 -1
  276. package/runtime/lib/worklet/ref/workletRef.js.map +0 -1
  277. package/runtime/lib/worklet/ref/workletRefPool.js.map +0 -1
  278. package/testing-library/dist/vitest-global-setup.js +0 -134
  279. package/testing-library/types/vitest-config.d.ts +0 -20
  280. /package/runtime/lib/{alog → snapshot/alog}/elementPAPICall.d.ts +0 -0
  281. /package/runtime/lib/{alog → snapshot/alog}/index.d.ts +0 -0
  282. /package/runtime/lib/{alog → snapshot/alog}/index.js +0 -0
  283. /package/runtime/lib/{alog → snapshot/alog}/render.d.ts +0 -0
  284. /package/runtime/lib/{compat → snapshot/compat}/componentIs.d.ts +0 -0
  285. /package/runtime/lib/{compat → snapshot/compat}/componentIs.js +0 -0
  286. /package/runtime/lib/{compat → snapshot/compat}/initData.d.ts +0 -0
  287. /package/runtime/lib/{compat → snapshot/compat}/initData.js +0 -0
  288. /package/runtime/lib/{compat → snapshot/compat}/lynxComponent.d.ts +0 -0
  289. /package/runtime/lib/{compat → snapshot/compat}/lynxComponent.js +0 -0
  290. /package/runtime/lib/{debug → snapshot/debug}/component-stack.js +0 -0
  291. /package/runtime/lib/{debug → snapshot/debug}/debug.d.ts +0 -0
  292. /package/runtime/lib/{debug → snapshot/debug}/debug.js +0 -0
  293. /package/runtime/lib/{debug → snapshot/debug}/describeInvalidValue.d.ts +0 -0
  294. /package/runtime/lib/{debug → snapshot/debug}/describeInvalidValue.js +0 -0
  295. /package/runtime/lib/{debug → snapshot/debug}/formatPatch.d.ts +0 -0
  296. /package/runtime/lib/{debug → snapshot/debug}/formatPatch.js +0 -0
  297. /package/runtime/lib/{debug → snapshot/debug}/printSnapshot.d.ts +0 -0
  298. /package/runtime/lib/{debug → snapshot/debug}/printSnapshot.js +0 -0
  299. /package/runtime/lib/{debug → snapshot/debug}/profile.d.ts +0 -0
  300. /package/runtime/lib/{debug → snapshot/debug}/profileHooks.d.ts +0 -0
  301. /package/runtime/lib/{debug → snapshot/debug}/vnodeSource.d.ts +0 -0
  302. /package/runtime/lib/{debug → snapshot/debug}/vnodeSource.js +0 -0
  303. /package/runtime/lib/{gesture → snapshot/gesture}/processGesture.d.ts +0 -0
  304. /package/runtime/lib/{gesture → snapshot/gesture}/types.d.ts +0 -0
  305. /package/runtime/lib/{gesture → snapshot/gesture}/types.js +0 -0
  306. /package/runtime/lib/{hooks → snapshot/hooks}/useLynxGlobalEventListener.d.ts +0 -0
  307. /package/runtime/lib/{hooks → snapshot/hooks}/useLynxGlobalEventListener.js +0 -0
  308. /package/runtime/lib/{legacy-react-runtime → snapshot/legacy-react-runtime}/index.d.ts +0 -0
  309. /package/runtime/lib/{legacy-react-runtime → snapshot/legacy-react-runtime}/index.js +0 -0
  310. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/constant.d.ts +0 -0
  311. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/constant.js +0 -0
  312. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/destroy.d.ts +0 -0
  313. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/event/delayEvents.d.ts +0 -0
  314. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/event/delayEvents.js +0 -0
  315. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/event/delayLifecycleEvents.d.ts +0 -0
  316. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/event/delayLifecycleEvents.js +0 -0
  317. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/event/jsReady.d.ts +0 -0
  318. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/isRendering.d.ts +0 -0
  319. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/pass.d.ts +0 -0
  320. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/pass.js +0 -0
  321. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/commit.d.ts +0 -0
  322. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/error.d.ts +0 -0
  323. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/error.js +0 -0
  324. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/globalState.d.ts +0 -0
  325. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/globalState.js +0 -0
  326. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/isMainThreadHydrating.d.ts +0 -0
  327. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/isMainThreadHydrating.js +0 -0
  328. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/snapshotPatch.d.ts +0 -0
  329. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/snapshotPatchApply.d.ts +0 -0
  330. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/updateMainThread.d.ts +0 -0
  331. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/patch/updateMainThread.js +0 -0
  332. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/ref/delay.d.ts +0 -0
  333. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/ref/delay.js +0 -0
  334. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/reload.d.ts +0 -0
  335. /package/runtime/lib/{lifecycle → snapshot/lifecycle}/render.d.ts +0 -0
  336. /package/runtime/lib/{list → snapshot/list}/list.d.ts +0 -0
  337. /package/runtime/lib/{list → snapshot/list}/listUpdateInfo.d.ts +0 -0
  338. /package/runtime/lib/{list → snapshot/list}/listUpdateInfo.js +0 -0
  339. /package/runtime/lib/{list → snapshot/list}/pendingListUpdates.d.ts +0 -0
  340. /package/runtime/lib/{list → snapshot/list}/pendingListUpdates.js +0 -0
  341. /package/runtime/lib/{lynx → snapshot/lynx}/calledByNative.d.ts +0 -0
  342. /package/runtime/lib/{lynx → snapshot/lynx}/component.d.ts +0 -0
  343. /package/runtime/lib/{lynx → snapshot/lynx}/component.js +0 -0
  344. /package/runtime/lib/{lynx → snapshot/lynx}/dynamic-js.d.ts +0 -0
  345. /package/runtime/lib/{lynx → snapshot/lynx}/dynamic-js.js +0 -0
  346. /package/runtime/lib/{lynx → snapshot/lynx}/env.d.ts +0 -0
  347. /package/runtime/lib/{lynx → snapshot/lynx}/injectLepusMethods.d.ts +0 -0
  348. /package/runtime/lib/{lynx → snapshot/lynx}/injectLepusMethods.js +0 -0
  349. /package/runtime/lib/{lynx → snapshot/lynx}/lazy-bundle.d.ts +0 -0
  350. /package/runtime/lib/{lynx → snapshot/lynx}/lazy-bundle.js +0 -0
  351. /package/runtime/lib/{lynx → snapshot/lynx}/performance.d.ts +0 -0
  352. /package/runtime/lib/{lynx → snapshot/lynx}/runWithForce.d.ts +0 -0
  353. /package/runtime/lib/{lynx → snapshot/lynx}/suspense.d.ts +0 -0
  354. /package/runtime/lib/{lynx → snapshot/lynx}/tt.d.ts +0 -0
  355. /package/runtime/lib/{renderToOpcodes → snapshot/renderToOpcodes}/hydrate.d.ts +0 -0
  356. /package/runtime/lib/{renderToOpcodes → snapshot/renderToOpcodes}/index.d.ts +0 -0
  357. /package/runtime/lib/{renderToOpcodes → snapshot/renderToOpcodes}/opcodes.d.ts +0 -0
  358. /package/runtime/lib/snapshot/{constants.d.ts → snapshot/constants.d.ts} +0 -0
  359. /package/runtime/lib/snapshot/{constants.js → snapshot/constants.js} +0 -0
  360. /package/runtime/lib/snapshot/{event.d.ts → snapshot/event.d.ts} +0 -0
  361. /package/runtime/lib/snapshot/{event.js → snapshot/event.js} +0 -0
  362. /package/runtime/lib/snapshot/{gesture.d.ts → snapshot/gesture.d.ts} +0 -0
  363. /package/runtime/lib/snapshot/{gesture.js → snapshot/gesture.js} +0 -0
  364. /package/runtime/lib/snapshot/{list.d.ts → snapshot/list.d.ts} +0 -0
  365. /package/runtime/lib/snapshot/{list.js → snapshot/list.js} +0 -0
  366. /package/runtime/lib/snapshot/{platformInfo.d.ts → snapshot/platformInfo.d.ts} +0 -0
  367. /package/runtime/lib/snapshot/{platformInfo.js → snapshot/platformInfo.js} +0 -0
  368. /package/runtime/lib/snapshot/{snapshotInstanceHydrationMap.d.ts → snapshot/snapshotInstanceHydrationMap.d.ts} +0 -0
  369. /package/runtime/lib/snapshot/{snapshotInstanceHydrationMap.js → snapshot/snapshotInstanceHydrationMap.js} +0 -0
  370. /package/runtime/lib/snapshot/{spread.d.ts → snapshot/spread.d.ts} +0 -0
  371. /package/runtime/lib/snapshot/{types.js → snapshot/types.js} +0 -0
  372. /package/runtime/lib/snapshot/{utils.d.ts → snapshot/utils.d.ts} +0 -0
  373. /package/runtime/lib/snapshot/{utils.js → snapshot/utils.js} +0 -0
  374. /package/runtime/lib/snapshot/{workletEvent.d.ts → snapshot/workletEvent.d.ts} +0 -0
  375. /package/runtime/lib/snapshot/{workletEvent.js → snapshot/workletEvent.js} +0 -0
  376. /package/runtime/lib/snapshot/{workletRef.d.ts → snapshot/workletRef.d.ts} +0 -0
  377. /package/runtime/lib/snapshot/{workletRef.js → snapshot/workletRef.js} +0 -0
  378. /package/runtime/lib/{worklet → snapshot/worklet}/call/delayedRunOnMainThreadData.d.ts +0 -0
  379. /package/runtime/lib/{worklet → snapshot/worklet}/call/delayedRunOnMainThreadData.js +0 -0
  380. /package/runtime/lib/{worklet → snapshot/worklet}/call/execMap.d.ts +0 -0
  381. /package/runtime/lib/{worklet → snapshot/worklet}/call/execMap.js +0 -0
  382. /package/runtime/lib/{worklet → snapshot/worklet}/call/functionCall.d.ts +0 -0
  383. /package/runtime/lib/{worklet → snapshot/worklet}/call/functionCall.js +0 -0
  384. /package/runtime/lib/{worklet → snapshot/worklet}/call/runOnBackground.d.ts +0 -0
  385. /package/runtime/lib/{worklet → snapshot/worklet}/call/runOnBackground.js +0 -0
  386. /package/runtime/lib/{worklet → snapshot/worklet}/call/runOnMainThread.d.ts +0 -0
  387. /package/runtime/lib/{worklet → snapshot/worklet}/call/runOnMainThread.js +0 -0
  388. /package/runtime/lib/{worklet → snapshot/worklet}/call/transformToWorklet.d.ts +0 -0
  389. /package/runtime/lib/{worklet → snapshot/worklet}/call/transformToWorklet.js +0 -0
  390. /package/runtime/lib/{worklet → snapshot/worklet}/ctx.d.ts +0 -0
  391. /package/runtime/lib/{worklet → snapshot/worklet}/ctx.js +0 -0
  392. /package/runtime/lib/{worklet → snapshot/worklet}/destroy.d.ts +0 -0
  393. /package/runtime/lib/{worklet → snapshot/worklet}/destroy.js +0 -0
  394. /package/runtime/lib/{worklet → snapshot/worklet}/functionality.d.ts +0 -0
  395. /package/runtime/lib/{worklet → snapshot/worklet}/hmr.d.ts +0 -0
  396. /package/runtime/lib/{worklet → snapshot/worklet}/hmr.js +0 -0
  397. /package/runtime/lib/{worklet → snapshot/worklet}/indexMap.d.ts +0 -0
  398. /package/runtime/lib/{worklet → snapshot/worklet}/indexMap.js +0 -0
  399. /package/runtime/lib/{worklet → snapshot/worklet}/ref/updateInitValue.d.ts +0 -0
  400. /package/runtime/lib/{worklet → snapshot/worklet}/ref/updateInitValue.js +0 -0
  401. /package/runtime/lib/{worklet → snapshot/worklet}/ref/workletRef.d.ts +0 -0
  402. /package/runtime/lib/{worklet → snapshot/worklet}/ref/workletRef.js +0 -0
  403. /package/runtime/lib/{worklet → snapshot/worklet}/ref/workletRefPool.d.ts +0 -0
  404. /package/runtime/lib/{worklet → snapshot/worklet}/ref/workletRefPool.js +0 -0
@@ -0,0 +1,661 @@
1
+ import node_events from "node:events";
2
+ function util_define(object, properties) {
3
+ for (const name of Object.getOwnPropertyNames(properties)){
4
+ const propDesc = Object.getOwnPropertyDescriptor(properties, name);
5
+ Object.defineProperty(object, name, propDesc);
6
+ }
7
+ }
8
+ function installOwnProperties(globalThis1) {
9
+ util_define(globalThis1, {
10
+ get globalThis () {
11
+ return globalThis1._globalProxy;
12
+ }
13
+ });
14
+ }
15
+ const createGlobalThis = ()=>{
16
+ const globalThis1 = {};
17
+ globalThis1._globalObject = globalThis1._globalProxy = globalThis1;
18
+ installOwnProperties(globalThis1);
19
+ return globalThis1;
20
+ };
21
+ function _define_property(obj, key, value) {
22
+ if (key in obj) Object.defineProperty(obj, key, {
23
+ value: value,
24
+ enumerable: true,
25
+ configurable: true,
26
+ writable: true
27
+ });
28
+ else obj[key] = value;
29
+ return obj;
30
+ }
31
+ const initElementTree = ()=>{
32
+ let uiSignNext = 0;
33
+ return new class {
34
+ countElement(element, parentComponentUniqueId) {
35
+ element.$$uiSign = uiSignNext++;
36
+ this.uniqueId2Element.set(element.$$uiSign, element);
37
+ element.parentComponentUniqueId = parentComponentUniqueId;
38
+ }
39
+ __CreatePage(_tag, parentComponentUniqueId) {
40
+ const page = this.__CreateElement('page', parentComponentUniqueId);
41
+ this.root = page;
42
+ document.body.innerHTML = '';
43
+ lynxTestingEnv.env.window.document.body.appendChild(page);
44
+ return page;
45
+ }
46
+ __CreateRawText(text) {
47
+ const element = lynxTestingEnv.env.window.document.createTextNode(text);
48
+ this.countElement(element, 0);
49
+ return element;
50
+ }
51
+ __GetElementUniqueID(e) {
52
+ return e.$$uiSign;
53
+ }
54
+ __SetClasses(e, cls) {
55
+ e.className = cls;
56
+ }
57
+ __CreateElement(tag, parentComponentUniqueId) {
58
+ if ('raw-text' === tag) return this.__CreateRawText('');
59
+ const element = lynxTestingEnv.env.window.document.createElement(tag);
60
+ this.countElement(element, parentComponentUniqueId);
61
+ return element;
62
+ }
63
+ __CreateView(parentComponentUniqueId) {
64
+ return this.__CreateElement('view', parentComponentUniqueId);
65
+ }
66
+ __CreateScrollView(parentComponentUniqueId) {
67
+ return this.__CreateElement('scroll-view', parentComponentUniqueId);
68
+ }
69
+ __FirstElement(e) {
70
+ return e.firstChild;
71
+ }
72
+ __CreateText(parentComponentUniqueId) {
73
+ return this.__CreateElement('text', parentComponentUniqueId);
74
+ }
75
+ __CreateImage(parentComponentUniqueId) {
76
+ return this.__CreateElement('image', parentComponentUniqueId);
77
+ }
78
+ __CreateWrapperElement(parentComponentUniqueId) {
79
+ return this.__CreateElement('wrapper', parentComponentUniqueId);
80
+ }
81
+ __AddInlineStyle(e, key, value) {
82
+ e.style[key] = value;
83
+ }
84
+ __AppendElement(parent, child) {
85
+ parent.appendChild(child);
86
+ }
87
+ __SetCSSId(e, id, entryName) {
88
+ const cssId = `${entryName ?? '__Card__'}:${id}`;
89
+ if (Array.isArray(e)) e.forEach((item)=>{
90
+ item.cssId = cssId;
91
+ });
92
+ else e.cssId = cssId;
93
+ }
94
+ __SetAttribute(e, key, value) {
95
+ if ('style' === key || 'class' === key || 'className' === key || 'key' === key || 'id' === key || 'ref' === key || /^data-/.exec(key) || /^(bind|catch|global-bind|capture-bind|capture-catch)[A-Za-z]/.exec(key)) throw new Error(`Cannot use __SetAttribute for "${key}"`);
96
+ if ('update-list-info' === key) {
97
+ let listInfoStr = e.getAttribute(key);
98
+ let listInfo = listInfoStr ? JSON.parse(listInfoStr) : [];
99
+ listInfo.push(value);
100
+ e.setAttribute(key, JSON.stringify(listInfo));
101
+ return;
102
+ }
103
+ if ('text' === key) {
104
+ e.textContent = value;
105
+ return;
106
+ }
107
+ if (null === value) return void e.removeAttribute(key);
108
+ if ('string' == typeof value) return void e.setAttribute(key, value);
109
+ e.setAttribute(key, JSON.stringify(value));
110
+ }
111
+ __AddEvent(e, eventType, eventName, eventHandler) {
112
+ if (e.eventMap?.[`${eventType}:${eventName}`]) {
113
+ e.removeEventListener(`${eventType}:${eventName}`, e.eventMap[`${eventType}:${eventName}`]);
114
+ delete e.eventMap[`${eventType}:${eventName}`];
115
+ }
116
+ if (void 0 === eventHandler) return;
117
+ if ('string' != typeof eventHandler && void 0 === eventHandler['type']) throw new Error(`event must be string, but got ${typeof eventHandler}`);
118
+ const listener = (evt)=>{
119
+ if ('object' == typeof eventHandler && 'worklet' === eventHandler['type']) {
120
+ const isBackground = !__MAIN_THREAD__;
121
+ globalThis.lynxTestingEnv.switchToMainThread();
122
+ runWorklet(eventHandler.value, [
123
+ Object.assign({}, evt)
124
+ ]);
125
+ if (isBackground) globalThis.lynxTestingEnv.switchToBackgroundThread();
126
+ } else {
127
+ if ('catchEvent' === eventType || 'capture-catch' === eventType) evt.stopPropagation();
128
+ globalThis.lynxCoreInject.tt.publishEvent(eventHandler, evt);
129
+ }
130
+ };
131
+ e.eventMap = e.eventMap ?? {};
132
+ e.eventMap[`${eventType}:${eventName}`] = listener;
133
+ e.addEventListener(`${eventType}:${eventName}`, listener, {
134
+ capture: 'capture-bind' === eventType || 'capture-catch' === eventType
135
+ });
136
+ }
137
+ __GetEvent(e, eventType, eventName) {
138
+ const jsFunction = e.eventMap?.[`${eventType}:${eventName}`];
139
+ if (void 0 !== jsFunction) return {
140
+ type: eventType,
141
+ name: eventName,
142
+ jsFunction
143
+ };
144
+ }
145
+ __SetID(e, id) {
146
+ e.id = id;
147
+ }
148
+ __SetInlineStyles(e, styles) {
149
+ if ('string' == typeof styles) e.setAttributeNS(null, 'style', styles);
150
+ else Object.assign(e.style, styles);
151
+ }
152
+ __AddDataset(e, key, value) {
153
+ e.dataset[key] = value;
154
+ }
155
+ __SetDataset(e, dataset) {
156
+ Object.assign(e.dataset, dataset);
157
+ }
158
+ __SetGestureDetector(e, id, type, config, relationMap) {
159
+ e.gesture = {
160
+ id,
161
+ type,
162
+ config,
163
+ relationMap
164
+ };
165
+ }
166
+ __RemoveGestureDetector(e, id) {
167
+ if (e.gesture?.['id'] === id) delete e.gesture;
168
+ }
169
+ __GetDataset(e) {
170
+ return e.dataset;
171
+ }
172
+ __RemoveElement(parent, child) {
173
+ let ch = parent.firstChild;
174
+ while(ch){
175
+ if (ch === child) {
176
+ parent.removeChild(ch);
177
+ break;
178
+ }
179
+ ch = ch.nextSibling;
180
+ }
181
+ }
182
+ __InsertElementBefore(parent, child, ref) {
183
+ if (void 0 === ref) parent.appendChild(child);
184
+ else parent.insertBefore(child, ref);
185
+ }
186
+ __ReplaceElement(newElement, oldElement) {
187
+ const parent = oldElement.parentNode;
188
+ if (!parent) throw new Error('unreachable');
189
+ parent.replaceChild(newElement, oldElement);
190
+ }
191
+ __FlushElementTree() {}
192
+ __UpdateListComponents(_list, _components) {}
193
+ __UpdateListCallbacks(list, componentAtIndex, enqueueComponent) {
194
+ Object.defineProperties(list, {
195
+ componentAtIndex: {
196
+ enumerable: false,
197
+ configurable: true,
198
+ value: componentAtIndex
199
+ },
200
+ enqueueComponent: {
201
+ enumerable: false,
202
+ configurable: true,
203
+ value: enqueueComponent
204
+ }
205
+ });
206
+ }
207
+ __CreateList(parentComponentUniqueId, componentAtIndex, enqueueComponent) {
208
+ const e = this.__CreateElement('list', parentComponentUniqueId);
209
+ Object.defineProperties(e, {
210
+ componentAtIndex: {
211
+ enumerable: false,
212
+ configurable: true,
213
+ value: componentAtIndex
214
+ },
215
+ enqueueComponent: {
216
+ enumerable: false,
217
+ configurable: true,
218
+ value: enqueueComponent
219
+ }
220
+ });
221
+ return e;
222
+ }
223
+ __GetTag(ele) {
224
+ return ele.nodeName;
225
+ }
226
+ __GetAttributeByName(ele, name) {
227
+ return ele.getAttribute(name);
228
+ }
229
+ __ElementAnimate(element, args) {
230
+ const [operation, name] = args;
231
+ switch(operation){
232
+ case 0:
233
+ {
234
+ const keyframes = args[2];
235
+ const options = args[3];
236
+ this.animationMap.set(name, {
237
+ element,
238
+ state: 'running',
239
+ keyframes,
240
+ options
241
+ });
242
+ break;
243
+ }
244
+ case 1:
245
+ {
246
+ const anim = this.animationMap.get(name);
247
+ if (anim) anim.state = 'running';
248
+ break;
249
+ }
250
+ case 2:
251
+ {
252
+ const anim = this.animationMap.get(name);
253
+ if (anim) anim.state = 'paused';
254
+ break;
255
+ }
256
+ case 3:
257
+ this.animationMap.delete(name);
258
+ break;
259
+ case 4:
260
+ {
261
+ const anim = this.animationMap.get(name);
262
+ if (anim) anim.state = 'finished';
263
+ break;
264
+ }
265
+ }
266
+ }
267
+ clear() {
268
+ this.root = void 0;
269
+ }
270
+ toTree() {
271
+ return this.root;
272
+ }
273
+ enterListItemAtIndex(e, index, ...args) {
274
+ const { componentAtIndex, $$uiSign } = e;
275
+ return componentAtIndex(e, $$uiSign, index, ...args);
276
+ }
277
+ leaveListItem(e, uiSign) {
278
+ const { enqueueComponent, $$uiSign } = e;
279
+ enqueueComponent(e, $$uiSign, uiSign);
280
+ }
281
+ toJSON() {
282
+ return this.toTree();
283
+ }
284
+ __GetElementByUniqueId(uniqueId) {
285
+ return this.uniqueId2Element.get(uniqueId);
286
+ }
287
+ constructor(){
288
+ _define_property(this, "uniqueId2Element", new Map());
289
+ _define_property(this, "root", void 0);
290
+ _define_property(this, "animationMap", new Map());
291
+ }
292
+ }();
293
+ };
294
+ function GlobalEventEmitter_define_property(obj, key, value) {
295
+ if (key in obj) Object.defineProperty(obj, key, {
296
+ value: value,
297
+ enumerable: true,
298
+ configurable: true,
299
+ writable: true
300
+ });
301
+ else obj[key] = value;
302
+ return obj;
303
+ }
304
+ class GlobalEventEmitter {
305
+ addListener(eventName, listener) {
306
+ this.listeners[eventName] ??= [];
307
+ this.listeners[eventName].push(listener);
308
+ }
309
+ removeListener(eventName, listener) {
310
+ if (!this.listeners[eventName]) return;
311
+ this.listeners[eventName] = this.listeners[eventName].filter((l)=>l !== listener);
312
+ }
313
+ emit(eventName, args) {
314
+ if (!this.listeners[eventName]) return;
315
+ this.listeners[eventName].forEach((listener)=>args ? listener(...args) : listener());
316
+ }
317
+ clear() {
318
+ this.listeners = {};
319
+ }
320
+ removeAllListeners(eventName) {
321
+ if (eventName) delete this.listeners[eventName];
322
+ else this.clear();
323
+ }
324
+ trigger(eventName, params) {
325
+ this.emit(eventName, [
326
+ params
327
+ ]);
328
+ }
329
+ toggle(eventName, ...data) {
330
+ this.emit(eventName, data);
331
+ }
332
+ constructor(){
333
+ GlobalEventEmitter_define_property(this, "listeners", {});
334
+ }
335
+ }
336
+ function dist_define_property(obj, key, value) {
337
+ if (key in obj) Object.defineProperty(obj, key, {
338
+ value: value,
339
+ enumerable: true,
340
+ configurable: true,
341
+ writable: true
342
+ });
343
+ else obj[key] = value;
344
+ return obj;
345
+ }
346
+ function installLynxTestingEnv(target, env) {
347
+ target.lynxEnv = env;
348
+ target.lynxTestingEnv = new LynxTestingEnv(env);
349
+ target.Node = env.window.Node;
350
+ }
351
+ function uninstallLynxTestingEnv(target) {
352
+ delete target.lynxTestingEnv;
353
+ delete target.lynxEnv;
354
+ delete target.Node;
355
+ }
356
+ function __injectElementApi(target) {
357
+ const elementTree1 = initElementTree();
358
+ target.elementTree = elementTree1;
359
+ if (void 0 === target) target = globalThis;
360
+ for (const k of Object.getOwnPropertyNames(elementTree1.constructor.prototype))if (k.startsWith('__')) target[k] = elementTree1[k].bind(elementTree1);
361
+ target.$kTemplateAssembler = {};
362
+ target.registerDataProcessor = ()=>{
363
+ console.error('registerDataProcessor is not implemented');
364
+ };
365
+ target.__OnLifecycleEvent = (...args)=>{
366
+ const isMainThread = __MAIN_THREAD__;
367
+ globalThis.lynxTestingEnv.switchToBackgroundThread();
368
+ globalThis.lynxCoreInject.tt.OnLifecycleEvent(...args);
369
+ if (isMainThread) globalThis.lynxTestingEnv.switchToMainThread();
370
+ };
371
+ target._ReportError = ()=>{};
372
+ }
373
+ function createPolyfills() {
374
+ const app = {
375
+ callLepusMethod: (...rLynxChange)=>{
376
+ const isBackground = !__MAIN_THREAD__;
377
+ globalThis.lynxTestingEnv.switchToMainThread();
378
+ globalThis[rLynxChange[0]](rLynxChange[1]);
379
+ globalThis.lynxTestingEnv.switchToBackgroundThread();
380
+ rLynxChange[2]?.();
381
+ globalThis.lynxTestingEnv.switchToMainThread();
382
+ if (isBackground) globalThis.lynxTestingEnv.switchToBackgroundThread();
383
+ },
384
+ markTiming: ()=>{},
385
+ createJSObjectDestructionObserver: ()=>({})
386
+ };
387
+ const performance = {
388
+ __functionCallHistory: [],
389
+ _generatePipelineOptions: ()=>{
390
+ performance.__functionCallHistory.push([
391
+ '_generatePipelineOptions'
392
+ ]);
393
+ return {
394
+ pipelineID: 'pipelineID',
395
+ needTimestamps: false
396
+ };
397
+ },
398
+ _onPipelineStart: (id)=>{
399
+ performance.__functionCallHistory.push([
400
+ '_onPipelineStart',
401
+ id
402
+ ]);
403
+ },
404
+ _markTiming: (id, key)=>{
405
+ performance.__functionCallHistory.push([
406
+ '_markTiming',
407
+ id,
408
+ key
409
+ ]);
410
+ },
411
+ _bindPipelineIdWithTimingFlag: (id, flag)=>{
412
+ performance.__functionCallHistory.push([
413
+ '_bindPipelineIdWithTimingFlag',
414
+ id,
415
+ flag
416
+ ]);
417
+ }
418
+ };
419
+ const ee = new node_events();
420
+ ee.dispatchEvent = ({ type, data })=>{
421
+ if (!globalThis.lynxTestingEnv) return;
422
+ const origin = __MAIN_THREAD__ ? 'CoreContext' : 'JSContext';
423
+ if ('CoreContext' === origin) lynxTestingEnv.switchToBackgroundThread();
424
+ else lynxTestingEnv.switchToMainThread();
425
+ ee.emit(type, {
426
+ data: data,
427
+ origin
428
+ });
429
+ if ('CoreContext' === origin) lynxTestingEnv.switchToMainThread();
430
+ else lynxTestingEnv.switchToBackgroundThread();
431
+ };
432
+ ee.addEventListener = ee.addListener;
433
+ ee.removeEventListener = ee.removeListener;
434
+ const CoreContext = ee;
435
+ const JsContext = ee;
436
+ function __LoadLepusChunk(chunkName, _options) {
437
+ const isBackground = !__MAIN_THREAD__;
438
+ globalThis.lynxTestingEnv.switchToMainThread();
439
+ let ans;
440
+ if ('worklet-runtime' === chunkName) ans = globalThis.onInitWorkletRuntime?.();
441
+ else throw new Error(`__LoadLepusChunk: Unknown chunk name: ${chunkName}`);
442
+ if (isBackground) globalThis.lynxTestingEnv.switchToBackgroundThread();
443
+ return ans;
444
+ }
445
+ return {
446
+ app,
447
+ performance,
448
+ CoreContext,
449
+ JsContext,
450
+ __LoadLepusChunk
451
+ };
452
+ }
453
+ function injectMainThreadGlobals(target, polyfills) {
454
+ __injectElementApi(target);
455
+ const { performance, CoreContext, JsContext, __LoadLepusChunk } = polyfills || {};
456
+ if (void 0 === target) target = globalThis;
457
+ target.__DEV__ = true;
458
+ target.__PROFILE__ = true;
459
+ target.__ALOG__ = true;
460
+ target.__ALOG_ELEMENT_API__ = true;
461
+ target.__JS__ = false;
462
+ target.__LEPUS__ = true;
463
+ target.__BACKGROUND__ = false;
464
+ target.__MAIN_THREAD__ = true;
465
+ target.__REF_FIRE_IMMEDIATELY__ = false;
466
+ target.__FIRST_SCREEN_SYNC_TIMING__ = 'immediately';
467
+ target.__TESTING_FORCE_RENDER_TO_OPCODE__ = false;
468
+ target.__ENABLE_SSR__ = false;
469
+ target.globDynamicComponentEntry = '__Card__';
470
+ const native = {
471
+ _listeners: {},
472
+ onTriggerEvent: void 0,
473
+ postMessage: (_message)=>{},
474
+ addEventListener: (type, listener)=>{
475
+ if (!native._listeners[type]) native._listeners[type] = [];
476
+ native._listeners[type].push(listener);
477
+ },
478
+ removeEventListener: (type, listener)=>{
479
+ if (native._listeners[type]) native._listeners[type] = native._listeners[type].filter((l)=>l !== listener);
480
+ },
481
+ dispatchEvent: (event)=>{
482
+ const listeners = native._listeners[event.type];
483
+ if (listeners) listeners.forEach((listener)=>listener(event));
484
+ return {
485
+ canceled: false
486
+ };
487
+ }
488
+ };
489
+ target.lynx = {
490
+ performance,
491
+ getNative: ()=>native,
492
+ getCoreContext: ()=>CoreContext,
493
+ getJSContext: ()=>JsContext,
494
+ reportError: (e)=>{
495
+ throw e;
496
+ }
497
+ };
498
+ target.requestAnimationFrame = setTimeout;
499
+ target.cancelAnimationFrame = clearTimeout;
500
+ target.console.profile = console.profile = ()=>{};
501
+ target.console.profileEnd = console.profileEnd = ()=>{};
502
+ target.console.alog = console.alog = ()=>{};
503
+ target.__LoadLepusChunk = __LoadLepusChunk;
504
+ globalThis.onInjectMainThreadGlobals?.(target);
505
+ }
506
+ const IGNORE_LIST_GLOBALS = [
507
+ 'globalThis',
508
+ 'global'
509
+ ];
510
+ class NodesRef {
511
+ invoke() {
512
+ throw new Error('not implemented');
513
+ }
514
+ path() {
515
+ throw new Error('not implemented');
516
+ }
517
+ fields() {
518
+ throw new Error('not implemented');
519
+ }
520
+ setNativeProps(props) {
521
+ return {
522
+ exec: ()=>{
523
+ const element = elementTree.uniqueId2Element.get(Number(this._nodeSelectToken.identifier));
524
+ if (!element) throw new Error(`[NodesRef.setNativeProps] Element not found for identifier=${this._nodeSelectToken.identifier}`);
525
+ if (element) for(const key in props)element.setAttributeNS(null, key, props[key]);
526
+ }
527
+ };
528
+ }
529
+ constructor(selectorQuery, nodeSelectToken){
530
+ dist_define_property(this, "_nodeSelectToken", void 0);
531
+ dist_define_property(this, "_selectorQuery", void 0);
532
+ this._nodeSelectToken = nodeSelectToken;
533
+ this._selectorQuery = selectorQuery;
534
+ }
535
+ }
536
+ function injectBackgroundThreadGlobals(target, polyfills) {
537
+ const { app, performance, CoreContext, JsContext, __LoadLepusChunk } = polyfills || {};
538
+ if (void 0 === target) target = globalThis;
539
+ target.__DEV__ = true;
540
+ target.__PROFILE__ = true;
541
+ target.__ALOG__ = true;
542
+ target.__ALOG_ELEMENT_API__ = true;
543
+ target.__JS__ = true;
544
+ target.__LEPUS__ = false;
545
+ target.__BACKGROUND__ = true;
546
+ target.__MAIN_THREAD__ = false;
547
+ target.__ENABLE_SSR__ = false;
548
+ target.globDynamicComponentEntry = '__Card__';
549
+ target.lynxCoreInject = {};
550
+ target.lynxCoreInject.tt = {
551
+ _params: {
552
+ initData: {},
553
+ updateData: {}
554
+ }
555
+ };
556
+ const globalEventEmitter = new GlobalEventEmitter();
557
+ target.lynx = {
558
+ getNativeApp: ()=>app,
559
+ performance,
560
+ createSelectorQuery: ()=>({
561
+ selectUniqueID: function(uniqueId) {
562
+ return new NodesRef({}, {
563
+ type: 2,
564
+ identifier: uniqueId.toString()
565
+ });
566
+ },
567
+ select: function(selector) {
568
+ const el = lynxTestingEnv.env.window.document.querySelector(selector);
569
+ if (!el) throw new Error(`[createSelectorQuery.select] No element matches selector: ${selector}`);
570
+ return new NodesRef({}, {
571
+ type: 0,
572
+ identifier: el.$$uiSign.toString()
573
+ });
574
+ }
575
+ }),
576
+ getCoreContext: ()=>CoreContext,
577
+ getJSContext: ()=>JsContext,
578
+ getJSModule: (moduleName)=>{
579
+ if ('GlobalEventEmitter' === moduleName) return globalEventEmitter;
580
+ throw new Error(`getJSModule(${moduleName}) not implemented`);
581
+ },
582
+ reportError: (e)=>{
583
+ throw e;
584
+ }
585
+ };
586
+ target.requestAnimationFrame = setTimeout;
587
+ target.cancelAnimationFrame = clearTimeout;
588
+ target.console.profile = console.profile = ()=>{};
589
+ target.console.profileEnd = console.profileEnd = ()=>{};
590
+ target.console.alog = console.alog = ()=>{};
591
+ target.SystemInfo = {
592
+ platform: 'iOS',
593
+ pixelRatio: 3,
594
+ pixelWidth: 1170,
595
+ pixelHeight: 2532,
596
+ osVersion: '17.0.2',
597
+ enableKrypton: true,
598
+ runtimeType: 'quickjs',
599
+ lynxSdkVersion: '3.0'
600
+ };
601
+ target.__LoadLepusChunk = __LoadLepusChunk;
602
+ globalThis.onInjectBackgroundThreadGlobals?.(target);
603
+ }
604
+ class LynxTestingEnv {
605
+ injectGlobals() {
606
+ const polyfills = createPolyfills();
607
+ injectBackgroundThreadGlobals(this.backgroundThread.globalThis, polyfills);
608
+ injectMainThreadGlobals(this.mainThread.globalThis, polyfills);
609
+ }
610
+ switchToBackgroundThread() {
611
+ this.originals = new Map();
612
+ Object.getOwnPropertyNames(this.backgroundThread.globalThis).forEach((key)=>{
613
+ if (IGNORE_LIST_GLOBALS.includes(key)) return;
614
+ this.originals.set(key, global[key]);
615
+ global[key] = this.backgroundThread.globalThis[key];
616
+ });
617
+ globalThis?.onSwitchedToBackgroundThread?.();
618
+ }
619
+ switchToMainThread() {
620
+ this.originals = new Map();
621
+ Object.getOwnPropertyNames(this.mainThread.globalThis).forEach((key)=>{
622
+ if (IGNORE_LIST_GLOBALS.includes(key)) return;
623
+ this.originals.set(key, global[key]);
624
+ global[key] = this.mainThread.globalThis[key];
625
+ });
626
+ globalThis?.onSwitchedToMainThread?.();
627
+ }
628
+ clearGlobal() {
629
+ this.originals?.forEach((v, k)=>{
630
+ global[k] = v;
631
+ });
632
+ this.originals?.clear();
633
+ }
634
+ reset() {
635
+ this.injectGlobals();
636
+ this.switchToMainThread();
637
+ this.switchToBackgroundThread();
638
+ globalThis.onResetLynxTestingEnv?.();
639
+ }
640
+ constructor(env){
641
+ dist_define_property(this, "originals", new Map());
642
+ dist_define_property(this, "backgroundThread", void 0);
643
+ dist_define_property(this, "mainThread", void 0);
644
+ dist_define_property(this, "env", void 0);
645
+ this.env = env ?? global.lynxEnv;
646
+ if (!this.env) throw new Error("LynxTestingEnv requires an object with a jsdom-like `window`. Pass `{ window }` to the constructor, or ensure your test runner sets global.lynxEnv to that shape (e.g., via a setup file).");
647
+ this.backgroundThread = createGlobalThis();
648
+ this.mainThread = createGlobalThis();
649
+ const globalPolyfills = {
650
+ console: this.env.window['console'],
651
+ Event: this.env.window.Event,
652
+ window: this.env.window,
653
+ document: this.env.window.document
654
+ };
655
+ Object.assign(this.mainThread.globalThis, globalPolyfills);
656
+ Object.assign(this.backgroundThread.globalThis, globalPolyfills);
657
+ this.injectGlobals();
658
+ this.switchToBackgroundThread();
659
+ }
660
+ }
661
+ export { LynxTestingEnv, installLynxTestingEnv, uninstallLynxTestingEnv };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import { LynxTestingEnv } from "./index.js";
2
+ global.lynxEnv = {
3
+ window
4
+ };
5
+ const lynxTestingEnv = new LynxTestingEnv();
6
+ global.lynxTestingEnv = lynxTestingEnv;
@@ -0,0 +1,3 @@
1
+ import { type Environment } from 'vitest/environments';
2
+ declare const env: Environment;
3
+ export default env;