wevu 7.2.2 → 7.4.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 (383) hide show
  1. package/README.md +6 -0
  2. package/dist/dev/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.151.0}/helpers/esm/defineProperty.mjs +1 -1
  3. package/dist/dev/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.151.0}/helpers/esm/toPrimitive.mjs +1 -1
  4. package/dist/dev/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.151.0}/helpers/esm/toPropertyKey.mjs +1 -1
  5. package/dist/dev/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.151.0}/helpers/esm/typeof.mjs +1 -1
  6. package/dist/dev/internal-runtime.d.mts +2 -1
  7. package/dist/dev/internal-runtime.mjs +3 -2
  8. package/dist/dev/package.mjs +1 -1
  9. package/dist/dev/reactivity/asyncDerivation.mjs +8 -10
  10. package/dist/dev/reactivity/asyncDerivation.mjs.map +1 -1
  11. package/dist/dev/reactivity/core.mjs +5 -8
  12. package/dist/dev/reactivity/core.mjs.map +1 -1
  13. package/dist/dev/reactivity/reactive/patch.mjs +3 -3
  14. package/dist/dev/reactivity/reactive/patch.mjs.map +1 -1
  15. package/dist/dev/reactivity/reactive/patchState.mjs +4 -8
  16. package/dist/dev/reactivity/reactive/patchState.mjs.map +1 -1
  17. package/dist/dev/reactivity/reactive/shared.mjs +1 -2
  18. package/dist/dev/reactivity/reactive/shared.mjs.map +1 -1
  19. package/dist/dev/reactivity/reactive.mjs +5 -10
  20. package/dist/dev/reactivity/reactive.mjs.map +1 -1
  21. package/dist/dev/reactivity/ref.mjs +2 -2
  22. package/dist/dev/reactivity/ref.mjs.map +1 -1
  23. package/dist/dev/reactivity/shallowRef.mjs +1 -1
  24. package/dist/dev/reactivity/shallowRef.mjs.map +1 -1
  25. package/dist/dev/reactivity/watch/helpers.mjs +1 -1
  26. package/dist/dev/reactivity/watch/helpers.mjs.map +1 -1
  27. package/dist/dev/reactivity/watch.mjs +6 -8
  28. package/dist/dev/reactivity/watch.mjs.map +1 -1
  29. package/dist/dev/router/createRouter.mjs +17 -24
  30. package/dist/dev/router/createRouter.mjs.map +1 -1
  31. package/dist/dev/router/initialNavigation.mjs +22 -17
  32. package/dist/dev/router/initialNavigation.mjs.map +1 -1
  33. package/dist/dev/router/instance.mjs +1 -2
  34. package/dist/dev/router/instance.mjs.map +1 -1
  35. package/dist/dev/router/navigationCore.mjs +2 -2
  36. package/dist/dev/router/navigationCore.mjs.map +1 -1
  37. package/dist/dev/router/navigationResult.mjs +7 -10
  38. package/dist/dev/router/navigationResult.mjs.map +1 -1
  39. package/dist/dev/router/navigationTarget.mjs +1 -3
  40. package/dist/dev/router/navigationTarget.mjs.map +1 -1
  41. package/dist/dev/router/resolve.mjs +3 -4
  42. package/dist/dev/router/resolve.mjs.map +1 -1
  43. package/dist/dev/router/routeRegistry.mjs +1 -1
  44. package/dist/dev/router/routeRegistry.mjs.map +1 -1
  45. package/dist/dev/router/routeSync.mjs +1 -1
  46. package/dist/dev/router/routeSync.mjs.map +1 -1
  47. package/dist/dev/router/scrollRestoration/adapters.d.mts +8 -0
  48. package/dist/dev/router/scrollRestoration/adapters.mjs +86 -0
  49. package/dist/dev/router/scrollRestoration/adapters.mjs.map +1 -0
  50. package/dist/dev/router/scrollRestoration/controller.d.mts +8 -0
  51. package/dist/dev/router/scrollRestoration/controller.mjs +148 -0
  52. package/dist/dev/router/scrollRestoration/controller.mjs.map +1 -0
  53. package/dist/dev/router/scrollRestoration/host.d.mts +3 -0
  54. package/dist/dev/router/scrollRestoration/host.mjs +76 -0
  55. package/dist/dev/router/scrollRestoration/host.mjs.map +1 -0
  56. package/dist/dev/router/scrollRestoration/index.d.mts +9 -0
  57. package/dist/dev/router/scrollRestoration/index.mjs +156 -0
  58. package/dist/dev/router/scrollRestoration/index.mjs.map +1 -0
  59. package/dist/dev/router/scrollRestoration/types.d.mts +61 -0
  60. package/dist/dev/router/useRoute.mjs +12 -19
  61. package/dist/dev/router/useRoute.mjs.map +1 -1
  62. package/dist/dev/router.d.mts +5 -1
  63. package/dist/dev/router.mjs +4 -1
  64. package/dist/dev/routerInternal/location.mjs +2 -3
  65. package/dist/dev/routerInternal/location.mjs.map +1 -1
  66. package/dist/dev/routerInternal/params.mjs +2 -3
  67. package/dist/dev/routerInternal/params.mjs.map +1 -1
  68. package/dist/dev/routerInternal/records.mjs +1 -1
  69. package/dist/dev/routerInternal/records.mjs.map +1 -1
  70. package/dist/dev/routerInternal/recordsWarnings.mjs +1 -2
  71. package/dist/dev/routerInternal/recordsWarnings.mjs.map +1 -1
  72. package/dist/dev/runtime/app/context.mjs +13 -26
  73. package/dist/dev/runtime/app/context.mjs.map +1 -1
  74. package/dist/dev/runtime/app/diagnostics.mjs +2 -4
  75. package/dist/dev/runtime/app/diagnostics.mjs.map +1 -1
  76. package/dist/dev/runtime/app/mount.mjs +27 -33
  77. package/dist/dev/runtime/app/mount.mjs.map +1 -1
  78. package/dist/dev/runtime/app/setData/commitTracker.mjs +5 -9
  79. package/dist/dev/runtime/app/setData/commitTracker.mjs.map +1 -1
  80. package/dist/dev/runtime/app/setData/patchScheduler.mjs +2 -4
  81. package/dist/dev/runtime/app/setData/patchScheduler.mjs.map +1 -1
  82. package/dist/dev/runtime/app/setData/payload.mjs +2 -3
  83. package/dist/dev/runtime/app/setData/payload.mjs.map +1 -1
  84. package/dist/dev/runtime/app/setData/scheduler.mjs +7 -9
  85. package/dist/dev/runtime/app/setData/scheduler.mjs.map +1 -1
  86. package/dist/dev/runtime/app/setData/snapshot.mjs +5 -6
  87. package/dist/dev/runtime/app/setData/snapshot.mjs.map +1 -1
  88. package/dist/dev/runtime/app/setDataOptions.mjs +26 -27
  89. package/dist/dev/runtime/app/setDataOptions.mjs.map +1 -1
  90. package/dist/dev/runtime/app.mjs +9 -9
  91. package/dist/dev/runtime/app.mjs.map +1 -1
  92. package/dist/dev/runtime/bindingManifest.mjs +6 -14
  93. package/dist/dev/runtime/bindingManifest.mjs.map +1 -1
  94. package/dist/dev/runtime/capabilities.d.mts +4 -1
  95. package/dist/dev/runtime/capabilities.mjs.map +1 -1
  96. package/dist/dev/runtime/css.mjs +4 -8
  97. package/dist/dev/runtime/css.mjs.map +1 -1
  98. package/dist/dev/runtime/defaults.mjs +4 -4
  99. package/dist/dev/runtime/defaults.mjs.map +1 -1
  100. package/dist/dev/runtime/define/initialComputed.mjs +5 -5
  101. package/dist/dev/runtime/define/initialComputed.mjs.map +1 -1
  102. package/dist/dev/runtime/define/options.mjs +10 -12
  103. package/dist/dev/runtime/define/options.mjs.map +1 -1
  104. package/dist/dev/runtime/define/props.mjs +4 -5
  105. package/dist/dev/runtime/define/props.mjs.map +1 -1
  106. package/dist/dev/runtime/define/scopedSlotOptions.mjs +43 -61
  107. package/dist/dev/runtime/define/scopedSlotOptions.mjs.map +1 -1
  108. package/dist/dev/runtime/define/setupResult.mjs +17 -28
  109. package/dist/dev/runtime/define/setupResult.mjs.map +1 -1
  110. package/dist/dev/runtime/define.mjs +9 -12
  111. package/dist/dev/runtime/define.mjs.map +1 -1
  112. package/dist/dev/runtime/diff.mjs +9 -11
  113. package/dist/dev/runtime/diff.mjs.map +1 -1
  114. package/dist/dev/runtime/disposables.mjs +2 -2
  115. package/dist/dev/runtime/disposables.mjs.map +1 -1
  116. package/dist/dev/runtime/elementIntersectionObserver.mjs +16 -24
  117. package/dist/dev/runtime/elementIntersectionObserver.mjs.map +1 -1
  118. package/dist/dev/runtime/features/inlineEvents.mjs +2 -3
  119. package/dist/dev/runtime/features/inlineEvents.mjs.map +1 -1
  120. package/dist/dev/runtime/features/jsxIslands.d.mts +7 -0
  121. package/dist/dev/runtime/features/jsxIslands.mjs +20 -0
  122. package/dist/dev/runtime/features/jsxIslands.mjs.map +1 -0
  123. package/dist/dev/runtime/features/layout.mjs +2 -3
  124. package/dist/dev/runtime/features/layout.mjs.map +1 -1
  125. package/dist/dev/runtime/features/publicLayout.mjs +2 -6
  126. package/dist/dev/runtime/features/publicLayout.mjs.map +1 -1
  127. package/dist/dev/runtime/features/scopedSlots.mjs +5 -9
  128. package/dist/dev/runtime/features/scopedSlots.mjs.map +1 -1
  129. package/dist/dev/runtime/features/templateRefs.mjs +1 -1
  130. package/dist/dev/runtime/features/templateRefs.mjs.map +1 -1
  131. package/dist/dev/runtime/hooks/base.mjs +20 -43
  132. package/dist/dev/runtime/hooks/base.mjs.map +1 -1
  133. package/dist/dev/runtime/hooks/pageScroll.mjs +41 -0
  134. package/dist/dev/runtime/hooks/pageScroll.mjs.map +1 -0
  135. package/dist/dev/runtime/hooks/register.mjs +2 -1
  136. package/dist/dev/runtime/hooks/register.mjs.map +1 -1
  137. package/dist/dev/runtime/inlineDataset.mjs +1 -2
  138. package/dist/dev/runtime/inlineDataset.mjs.map +1 -1
  139. package/dist/dev/runtime/intersectionObserver.mjs +6 -6
  140. package/dist/dev/runtime/intersectionObserver.mjs.map +1 -1
  141. package/dist/dev/runtime/jsxIsland.mjs +16 -33
  142. package/dist/dev/runtime/jsxIsland.mjs.map +1 -1
  143. package/dist/dev/runtime/layoutBridge.mjs +32 -62
  144. package/dist/dev/runtime/layoutBridge.mjs.map +1 -1
  145. package/dist/dev/runtime/nativeBridge.mjs +1 -1
  146. package/dist/dev/runtime/nativeBridge.mjs.map +1 -1
  147. package/dist/dev/runtime/navigationLifecycle.mjs +24 -0
  148. package/dist/dev/runtime/navigationLifecycle.mjs.map +1 -0
  149. package/dist/dev/runtime/pageEnvironment.mjs +15 -18
  150. package/dist/dev/runtime/pageEnvironment.mjs.map +1 -1
  151. package/dist/dev/runtime/pageLayout.mjs +7 -11
  152. package/dist/dev/runtime/pageLayout.mjs.map +1 -1
  153. package/dist/dev/runtime/pageScroll.mjs +2 -3
  154. package/dist/dev/runtime/pageScroll.mjs.map +1 -1
  155. package/dist/dev/runtime/platform/current.mjs +12 -0
  156. package/dist/dev/runtime/platform/current.mjs.map +1 -0
  157. package/dist/dev/runtime/platform/generic.mjs +36 -0
  158. package/dist/dev/runtime/platform/generic.mjs.map +1 -0
  159. package/dist/dev/runtime/platform/globals.mjs +29 -0
  160. package/dist/dev/runtime/platform/globals.mjs.map +1 -0
  161. package/dist/dev/runtime/platform.mjs +15 -60
  162. package/dist/dev/runtime/platform.mjs.map +1 -1
  163. package/dist/dev/runtime/provideContext.mjs +7 -9
  164. package/dist/dev/runtime/provideContext.mjs.map +1 -1
  165. package/dist/dev/runtime/publicRuntime.mjs +4 -0
  166. package/dist/dev/runtime/publicRuntime.mjs.map +1 -1
  167. package/dist/dev/runtime/pullDownRefresh.mjs +2 -4
  168. package/dist/dev/runtime/pullDownRefresh.mjs.map +1 -1
  169. package/dist/dev/runtime/register/app.mjs +18 -19
  170. package/dist/dev/runtime/register/app.mjs.map +1 -1
  171. package/dist/dev/runtime/register/component/alipay.mjs +9 -18
  172. package/dist/dev/runtime/register/component/alipay.mjs.map +1 -1
  173. package/dist/dev/runtime/register/component/alipayRegistration.mjs +60 -0
  174. package/dist/dev/runtime/register/component/alipayRegistration.mjs.map +1 -0
  175. package/dist/dev/runtime/register/component/lifecycle/optionalHooks.mjs +2 -5
  176. package/dist/dev/runtime/register/component/lifecycle/optionalHooks.mjs.map +1 -1
  177. package/dist/dev/runtime/register/component/lifecycle/platform.mjs +13 -26
  178. package/dist/dev/runtime/register/component/lifecycle/platform.mjs.map +1 -1
  179. package/dist/dev/runtime/register/component/lifecycle.mjs +7 -12
  180. package/dist/dev/runtime/register/component/lifecycle.mjs.map +1 -1
  181. package/dist/dev/runtime/register/component/methods.mjs +13 -18
  182. package/dist/dev/runtime/register/component/methods.mjs.map +1 -1
  183. package/dist/dev/runtime/register/component/options.mjs +3 -4
  184. package/dist/dev/runtime/register/component/options.mjs.map +1 -1
  185. package/dist/dev/runtime/register/component/props.mjs +25 -31
  186. package/dist/dev/runtime/register/component/props.mjs.map +1 -1
  187. package/dist/dev/runtime/register/component/registerDefinition.mjs +21 -40
  188. package/dist/dev/runtime/register/component/registerDefinition.mjs.map +1 -1
  189. package/dist/dev/runtime/register/component/registerNativeDefinition.mjs +18 -60
  190. package/dist/dev/runtime/register/component/registerNativeDefinition.mjs.map +1 -1
  191. package/dist/dev/runtime/register/component.mjs +3 -5
  192. package/dist/dev/runtime/register/component.mjs.map +1 -1
  193. package/dist/dev/runtime/register/inline.mjs +8 -10
  194. package/dist/dev/runtime/register/inline.mjs.map +1 -1
  195. package/dist/dev/runtime/register/runtimeInstance/methodBridge.mjs +7 -8
  196. package/dist/dev/runtime/register/runtimeInstance/methodBridge.mjs.map +1 -1
  197. package/dist/dev/runtime/register/runtimeInstance/provideContext.mjs +1 -1
  198. package/dist/dev/runtime/register/runtimeInstance/provideContext.mjs.map +1 -1
  199. package/dist/dev/runtime/register/runtimeInstance/setupContext.mjs +25 -34
  200. package/dist/dev/runtime/register/runtimeInstance/setupContext.mjs.map +1 -1
  201. package/dist/dev/runtime/register/runtimeInstance/setupPhase.mjs +13 -15
  202. package/dist/dev/runtime/register/runtimeInstance/setupPhase.mjs.map +1 -1
  203. package/dist/dev/runtime/register/runtimeInstance/setupSnapshot.mjs +2 -2
  204. package/dist/dev/runtime/register/runtimeInstance/setupSnapshot.mjs.map +1 -1
  205. package/dist/dev/runtime/register/runtimeInstance/utils.mjs +9 -9
  206. package/dist/dev/runtime/register/runtimeInstance/utils.mjs.map +1 -1
  207. package/dist/dev/runtime/register/runtimeInstance.mjs +74 -100
  208. package/dist/dev/runtime/register/runtimeInstance.mjs.map +1 -1
  209. package/dist/dev/runtime/register/setDataFrequencyWarning.mjs +12 -15
  210. package/dist/dev/runtime/register/setDataFrequencyWarning.mjs.map +1 -1
  211. package/dist/dev/runtime/register/setup.mjs +2 -3
  212. package/dist/dev/runtime/register/setup.mjs.map +1 -1
  213. package/dist/dev/runtime/register/snapshot.mjs +1 -4
  214. package/dist/dev/runtime/register/snapshot.mjs.map +1 -1
  215. package/dist/dev/runtime/register/watch.mjs +3 -5
  216. package/dist/dev/runtime/register/watch.mjs.map +1 -1
  217. package/dist/dev/runtime/scopedSlots.mjs +14 -21
  218. package/dist/dev/runtime/scopedSlots.mjs.map +1 -1
  219. package/dist/dev/runtime/selectorQuery.mjs +5 -9
  220. package/dist/dev/runtime/selectorQuery.mjs.map +1 -1
  221. package/dist/dev/runtime/template.mjs +1 -1
  222. package/dist/dev/runtime/template.mjs.map +1 -1
  223. package/dist/dev/runtime/templateRefs/helpers.mjs +14 -24
  224. package/dist/dev/runtime/templateRefs/helpers.mjs.map +1 -1
  225. package/dist/dev/runtime/templateRefs.mjs +8 -15
  226. package/dist/dev/runtime/templateRefs.mjs.map +1 -1
  227. package/dist/dev/runtime/uniAppHost.mjs +6 -14
  228. package/dist/dev/runtime/uniAppHost.mjs.map +1 -1
  229. package/dist/dev/runtime/updatePerformance.mjs +1 -1
  230. package/dist/dev/runtime/updatePerformance.mjs.map +1 -1
  231. package/dist/dev/runtime/use.mjs +1 -1
  232. package/dist/dev/runtime/use.mjs.map +1 -1
  233. package/dist/dev/runtime/vueCompat/context.mjs +3 -5
  234. package/dist/dev/runtime/vueCompat/context.mjs.map +1 -1
  235. package/dist/dev/runtime/vueCompat/model.mjs +9 -13
  236. package/dist/dev/runtime/vueCompat/model.mjs.map +1 -1
  237. package/dist/dev/runtime/vueCompat/router.mjs +4 -4
  238. package/dist/dev/runtime/vueCompat/router.mjs.map +1 -1
  239. package/dist/dev/runtime/vueCompat/templateRef.mjs +1 -1
  240. package/dist/dev/runtime/vueCompat/templateRef.mjs.map +1 -1
  241. package/dist/dev/scheduler.mjs +3 -4
  242. package/dist/dev/scheduler.mjs.map +1 -1
  243. package/dist/dev/store/base.mjs +1 -2
  244. package/dist/dev/store/base.mjs.map +1 -1
  245. package/dist/dev/store/define/create.mjs +11 -22
  246. package/dist/dev/store/define/create.mjs.map +1 -1
  247. package/dist/dev/store/define.mjs +1 -1
  248. package/dist/dev/store/define.mjs.map +1 -1
  249. package/dist/dev/store/view.mjs +1 -1
  250. package/dist/dev/store/view.mjs.map +1 -1
  251. package/dist/internal-runtime.d.mts +2 -1
  252. package/dist/internal-runtime.mjs +1 -1
  253. package/dist/package.mjs +1 -1
  254. package/dist/reactivity/asyncDerivation.mjs +1 -1
  255. package/dist/reactivity/core.mjs +1 -1
  256. package/dist/reactivity/reactive/patch.mjs +1 -1
  257. package/dist/reactivity/reactive/patchState.mjs +1 -1
  258. package/dist/reactivity/reactive/shared.mjs +1 -1
  259. package/dist/reactivity/reactive.mjs +1 -1
  260. package/dist/reactivity/ref.mjs +1 -1
  261. package/dist/reactivity/shallowRef.mjs +1 -1
  262. package/dist/reactivity/watch/helpers.mjs +1 -1
  263. package/dist/reactivity/watch.mjs +1 -1
  264. package/dist/router/createRouter.mjs +1 -1
  265. package/dist/router/initialNavigation.mjs +1 -1
  266. package/dist/router/instance.mjs +1 -1
  267. package/dist/router/navigationCore.mjs +1 -1
  268. package/dist/router/navigationResult.mjs +1 -1
  269. package/dist/router/navigationTarget.mjs +1 -1
  270. package/dist/router/resolve.mjs +1 -1
  271. package/dist/router/routeRegistry.mjs +1 -1
  272. package/dist/router/routeSync.mjs +1 -1
  273. package/dist/router/scrollRestoration/adapters.d.mts +7 -0
  274. package/dist/router/scrollRestoration/adapters.mjs +1 -0
  275. package/dist/router/scrollRestoration/controller.d.mts +7 -0
  276. package/dist/router/scrollRestoration/controller.mjs +1 -0
  277. package/dist/router/scrollRestoration/host.d.mts +3 -0
  278. package/dist/router/scrollRestoration/host.mjs +1 -0
  279. package/dist/router/scrollRestoration/index.d.mts +8 -0
  280. package/dist/router/scrollRestoration/index.mjs +1 -0
  281. package/dist/router/scrollRestoration/types.d.mts +60 -0
  282. package/dist/router/useRoute.mjs +1 -1
  283. package/dist/router.d.mts +5 -1
  284. package/dist/router.mjs +1 -1
  285. package/dist/routerInternal/location.mjs +1 -1
  286. package/dist/routerInternal/params.mjs +1 -1
  287. package/dist/routerInternal/records.mjs +1 -1
  288. package/dist/routerInternal/recordsWarnings.mjs +1 -1
  289. package/dist/runtime/app/context.mjs +1 -1
  290. package/dist/runtime/app/diagnostics.mjs +1 -1
  291. package/dist/runtime/app/mount.mjs +1 -1
  292. package/dist/runtime/app/setData/commitTracker.mjs +1 -1
  293. package/dist/runtime/app/setData/patchScheduler.mjs +1 -1
  294. package/dist/runtime/app/setData/payload.mjs +1 -1
  295. package/dist/runtime/app/setData/scheduler.mjs +1 -1
  296. package/dist/runtime/app/setData/snapshot.mjs +1 -1
  297. package/dist/runtime/app/setDataOptions.mjs +1 -1
  298. package/dist/runtime/app.mjs +1 -1
  299. package/dist/runtime/bindingManifest.mjs +1 -1
  300. package/dist/runtime/capabilities.d.mts +4 -1
  301. package/dist/runtime/css.mjs +1 -1
  302. package/dist/runtime/defaults.mjs +1 -1
  303. package/dist/runtime/define/initialComputed.mjs +1 -1
  304. package/dist/runtime/define/options.mjs +1 -1
  305. package/dist/runtime/define/props.mjs +1 -1
  306. package/dist/runtime/define/scopedSlotOptions.mjs +1 -1
  307. package/dist/runtime/define/setupResult.mjs +1 -1
  308. package/dist/runtime/define.mjs +1 -1
  309. package/dist/runtime/diff.mjs +1 -1
  310. package/dist/runtime/disposables.mjs +1 -1
  311. package/dist/runtime/elementIntersectionObserver.mjs +1 -1
  312. package/dist/runtime/features/inlineEvents.mjs +1 -1
  313. package/dist/runtime/features/jsxIslands.d.mts +6 -0
  314. package/dist/runtime/features/jsxIslands.mjs +1 -0
  315. package/dist/runtime/features/layout.mjs +1 -1
  316. package/dist/runtime/features/publicLayout.mjs +1 -1
  317. package/dist/runtime/features/scopedSlots.mjs +1 -1
  318. package/dist/runtime/features/templateRefs.mjs +1 -1
  319. package/dist/runtime/hooks/base.mjs +1 -1
  320. package/dist/runtime/hooks/pageScroll.mjs +1 -0
  321. package/dist/runtime/hooks/register.mjs +1 -1
  322. package/dist/runtime/inlineDataset.mjs +1 -1
  323. package/dist/runtime/intersectionObserver.mjs +1 -1
  324. package/dist/runtime/jsxIsland.mjs +1 -1
  325. package/dist/runtime/layoutBridge.mjs +1 -1
  326. package/dist/runtime/nativeBridge.mjs +1 -1
  327. package/dist/runtime/navigationLifecycle.mjs +1 -0
  328. package/dist/runtime/pageEnvironment.mjs +1 -1
  329. package/dist/runtime/pageLayout.mjs +1 -1
  330. package/dist/runtime/pageScroll.mjs +1 -1
  331. package/dist/runtime/platform/current.mjs +1 -0
  332. package/dist/runtime/platform/generic.mjs +1 -0
  333. package/dist/runtime/platform/globals.mjs +1 -0
  334. package/dist/runtime/platform.mjs +1 -1
  335. package/dist/runtime/provideContext.mjs +1 -1
  336. package/dist/runtime/publicRuntime.mjs +1 -1
  337. package/dist/runtime/pullDownRefresh.mjs +1 -1
  338. package/dist/runtime/register/app.mjs +1 -1
  339. package/dist/runtime/register/component/alipay.mjs +1 -1
  340. package/dist/runtime/register/component/alipayRegistration.mjs +1 -0
  341. package/dist/runtime/register/component/lifecycle/optionalHooks.mjs +1 -1
  342. package/dist/runtime/register/component/lifecycle/platform.mjs +1 -1
  343. package/dist/runtime/register/component/lifecycle.mjs +1 -1
  344. package/dist/runtime/register/component/methods.mjs +1 -1
  345. package/dist/runtime/register/component/options.mjs +1 -1
  346. package/dist/runtime/register/component/props.mjs +1 -1
  347. package/dist/runtime/register/component/registerDefinition.mjs +1 -1
  348. package/dist/runtime/register/component/registerNativeDefinition.mjs +1 -1
  349. package/dist/runtime/register/component.mjs +1 -1
  350. package/dist/runtime/register/inline.mjs +1 -1
  351. package/dist/runtime/register/runtimeInstance/methodBridge.mjs +1 -1
  352. package/dist/runtime/register/runtimeInstance/provideContext.mjs +1 -1
  353. package/dist/runtime/register/runtimeInstance/setupContext.mjs +1 -1
  354. package/dist/runtime/register/runtimeInstance/setupPhase.mjs +1 -1
  355. package/dist/runtime/register/runtimeInstance/setupSnapshot.mjs +1 -1
  356. package/dist/runtime/register/runtimeInstance/utils.mjs +1 -1
  357. package/dist/runtime/register/runtimeInstance.mjs +1 -1
  358. package/dist/runtime/register/setDataFrequencyWarning.mjs +1 -1
  359. package/dist/runtime/register/setup.mjs +1 -1
  360. package/dist/runtime/register/snapshot.mjs +1 -1
  361. package/dist/runtime/register/watch.mjs +1 -1
  362. package/dist/runtime/scopedSlots.mjs +1 -1
  363. package/dist/runtime/selectorQuery.mjs +1 -1
  364. package/dist/runtime/template.mjs +1 -1
  365. package/dist/runtime/templateRefs/helpers.mjs +1 -1
  366. package/dist/runtime/templateRefs.mjs +1 -1
  367. package/dist/runtime/uniAppHost.mjs +1 -1
  368. package/dist/runtime/updatePerformance.mjs +1 -1
  369. package/dist/runtime/use.mjs +1 -1
  370. package/dist/runtime/vueCompat/context.mjs +1 -1
  371. package/dist/runtime/vueCompat/model.mjs +1 -1
  372. package/dist/runtime/vueCompat/router.mjs +1 -1
  373. package/dist/runtime/vueCompat/templateRef.mjs +1 -1
  374. package/dist/scheduler.mjs +1 -1
  375. package/dist/store/base.mjs +1 -1
  376. package/dist/store/define/create.mjs +1 -1
  377. package/dist/store/define.mjs +1 -1
  378. package/dist/store/view.mjs +1 -1
  379. package/package.json +7 -7
  380. /package/dist/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.151.0}/helpers/esm/defineProperty.mjs +0 -0
  381. /package/dist/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.151.0}/helpers/esm/toPrimitive.mjs +0 -0
  382. /package/dist/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.151.0}/helpers/esm/toPropertyKey.mjs +0 -0
  383. /package/dist/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.151.0}/helpers/esm/typeof.mjs +0 -0
@@ -1,4 +1,5 @@
1
- import { getMiniProgramGlobalObject, supportsCurrentMiniProgramRuntimeCapability } from "../platform.mjs";
1
+ import { getCurrentMiniProgramGlobalObject } from "../platform/current.mjs";
2
+ import { supportsCurrentMiniProgramRuntimeCapability } from "../platform.mjs";
2
3
  import { callHookList } from "../hooks/base.mjs";
3
4
  import { requireRuntimeCapability } from "../capabilities.mjs";
4
5
  import { mountRuntimeInstance } from "./runtimeInstance.mjs";
@@ -9,19 +10,19 @@ const APP_GLOBAL_LISTENER_STORE_KEY = "__wevuAppGlobalListeners";
9
10
  const MEMORY_WARNING_LISTENER_KEY = "__wevuOnMemoryWarningListener";
10
11
  function bindMemoryWarningListener(target) {
11
12
  const hooks = target[WEVU_HOOKS_KEY];
12
- const hasMemoryWarningHook = Boolean(hooks === null || hooks === void 0 ? void 0 : hooks.onMemoryWarning);
13
+ const hasMemoryWarningHook = Boolean(hooks?.onMemoryWarning);
13
14
  if (!supportsCurrentMiniProgramRuntimeCapability("appMemoryWarningListener")) {
14
15
  delete target[MEMORY_WARNING_LISTENER_KEY];
15
16
  return;
16
17
  }
17
- const miniProgramGlobal = getMiniProgramGlobalObject();
18
- const onMemoryWarning = miniProgramGlobal === null || miniProgramGlobal === void 0 ? void 0 : miniProgramGlobal.onMemoryWarning;
19
- const offMemoryWarning = miniProgramGlobal === null || miniProgramGlobal === void 0 ? void 0 : miniProgramGlobal.offMemoryWarning;
18
+ const miniProgramGlobal = getCurrentMiniProgramGlobalObject();
19
+ const onMemoryWarning = miniProgramGlobal?.onMemoryWarning;
20
+ const offMemoryWarning = miniProgramGlobal?.offMemoryWarning;
20
21
  if (typeof onMemoryWarning !== "function") return;
21
22
  const existing = target[MEMORY_WARNING_LISTENER_KEY];
22
23
  if (typeof existing === "function" && typeof offMemoryWarning === "function") try {
23
24
  offMemoryWarning(existing);
24
- } catch (_unused) {}
25
+ } catch {}
25
26
  if (!hasMemoryWarningHook) {
26
27
  delete target[MEMORY_WARNING_LISTENER_KEY];
27
28
  return;
@@ -33,23 +34,23 @@ function bindMemoryWarningListener(target) {
33
34
  onMemoryWarning(listener);
34
35
  }
35
36
  function bindAppGlobalListener(target, options) {
36
- var _ref, _ref$APP_GLOBAL_LISTE;
37
+ var _ref;
37
38
  const { hookName, onApiName, offApiName, capabilityName, userHandler } = options;
38
39
  const hooks = target[WEVU_HOOKS_KEY];
39
- const hasHook = Boolean(hooks === null || hooks === void 0 ? void 0 : hooks[hookName]);
40
- const store = (_ref$APP_GLOBAL_LISTE = (_ref = target)[APP_GLOBAL_LISTENER_STORE_KEY]) !== null && _ref$APP_GLOBAL_LISTE !== void 0 ? _ref$APP_GLOBAL_LISTE : _ref[APP_GLOBAL_LISTENER_STORE_KEY] = Object.create(null);
40
+ const hasHook = Boolean(hooks?.[hookName]);
41
+ const store = (_ref = target)[APP_GLOBAL_LISTENER_STORE_KEY] ?? (_ref[APP_GLOBAL_LISTENER_STORE_KEY] = Object.create(null));
41
42
  const existing = store[hookName];
42
43
  if (!supportsCurrentMiniProgramRuntimeCapability(capabilityName)) {
43
44
  delete store[hookName];
44
45
  delete target[hookName];
45
46
  return;
46
47
  }
47
- const miniProgramGlobal = getMiniProgramGlobalObject();
48
- const onApi = miniProgramGlobal === null || miniProgramGlobal === void 0 ? void 0 : miniProgramGlobal[onApiName];
49
- const offApi = miniProgramGlobal === null || miniProgramGlobal === void 0 ? void 0 : miniProgramGlobal[offApiName];
48
+ const miniProgramGlobal = getCurrentMiniProgramGlobalObject();
49
+ const onApi = miniProgramGlobal?.[onApiName];
50
+ const offApi = miniProgramGlobal?.[offApiName];
50
51
  if (typeof existing === "function" && typeof offApi === "function") try {
51
52
  offApi(existing);
52
- } catch (_unused2) {}
53
+ } catch {}
53
54
  if (!hasHook && typeof userHandler !== "function") {
54
55
  delete store[hookName];
55
56
  return;
@@ -97,12 +98,11 @@ function bindAppGlobalListeners(target, handlers) {
97
98
  * @internal
98
99
  */
99
100
  function registerApp(runtimeApp, methods, watch, setup, mpOptions) {
100
- var _appOptions$globalDat;
101
101
  if (typeof App !== "function") throw new TypeError("createApp 需要全局 App 构造器可用");
102
- const methodNames = Object.keys(methods !== null && methods !== void 0 ? methods : {});
102
+ const methodNames = Object.keys(methods ?? {});
103
103
  const appOptions = { ...mpOptions };
104
- appOptions.globalData = (_appOptions$globalDat = appOptions.globalData) !== null && _appOptions$globalDat !== void 0 ? _appOptions$globalDat : {};
105
- const methodRecord = methods !== null && methods !== void 0 ? methods : {};
104
+ appOptions.globalData = appOptions.globalData ?? {};
105
+ const methodRecord = methods ?? {};
106
106
  const inlineMap = methodRecord[WEVU_INLINE_MAP_KEY];
107
107
  const requiresInlineEvents = Object.prototype.hasOwnProperty.call(methodRecord, WEVU_INLINE_MAP_KEY) && inlineMap && typeof inlineMap === "object" && Object.keys(inlineMap).length > 0;
108
108
  if (!appOptions[WEVU_INLINE_HANDLER] && requiresInlineEvents) appOptions[WEVU_INLINE_HANDLER] = requireRuntimeCapability("inlineEvents", "registerApp(inline event metadata)").handler;
@@ -141,10 +141,9 @@ function registerApp(runtimeApp, methods, watch, setup, mpOptions) {
141
141
  for (const methodName of methodNames) {
142
142
  const userMethod = appOptions[methodName];
143
143
  appOptions[methodName] = function runtimeMethod(...args) {
144
- var _runtime$methods;
145
144
  const runtime = this.__wevu;
146
145
  let result;
147
- const bound = runtime === null || runtime === void 0 || (_runtime$methods = runtime.methods) === null || _runtime$methods === void 0 ? void 0 : _runtime$methods[methodName];
146
+ const bound = runtime?.methods?.[methodName];
148
147
  if (bound) result = bound.apply(runtime.proxy, args);
149
148
  if (typeof userMethod === "function") return userMethod.apply(this, args);
150
149
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"app.mjs","names":[],"sources":["../../../../src/runtime/register/app.ts"],"sourcesContent":["import type {\n ComputedDefinitions,\n DefineAppOptions,\n InternalRuntimeState,\n MethodDefinitions,\n MiniProgramAppOptions,\n MiniProgramMemoryWarningResult,\n RuntimeApp,\n} from '../types'\nimport type { WatchMap } from './watch'\nimport {\n WEVU_HOOKS_KEY,\n WEVU_INLINE_HANDLER,\n WEVU_INLINE_MAP_KEY,\n WEVU_IS_APP_INSTANCE_KEY,\n} from '@weapp-core/constants'\nimport { requireRuntimeCapability } from '../capabilities'\nimport { callHookList } from '../hooks'\nimport { getMiniProgramGlobalObject, supportsCurrentMiniProgramRuntimeCapability } from '../platform'\nimport { mountRuntimeInstance } from './runtimeInstance'\n\nconst APP_GLOBAL_LISTENER_STORE_KEY = '__wevuAppGlobalListeners'\nconst MEMORY_WARNING_LISTENER_KEY = '__wevuOnMemoryWarningListener'\n\nfunction bindMemoryWarningListener(target: InternalRuntimeState) {\n const hooks = target[WEVU_HOOKS_KEY] as Record<string, any> | undefined\n const hasMemoryWarningHook = Boolean(hooks?.onMemoryWarning)\n if (!supportsCurrentMiniProgramRuntimeCapability('appMemoryWarningListener')) {\n delete (target as any)[MEMORY_WARNING_LISTENER_KEY]\n return\n }\n const miniProgramGlobal = getMiniProgramGlobalObject()\n const onMemoryWarning = miniProgramGlobal?.onMemoryWarning\n const offMemoryWarning = miniProgramGlobal?.offMemoryWarning\n if (typeof onMemoryWarning !== 'function') {\n return\n }\n\n const existing = (target as any)[MEMORY_WARNING_LISTENER_KEY]\n if (typeof existing === 'function' && typeof offMemoryWarning === 'function') {\n try {\n offMemoryWarning(existing)\n }\n catch {\n // 忽略平台差异导致的取消监听异常\n }\n }\n\n if (!hasMemoryWarningHook) {\n delete (target as any)[MEMORY_WARNING_LISTENER_KEY]\n return\n }\n\n const listener = (result: MiniProgramMemoryWarningResult) => {\n callHookList(target, 'onMemoryWarning', [result])\n }\n ;(target as any)[MEMORY_WARNING_LISTENER_KEY] = listener\n onMemoryWarning(listener)\n}\n\nfunction bindAppGlobalListener(target: InternalRuntimeState, options: {\n hookName: 'onError' | 'onPageNotFound' | 'onUnhandledRejection' | 'onThemeChange'\n onApiName: 'onError' | 'onPageNotFound' | 'onUnhandledRejection' | 'onThemeChange'\n offApiName: 'offError' | 'offPageNotFound' | 'offUnhandledRejection' | 'offThemeChange'\n capabilityName: 'appErrorListener' | 'appPageNotFoundListener' | 'appUnhandledRejectionListener' | 'appThemeChangeListener'\n userHandler?: ((...args: any[]) => any) | undefined\n}) {\n const { hookName, onApiName, offApiName, capabilityName, userHandler } = options\n const hooks = target[WEVU_HOOKS_KEY] as Record<string, any> | undefined\n const hasHook = Boolean(hooks?.[hookName])\n const store = ((target as any)[APP_GLOBAL_LISTENER_STORE_KEY] ??= Object.create(null)) as Record<string, ((...args: any[]) => void) | undefined>\n const existing = store[hookName]\n if (!supportsCurrentMiniProgramRuntimeCapability(capabilityName)) {\n delete store[hookName]\n delete (target as any)[hookName]\n return\n }\n const miniProgramGlobal = getMiniProgramGlobalObject()\n const onApi = miniProgramGlobal?.[onApiName]\n const offApi = miniProgramGlobal?.[offApiName]\n\n if (typeof existing === 'function' && typeof offApi === 'function') {\n try {\n offApi(existing)\n }\n catch {\n // 忽略平台差异导致的取消监听异常\n }\n }\n\n if (!hasHook && typeof userHandler !== 'function') {\n delete store[hookName]\n return\n }\n\n const dispatch = (...args: any[]) => {\n callHookList(target, hookName, args)\n if (typeof userHandler === 'function') {\n userHandler.apply(target, args)\n }\n }\n\n ;(target as any)[hookName] = dispatch\n store[hookName] = dispatch\n\n if (typeof onApi === 'function') {\n onApi(dispatch)\n }\n}\n\nfunction bindAppGlobalListeners(\n target: InternalRuntimeState,\n handlers: {\n onError?: ((...args: any[]) => any) | undefined\n onPageNotFound?: ((...args: any[]) => any) | undefined\n onUnhandledRejection?: ((...args: any[]) => any) | undefined\n onThemeChange?: ((...args: any[]) => any) | undefined\n },\n) {\n bindAppGlobalListener(target, {\n hookName: 'onError',\n onApiName: 'onError',\n offApiName: 'offError',\n capabilityName: 'appErrorListener',\n userHandler: handlers.onError,\n })\n bindAppGlobalListener(target, {\n hookName: 'onPageNotFound',\n onApiName: 'onPageNotFound',\n offApiName: 'offPageNotFound',\n capabilityName: 'appPageNotFoundListener',\n userHandler: handlers.onPageNotFound,\n })\n bindAppGlobalListener(target, {\n hookName: 'onUnhandledRejection',\n onApiName: 'onUnhandledRejection',\n offApiName: 'offUnhandledRejection',\n capabilityName: 'appUnhandledRejectionListener',\n userHandler: handlers.onUnhandledRejection,\n })\n bindAppGlobalListener(target, {\n hookName: 'onThemeChange',\n onApiName: 'onThemeChange',\n offApiName: 'offThemeChange',\n capabilityName: 'appThemeChangeListener',\n userHandler: handlers.onThemeChange,\n })\n}\n\n/**\n * 注册 App 入口(框架内部使用)。\n * @internal\n */\nexport function registerApp<D extends object, C extends ComputedDefinitions, M extends MethodDefinitions>(\n runtimeApp: RuntimeApp<D, C, M>,\n methods: MethodDefinitions,\n watch: WatchMap | undefined,\n setup: DefineAppOptions<D, C, M>['setup'],\n mpOptions: MiniProgramAppOptions,\n) {\n if (typeof App !== 'function') {\n throw new TypeError('createApp 需要全局 App 构造器可用')\n }\n\n const methodNames = Object.keys(methods ?? {})\n const appOptions: Record<string, any> = {\n ...mpOptions,\n }\n\n appOptions.globalData = appOptions.globalData ?? {}\n\n const methodRecord = (methods ?? {}) as Record<string, unknown>\n const inlineMap = methodRecord[WEVU_INLINE_MAP_KEY]\n const requiresInlineEvents = Object.prototype.hasOwnProperty.call(methodRecord, WEVU_INLINE_MAP_KEY)\n && inlineMap\n && typeof inlineMap === 'object'\n && Object.keys(inlineMap).length > 0\n if (!appOptions[WEVU_INLINE_HANDLER] && requiresInlineEvents) {\n appOptions[WEVU_INLINE_HANDLER] = requireRuntimeCapability(\n 'inlineEvents',\n 'registerApp(inline event metadata)',\n ).handler\n }\n\n const userOnLaunch = appOptions.onLaunch\n const userOnError = appOptions.onError\n const userOnPageNotFound = (appOptions as any).onPageNotFound\n const userOnUnhandledRejection = (appOptions as any).onUnhandledRejection\n const userOnThemeChange = (appOptions as any).onThemeChange\n appOptions.onLaunch = function onLaunch(this: InternalRuntimeState, ...args: any[]) {\n this[WEVU_IS_APP_INSTANCE_KEY] = true\n mountRuntimeInstance(this, runtimeApp, watch, setup)\n bindMemoryWarningListener(this)\n bindAppGlobalListeners(this, {\n onError: userOnError,\n onPageNotFound: userOnPageNotFound,\n onUnhandledRejection: userOnUnhandledRejection,\n onThemeChange: userOnThemeChange,\n })\n callHookList(this, 'onLaunch', args)\n if (typeof userOnLaunch === 'function') {\n userOnLaunch.apply(this, args)\n }\n }\n\n const userOnShow = appOptions.onShow\n appOptions.onShow = function onShow(this: InternalRuntimeState, ...args: any[]) {\n callHookList(this, 'onShow', args)\n if (typeof userOnShow === 'function') {\n userOnShow.apply(this, args)\n }\n }\n\n const userOnHide = appOptions.onHide\n appOptions.onHide = function onHide(this: InternalRuntimeState, ...args: any[]) {\n callHookList(this, 'onHide', args)\n if (typeof userOnHide === 'function') {\n userOnHide.apply(this, args)\n }\n }\n\n delete appOptions.onError\n delete (appOptions as any).onPageNotFound\n delete (appOptions as any).onUnhandledRejection\n delete (appOptions as any).onThemeChange\n\n for (const methodName of methodNames) {\n const userMethod = appOptions[methodName]\n appOptions[methodName] = function runtimeMethod(this: InternalRuntimeState, ...args: any[]) {\n const runtime = this.__wevu\n let result: unknown\n const bound = runtime?.methods?.[methodName]\n if (bound) {\n result = bound.apply(runtime.proxy, args)\n }\n if (typeof userMethod === 'function') {\n return userMethod.apply(this, args)\n }\n return result\n }\n }\n\n App(appOptions)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"app.mjs","names":[],"sources":["../../../../src/runtime/register/app.ts"],"sourcesContent":["import type {\n ComputedDefinitions,\n DefineAppOptions,\n InternalRuntimeState,\n MethodDefinitions,\n MiniProgramAppOptions,\n MiniProgramMemoryWarningResult,\n RuntimeApp,\n} from '../types'\nimport type { WatchMap } from './watch'\nimport {\n WEVU_HOOKS_KEY,\n WEVU_INLINE_HANDLER,\n WEVU_INLINE_MAP_KEY,\n WEVU_IS_APP_INSTANCE_KEY,\n} from '@weapp-core/constants'\nimport { requireRuntimeCapability } from '../capabilities'\nimport { callHookList } from '../hooks'\nimport { getCurrentMiniProgramGlobalObject, supportsCurrentMiniProgramRuntimeCapability } from '../platform'\nimport { mountRuntimeInstance } from './runtimeInstance'\n\nconst APP_GLOBAL_LISTENER_STORE_KEY = '__wevuAppGlobalListeners'\nconst MEMORY_WARNING_LISTENER_KEY = '__wevuOnMemoryWarningListener'\n\nfunction bindMemoryWarningListener(target: InternalRuntimeState) {\n const hooks = target[WEVU_HOOKS_KEY] as Record<string, any> | undefined\n const hasMemoryWarningHook = Boolean(hooks?.onMemoryWarning)\n if (!supportsCurrentMiniProgramRuntimeCapability('appMemoryWarningListener')) {\n delete (target as any)[MEMORY_WARNING_LISTENER_KEY]\n return\n }\n const miniProgramGlobal = getCurrentMiniProgramGlobalObject()\n const onMemoryWarning = miniProgramGlobal?.onMemoryWarning\n const offMemoryWarning = miniProgramGlobal?.offMemoryWarning\n if (typeof onMemoryWarning !== 'function') {\n return\n }\n\n const existing = (target as any)[MEMORY_WARNING_LISTENER_KEY]\n if (typeof existing === 'function' && typeof offMemoryWarning === 'function') {\n try {\n offMemoryWarning(existing)\n }\n catch {\n // 忽略平台差异导致的取消监听异常\n }\n }\n\n if (!hasMemoryWarningHook) {\n delete (target as any)[MEMORY_WARNING_LISTENER_KEY]\n return\n }\n\n const listener = (result: MiniProgramMemoryWarningResult) => {\n callHookList(target, 'onMemoryWarning', [result])\n }\n ;(target as any)[MEMORY_WARNING_LISTENER_KEY] = listener\n onMemoryWarning(listener)\n}\n\nfunction bindAppGlobalListener(target: InternalRuntimeState, options: {\n hookName: 'onError' | 'onPageNotFound' | 'onUnhandledRejection' | 'onThemeChange'\n onApiName: 'onError' | 'onPageNotFound' | 'onUnhandledRejection' | 'onThemeChange'\n offApiName: 'offError' | 'offPageNotFound' | 'offUnhandledRejection' | 'offThemeChange'\n capabilityName: 'appErrorListener' | 'appPageNotFoundListener' | 'appUnhandledRejectionListener' | 'appThemeChangeListener'\n userHandler?: ((...args: any[]) => any) | undefined\n}) {\n const { hookName, onApiName, offApiName, capabilityName, userHandler } = options\n const hooks = target[WEVU_HOOKS_KEY] as Record<string, any> | undefined\n const hasHook = Boolean(hooks?.[hookName])\n const store = ((target as any)[APP_GLOBAL_LISTENER_STORE_KEY] ??= Object.create(null)) as Record<string, ((...args: any[]) => void) | undefined>\n const existing = store[hookName]\n if (!supportsCurrentMiniProgramRuntimeCapability(capabilityName)) {\n delete store[hookName]\n delete (target as any)[hookName]\n return\n }\n const miniProgramGlobal = getCurrentMiniProgramGlobalObject()\n const onApi = miniProgramGlobal?.[onApiName]\n const offApi = miniProgramGlobal?.[offApiName]\n\n if (typeof existing === 'function' && typeof offApi === 'function') {\n try {\n offApi(existing)\n }\n catch {\n // 忽略平台差异导致的取消监听异常\n }\n }\n\n if (!hasHook && typeof userHandler !== 'function') {\n delete store[hookName]\n return\n }\n\n const dispatch = (...args: any[]) => {\n callHookList(target, hookName, args)\n if (typeof userHandler === 'function') {\n userHandler.apply(target, args)\n }\n }\n\n ;(target as any)[hookName] = dispatch\n store[hookName] = dispatch\n\n if (typeof onApi === 'function') {\n onApi(dispatch)\n }\n}\n\nfunction bindAppGlobalListeners(\n target: InternalRuntimeState,\n handlers: {\n onError?: ((...args: any[]) => any) | undefined\n onPageNotFound?: ((...args: any[]) => any) | undefined\n onUnhandledRejection?: ((...args: any[]) => any) | undefined\n onThemeChange?: ((...args: any[]) => any) | undefined\n },\n) {\n bindAppGlobalListener(target, {\n hookName: 'onError',\n onApiName: 'onError',\n offApiName: 'offError',\n capabilityName: 'appErrorListener',\n userHandler: handlers.onError,\n })\n bindAppGlobalListener(target, {\n hookName: 'onPageNotFound',\n onApiName: 'onPageNotFound',\n offApiName: 'offPageNotFound',\n capabilityName: 'appPageNotFoundListener',\n userHandler: handlers.onPageNotFound,\n })\n bindAppGlobalListener(target, {\n hookName: 'onUnhandledRejection',\n onApiName: 'onUnhandledRejection',\n offApiName: 'offUnhandledRejection',\n capabilityName: 'appUnhandledRejectionListener',\n userHandler: handlers.onUnhandledRejection,\n })\n bindAppGlobalListener(target, {\n hookName: 'onThemeChange',\n onApiName: 'onThemeChange',\n offApiName: 'offThemeChange',\n capabilityName: 'appThemeChangeListener',\n userHandler: handlers.onThemeChange,\n })\n}\n\n/**\n * 注册 App 入口(框架内部使用)。\n * @internal\n */\nexport function registerApp<D extends object, C extends ComputedDefinitions, M extends MethodDefinitions>(\n runtimeApp: RuntimeApp<D, C, M>,\n methods: MethodDefinitions,\n watch: WatchMap | undefined,\n setup: DefineAppOptions<D, C, M>['setup'],\n mpOptions: MiniProgramAppOptions,\n) {\n if (typeof App !== 'function') {\n throw new TypeError('createApp 需要全局 App 构造器可用')\n }\n\n const methodNames = Object.keys(methods ?? {})\n const appOptions: Record<string, any> = {\n ...mpOptions,\n }\n\n appOptions.globalData = appOptions.globalData ?? {}\n\n const methodRecord = (methods ?? {}) as Record<string, unknown>\n const inlineMap = methodRecord[WEVU_INLINE_MAP_KEY]\n const requiresInlineEvents = Object.prototype.hasOwnProperty.call(methodRecord, WEVU_INLINE_MAP_KEY)\n && inlineMap\n && typeof inlineMap === 'object'\n && Object.keys(inlineMap).length > 0\n if (!appOptions[WEVU_INLINE_HANDLER] && requiresInlineEvents) {\n appOptions[WEVU_INLINE_HANDLER] = requireRuntimeCapability(\n 'inlineEvents',\n 'registerApp(inline event metadata)',\n ).handler\n }\n\n const userOnLaunch = appOptions.onLaunch\n const userOnError = appOptions.onError\n const userOnPageNotFound = (appOptions as any).onPageNotFound\n const userOnUnhandledRejection = (appOptions as any).onUnhandledRejection\n const userOnThemeChange = (appOptions as any).onThemeChange\n appOptions.onLaunch = function onLaunch(this: InternalRuntimeState, ...args: any[]) {\n this[WEVU_IS_APP_INSTANCE_KEY] = true\n mountRuntimeInstance(this, runtimeApp, watch, setup)\n bindMemoryWarningListener(this)\n bindAppGlobalListeners(this, {\n onError: userOnError,\n onPageNotFound: userOnPageNotFound,\n onUnhandledRejection: userOnUnhandledRejection,\n onThemeChange: userOnThemeChange,\n })\n callHookList(this, 'onLaunch', args)\n if (typeof userOnLaunch === 'function') {\n userOnLaunch.apply(this, args)\n }\n }\n\n const userOnShow = appOptions.onShow\n appOptions.onShow = function onShow(this: InternalRuntimeState, ...args: any[]) {\n callHookList(this, 'onShow', args)\n if (typeof userOnShow === 'function') {\n userOnShow.apply(this, args)\n }\n }\n\n const userOnHide = appOptions.onHide\n appOptions.onHide = function onHide(this: InternalRuntimeState, ...args: any[]) {\n callHookList(this, 'onHide', args)\n if (typeof userOnHide === 'function') {\n userOnHide.apply(this, args)\n }\n }\n\n delete appOptions.onError\n delete (appOptions as any).onPageNotFound\n delete (appOptions as any).onUnhandledRejection\n delete (appOptions as any).onThemeChange\n\n for (const methodName of methodNames) {\n const userMethod = appOptions[methodName]\n appOptions[methodName] = function runtimeMethod(this: InternalRuntimeState, ...args: any[]) {\n const runtime = this.__wevu\n let result: unknown\n const bound = runtime?.methods?.[methodName]\n if (bound) {\n result = bound.apply(runtime.proxy, args)\n }\n if (typeof userMethod === 'function') {\n return userMethod.apply(this, args)\n }\n return result\n }\n }\n\n App(appOptions)\n}\n"],"mappings":"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"}
@@ -30,38 +30,29 @@ function createAlipayComponentDefinition(definition) {
30
30
  ...rest.methods
31
31
  },
32
32
  onInit() {
33
- var _lifetimes$created;
34
33
  this.properties = this.props;
35
- (_lifetimes$created = lifetimes.created) === null || _lifetimes$created === void 0 || _lifetimes$created.call(this);
34
+ lifetimes.created?.call(this);
36
35
  },
37
36
  didMount() {
38
- var _lifetimes$attached, _lifetimes$ready;
39
37
  this.properties = this.props;
40
- (_lifetimes$attached = lifetimes.attached) === null || _lifetimes$attached === void 0 || _lifetimes$attached.call(this);
41
- (_lifetimes$ready = lifetimes.ready) === null || _lifetimes$ready === void 0 || _lifetimes$ready.call(this);
38
+ lifetimes.attached?.call(this);
39
+ lifetimes.ready?.call(this);
42
40
  },
43
41
  deriveDataFromProps(nextProps) {
44
- var _this$properties, _observers$;
45
- const previous = (_this$properties = this.properties) !== null && _this$properties !== void 0 ? _this$properties : this.props;
42
+ const previous = this.properties ?? this.props;
46
43
  this.properties = nextProps;
47
- for (const key of Object.keys(properties)) if (!Object.is(previous === null || previous === void 0 ? void 0 : previous[key], nextProps[key])) {
48
- var _observers$key;
49
- (_observers$key = observers[key]) === null || _observers$key === void 0 || _observers$key.call(this, nextProps[key], previous === null || previous === void 0 ? void 0 : previous[key]);
50
- }
51
- (_observers$ = observers["**"]) === null || _observers$ === void 0 || _observers$.call(this, nextProps);
44
+ for (const key of Object.keys(properties)) if (!Object.is(previous?.[key], nextProps[key])) observers[key]?.call(this, nextProps[key], previous?.[key]);
45
+ observers["**"]?.call(this, nextProps);
52
46
  },
53
47
  didUnmount() {
54
- var _lifetimes$detached;
55
- (_lifetimes$detached = lifetimes.detached) === null || _lifetimes$detached === void 0 || _lifetimes$detached.call(this);
48
+ lifetimes.detached?.call(this);
56
49
  },
57
50
  pageEvents: {
58
51
  onShow() {
59
- var _pageLifetimes$show;
60
- (_pageLifetimes$show = pageLifetimes.show) === null || _pageLifetimes$show === void 0 || _pageLifetimes$show.call(this);
52
+ pageLifetimes.show?.call(this);
61
53
  },
62
54
  onHide() {
63
- var _pageLifetimes$hide;
64
- (_pageLifetimes$hide = pageLifetimes.hide) === null || _pageLifetimes$hide === void 0 || _pageLifetimes$hide.call(this);
55
+ pageLifetimes.hide?.call(this);
65
56
  }
66
57
  }
67
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"alipay.mjs","names":[],"sources":["../../../../../src/runtime/register/component/alipay.ts"],"sourcesContent":["import type { InternalRuntimeState } from '../../types'\n\ntype AlipayComponentInstance = InternalRuntimeState & {\n props: Record<string, any>\n properties: Record<string, any>\n}\n\n/** 支付宝通过函数属性派发自定义事件,补齐模板分派器需要的事件与数据集。 */\nfunction triggerAlipayEvent(this: AlipayComponentInstance, eventName: string, detail: unknown) {\n const callbackName = `on${eventName.replace(/(^|-)([a-z0-9])/g, (_match, _separator, character: string) => character.toUpperCase())}`\n const callback = this.props[callbackName]\n if (typeof callback !== 'function') {\n return\n }\n const dataset: Record<string, unknown> = {}\n for (const [key, value] of Object.entries(this.props)) {\n if (key.startsWith('data-')) {\n dataset[key.slice(5)] = value\n }\n }\n const target = { id: this.props.id, dataset }\n return callback({ type: eventName, detail, target, currentTarget: target })\n}\n\n/** 将宿主生命周期和 props 统一到现有组件运行时,避免维护第二套响应式挂载流程。 */\nexport function createAlipayComponentDefinition(definition: Record<string, any>) {\n const { lifetimes = {}, properties = {}, observers = {}, pageLifetimes = {}, ...rest } = definition\n const props: Record<string, unknown> = {}\n for (const [key, property] of Object.entries(properties)) {\n props[key] = property && typeof property === 'object' && 'value' in property ? property.value : null\n }\n\n return {\n ...rest,\n props,\n methods: {\n triggerEvent: triggerAlipayEvent,\n ...rest.methods,\n },\n onInit(this: AlipayComponentInstance) {\n this.properties = this.props\n lifetimes.created?.call(this)\n },\n didMount(this: AlipayComponentInstance) {\n this.properties = this.props\n lifetimes.attached?.call(this)\n lifetimes.ready?.call(this)\n },\n deriveDataFromProps(this: AlipayComponentInstance, nextProps: Record<string, any>) {\n const previous = this.properties ?? this.props\n // 支付宝此时的 this.props 仍是旧值,以回调参数作为唯一更新来源。\n this.properties = nextProps\n for (const key of Object.keys(properties)) {\n if (!Object.is(previous?.[key], nextProps[key])) {\n observers[key]?.call(this, nextProps[key], previous?.[key])\n }\n }\n observers['**']?.call(this, nextProps)\n },\n didUnmount(this: AlipayComponentInstance) {\n lifetimes.detached?.call(this)\n },\n pageEvents: {\n onShow(this: AlipayComponentInstance) {\n pageLifetimes.show?.call(this)\n },\n onHide(this: AlipayComponentInstance) {\n pageLifetimes.hide?.call(this)\n },\n },\n }\n}\n"],"mappings":";;AAQA,SAAS,mBAAkD,WAAmB,QAAiB;CAC7F,MAAM,eAAe,KAAK,UAAU,QAAQ,qBAAqB,QAAQ,YAAY,cAAsB,UAAU,YAAY,CAAC;CAClI,MAAM,WAAW,KAAK,MAAM;CAC5B,IAAI,OAAO,aAAa,YACtB;CAEF,MAAM,UAAmC,CAAC;CAC1C,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,KAAK,KAAK,GAClD,IAAI,IAAI,WAAW,OAAO,GACxB,QAAQ,IAAI,MAAM,CAAC,KAAK;CAG5B,MAAM,SAAS;EAAE,IAAI,KAAK,MAAM;EAAI;CAAQ;CAC5C,OAAO,SAAS;EAAE,MAAM;EAAW;EAAQ;EAAQ,eAAe;CAAO,CAAC;AAC5E;;AAGA,SAAgB,gCAAgC,YAAiC;CAC/E,MAAM,EAAE,YAAY,CAAC,GAAG,aAAa,CAAC,GAAG,YAAY,CAAC,GAAG,gBAAgB,CAAC,GAAG,GAAG,SAAS;CACzF,MAAM,QAAiC,CAAC;CACxC,KAAK,MAAM,CAAC,KAAK,aAAa,OAAO,QAAQ,UAAU,GACrD,MAAM,OAAO,YAAY,OAAO,aAAa,YAAY,WAAW,WAAW,SAAS,QAAQ;CAGlG,OAAO;EACL,GAAG;EACH;EACA,SAAS;GACP,cAAc;GACd,GAAG,KAAK;EACV;EACA,SAAsC;;GACpC,KAAK,aAAa,KAAK;GACvB,gCAAU,yEAAS,KAAK,IAAI;EAC9B;EACA,WAAwC;;GACtC,KAAK,aAAa,KAAK;GACvB,iCAAU,4EAAU,KAAK,IAAI;GAC7B,8BAAU,mEAAO,KAAK,IAAI;EAC5B;EACA,oBAAmD,WAAgC;;GACjF,MAAM,+BAAW,KAAK,yEAAc,KAAK;GAEzC,KAAK,aAAa;GAClB,KAAK,MAAM,OAAO,OAAO,KAAK,UAAU,GACtC,IAAI,CAAC,OAAO,uDAAG,SAAW,MAAM,UAAU,IAAI,GAAG;;IAC/C,4BAAU,8DAAM,KAAK,MAAM,UAAU,0DAAM,SAAW,IAAI;GAC5D;GAEF,yBAAU,yDAAO,KAAK,MAAM,SAAS;EACvC;EACA,aAA0C;;GACxC,iCAAU,4EAAU,KAAK,IAAI;EAC/B;EACA,YAAY;GACV,SAAsC;;IACpC,qCAAc,wEAAM,KAAK,IAAI;GAC/B;GACA,SAAsC;;IACpC,qCAAc,wEAAM,KAAK,IAAI;GAC/B;EACF;CACF;AACF"}
1
+ {"version":3,"file":"alipay.mjs","names":[],"sources":["../../../../../src/runtime/register/component/alipay.ts"],"sourcesContent":["import type { InternalRuntimeState } from '../../types'\n\ntype AlipayComponentInstance = InternalRuntimeState & {\n props: Record<string, any>\n properties: Record<string, any>\n}\n\n/** 支付宝通过函数属性派发自定义事件,补齐模板分派器需要的事件与数据集。 */\nfunction triggerAlipayEvent(this: AlipayComponentInstance, eventName: string, detail: unknown) {\n const callbackName = `on${eventName.replace(/(^|-)([a-z0-9])/g, (_match, _separator, character: string) => character.toUpperCase())}`\n const callback = this.props[callbackName]\n if (typeof callback !== 'function') {\n return\n }\n const dataset: Record<string, unknown> = {}\n for (const [key, value] of Object.entries(this.props)) {\n if (key.startsWith('data-')) {\n dataset[key.slice(5)] = value\n }\n }\n const target = { id: this.props.id, dataset }\n return callback({ type: eventName, detail, target, currentTarget: target })\n}\n\n/** 将宿主生命周期和 props 统一到现有组件运行时,避免维护第二套响应式挂载流程。 */\nexport function createAlipayComponentDefinition(definition: Record<string, any>) {\n const { lifetimes = {}, properties = {}, observers = {}, pageLifetimes = {}, ...rest } = definition\n const props: Record<string, unknown> = {}\n for (const [key, property] of Object.entries(properties)) {\n props[key] = property && typeof property === 'object' && 'value' in property ? property.value : null\n }\n\n return {\n ...rest,\n props,\n methods: {\n triggerEvent: triggerAlipayEvent,\n ...rest.methods,\n },\n onInit(this: AlipayComponentInstance) {\n this.properties = this.props\n lifetimes.created?.call(this)\n },\n didMount(this: AlipayComponentInstance) {\n this.properties = this.props\n lifetimes.attached?.call(this)\n lifetimes.ready?.call(this)\n },\n deriveDataFromProps(this: AlipayComponentInstance, nextProps: Record<string, any>) {\n const previous = this.properties ?? this.props\n // 支付宝此时的 this.props 仍是旧值,以回调参数作为唯一更新来源。\n this.properties = nextProps\n for (const key of Object.keys(properties)) {\n if (!Object.is(previous?.[key], nextProps[key])) {\n observers[key]?.call(this, nextProps[key], previous?.[key])\n }\n }\n observers['**']?.call(this, nextProps)\n },\n didUnmount(this: AlipayComponentInstance) {\n lifetimes.detached?.call(this)\n },\n pageEvents: {\n onShow(this: AlipayComponentInstance) {\n pageLifetimes.show?.call(this)\n },\n onHide(this: AlipayComponentInstance) {\n pageLifetimes.hide?.call(this)\n },\n },\n }\n}\n"],"mappings":";;AAQA,SAAS,mBAAkD,WAAmB,QAAiB;CAC7F,MAAM,eAAe,KAAK,UAAU,QAAQ,qBAAqB,QAAQ,YAAY,cAAsB,UAAU,YAAY,CAAC;CAClI,MAAM,WAAW,KAAK,MAAM;CAC5B,IAAI,OAAO,aAAa,YACtB;CAEF,MAAM,UAAmC,CAAC;CAC1C,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,KAAK,KAAK,GAClD,IAAI,IAAI,WAAW,OAAO,GACxB,QAAQ,IAAI,MAAM,CAAC,KAAK;CAG5B,MAAM,SAAS;EAAE,IAAI,KAAK,MAAM;EAAI;CAAQ;CAC5C,OAAO,SAAS;EAAE,MAAM;EAAW;EAAQ;EAAQ,eAAe;CAAO,CAAC;AAC5E;;AAGA,SAAgB,gCAAgC,YAAiC;CAC/E,MAAM,EAAE,YAAY,CAAC,GAAG,aAAa,CAAC,GAAG,YAAY,CAAC,GAAG,gBAAgB,CAAC,GAAG,GAAG,SAAS;CACzF,MAAM,QAAiC,CAAC;CACxC,KAAK,MAAM,CAAC,KAAK,aAAa,OAAO,QAAQ,UAAU,GACrD,MAAM,OAAO,YAAY,OAAO,aAAa,YAAY,WAAW,WAAW,SAAS,QAAQ;CAGlG,OAAO;EACL,GAAG;EACH;EACA,SAAS;GACP,cAAc;GACd,GAAG,KAAK;EACV;EACA,SAAsC;GACpC,KAAK,aAAa,KAAK;GACvB,UAAU,SAAS,KAAK,IAAI;EAC9B;EACA,WAAwC;GACtC,KAAK,aAAa,KAAK;GACvB,UAAU,UAAU,KAAK,IAAI;GAC7B,UAAU,OAAO,KAAK,IAAI;EAC5B;EACA,oBAAmD,WAAgC;GACjF,MAAM,WAAW,KAAK,cAAc,KAAK;GAEzC,KAAK,aAAa;GAClB,KAAK,MAAM,OAAO,OAAO,KAAK,UAAU,GACtC,IAAI,CAAC,OAAO,GAAG,WAAW,MAAM,UAAU,IAAI,GAC5C,UAAU,IAAI,EAAE,KAAK,MAAM,UAAU,MAAM,WAAW,IAAI;GAG9D,UAAU,KAAK,EAAE,KAAK,MAAM,SAAS;EACvC;EACA,aAA0C;GACxC,UAAU,UAAU,KAAK,IAAI;EAC/B;EACA,YAAY;GACV,SAAsC;IACpC,cAAc,MAAM,KAAK,IAAI;GAC/B;GACA,SAAsC;IACpC,cAAc,MAAM,KAAK,IAAI;GAC/B;EACF;CACF;AACF"}
@@ -0,0 +1,60 @@
1
+ import { getMiniProgramRuntimeGlobalObject } from "../../platform.mjs";
2
+ import { createAlipayComponentDefinition } from "./alipay.mjs";
3
+ import { WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY } from "@weapp-core/constants";
4
+
5
+ //#region src/runtime/register/component/alipayRegistration.ts
6
+ function createAlipayPageDefinition(componentDefinition) {
7
+ const { lifetimes = {}, methods = {}, observers: _observers, options: _options, pageLifetimes = {}, properties: _properties, ...pageDefinition } = componentDefinition;
8
+ const pageOnLoad = pageDefinition.onLoad;
9
+ return {
10
+ ...pageDefinition,
11
+ ...methods,
12
+ onLoad(...args) {
13
+ this.options = args[0] && typeof args[0] === "object" ? args[0] : {};
14
+ lifetimes.created?.apply(this, args);
15
+ const result = pageOnLoad?.apply(this, args);
16
+ lifetimes.attached?.apply(this, args);
17
+ return result;
18
+ },
19
+ onShow(...args) {
20
+ return pageLifetimes.show?.apply(this, args);
21
+ },
22
+ onReady(...args) {
23
+ return lifetimes.ready?.apply(this, args);
24
+ },
25
+ onHide(...args) {
26
+ return pageLifetimes.hide?.apply(this, args);
27
+ },
28
+ onResize(...args) {
29
+ return pageLifetimes.resize?.apply(this, args);
30
+ },
31
+ onUnload(...args) {
32
+ return lifetimes.detached?.apply(this, args);
33
+ },
34
+ onError(...args) {
35
+ return lifetimes.error?.apply(this, args);
36
+ }
37
+ };
38
+ }
39
+ function registerAlipayComponentDefinition(componentDefinition, isPage) {
40
+ const statefulHmrBridge = getMiniProgramRuntimeGlobalObject()?.[WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY];
41
+ if (isPage) {
42
+ const pageDefinition = createAlipayPageDefinition(componentDefinition);
43
+ if (typeof statefulHmrBridge?.Page === "function") {
44
+ statefulHmrBridge.Page(pageDefinition);
45
+ return;
46
+ }
47
+ Page(pageDefinition);
48
+ return;
49
+ }
50
+ const nativeDefinition = createAlipayComponentDefinition(componentDefinition);
51
+ if (typeof statefulHmrBridge?.Component === "function") {
52
+ statefulHmrBridge.Component(nativeDefinition);
53
+ return;
54
+ }
55
+ Component(nativeDefinition);
56
+ }
57
+
58
+ //#endregion
59
+ export { registerAlipayComponentDefinition };
60
+ //# sourceMappingURL=alipayRegistration.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alipayRegistration.mjs","names":[],"sources":["../../../../../src/runtime/register/component/alipayRegistration.ts"],"sourcesContent":["import type { InternalRuntimeState } from '../../types'\nimport { WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY } from '@weapp-core/constants'\nimport { getMiniProgramRuntimeGlobalObject } from '../../platform'\nimport { createAlipayComponentDefinition } from './alipay'\n\nfunction createAlipayPageDefinition(componentDefinition: Record<string, any>) {\n const {\n lifetimes = {},\n methods = {},\n observers: _observers,\n options: _options,\n pageLifetimes = {},\n properties: _properties,\n ...pageDefinition\n } = componentDefinition\n\n const pageOnLoad = pageDefinition.onLoad\n\n return {\n ...pageDefinition,\n ...methods,\n onLoad(this: InternalRuntimeState, ...args: any[]) {\n // 支付宝 Page 不提供微信的 options 字段,在挂载前统一页面参数契约,\n // 避免 setup 读不到 query 或后续 onShow/onReady 将其清空。\n ;(this as Record<string, any>).options = args[0] && typeof args[0] === 'object' ? args[0] : {}\n lifetimes.created?.apply(this, args)\n const result = pageOnLoad?.apply(this, args)\n lifetimes.attached?.apply(this, args)\n return result\n },\n onShow(this: InternalRuntimeState, ...args: any[]) {\n return pageLifetimes.show?.apply(this, args)\n },\n onReady(this: InternalRuntimeState, ...args: any[]) {\n return lifetimes.ready?.apply(this, args)\n },\n onHide(this: InternalRuntimeState, ...args: any[]) {\n return pageLifetimes.hide?.apply(this, args)\n },\n onResize(this: InternalRuntimeState, ...args: any[]) {\n return pageLifetimes.resize?.apply(this, args)\n },\n onUnload(this: InternalRuntimeState, ...args: any[]) {\n return lifetimes.detached?.apply(this, args)\n },\n onError(this: InternalRuntimeState, ...args: any[]) {\n return lifetimes.error?.apply(this, args)\n },\n }\n}\n\nexport function registerAlipayComponentDefinition(componentDefinition: Record<string, any>, isPage: boolean) {\n const statefulHmrBridge = getMiniProgramRuntimeGlobalObject()?.[WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY]\n if (isPage) {\n const pageDefinition = createAlipayPageDefinition(componentDefinition)\n if (typeof statefulHmrBridge?.Page === 'function') {\n statefulHmrBridge.Page(pageDefinition)\n return\n }\n Page(pageDefinition)\n return\n }\n const nativeDefinition = createAlipayComponentDefinition(componentDefinition)\n if (typeof statefulHmrBridge?.Component === 'function') {\n statefulHmrBridge.Component(nativeDefinition)\n return\n }\n Component(nativeDefinition)\n}\n"],"mappings":";;;;;AAKA,SAAS,2BAA2B,qBAA0C;CAC5E,MAAM,EACJ,YAAY,CAAC,GACb,UAAU,CAAC,GACX,WAAW,YACX,SAAS,UACT,gBAAgB,CAAC,GACjB,YAAY,aACZ,GAAG,mBACD;CAEJ,MAAM,aAAa,eAAe;CAElC,OAAO;EACL,GAAG;EACH,GAAG;EACH,OAAmC,GAAG,MAAa;GAGhD,AAAC,KAA6B,UAAU,KAAK,MAAM,OAAO,KAAK,OAAO,WAAW,KAAK,KAAK,CAAC;GAC7F,UAAU,SAAS,MAAM,MAAM,IAAI;GACnC,MAAM,SAAS,YAAY,MAAM,MAAM,IAAI;GAC3C,UAAU,UAAU,MAAM,MAAM,IAAI;GACpC,OAAO;EACT;EACA,OAAmC,GAAG,MAAa;GACjD,OAAO,cAAc,MAAM,MAAM,MAAM,IAAI;EAC7C;EACA,QAAoC,GAAG,MAAa;GAClD,OAAO,UAAU,OAAO,MAAM,MAAM,IAAI;EAC1C;EACA,OAAmC,GAAG,MAAa;GACjD,OAAO,cAAc,MAAM,MAAM,MAAM,IAAI;EAC7C;EACA,SAAqC,GAAG,MAAa;GACnD,OAAO,cAAc,QAAQ,MAAM,MAAM,IAAI;EAC/C;EACA,SAAqC,GAAG,MAAa;GACnD,OAAO,UAAU,UAAU,MAAM,MAAM,IAAI;EAC7C;EACA,QAAoC,GAAG,MAAa;GAClD,OAAO,UAAU,OAAO,MAAM,MAAM,IAAI;EAC1C;CACF;AACF;AAEA,SAAgB,kCAAkC,qBAA0C,QAAiB;CAC3G,MAAM,oBAAoB,kCAAkC,CAAC,GAAG;CAChE,IAAI,QAAQ;EACV,MAAM,iBAAiB,2BAA2B,mBAAmB;EACrE,IAAI,OAAO,mBAAmB,SAAS,YAAY;GACjD,kBAAkB,KAAK,cAAc;GACrC;EACF;EACA,KAAK,cAAc;EACnB;CACF;CACA,MAAM,mBAAmB,gCAAgC,mBAAmB;CAC5E,IAAI,OAAO,mBAAmB,cAAc,YAAY;EACtD,kBAAkB,UAAU,gBAAgB;EAC5C;CACF;CACA,UAAU,gBAAgB;AAC5B"}
@@ -1,5 +1,5 @@
1
1
  import { callHookList, callHookReturn } from "../../../hooks/base.mjs";
2
- import { runInPageScrollHook } from "./platform.mjs";
2
+ import { callPageScrollHooks } from "../../../hooks/pageScroll.mjs";
3
3
  import { WEVU_ROUTE_DONE_CALLED_KEY, WEVU_ROUTE_DONE_IN_TICK_KEY } from "@weapp-core/constants";
4
4
 
5
5
  //#region src/runtime/register/component/lifecycle/optionalHooks.ts
@@ -19,10 +19,7 @@ function attachOptionalPageLifecycleHooks(pageLifecycleHooks, options) {
19
19
  if (!hasHook(this, "onReachBottom")) return effectiveOnReachBottom.apply(this, args);
20
20
  };
21
21
  if (enableOnPageScroll) pageLifecycleHooks.onPageScroll = function onPageScroll(...args) {
22
- return runInPageScrollHook(this, () => {
23
- callHookList(this, "onPageScroll", args);
24
- if (!hasHook(this, "onPageScroll")) return effectiveOnPageScroll.apply(this, args);
25
- });
22
+ return callPageScrollHooks(this, args, hasHook(this, "onPageScroll") ? void 0 : effectiveOnPageScroll);
26
23
  };
27
24
  if (enableOnRouteDone) pageLifecycleHooks.onRouteDone = function onRouteDone(...args) {
28
25
  if (this[WEVU_ROUTE_DONE_IN_TICK_KEY]) return;
@@ -1 +1 @@
1
- {"version":3,"file":"optionalHooks.mjs","names":[],"sources":["../../../../../../src/runtime/register/component/lifecycle/optionalHooks.ts"],"sourcesContent":["import type { InternalRuntimeState } from '../../../types'\nimport {\n WEVU_ROUTE_DONE_CALLED_KEY,\n WEVU_ROUTE_DONE_IN_TICK_KEY,\n} from '@weapp-core/constants'\nimport { callHookList, callHookReturn } from '../../../hooks'\nimport { runInPageScrollHook } from './platform'\n\nexport interface OptionalPageLifecycleHookOptions {\n enableOnSaveExitState: boolean\n enableOnPullDownRefresh: boolean\n enableOnReachBottom: boolean\n enableOnPageScroll: boolean\n enableOnRouteDone: boolean\n enableOnTabItemTap: boolean\n enableOnResize: boolean\n enableOnShareAppMessage: boolean\n enableOnShareTimeline: boolean\n enableOnAddToFavorites: boolean\n effectiveOnSaveExitState: (...args: any[]) => any\n effectiveOnPullDownRefresh: (...args: any[]) => any\n effectiveOnReachBottom: (...args: any[]) => any\n effectiveOnPageScroll: (...args: any[]) => any\n effectiveOnRouteDone: (...args: any[]) => any\n effectiveOnTabItemTap: (...args: any[]) => any\n effectiveOnResize: (...args: any[]) => any\n effectiveOnShareAppMessage: (...args: any[]) => any\n effectiveOnShareTimeline: (...args: any[]) => any\n effectiveOnAddToFavorites: (...args: any[]) => any\n hasHook: (target: InternalRuntimeState, name: string) => boolean\n}\n\nexport function attachOptionalPageLifecycleHooks(\n pageLifecycleHooks: Record<string, any>,\n options: OptionalPageLifecycleHookOptions,\n) {\n const {\n enableOnSaveExitState,\n enableOnPullDownRefresh,\n enableOnReachBottom,\n enableOnPageScroll,\n enableOnRouteDone,\n enableOnTabItemTap,\n enableOnResize,\n enableOnShareAppMessage,\n enableOnShareTimeline,\n enableOnAddToFavorites,\n effectiveOnSaveExitState,\n effectiveOnPullDownRefresh,\n effectiveOnReachBottom,\n effectiveOnPageScroll,\n effectiveOnRouteDone,\n effectiveOnTabItemTap,\n effectiveOnResize,\n effectiveOnShareAppMessage,\n effectiveOnShareTimeline,\n effectiveOnAddToFavorites,\n hasHook,\n } = options\n\n if (enableOnSaveExitState) {\n pageLifecycleHooks.onSaveExitState = function onSaveExitState(this: InternalRuntimeState, ...args: any[]) {\n const ret = callHookReturn(this, 'onSaveExitState', args)\n if (ret !== undefined) {\n return ret\n }\n return effectiveOnSaveExitState.apply(this, args)\n }\n }\n if (enableOnPullDownRefresh) {\n pageLifecycleHooks.onPullDownRefresh = function onPullDownRefresh(this: InternalRuntimeState, ...args: any[]) {\n callHookList(this, 'onPullDownRefresh', args)\n if (!hasHook(this, 'onPullDownRefresh')) {\n return effectiveOnPullDownRefresh.apply(this, args)\n }\n }\n }\n if (enableOnReachBottom) {\n pageLifecycleHooks.onReachBottom = function onReachBottom(this: InternalRuntimeState, ...args: any[]) {\n callHookList(this, 'onReachBottom', args)\n if (!hasHook(this, 'onReachBottom')) {\n return effectiveOnReachBottom.apply(this, args)\n }\n }\n }\n if (enableOnPageScroll) {\n pageLifecycleHooks.onPageScroll = function onPageScroll(this: InternalRuntimeState, ...args: any[]) {\n return runInPageScrollHook(this, () => {\n callHookList(this, 'onPageScroll', args)\n if (!hasHook(this, 'onPageScroll')) {\n return effectiveOnPageScroll.apply(this, args)\n }\n })\n }\n }\n if (enableOnRouteDone) {\n pageLifecycleHooks.onRouteDone = function onRouteDone(this: InternalRuntimeState, ...args: any[]) {\n if ((this as any)[WEVU_ROUTE_DONE_IN_TICK_KEY]) {\n return\n }\n ;(this as any)[WEVU_ROUTE_DONE_IN_TICK_KEY] = true\n Promise.resolve().then(() => {\n ;(this as any)[WEVU_ROUTE_DONE_IN_TICK_KEY] = false\n })\n ;(this as any)[WEVU_ROUTE_DONE_CALLED_KEY] = true\n callHookList(this, 'onRouteDone', args)\n if (!hasHook(this, 'onRouteDone')) {\n return effectiveOnRouteDone.apply(this, args)\n }\n }\n }\n if (enableOnTabItemTap) {\n pageLifecycleHooks.onTabItemTap = function onTabItemTap(this: InternalRuntimeState, ...args: any[]) {\n callHookList(this, 'onTabItemTap', args)\n if (!hasHook(this, 'onTabItemTap')) {\n return effectiveOnTabItemTap.apply(this, args)\n }\n }\n }\n if (enableOnResize) {\n pageLifecycleHooks.onResize = function onResize(this: InternalRuntimeState, ...args: any[]) {\n callHookList(this, 'onResize', args)\n if (!hasHook(this, 'onResize')) {\n return effectiveOnResize.apply(this, args)\n }\n }\n }\n if (enableOnShareAppMessage) {\n pageLifecycleHooks.onShareAppMessage = function onShareAppMessage(this: InternalRuntimeState, ...args: any[]) {\n const ret = callHookReturn(this, 'onShareAppMessage', args)\n if (ret !== undefined) {\n return ret\n }\n return effectiveOnShareAppMessage.apply(this, args)\n }\n }\n if (enableOnShareTimeline) {\n pageLifecycleHooks.onShareTimeline = function onShareTimeline(this: InternalRuntimeState, ...args: any[]) {\n const ret = callHookReturn(this, 'onShareTimeline', args)\n if (ret !== undefined) {\n return ret\n }\n return effectiveOnShareTimeline.apply(this, args)\n }\n }\n if (enableOnAddToFavorites) {\n pageLifecycleHooks.onAddToFavorites = function onAddToFavorites(this: InternalRuntimeState, ...args: any[]) {\n const ret = callHookReturn(this, 'onAddToFavorites', args)\n if (ret !== undefined) {\n return ret\n }\n return effectiveOnAddToFavorites.apply(this, args)\n }\n }\n}\n"],"mappings":";;;;;AAgCA,SAAgB,iCACd,oBACA,SACA;CACA,MAAM,EACJ,uBACA,yBACA,qBACA,oBACA,mBACA,oBACA,gBACA,yBACA,uBACA,wBACA,0BACA,4BACA,wBACA,uBACA,sBACA,uBACA,mBACA,4BACA,0BACA,2BACA,YACE;CAEJ,IAAI,uBACF,mBAAmB,kBAAkB,SAAS,gBAA4C,GAAG,MAAa;EACxG,MAAM,MAAM,eAAe,MAAM,mBAAmB,IAAI;EACxD,IAAI,QAAQ,QACV,OAAO;EAET,OAAO,yBAAyB,MAAM,MAAM,IAAI;CAClD;CAEF,IAAI,yBACF,mBAAmB,oBAAoB,SAAS,kBAA8C,GAAG,MAAa;EAC5G,aAAa,MAAM,qBAAqB,IAAI;EAC5C,IAAI,CAAC,QAAQ,MAAM,mBAAmB,GACpC,OAAO,2BAA2B,MAAM,MAAM,IAAI;CAEtD;CAEF,IAAI,qBACF,mBAAmB,gBAAgB,SAAS,cAA0C,GAAG,MAAa;EACpG,aAAa,MAAM,iBAAiB,IAAI;EACxC,IAAI,CAAC,QAAQ,MAAM,eAAe,GAChC,OAAO,uBAAuB,MAAM,MAAM,IAAI;CAElD;CAEF,IAAI,oBACF,mBAAmB,eAAe,SAAS,aAAyC,GAAG,MAAa;EAClG,OAAO,oBAAoB,YAAY;GACrC,aAAa,MAAM,gBAAgB,IAAI;GACvC,IAAI,CAAC,QAAQ,MAAM,cAAc,GAC/B,OAAO,sBAAsB,MAAM,MAAM,IAAI;EAEjD,CAAC;CACH;CAEF,IAAI,mBACF,mBAAmB,cAAc,SAAS,YAAwC,GAAG,MAAa;EAChG,IAAK,KAAa,8BAChB;EAED,AAAC,KAAa,+BAA+B;EAC9C,QAAQ,QAAQ,CAAC,CAAC,WAAW;GAC1B,AAAC,KAAa,+BAA+B;EAChD,CAAC;EACA,AAAC,KAAa,8BAA8B;EAC7C,aAAa,MAAM,eAAe,IAAI;EACtC,IAAI,CAAC,QAAQ,MAAM,aAAa,GAC9B,OAAO,qBAAqB,MAAM,MAAM,IAAI;CAEhD;CAEF,IAAI,oBACF,mBAAmB,eAAe,SAAS,aAAyC,GAAG,MAAa;EAClG,aAAa,MAAM,gBAAgB,IAAI;EACvC,IAAI,CAAC,QAAQ,MAAM,cAAc,GAC/B,OAAO,sBAAsB,MAAM,MAAM,IAAI;CAEjD;CAEF,IAAI,gBACF,mBAAmB,WAAW,SAAS,SAAqC,GAAG,MAAa;EAC1F,aAAa,MAAM,YAAY,IAAI;EACnC,IAAI,CAAC,QAAQ,MAAM,UAAU,GAC3B,OAAO,kBAAkB,MAAM,MAAM,IAAI;CAE7C;CAEF,IAAI,yBACF,mBAAmB,oBAAoB,SAAS,kBAA8C,GAAG,MAAa;EAC5G,MAAM,MAAM,eAAe,MAAM,qBAAqB,IAAI;EAC1D,IAAI,QAAQ,QACV,OAAO;EAET,OAAO,2BAA2B,MAAM,MAAM,IAAI;CACpD;CAEF,IAAI,uBACF,mBAAmB,kBAAkB,SAAS,gBAA4C,GAAG,MAAa;EACxG,MAAM,MAAM,eAAe,MAAM,mBAAmB,IAAI;EACxD,IAAI,QAAQ,QACV,OAAO;EAET,OAAO,yBAAyB,MAAM,MAAM,IAAI;CAClD;CAEF,IAAI,wBACF,mBAAmB,mBAAmB,SAAS,iBAA6C,GAAG,MAAa;EAC1G,MAAM,MAAM,eAAe,MAAM,oBAAoB,IAAI;EACzD,IAAI,QAAQ,QACV,OAAO;EAET,OAAO,0BAA0B,MAAM,MAAM,IAAI;CACnD;AAEJ"}
1
+ {"version":3,"file":"optionalHooks.mjs","names":[],"sources":["../../../../../../src/runtime/register/component/lifecycle/optionalHooks.ts"],"sourcesContent":["import type { InternalRuntimeState } from '../../../types'\nimport {\n WEVU_ROUTE_DONE_CALLED_KEY,\n WEVU_ROUTE_DONE_IN_TICK_KEY,\n} from '@weapp-core/constants'\nimport { callHookList, callHookReturn } from '../../../hooks'\nimport { callPageScrollHooks } from '../../../hooks/pageScroll'\n\nexport interface OptionalPageLifecycleHookOptions {\n enableOnSaveExitState: boolean\n enableOnPullDownRefresh: boolean\n enableOnReachBottom: boolean\n enableOnPageScroll: boolean\n enableOnRouteDone: boolean\n enableOnTabItemTap: boolean\n enableOnResize: boolean\n enableOnShareAppMessage: boolean\n enableOnShareTimeline: boolean\n enableOnAddToFavorites: boolean\n effectiveOnSaveExitState: (...args: any[]) => any\n effectiveOnPullDownRefresh: (...args: any[]) => any\n effectiveOnReachBottom: (...args: any[]) => any\n effectiveOnPageScroll: (...args: any[]) => any\n effectiveOnRouteDone: (...args: any[]) => any\n effectiveOnTabItemTap: (...args: any[]) => any\n effectiveOnResize: (...args: any[]) => any\n effectiveOnShareAppMessage: (...args: any[]) => any\n effectiveOnShareTimeline: (...args: any[]) => any\n effectiveOnAddToFavorites: (...args: any[]) => any\n hasHook: (target: InternalRuntimeState, name: string) => boolean\n}\n\nexport function attachOptionalPageLifecycleHooks(\n pageLifecycleHooks: Record<string, any>,\n options: OptionalPageLifecycleHookOptions,\n) {\n const {\n enableOnSaveExitState,\n enableOnPullDownRefresh,\n enableOnReachBottom,\n enableOnPageScroll,\n enableOnRouteDone,\n enableOnTabItemTap,\n enableOnResize,\n enableOnShareAppMessage,\n enableOnShareTimeline,\n enableOnAddToFavorites,\n effectiveOnSaveExitState,\n effectiveOnPullDownRefresh,\n effectiveOnReachBottom,\n effectiveOnPageScroll,\n effectiveOnRouteDone,\n effectiveOnTabItemTap,\n effectiveOnResize,\n effectiveOnShareAppMessage,\n effectiveOnShareTimeline,\n effectiveOnAddToFavorites,\n hasHook,\n } = options\n\n if (enableOnSaveExitState) {\n pageLifecycleHooks.onSaveExitState = function onSaveExitState(this: InternalRuntimeState, ...args: any[]) {\n const ret = callHookReturn(this, 'onSaveExitState', args)\n if (ret !== undefined) {\n return ret\n }\n return effectiveOnSaveExitState.apply(this, args)\n }\n }\n if (enableOnPullDownRefresh) {\n pageLifecycleHooks.onPullDownRefresh = function onPullDownRefresh(this: InternalRuntimeState, ...args: any[]) {\n callHookList(this, 'onPullDownRefresh', args)\n if (!hasHook(this, 'onPullDownRefresh')) {\n return effectiveOnPullDownRefresh.apply(this, args)\n }\n }\n }\n if (enableOnReachBottom) {\n pageLifecycleHooks.onReachBottom = function onReachBottom(this: InternalRuntimeState, ...args: any[]) {\n callHookList(this, 'onReachBottom', args)\n if (!hasHook(this, 'onReachBottom')) {\n return effectiveOnReachBottom.apply(this, args)\n }\n }\n }\n if (enableOnPageScroll) {\n pageLifecycleHooks.onPageScroll = function onPageScroll(this: InternalRuntimeState, ...args: any[]) {\n return callPageScrollHooks(this, args, hasHook(this, 'onPageScroll') ? undefined : effectiveOnPageScroll)\n }\n }\n if (enableOnRouteDone) {\n pageLifecycleHooks.onRouteDone = function onRouteDone(this: InternalRuntimeState, ...args: any[]) {\n if ((this as any)[WEVU_ROUTE_DONE_IN_TICK_KEY]) {\n return\n }\n ;(this as any)[WEVU_ROUTE_DONE_IN_TICK_KEY] = true\n Promise.resolve().then(() => {\n ;(this as any)[WEVU_ROUTE_DONE_IN_TICK_KEY] = false\n })\n ;(this as any)[WEVU_ROUTE_DONE_CALLED_KEY] = true\n callHookList(this, 'onRouteDone', args)\n if (!hasHook(this, 'onRouteDone')) {\n return effectiveOnRouteDone.apply(this, args)\n }\n }\n }\n if (enableOnTabItemTap) {\n pageLifecycleHooks.onTabItemTap = function onTabItemTap(this: InternalRuntimeState, ...args: any[]) {\n callHookList(this, 'onTabItemTap', args)\n if (!hasHook(this, 'onTabItemTap')) {\n return effectiveOnTabItemTap.apply(this, args)\n }\n }\n }\n if (enableOnResize) {\n pageLifecycleHooks.onResize = function onResize(this: InternalRuntimeState, ...args: any[]) {\n callHookList(this, 'onResize', args)\n if (!hasHook(this, 'onResize')) {\n return effectiveOnResize.apply(this, args)\n }\n }\n }\n if (enableOnShareAppMessage) {\n pageLifecycleHooks.onShareAppMessage = function onShareAppMessage(this: InternalRuntimeState, ...args: any[]) {\n const ret = callHookReturn(this, 'onShareAppMessage', args)\n if (ret !== undefined) {\n return ret\n }\n return effectiveOnShareAppMessage.apply(this, args)\n }\n }\n if (enableOnShareTimeline) {\n pageLifecycleHooks.onShareTimeline = function onShareTimeline(this: InternalRuntimeState, ...args: any[]) {\n const ret = callHookReturn(this, 'onShareTimeline', args)\n if (ret !== undefined) {\n return ret\n }\n return effectiveOnShareTimeline.apply(this, args)\n }\n }\n if (enableOnAddToFavorites) {\n pageLifecycleHooks.onAddToFavorites = function onAddToFavorites(this: InternalRuntimeState, ...args: any[]) {\n const ret = callHookReturn(this, 'onAddToFavorites', args)\n if (ret !== undefined) {\n return ret\n }\n return effectiveOnAddToFavorites.apply(this, args)\n }\n }\n}\n"],"mappings":";;;;;AAgCA,SAAgB,iCACd,oBACA,SACA;CACA,MAAM,EACJ,uBACA,yBACA,qBACA,oBACA,mBACA,oBACA,gBACA,yBACA,uBACA,wBACA,0BACA,4BACA,wBACA,uBACA,sBACA,uBACA,mBACA,4BACA,0BACA,2BACA,YACE;CAEJ,IAAI,uBACF,mBAAmB,kBAAkB,SAAS,gBAA4C,GAAG,MAAa;EACxG,MAAM,MAAM,eAAe,MAAM,mBAAmB,IAAI;EACxD,IAAI,QAAQ,QACV,OAAO;EAET,OAAO,yBAAyB,MAAM,MAAM,IAAI;CAClD;CAEF,IAAI,yBACF,mBAAmB,oBAAoB,SAAS,kBAA8C,GAAG,MAAa;EAC5G,aAAa,MAAM,qBAAqB,IAAI;EAC5C,IAAI,CAAC,QAAQ,MAAM,mBAAmB,GACpC,OAAO,2BAA2B,MAAM,MAAM,IAAI;CAEtD;CAEF,IAAI,qBACF,mBAAmB,gBAAgB,SAAS,cAA0C,GAAG,MAAa;EACpG,aAAa,MAAM,iBAAiB,IAAI;EACxC,IAAI,CAAC,QAAQ,MAAM,eAAe,GAChC,OAAO,uBAAuB,MAAM,MAAM,IAAI;CAElD;CAEF,IAAI,oBACF,mBAAmB,eAAe,SAAS,aAAyC,GAAG,MAAa;EAClG,OAAO,oBAAoB,MAAM,MAAM,QAAQ,MAAM,cAAc,IAAI,SAAY,qBAAqB;CAC1G;CAEF,IAAI,mBACF,mBAAmB,cAAc,SAAS,YAAwC,GAAG,MAAa;EAChG,IAAK,KAAa,8BAChB;EAED,AAAC,KAAa,+BAA+B;EAC9C,QAAQ,QAAQ,CAAC,CAAC,WAAW;GAC1B,AAAC,KAAa,+BAA+B;EAChD,CAAC;EACA,AAAC,KAAa,8BAA8B;EAC7C,aAAa,MAAM,eAAe,IAAI;EACtC,IAAI,CAAC,QAAQ,MAAM,aAAa,GAC9B,OAAO,qBAAqB,MAAM,MAAM,IAAI;CAEhD;CAEF,IAAI,oBACF,mBAAmB,eAAe,SAAS,aAAyC,GAAG,MAAa;EAClG,aAAa,MAAM,gBAAgB,IAAI;EACvC,IAAI,CAAC,QAAQ,MAAM,cAAc,GAC/B,OAAO,sBAAsB,MAAM,MAAM,IAAI;CAEjD;CAEF,IAAI,gBACF,mBAAmB,WAAW,SAAS,SAAqC,GAAG,MAAa;EAC1F,aAAa,MAAM,YAAY,IAAI;EACnC,IAAI,CAAC,QAAQ,MAAM,UAAU,GAC3B,OAAO,kBAAkB,MAAM,MAAM,IAAI;CAE7C;CAEF,IAAI,yBACF,mBAAmB,oBAAoB,SAAS,kBAA8C,GAAG,MAAa;EAC5G,MAAM,MAAM,eAAe,MAAM,qBAAqB,IAAI;EAC1D,IAAI,QAAQ,QACV,OAAO;EAET,OAAO,2BAA2B,MAAM,MAAM,IAAI;CACpD;CAEF,IAAI,uBACF,mBAAmB,kBAAkB,SAAS,gBAA4C,GAAG,MAAa;EACxG,MAAM,MAAM,eAAe,MAAM,mBAAmB,IAAI;EACxD,IAAI,QAAQ,QACV,OAAO;EAET,OAAO,yBAAyB,MAAM,MAAM,IAAI;CAClD;CAEF,IAAI,wBACF,mBAAmB,mBAAmB,SAAS,iBAA6C,GAAG,MAAa;EAC1G,MAAM,MAAM,eAAe,MAAM,oBAAoB,IAAI;EACzD,IAAI,QAAQ,QACV,OAAO;EAET,OAAO,0BAA0B,MAAM,MAAM,IAAI;CACnD;AAEJ"}
@@ -1,6 +1,8 @@
1
- import { getCurrentMiniProgramPages, getCurrentMiniProgramRuntimeCapabilities, getMiniProgramGlobalObject, supportsCurrentMiniProgramRuntimeCapability } from "../../../platform.mjs";
1
+ import { getCurrentMiniProgramGlobalObject, getCurrentMiniProgramRuntimeCapabilities } from "../../../platform/current.mjs";
2
+ import { getCurrentMiniProgramPages, supportsCurrentMiniProgramRuntimeCapability } from "../../../platform.mjs";
2
3
  import { callHookList } from "../../../hooks/base.mjs";
3
- import { WEVU_PAGE_SCROLL_HOOK_DEPTH_KEY } from "@weapp-core/constants";
4
+ import { runInPageScrollHook } from "../../../hooks/pageScroll.mjs";
5
+ import { WEVU_PAGE_SCROLL_EVENT_CONTRACT_KEY } from "@weapp-core/constants";
4
6
 
5
7
  //#region src/runtime/register/component/lifecycle/platform.ts
6
8
  let miniProgramGlobalPatched = false;
@@ -14,19 +16,6 @@ function bindCurrentPageInstance(target) {
14
16
  function releaseCurrentPageInstance(target) {
15
17
  if (currentPageInstance === target) currentPageInstance = void 0;
16
18
  }
17
- function runInPageScrollHook(target, task) {
18
- var _WEVU_PAGE_SCROLL_HOO;
19
- const currentDepth = Number((_WEVU_PAGE_SCROLL_HOO = target[WEVU_PAGE_SCROLL_HOOK_DEPTH_KEY]) !== null && _WEVU_PAGE_SCROLL_HOO !== void 0 ? _WEVU_PAGE_SCROLL_HOO : 0);
20
- target[WEVU_PAGE_SCROLL_HOOK_DEPTH_KEY] = currentDepth + 1;
21
- try {
22
- return task();
23
- } finally {
24
- var _WEVU_PAGE_SCROLL_HOO2;
25
- const nextDepth = Number((_WEVU_PAGE_SCROLL_HOO2 = target[WEVU_PAGE_SCROLL_HOOK_DEPTH_KEY]) !== null && _WEVU_PAGE_SCROLL_HOO2 !== void 0 ? _WEVU_PAGE_SCROLL_HOO2 : 1) - 1;
26
- if (nextDepth <= 0) delete target[WEVU_PAGE_SCROLL_HOOK_DEPTH_KEY];
27
- else target[WEVU_PAGE_SCROLL_HOOK_DEPTH_KEY] = nextDepth;
28
- }
29
- }
30
19
  function resolvePageOptions(target) {
31
20
  const direct = target.options;
32
21
  if (direct && typeof direct === "object") return direct;
@@ -39,7 +28,7 @@ function resolvePageOptions(target) {
39
28
  function ensureMiniProgramGlobalPatched() {
40
29
  if (miniProgramGlobalPatched) return;
41
30
  miniProgramGlobalPatched = true;
42
- const miniProgramGlobal = getMiniProgramGlobalObject();
31
+ const miniProgramGlobal = getCurrentMiniProgramGlobalObject();
43
32
  if (!miniProgramGlobal || typeof miniProgramGlobal !== "object") return;
44
33
  if (supportsCurrentMiniProgramRuntimeCapability("pullDownRefreshApi")) {
45
34
  const rawStartPullDownRefresh = miniProgramGlobal.startPullDownRefresh;
@@ -49,16 +38,14 @@ function ensureMiniProgramGlobalPatched() {
49
38
  return result;
50
39
  };
51
40
  }
52
- if (supportsCurrentMiniProgramRuntimeCapability("pageScrollApi")) {
41
+ if (supportsCurrentMiniProgramRuntimeCapability("pageScrollApi") && miniProgramGlobal[WEVU_PAGE_SCROLL_EVENT_CONTRACT_KEY] !== 1) {
53
42
  const rawPageScrollTo = miniProgramGlobal.pageScrollTo;
54
43
  if (typeof rawPageScrollTo === "function") miniProgramGlobal.pageScrollTo = function pageScrollToPatched(options, ...rest) {
44
+ const pageInstance = currentPageInstance;
55
45
  const result = rawPageScrollTo.apply(this, [options, ...rest]);
56
- if (currentPageInstance) {
57
- const pageInstance = currentPageInstance;
58
- runInPageScrollHook(pageInstance, () => {
59
- callHookList(pageInstance, "onPageScroll", [options !== null && options !== void 0 ? options : {}]);
60
- });
61
- }
46
+ if (pageInstance) runInPageScrollHook(pageInstance, () => {
47
+ callHookList(pageInstance, "onPageScroll", [options ?? {}]);
48
+ });
62
49
  return result;
63
50
  };
64
51
  }
@@ -67,7 +54,7 @@ function ensurePageShareMenus(options) {
67
54
  const { enableOnShareAppMessage, enableOnShareTimeline } = options;
68
55
  if (!enableOnShareAppMessage && !enableOnShareTimeline) return;
69
56
  if (!supportsCurrentMiniProgramRuntimeCapability("pageShareMenu")) return;
70
- const miniProgramGlobal = getMiniProgramGlobalObject();
57
+ const miniProgramGlobal = getCurrentMiniProgramGlobalObject();
71
58
  if (!miniProgramGlobal || typeof miniProgramGlobal.showShareMenu !== "function") return;
72
59
  const shouldShowShareAppMessage = getCurrentMiniProgramRuntimeCapabilities().shareTimelineRequiresShareAppMessage ? enableOnShareAppMessage || enableOnShareTimeline : enableOnShareAppMessage;
73
60
  if (!shouldShowShareAppMessage && !enableOnShareTimeline) return;
@@ -88,9 +75,9 @@ function ensurePageShareMenus(options) {
88
75
  if (payload === void 0) miniProgramGlobal.showShareMenu();
89
76
  else miniProgramGlobal.showShareMenu(payload);
90
77
  break;
91
- } catch (_unused) {}
78
+ } catch {}
92
79
  }
93
80
 
94
81
  //#endregion
95
- export { bindCurrentPageInstance, ensureMiniProgramGlobalPatched, ensurePageShareMenus, getCurrentPageInstance, releaseCurrentPageInstance, resolvePageOptions, runInPageScrollHook };
82
+ export { bindCurrentPageInstance, ensureMiniProgramGlobalPatched, ensurePageShareMenus, getCurrentPageInstance, releaseCurrentPageInstance, resolvePageOptions };
96
83
  //# sourceMappingURL=platform.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform.mjs","names":[],"sources":["../../../../../../src/runtime/register/component/lifecycle/platform.ts"],"sourcesContent":["import type { InternalRuntimeState } from '../../../types'\nimport { WEVU_PAGE_SCROLL_HOOK_DEPTH_KEY } from '@weapp-core/constants'\nimport { callHookList } from '../../../hooks'\nimport {\n getCurrentMiniProgramPages,\n getCurrentMiniProgramRuntimeCapabilities,\n getMiniProgramGlobalObject,\n supportsCurrentMiniProgramRuntimeCapability,\n} from '../../../platform'\n\nlet miniProgramGlobalPatched = false\nlet currentPageInstance: InternalRuntimeState | undefined\ntype ShareMenuName = 'shareAppMessage' | 'shareTimeline'\nexport function getCurrentPageInstance() {\n return currentPageInstance\n}\n\nexport function bindCurrentPageInstance(target: InternalRuntimeState) {\n currentPageInstance = target\n}\n\nexport function releaseCurrentPageInstance(target: InternalRuntimeState) {\n if (currentPageInstance === target) {\n currentPageInstance = undefined\n }\n}\n\nexport function runInPageScrollHook<T>(\n target: InternalRuntimeState,\n task: () => T,\n): T {\n const currentDepth = Number((target as any)[WEVU_PAGE_SCROLL_HOOK_DEPTH_KEY] ?? 0)\n ;(target as any)[WEVU_PAGE_SCROLL_HOOK_DEPTH_KEY] = currentDepth + 1\n try {\n return task()\n }\n finally {\n const nextDepth = Number((target as any)[WEVU_PAGE_SCROLL_HOOK_DEPTH_KEY] ?? 1) - 1\n if (nextDepth <= 0) {\n delete (target as any)[WEVU_PAGE_SCROLL_HOOK_DEPTH_KEY]\n }\n else {\n ;(target as any)[WEVU_PAGE_SCROLL_HOOK_DEPTH_KEY] = nextDepth\n }\n }\n}\n\nexport function resolvePageOptions(target: InternalRuntimeState) {\n const direct = (target as any).options\n if (direct && typeof direct === 'object') {\n return direct\n }\n const pages = getCurrentMiniProgramPages()\n const page = pages[pages.length - 1]\n const options = page && typeof page === 'object' ? (page as any).options : undefined\n if (options && typeof options === 'object') {\n return options\n }\n return {}\n}\n\nexport function ensureMiniProgramGlobalPatched() {\n if (miniProgramGlobalPatched) {\n return\n }\n miniProgramGlobalPatched = true\n const miniProgramGlobal = getMiniProgramGlobalObject()\n if (!miniProgramGlobal || typeof miniProgramGlobal !== 'object') {\n return\n }\n if (supportsCurrentMiniProgramRuntimeCapability('pullDownRefreshApi')) {\n const rawStartPullDownRefresh = miniProgramGlobal.startPullDownRefresh as ((...args: any[]) => any) | undefined\n if (typeof rawStartPullDownRefresh === 'function') {\n miniProgramGlobal.startPullDownRefresh = function startPullDownRefreshPatched(...args: any[]) {\n const result = rawStartPullDownRefresh.apply(this, args)\n if (currentPageInstance) {\n callHookList(currentPageInstance, 'onPullDownRefresh', [])\n }\n return result\n }\n }\n }\n if (supportsCurrentMiniProgramRuntimeCapability('pageScrollApi')) {\n const rawPageScrollTo = miniProgramGlobal.pageScrollTo as ((...args: any[]) => any) | undefined\n if (typeof rawPageScrollTo === 'function') {\n miniProgramGlobal.pageScrollTo = function pageScrollToPatched(options: any, ...rest: any[]) {\n const result = rawPageScrollTo.apply(this, [options, ...rest])\n if (currentPageInstance) {\n const pageInstance = currentPageInstance\n runInPageScrollHook(pageInstance, () => {\n callHookList(pageInstance, 'onPageScroll', [options ?? {}])\n })\n }\n return result\n }\n }\n }\n}\n\nexport function ensurePageShareMenus(options: {\n enableOnShareAppMessage: boolean\n enableOnShareTimeline: boolean\n}) {\n const { enableOnShareAppMessage, enableOnShareTimeline } = options\n if (!enableOnShareAppMessage && !enableOnShareTimeline) {\n return\n }\n\n if (!supportsCurrentMiniProgramRuntimeCapability('pageShareMenu')) {\n return\n }\n\n const miniProgramGlobal = getMiniProgramGlobalObject()\n if (!miniProgramGlobal || typeof miniProgramGlobal.showShareMenu !== 'function') {\n return\n }\n\n const runtimeCapabilities = getCurrentMiniProgramRuntimeCapabilities()\n const shouldShowShareAppMessage = runtimeCapabilities.shareTimelineRequiresShareAppMessage\n ? (enableOnShareAppMessage || enableOnShareTimeline)\n : enableOnShareAppMessage\n\n if (!shouldShowShareAppMessage && !enableOnShareTimeline) {\n return\n }\n\n const menus: ShareMenuName[] = []\n if (shouldShowShareAppMessage) {\n menus.push('shareAppMessage')\n }\n if (enableOnShareTimeline) {\n menus.push('shareTimeline')\n }\n\n const payloads = [\n { withShareTicket: true, menus },\n { menus },\n enableOnShareTimeline ? { withShareTicket: true } : undefined,\n enableOnShareTimeline ? {} : undefined,\n undefined,\n ]\n\n for (const payload of payloads) {\n try {\n if (payload === undefined) {\n miniProgramGlobal.showShareMenu()\n }\n else {\n miniProgramGlobal.showShareMenu(payload as any)\n }\n break\n }\n catch {\n // 继续尝试更保守的 payload,兼容不同宿主的 showShareMenu 参数形态。\n }\n }\n}\n"],"mappings":";;;;;AAUA,IAAI,2BAA2B;AAC/B,IAAI;AAEJ,SAAgB,yBAAyB;CACvC,OAAO;AACT;AAEA,SAAgB,wBAAwB,QAA8B;CACpE,sBAAsB;AACxB;AAEA,SAAgB,2BAA2B,QAA8B;CACvE,IAAI,wBAAwB,QAC1B,sBAAsB;AAE1B;AAEA,SAAgB,oBACd,QACA,MACG;;CACH,MAAM,eAAe,gCAAQ,OAAe,yGAAoC,CAAC;CAChF,AAAC,OAAe,mCAAmC,eAAe;CACnE,IAAI;EACF,OAAO,KAAK;CACd,UACQ;;EACN,MAAM,YAAY,iCAAQ,OAAe,2GAAoC,CAAC,IAAI;EAClF,IAAI,aAAa,GACf,OAAQ,OAAe;OAGtB,AAAC,OAAe,mCAAmC;CAExD;AACF;AAEA,SAAgB,mBAAmB,QAA8B;CAC/D,MAAM,SAAU,OAAe;CAC/B,IAAI,UAAU,OAAO,WAAW,UAC9B,OAAO;CAET,MAAM,QAAQ,2BAA2B;CACzC,MAAM,OAAO,MAAM,MAAM,SAAS;CAClC,MAAM,UAAU,QAAQ,OAAO,SAAS,WAAY,KAAa,UAAU;CAC3E,IAAI,WAAW,OAAO,YAAY,UAChC,OAAO;CAET,OAAO,CAAC;AACV;AAEA,SAAgB,iCAAiC;CAC/C,IAAI,0BACF;CAEF,2BAA2B;CAC3B,MAAM,oBAAoB,2BAA2B;CACrD,IAAI,CAAC,qBAAqB,OAAO,sBAAsB,UACrD;CAEF,IAAI,4CAA4C,oBAAoB,GAAG;EACrE,MAAM,0BAA0B,kBAAkB;EAClD,IAAI,OAAO,4BAA4B,YACrC,kBAAkB,uBAAuB,SAAS,4BAA4B,GAAG,MAAa;GAC5F,MAAM,SAAS,wBAAwB,MAAM,MAAM,IAAI;GACvD,IAAI,qBACF,aAAa,qBAAqB,qBAAqB,CAAC,CAAC;GAE3D,OAAO;EACT;CAEJ;CACA,IAAI,4CAA4C,eAAe,GAAG;EAChE,MAAM,kBAAkB,kBAAkB;EAC1C,IAAI,OAAO,oBAAoB,YAC7B,kBAAkB,eAAe,SAAS,oBAAoB,SAAc,GAAG,MAAa;GAC1F,MAAM,SAAS,gBAAgB,MAAM,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;GAC7D,IAAI,qBAAqB;IACvB,MAAM,eAAe;IACrB,oBAAoB,oBAAoB;KACtC,aAAa,cAAc,gBAAgB,CAAC,mDAAW,CAAC,CAAC,CAAC;IAC5D,CAAC;GACH;GACA,OAAO;EACT;CAEJ;AACF;AAEA,SAAgB,qBAAqB,SAGlC;CACD,MAAM,EAAE,yBAAyB,0BAA0B;CAC3D,IAAI,CAAC,2BAA2B,CAAC,uBAC/B;CAGF,IAAI,CAAC,4CAA4C,eAAe,GAC9D;CAGF,MAAM,oBAAoB,2BAA2B;CACrD,IAAI,CAAC,qBAAqB,OAAO,kBAAkB,kBAAkB,YACnE;CAIF,MAAM,4BADsB,yCACwB,CAAC,CAAC,uCACjD,2BAA2B,wBAC5B;CAEJ,IAAI,CAAC,6BAA6B,CAAC,uBACjC;CAGF,MAAM,QAAyB,CAAC;CAChC,IAAI,2BACF,MAAM,KAAK,iBAAiB;CAE9B,IAAI,uBACF,MAAM,KAAK,eAAe;CAG5B,MAAM,WAAW;EACf;GAAE,iBAAiB;GAAM;EAAM;EAC/B,EAAE,MAAM;EACR,wBAAwB,EAAE,iBAAiB,KAAK,IAAI;EACpD,wBAAwB,CAAC,IAAI;EAC7B;CACF;CAEA,KAAK,MAAM,WAAW,UACpB,IAAI;EACF,IAAI,YAAY,QACd,kBAAkB,cAAc;OAGhC,kBAAkB,cAAc,OAAc;EAEhD;CACF,kBACM,CAEN;AAEJ"}
1
+ {"version":3,"file":"platform.mjs","names":[],"sources":["../../../../../../src/runtime/register/component/lifecycle/platform.ts"],"sourcesContent":["import type { InternalRuntimeState } from '../../../types'\nimport { WEVU_PAGE_SCROLL_EVENT_CONTRACT_KEY } from '@weapp-core/constants'\nimport { callHookList } from '../../../hooks'\nimport { runInPageScrollHook } from '../../../hooks/pageScroll'\nimport {\n getCurrentMiniProgramGlobalObject,\n getCurrentMiniProgramPages,\n getCurrentMiniProgramRuntimeCapabilities,\n supportsCurrentMiniProgramRuntimeCapability,\n} from '../../../platform'\n\nlet miniProgramGlobalPatched = false\nlet currentPageInstance: InternalRuntimeState | undefined\ntype ShareMenuName = 'shareAppMessage' | 'shareTimeline'\nexport function getCurrentPageInstance() {\n return currentPageInstance\n}\n\nexport function bindCurrentPageInstance(target: InternalRuntimeState) {\n currentPageInstance = target\n}\n\nexport function releaseCurrentPageInstance(target: InternalRuntimeState) {\n if (currentPageInstance === target) {\n currentPageInstance = undefined\n }\n}\n\nexport function resolvePageOptions(target: InternalRuntimeState) {\n const direct = (target as any).options\n if (direct && typeof direct === 'object') {\n return direct\n }\n const pages = getCurrentMiniProgramPages()\n const page = pages[pages.length - 1]\n const options = page && typeof page === 'object' ? (page as any).options : undefined\n if (options && typeof options === 'object') {\n return options\n }\n return {}\n}\n\nexport function ensureMiniProgramGlobalPatched() {\n if (miniProgramGlobalPatched) {\n return\n }\n miniProgramGlobalPatched = true\n const miniProgramGlobal = getCurrentMiniProgramGlobalObject()\n if (!miniProgramGlobal || typeof miniProgramGlobal !== 'object') {\n return\n }\n if (supportsCurrentMiniProgramRuntimeCapability('pullDownRefreshApi')) {\n const rawStartPullDownRefresh = miniProgramGlobal.startPullDownRefresh as ((...args: any[]) => any) | undefined\n if (typeof rawStartPullDownRefresh === 'function') {\n miniProgramGlobal.startPullDownRefresh = function startPullDownRefreshPatched(...args: any[]) {\n const result = rawStartPullDownRefresh.apply(this, args)\n if (currentPageInstance) {\n callHookList(currentPageInstance, 'onPullDownRefresh', [])\n }\n return result\n }\n }\n }\n if (supportsCurrentMiniProgramRuntimeCapability('pageScrollApi') && miniProgramGlobal[WEVU_PAGE_SCROLL_EVENT_CONTRACT_KEY] !== 1) {\n const rawPageScrollTo = miniProgramGlobal.pageScrollTo as ((...args: any[]) => any) | undefined\n if (typeof rawPageScrollTo === 'function') {\n miniProgramGlobal.pageScrollTo = function pageScrollToPatched(options: any, ...rest: any[]) {\n const pageInstance = currentPageInstance\n const result = rawPageScrollTo.apply(this, [options, ...rest])\n if (pageInstance) {\n runInPageScrollHook(pageInstance, () => {\n callHookList(pageInstance, 'onPageScroll', [options ?? {}])\n })\n }\n return result\n }\n }\n }\n}\n\nexport function ensurePageShareMenus(options: {\n enableOnShareAppMessage: boolean\n enableOnShareTimeline: boolean\n}) {\n const { enableOnShareAppMessage, enableOnShareTimeline } = options\n if (!enableOnShareAppMessage && !enableOnShareTimeline) {\n return\n }\n\n if (!supportsCurrentMiniProgramRuntimeCapability('pageShareMenu')) {\n return\n }\n\n const miniProgramGlobal = getCurrentMiniProgramGlobalObject()\n if (!miniProgramGlobal || typeof miniProgramGlobal.showShareMenu !== 'function') {\n return\n }\n\n const runtimeCapabilities = getCurrentMiniProgramRuntimeCapabilities()\n const shouldShowShareAppMessage = runtimeCapabilities.shareTimelineRequiresShareAppMessage\n ? (enableOnShareAppMessage || enableOnShareTimeline)\n : enableOnShareAppMessage\n\n if (!shouldShowShareAppMessage && !enableOnShareTimeline) {\n return\n }\n\n const menus: ShareMenuName[] = []\n if (shouldShowShareAppMessage) {\n menus.push('shareAppMessage')\n }\n if (enableOnShareTimeline) {\n menus.push('shareTimeline')\n }\n\n const payloads = [\n { withShareTicket: true, menus },\n { menus },\n enableOnShareTimeline ? { withShareTicket: true } : undefined,\n enableOnShareTimeline ? {} : undefined,\n undefined,\n ]\n\n for (const payload of payloads) {\n try {\n if (payload === undefined) {\n miniProgramGlobal.showShareMenu()\n }\n else {\n miniProgramGlobal.showShareMenu(payload as any)\n }\n break\n }\n catch {\n // 继续尝试更保守的 payload,兼容不同宿主的 showShareMenu 参数形态。\n }\n }\n}\n"],"mappings":";;;;;;;AAWA,IAAI,2BAA2B;AAC/B,IAAI;AAEJ,SAAgB,yBAAyB;CACvC,OAAO;AACT;AAEA,SAAgB,wBAAwB,QAA8B;CACpE,sBAAsB;AACxB;AAEA,SAAgB,2BAA2B,QAA8B;CACvE,IAAI,wBAAwB,QAC1B,sBAAsB;AAE1B;AAEA,SAAgB,mBAAmB,QAA8B;CAC/D,MAAM,SAAU,OAAe;CAC/B,IAAI,UAAU,OAAO,WAAW,UAC9B,OAAO;CAET,MAAM,QAAQ,2BAA2B;CACzC,MAAM,OAAO,MAAM,MAAM,SAAS;CAClC,MAAM,UAAU,QAAQ,OAAO,SAAS,WAAY,KAAa,UAAU;CAC3E,IAAI,WAAW,OAAO,YAAY,UAChC,OAAO;CAET,OAAO,CAAC;AACV;AAEA,SAAgB,iCAAiC;CAC/C,IAAI,0BACF;CAEF,2BAA2B;CAC3B,MAAM,oBAAoB,kCAAkC;CAC5D,IAAI,CAAC,qBAAqB,OAAO,sBAAsB,UACrD;CAEF,IAAI,4CAA4C,oBAAoB,GAAG;EACrE,MAAM,0BAA0B,kBAAkB;EAClD,IAAI,OAAO,4BAA4B,YACrC,kBAAkB,uBAAuB,SAAS,4BAA4B,GAAG,MAAa;GAC5F,MAAM,SAAS,wBAAwB,MAAM,MAAM,IAAI;GACvD,IAAI,qBACF,aAAa,qBAAqB,qBAAqB,CAAC,CAAC;GAE3D,OAAO;EACT;CAEJ;CACA,IAAI,4CAA4C,eAAe,KAAK,kBAAkB,yCAAyC,GAAG;EAChI,MAAM,kBAAkB,kBAAkB;EAC1C,IAAI,OAAO,oBAAoB,YAC7B,kBAAkB,eAAe,SAAS,oBAAoB,SAAc,GAAG,MAAa;GAC1F,MAAM,eAAe;GACrB,MAAM,SAAS,gBAAgB,MAAM,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;GAC7D,IAAI,cACF,oBAAoB,oBAAoB;IACtC,aAAa,cAAc,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;GAC5D,CAAC;GAEH,OAAO;EACT;CAEJ;AACF;AAEA,SAAgB,qBAAqB,SAGlC;CACD,MAAM,EAAE,yBAAyB,0BAA0B;CAC3D,IAAI,CAAC,2BAA2B,CAAC,uBAC/B;CAGF,IAAI,CAAC,4CAA4C,eAAe,GAC9D;CAGF,MAAM,oBAAoB,kCAAkC;CAC5D,IAAI,CAAC,qBAAqB,OAAO,kBAAkB,kBAAkB,YACnE;CAIF,MAAM,4BADsB,yCACwB,CAAC,CAAC,uCACjD,2BAA2B,wBAC5B;CAEJ,IAAI,CAAC,6BAA6B,CAAC,uBACjC;CAGF,MAAM,QAAyB,CAAC;CAChC,IAAI,2BACF,MAAM,KAAK,iBAAiB;CAE9B,IAAI,uBACF,MAAM,KAAK,eAAe;CAG5B,MAAM,WAAW;EACf;GAAE,iBAAiB;GAAM;EAAM;EAC/B,EAAE,MAAM;EACR,wBAAwB,EAAE,iBAAiB,KAAK,IAAI;EACpD,wBAAwB,CAAC,IAAI;EAC7B;CACF;CAEA,KAAK,MAAM,WAAW,UACpB,IAAI;EACF,IAAI,YAAY,QACd,kBAAkB,cAAc;OAGhC,kBAAkB,cAAc,OAAc;EAEhD;CACF,QACM,CAEN;AAEJ"}
@@ -3,8 +3,8 @@ import { runtimeCapabilityRegistry } from "../../capabilities.mjs";
3
3
  import { bindCurrentPageInstance, ensureMiniProgramGlobalPatched, ensurePageShareMenus, releaseCurrentPageInstance, resolvePageOptions } from "./lifecycle/platform.mjs";
4
4
  import { runTeardownSteps } from "../../teardown.mjs";
5
5
  import { enableDeferredSetData, mountRuntimeInstance, setRuntimeSetDataVisibility, teardownRuntimeInstance } from "../runtimeInstance.mjs";
6
- import { cancelInitialNavigation, ensureInitialNavigation } from "../../../router/initialNavigation.mjs";
7
6
  import { notifyRouteStateSync } from "../../../router/routeSync.mjs";
7
+ import { cancelInitialNavigation, ensureInitialNavigation } from "../../navigationLifecycle.mjs";
8
8
  import { attachOptionalPageLifecycleHooks } from "./lifecycle/optionalHooks.mjs";
9
9
  import { WEVU_ON_LOAD_CALLED_KEY, WEVU_READY_CALLED_KEY, WEVU_ROUTE_DONE_CALLED_KEY } from "@weapp-core/constants";
10
10
 
@@ -12,8 +12,7 @@ import { WEVU_ON_LOAD_CALLED_KEY, WEVU_READY_CALLED_KEY, WEVU_ROUTE_DONE_CALLED_
12
12
  function createPageLifecycleHooks(options) {
13
13
  const { runtimeApp, watch, setup, userOnLoad, userOnUnload, userOnShow, userOnHide, userOnReady, isPage, enableOnSaveExitState, enableOnPullDownRefresh, enableOnReachBottom, enableOnPageScroll, enableOnRouteDone, enableOnRouteDoneFallback, enableOnTabItemTap, enableOnResize, enableOnShareAppMessage, enableOnShareTimeline, enableOnAddToFavorites, syncWevuPropsFromValues, effectiveOnSaveExitState, effectiveOnPullDownRefresh, effectiveOnReachBottom, effectiveOnPageScroll, effectiveOnRouteDone, effectiveOnTabItemTap, effectiveOnResize, effectiveOnShareAppMessage, effectiveOnShareTimeline, effectiveOnAddToFavorites, hasHook } = options;
14
14
  const flushPageSnapshotIfPossible = (target) => {
15
- var _wevu, _wevu$__wevu_flushSet;
16
- (_wevu = target.__wevu) === null || _wevu === void 0 || (_wevu$__wevu_flushSet = _wevu.__wevu_flushSetupSnapshotSync) === null || _wevu$__wevu_flushSet === void 0 || _wevu$__wevu_flushSet.call(_wevu);
15
+ target.__wevu?.__wevu_flushSetupSnapshotSync?.();
17
16
  };
18
17
  const pageLifecycleHooks = {
19
18
  onLoad(...args) {
@@ -22,7 +21,7 @@ function createPageLifecycleHooks(options) {
22
21
  const mountPage = () => {
23
22
  mountRuntimeInstance(this, runtimeApp, watch, setup);
24
23
  const pageOptions = args[0] && typeof args[0] === "object" ? args[0] : resolvePageOptions(this);
25
- syncWevuPropsFromValues === null || syncWevuPropsFromValues === void 0 || syncWevuPropsFromValues(this, pageOptions);
24
+ syncWevuPropsFromValues?.(this, pageOptions);
26
25
  flushPageSnapshotIfPossible(this);
27
26
  enableDeferredSetData(this);
28
27
  if (isPage) ensurePageShareMenus({
@@ -57,7 +56,7 @@ function createPageLifecycleHooks(options) {
57
56
  ensureMiniProgramGlobalPatched();
58
57
  bindCurrentPageInstance(this);
59
58
  if (!this[WEVU_ON_LOAD_CALLED_KEY]) pageLifecycleHooks.onLoad.call(this, resolvePageOptions(this));
60
- syncWevuPropsFromValues === null || syncWevuPropsFromValues === void 0 || syncWevuPropsFromValues(this, resolvePageOptions(this));
59
+ syncWevuPropsFromValues?.(this, resolvePageOptions(this));
61
60
  flushPageSnapshotIfPossible(this);
62
61
  ensurePageShareMenus({
63
62
  enableOnShareAppMessage,
@@ -82,7 +81,7 @@ function createPageLifecycleHooks(options) {
82
81
  onReady(...args) {
83
82
  if (isPage) {
84
83
  if (!this[WEVU_ON_LOAD_CALLED_KEY]) pageLifecycleHooks.onLoad.call(this, resolvePageOptions(this));
85
- syncWevuPropsFromValues === null || syncWevuPropsFromValues === void 0 || syncWevuPropsFromValues(this, resolvePageOptions(this));
84
+ syncWevuPropsFromValues?.(this, resolvePageOptions(this));
86
85
  flushPageSnapshotIfPossible(this);
87
86
  ensurePageShareMenus({
88
87
  enableOnShareAppMessage,
@@ -94,10 +93,7 @@ function createPageLifecycleHooks(options) {
94
93
  if (isPage && enableOnRouteDone && enableOnRouteDoneFallback) {
95
94
  const current = this;
96
95
  setTimeout(() => {
97
- if (!current[WEVU_ROUTE_DONE_CALLED_KEY]) {
98
- var _pageLifecycleHooks$o;
99
- (_pageLifecycleHooks$o = pageLifecycleHooks.onRouteDone) === null || _pageLifecycleHooks$o === void 0 || _pageLifecycleHooks$o.call(current);
100
- }
96
+ if (!current[WEVU_ROUTE_DONE_CALLED_KEY]) pageLifecycleHooks.onRouteDone?.call(current);
101
97
  }, 0);
102
98
  }
103
99
  const callReadyHooks = () => {
@@ -106,8 +102,7 @@ function createPageLifecycleHooks(options) {
106
102
  };
107
103
  const scheduleReadyHooks = () => {
108
104
  if (Array.isArray(this.__wevuTemplateRefs) && this.__wevuTemplateRefs.length > 0) {
109
- var _runtimeCapabilityReg;
110
- (_runtimeCapabilityReg = runtimeCapabilityRegistry.templateRefs) === null || _runtimeCapabilityReg === void 0 || _runtimeCapabilityReg.schedule(this, callReadyHooks);
105
+ runtimeCapabilityRegistry.templateRefs?.schedule(this, callReadyHooks);
111
106
  return;
112
107
  }
113
108
  callReadyHooks();
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.mjs","names":[],"sources":["../../../../../src/runtime/register/component/lifecycle.ts"],"sourcesContent":["import type { MiniProgramPageLike } from '../../../routerInternal/shared'\nimport type { ComponentPropsOptions, ComputedDefinitions, DefineComponentOptions, InternalRuntimeState, MethodDefinitions, RuntimeApp } from '../../types'\nimport type { WatchMap } from '../watch'\nimport {\n WEVU_ON_LOAD_CALLED_KEY,\n WEVU_READY_CALLED_KEY,\n WEVU_ROUTE_DONE_CALLED_KEY,\n} from '@weapp-core/constants'\nimport {\n cancelInitialNavigation,\n ensureInitialNavigation,\n} from '../../../router/initialNavigation'\nimport { notifyRouteStateSync } from '../../../router/routeSync'\nimport { runtimeCapabilityRegistry } from '../../capabilities'\nimport { callHookList } from '../../hooks'\nimport { runTeardownSteps } from '../../teardown'\nimport { enableDeferredSetData, mountRuntimeInstance, setRuntimeSetDataVisibility, teardownRuntimeInstance } from '../runtimeInstance'\nimport { attachOptionalPageLifecycleHooks } from './lifecycle/optionalHooks'\nimport { bindCurrentPageInstance, ensureMiniProgramGlobalPatched, ensurePageShareMenus, releaseCurrentPageInstance, resolvePageOptions } from './lifecycle/platform'\n\nexport function createPageLifecycleHooks<D extends object, C extends ComputedDefinitions, M extends MethodDefinitions>(options: {\n runtimeApp: RuntimeApp<D, C, M>\n watch: WatchMap | undefined\n setup: DefineComponentOptions<ComponentPropsOptions, D, C, M>['setup']\n userOnLoad?: any\n userOnUnload?: any\n userOnShow?: any\n userOnHide?: any\n userOnReady?: any\n isPage: boolean\n enableOnSaveExitState: boolean\n enableOnPullDownRefresh: boolean\n enableOnReachBottom: boolean\n enableOnPageScroll: boolean\n enableOnRouteDone: boolean\n enableOnRouteDoneFallback: boolean\n enableOnTabItemTap: boolean\n enableOnResize: boolean\n enableOnShareAppMessage: boolean\n enableOnShareTimeline: boolean\n enableOnAddToFavorites: boolean\n syncWevuPropsFromValues?: (instance: InternalRuntimeState, values: Record<string, unknown> | undefined) => void\n effectiveOnSaveExitState: (...args: any[]) => any\n effectiveOnPullDownRefresh: (...args: any[]) => any\n effectiveOnReachBottom: (...args: any[]) => any\n effectiveOnPageScroll: (...args: any[]) => any\n effectiveOnRouteDone: (...args: any[]) => any\n effectiveOnTabItemTap: (...args: any[]) => any\n effectiveOnResize: (...args: any[]) => any\n effectiveOnShareAppMessage: (...args: any[]) => any\n effectiveOnShareTimeline: (...args: any[]) => any\n effectiveOnAddToFavorites: (...args: any[]) => any\n hasHook: (target: InternalRuntimeState, name: string) => boolean\n}) {\n const {\n runtimeApp,\n watch,\n setup,\n userOnLoad,\n userOnUnload,\n userOnShow,\n userOnHide,\n userOnReady,\n isPage,\n enableOnSaveExitState,\n enableOnPullDownRefresh,\n enableOnReachBottom,\n enableOnPageScroll,\n enableOnRouteDone,\n enableOnRouteDoneFallback,\n enableOnTabItemTap,\n enableOnResize,\n enableOnShareAppMessage,\n enableOnShareTimeline,\n enableOnAddToFavorites,\n syncWevuPropsFromValues,\n effectiveOnSaveExitState,\n effectiveOnPullDownRefresh,\n effectiveOnReachBottom,\n effectiveOnPageScroll,\n effectiveOnRouteDone,\n effectiveOnTabItemTap,\n effectiveOnResize,\n effectiveOnShareAppMessage,\n effectiveOnShareTimeline,\n effectiveOnAddToFavorites,\n hasHook,\n } = options\n const flushPageSnapshotIfPossible = (target: InternalRuntimeState) => {\n ;(target as any).__wevu?.__wevu_flushSetupSnapshotSync?.()\n }\n\n const pageLifecycleHooks: Record<string, any> = {\n onLoad(this: InternalRuntimeState, ...args: any[]) {\n if ((this as any)[WEVU_ON_LOAD_CALLED_KEY]) {\n return\n }\n ;(this as any)[WEVU_ON_LOAD_CALLED_KEY] = true\n const mountPage = () => {\n mountRuntimeInstance(this, runtimeApp, watch, setup)\n const pageOptions = args[0] && typeof args[0] === 'object'\n ? args[0]\n : resolvePageOptions(this)\n syncWevuPropsFromValues?.(this, pageOptions)\n flushPageSnapshotIfPossible(this)\n enableDeferredSetData(this)\n if (isPage) {\n ensurePageShareMenus({\n enableOnShareAppMessage,\n enableOnShareTimeline,\n })\n }\n callHookList(this, 'onLoad', args)\n if (typeof userOnLoad === 'function') {\n return userOnLoad.apply(this, args.length ? args : [pageOptions])\n }\n }\n\n const initialNavigationPromise = isPage\n ? ensureInitialNavigation(this as MiniProgramPageLike, args[0], {\n onComplete: (shouldMount) => {\n if (shouldMount) {\n mountPage()\n }\n },\n })\n : undefined\n if (initialNavigationPromise) {\n return initialNavigationPromise\n }\n return mountPage()\n },\n onUnload(this: InternalRuntimeState, ...args: any[]) {\n let result: unknown\n runTeardownSteps([\n () => cancelInitialNavigation(this as MiniProgramPageLike),\n () => {\n if (isPage) {\n releaseCurrentPageInstance(this)\n }\n },\n () => teardownRuntimeInstance(this),\n () => {\n if (typeof userOnUnload === 'function') {\n result = userOnUnload.apply(this, args)\n }\n },\n ])\n return result\n },\n onShow(this: InternalRuntimeState, ...args: any[]) {\n if (isPage) {\n ensureMiniProgramGlobalPatched()\n bindCurrentPageInstance(this)\n if (!(this as any)[WEVU_ON_LOAD_CALLED_KEY]) {\n pageLifecycleHooks.onLoad.call(this, resolvePageOptions(this))\n }\n syncWevuPropsFromValues?.(this, resolvePageOptions(this))\n flushPageSnapshotIfPossible(this)\n ensurePageShareMenus({\n enableOnShareAppMessage,\n enableOnShareTimeline,\n })\n ;(this as any)[WEVU_ROUTE_DONE_CALLED_KEY] = false\n }\n setRuntimeSetDataVisibility(this, true)\n if (isPage) {\n notifyRouteStateSync({\n page: this as MiniProgramPageLike,\n source: 'page',\n })\n }\n callHookList(this, 'onShow', args)\n if (typeof userOnShow === 'function') {\n return userOnShow.apply(this, args)\n }\n },\n onHide(this: InternalRuntimeState, ...args: any[]) {\n if (isPage) {\n releaseCurrentPageInstance(this)\n }\n setRuntimeSetDataVisibility(this, false)\n callHookList(this, 'onHide', args)\n if (typeof userOnHide === 'function') {\n return userOnHide.apply(this, args)\n }\n },\n onReady(this: InternalRuntimeState, ...args: any[]) {\n if (isPage) {\n if (!(this as any)[WEVU_ON_LOAD_CALLED_KEY]) {\n pageLifecycleHooks.onLoad.call(this, resolvePageOptions(this))\n }\n syncWevuPropsFromValues?.(this, resolvePageOptions(this))\n flushPageSnapshotIfPossible(this)\n ensurePageShareMenus({\n enableOnShareAppMessage,\n enableOnShareTimeline,\n })\n }\n // 兼容:部分平台/模式可能触发 Page.onReady,而非 Component lifetimes.ready\n if (!(this as any)[WEVU_READY_CALLED_KEY]) {\n ;(this as any)[WEVU_READY_CALLED_KEY] = true\n // 部分 IDE/基础库在首屏场景可能不派发 routeDone,这里做一次延迟兜底。\n // 若平台随后派发了真实 routeDone,会因为 __wevuRouteDoneCalled 判定而跳过补发。\n if (isPage && enableOnRouteDone && enableOnRouteDoneFallback) {\n // eslint-disable-next-line ts/no-this-alias\n const current = this\n setTimeout(() => {\n if (!(current as any)[WEVU_ROUTE_DONE_CALLED_KEY]) {\n pageLifecycleHooks.onRouteDone?.call(current)\n }\n }, 0)\n }\n const callReadyHooks = () => {\n callHookList(this, 'onReady', args)\n if (typeof userOnReady === 'function') {\n userOnReady.apply(this, args)\n }\n }\n const scheduleReadyHooks = () => {\n if (Array.isArray(this.__wevuTemplateRefs) && this.__wevuTemplateRefs.length > 0) {\n runtimeCapabilityRegistry.templateRefs?.schedule(this, callReadyHooks)\n return\n }\n callReadyHooks()\n }\n const initialNavigationPromise = isPage\n ? ensureInitialNavigation(this as MiniProgramPageLike, undefined, {\n start: false,\n onComplete: (shouldMount) => {\n if (shouldMount) {\n scheduleReadyHooks()\n }\n },\n })\n : undefined\n if (!initialNavigationPromise) {\n scheduleReadyHooks()\n }\n return\n }\n if (typeof userOnReady === 'function') {\n return userOnReady.apply(this, args)\n }\n },\n }\n\n attachOptionalPageLifecycleHooks(pageLifecycleHooks, {\n enableOnSaveExitState,\n enableOnPullDownRefresh,\n enableOnReachBottom,\n enableOnPageScroll,\n enableOnRouteDone,\n enableOnTabItemTap,\n enableOnResize,\n enableOnShareAppMessage,\n enableOnShareTimeline,\n enableOnAddToFavorites,\n effectiveOnSaveExitState,\n effectiveOnPullDownRefresh,\n effectiveOnReachBottom,\n effectiveOnPageScroll,\n effectiveOnRouteDone,\n effectiveOnTabItemTap,\n effectiveOnResize,\n effectiveOnShareAppMessage,\n effectiveOnShareTimeline,\n effectiveOnAddToFavorites,\n hasHook,\n })\n\n return pageLifecycleHooks\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.mjs","names":[],"sources":["../../../../../src/runtime/register/component/lifecycle.ts"],"sourcesContent":["import type { MiniProgramPageLike } from '../../../routerInternal/shared'\nimport type { ComponentPropsOptions, ComputedDefinitions, DefineComponentOptions, InternalRuntimeState, MethodDefinitions, RuntimeApp } from '../../types'\nimport type { WatchMap } from '../watch'\nimport {\n WEVU_ON_LOAD_CALLED_KEY,\n WEVU_READY_CALLED_KEY,\n WEVU_ROUTE_DONE_CALLED_KEY,\n} from '@weapp-core/constants'\nimport { notifyRouteStateSync } from '../../../router/routeSync'\nimport { runtimeCapabilityRegistry } from '../../capabilities'\nimport { callHookList } from '../../hooks'\nimport { cancelInitialNavigation, ensureInitialNavigation } from '../../navigationLifecycle'\nimport { runTeardownSteps } from '../../teardown'\nimport { enableDeferredSetData, mountRuntimeInstance, setRuntimeSetDataVisibility, teardownRuntimeInstance } from '../runtimeInstance'\nimport { attachOptionalPageLifecycleHooks } from './lifecycle/optionalHooks'\nimport { bindCurrentPageInstance, ensureMiniProgramGlobalPatched, ensurePageShareMenus, releaseCurrentPageInstance, resolvePageOptions } from './lifecycle/platform'\n\nexport function createPageLifecycleHooks<D extends object, C extends ComputedDefinitions, M extends MethodDefinitions>(options: {\n runtimeApp: RuntimeApp<D, C, M>\n watch: WatchMap | undefined\n setup: DefineComponentOptions<ComponentPropsOptions, D, C, M>['setup']\n userOnLoad?: any\n userOnUnload?: any\n userOnShow?: any\n userOnHide?: any\n userOnReady?: any\n isPage: boolean\n enableOnSaveExitState: boolean\n enableOnPullDownRefresh: boolean\n enableOnReachBottom: boolean\n enableOnPageScroll: boolean\n enableOnRouteDone: boolean\n enableOnRouteDoneFallback: boolean\n enableOnTabItemTap: boolean\n enableOnResize: boolean\n enableOnShareAppMessage: boolean\n enableOnShareTimeline: boolean\n enableOnAddToFavorites: boolean\n syncWevuPropsFromValues?: (instance: InternalRuntimeState, values: Record<string, unknown> | undefined) => void\n effectiveOnSaveExitState: (...args: any[]) => any\n effectiveOnPullDownRefresh: (...args: any[]) => any\n effectiveOnReachBottom: (...args: any[]) => any\n effectiveOnPageScroll: (...args: any[]) => any\n effectiveOnRouteDone: (...args: any[]) => any\n effectiveOnTabItemTap: (...args: any[]) => any\n effectiveOnResize: (...args: any[]) => any\n effectiveOnShareAppMessage: (...args: any[]) => any\n effectiveOnShareTimeline: (...args: any[]) => any\n effectiveOnAddToFavorites: (...args: any[]) => any\n hasHook: (target: InternalRuntimeState, name: string) => boolean\n}) {\n const {\n runtimeApp,\n watch,\n setup,\n userOnLoad,\n userOnUnload,\n userOnShow,\n userOnHide,\n userOnReady,\n isPage,\n enableOnSaveExitState,\n enableOnPullDownRefresh,\n enableOnReachBottom,\n enableOnPageScroll,\n enableOnRouteDone,\n enableOnRouteDoneFallback,\n enableOnTabItemTap,\n enableOnResize,\n enableOnShareAppMessage,\n enableOnShareTimeline,\n enableOnAddToFavorites,\n syncWevuPropsFromValues,\n effectiveOnSaveExitState,\n effectiveOnPullDownRefresh,\n effectiveOnReachBottom,\n effectiveOnPageScroll,\n effectiveOnRouteDone,\n effectiveOnTabItemTap,\n effectiveOnResize,\n effectiveOnShareAppMessage,\n effectiveOnShareTimeline,\n effectiveOnAddToFavorites,\n hasHook,\n } = options\n const flushPageSnapshotIfPossible = (target: InternalRuntimeState) => {\n ;(target as any).__wevu?.__wevu_flushSetupSnapshotSync?.()\n }\n\n const pageLifecycleHooks: Record<string, any> = {\n onLoad(this: InternalRuntimeState, ...args: any[]) {\n if ((this as any)[WEVU_ON_LOAD_CALLED_KEY]) {\n return\n }\n ;(this as any)[WEVU_ON_LOAD_CALLED_KEY] = true\n const mountPage = () => {\n mountRuntimeInstance(this, runtimeApp, watch, setup)\n const pageOptions = args[0] && typeof args[0] === 'object'\n ? args[0]\n : resolvePageOptions(this)\n syncWevuPropsFromValues?.(this, pageOptions)\n flushPageSnapshotIfPossible(this)\n enableDeferredSetData(this)\n if (isPage) {\n ensurePageShareMenus({\n enableOnShareAppMessage,\n enableOnShareTimeline,\n })\n }\n callHookList(this, 'onLoad', args)\n if (typeof userOnLoad === 'function') {\n return userOnLoad.apply(this, args.length ? args : [pageOptions])\n }\n }\n\n const initialNavigationPromise = isPage\n ? ensureInitialNavigation(this as MiniProgramPageLike, args[0], {\n onComplete: (shouldMount) => {\n if (shouldMount) {\n mountPage()\n }\n },\n })\n : undefined\n if (initialNavigationPromise) {\n return initialNavigationPromise\n }\n return mountPage()\n },\n onUnload(this: InternalRuntimeState, ...args: any[]) {\n let result: unknown\n runTeardownSteps([\n () => cancelInitialNavigation(this as MiniProgramPageLike),\n () => {\n if (isPage) {\n releaseCurrentPageInstance(this)\n }\n },\n () => teardownRuntimeInstance(this),\n () => {\n if (typeof userOnUnload === 'function') {\n result = userOnUnload.apply(this, args)\n }\n },\n ])\n return result\n },\n onShow(this: InternalRuntimeState, ...args: any[]) {\n if (isPage) {\n ensureMiniProgramGlobalPatched()\n bindCurrentPageInstance(this)\n if (!(this as any)[WEVU_ON_LOAD_CALLED_KEY]) {\n pageLifecycleHooks.onLoad.call(this, resolvePageOptions(this))\n }\n syncWevuPropsFromValues?.(this, resolvePageOptions(this))\n flushPageSnapshotIfPossible(this)\n ensurePageShareMenus({\n enableOnShareAppMessage,\n enableOnShareTimeline,\n })\n ;(this as any)[WEVU_ROUTE_DONE_CALLED_KEY] = false\n }\n setRuntimeSetDataVisibility(this, true)\n if (isPage) {\n notifyRouteStateSync({\n page: this as MiniProgramPageLike,\n source: 'page',\n })\n }\n callHookList(this, 'onShow', args)\n if (typeof userOnShow === 'function') {\n return userOnShow.apply(this, args)\n }\n },\n onHide(this: InternalRuntimeState, ...args: any[]) {\n if (isPage) {\n releaseCurrentPageInstance(this)\n }\n setRuntimeSetDataVisibility(this, false)\n callHookList(this, 'onHide', args)\n if (typeof userOnHide === 'function') {\n return userOnHide.apply(this, args)\n }\n },\n onReady(this: InternalRuntimeState, ...args: any[]) {\n if (isPage) {\n if (!(this as any)[WEVU_ON_LOAD_CALLED_KEY]) {\n pageLifecycleHooks.onLoad.call(this, resolvePageOptions(this))\n }\n syncWevuPropsFromValues?.(this, resolvePageOptions(this))\n flushPageSnapshotIfPossible(this)\n ensurePageShareMenus({\n enableOnShareAppMessage,\n enableOnShareTimeline,\n })\n }\n // 兼容:部分平台/模式可能触发 Page.onReady,而非 Component lifetimes.ready\n if (!(this as any)[WEVU_READY_CALLED_KEY]) {\n ;(this as any)[WEVU_READY_CALLED_KEY] = true\n // 部分 IDE/基础库在首屏场景可能不派发 routeDone,这里做一次延迟兜底。\n // 若平台随后派发了真实 routeDone,会因为 __wevuRouteDoneCalled 判定而跳过补发。\n if (isPage && enableOnRouteDone && enableOnRouteDoneFallback) {\n // eslint-disable-next-line ts/no-this-alias\n const current = this\n setTimeout(() => {\n if (!(current as any)[WEVU_ROUTE_DONE_CALLED_KEY]) {\n pageLifecycleHooks.onRouteDone?.call(current)\n }\n }, 0)\n }\n const callReadyHooks = () => {\n callHookList(this, 'onReady', args)\n if (typeof userOnReady === 'function') {\n userOnReady.apply(this, args)\n }\n }\n const scheduleReadyHooks = () => {\n if (Array.isArray(this.__wevuTemplateRefs) && this.__wevuTemplateRefs.length > 0) {\n runtimeCapabilityRegistry.templateRefs?.schedule(this, callReadyHooks)\n return\n }\n callReadyHooks()\n }\n const initialNavigationPromise = isPage\n ? ensureInitialNavigation(this as MiniProgramPageLike, undefined, {\n start: false,\n onComplete: (shouldMount) => {\n if (shouldMount) {\n scheduleReadyHooks()\n }\n },\n })\n : undefined\n if (!initialNavigationPromise) {\n scheduleReadyHooks()\n }\n return\n }\n if (typeof userOnReady === 'function') {\n return userOnReady.apply(this, args)\n }\n },\n }\n\n attachOptionalPageLifecycleHooks(pageLifecycleHooks, {\n enableOnSaveExitState,\n enableOnPullDownRefresh,\n enableOnReachBottom,\n enableOnPageScroll,\n enableOnRouteDone,\n enableOnTabItemTap,\n enableOnResize,\n enableOnShareAppMessage,\n enableOnShareTimeline,\n enableOnAddToFavorites,\n effectiveOnSaveExitState,\n effectiveOnPullDownRefresh,\n effectiveOnReachBottom,\n effectiveOnPageScroll,\n effectiveOnRouteDone,\n effectiveOnTabItemTap,\n effectiveOnResize,\n effectiveOnShareAppMessage,\n effectiveOnShareTimeline,\n effectiveOnAddToFavorites,\n hasHook,\n })\n\n return pageLifecycleHooks\n}\n"],"mappings":"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"}