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
@@ -8,11 +8,11 @@ function hasNativeApis(instance) {
8
8
  return typeof instance.triggerEvent === "function" || typeof instance.createSelectorQuery === "function" || typeof instance.createIntersectionObserver === "function" || typeof instance.setData === "function";
9
9
  }
10
10
  function isBridgeMethod(runtime, instance, methodName) {
11
- const instanceMethod = instance === null || instance === void 0 ? void 0 : instance[methodName];
11
+ const instanceMethod = instance?.[methodName];
12
12
  if (typeof instanceMethod !== "function") return false;
13
13
  if (isNativeBridgeMethod(instanceMethod)) return true;
14
- const runtimeProxy = runtime === null || runtime === void 0 ? void 0 : runtime.proxy;
15
- return typeof (runtimeProxy === null || runtimeProxy === void 0 ? void 0 : runtimeProxy[methodName]) === "function" && instanceMethod === runtimeProxy[methodName];
14
+ const runtimeProxy = runtime?.proxy;
15
+ return typeof runtimeProxy?.[methodName] === "function" && instanceMethod === runtimeProxy[methodName];
16
16
  }
17
17
  function syncRuntimeNativeInstance(runtime, instance) {
18
18
  if (!runtime || !hasNativeApis(instance)) return;
@@ -28,7 +28,7 @@ function syncRuntimeNativeInstance(runtime, instance) {
28
28
  enumerable: false,
29
29
  writable: true
30
30
  });
31
- } catch (_unused) {
31
+ } catch {
32
32
  runtimeState[WEVU_NATIVE_INSTANCE_KEY] = nativeCandidate;
33
33
  }
34
34
  }
@@ -38,14 +38,13 @@ function bridgeRuntimeMethodsToTarget(target, runtime) {
38
38
  for (const name of Object.keys(methods)) {
39
39
  if (setupInstanceMethodNames.includes(name)) continue;
40
40
  if (typeof target[name] !== "function") target[name] = function bridged(...args) {
41
- var _this$WEVU_PUBLIC_RUN, _ref;
42
- const runtime = (_this$WEVU_PUBLIC_RUN = this[WEVU_PUBLIC_RUNTIME_KEY]) !== null && _this$WEVU_PUBLIC_RUN !== void 0 ? _this$WEVU_PUBLIC_RUN : target[WEVU_PUBLIC_RUNTIME_KEY];
41
+ const runtime = this[WEVU_PUBLIC_RUNTIME_KEY] ?? target[WEVU_PUBLIC_RUNTIME_KEY];
43
42
  syncRuntimeNativeInstance(runtime, this);
44
- const bound = runtime === null || runtime === void 0 || (_ref = runtime.methods) === null || _ref === void 0 ? void 0 : _ref[name];
43
+ const bound = (runtime?.methods)?.[name];
45
44
  if (typeof bound === "function") return bound.apply(runtime.proxy, args);
46
45
  };
47
46
  }
48
- } catch (_unused2) {}
47
+ } catch {}
49
48
  }
50
49
 
51
50
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"methodBridge.mjs","names":[],"sources":["../../../../../src/runtime/register/runtimeInstance/methodBridge.ts"],"sourcesContent":["import type { InternalRuntimeState, RuntimeInstance } from '../../types'\nimport type { SetupInstanceMethodName } from './setupContext'\nimport {\n WEVU_NATIVE_INSTANCE_KEY,\n WEVU_PUBLIC_RUNTIME_KEY,\n} from '@weapp-core/constants'\nimport { isNativeBridgeMethod } from '../../nativeBridge'\nimport { setupInstanceMethodNames } from './setupContext'\n\nfunction hasNativeApis(instance: unknown) {\n if (!instance || typeof instance !== 'object') {\n return false\n }\n return typeof (instance as any).triggerEvent === 'function'\n || typeof (instance as any).createSelectorQuery === 'function'\n || typeof (instance as any).createIntersectionObserver === 'function'\n || typeof (instance as any).setData === 'function'\n}\n\nfunction isBridgeMethod(runtime: RuntimeInstance<any, any, any>, instance: any, methodName: 'triggerEvent' | 'createSelectorQuery' | 'createIntersectionObserver' | 'setData') {\n const instanceMethod = instance?.[methodName]\n if (typeof instanceMethod !== 'function') {\n return false\n }\n if (isNativeBridgeMethod(instanceMethod)) {\n return true\n }\n const runtimeProxy = runtime?.proxy as Record<string, any> | undefined\n return typeof runtimeProxy?.[methodName] === 'function' && instanceMethod === runtimeProxy[methodName]\n}\n\nfunction syncRuntimeNativeInstance(runtime: RuntimeInstance<any, any, any>, instance: unknown) {\n if (!runtime || !hasNativeApis(instance)) {\n return\n }\n if (instance === runtime.proxy) {\n return\n }\n const nativeCandidate = instance as Record<string, any>\n if (\n isBridgeMethod(runtime, nativeCandidate, 'triggerEvent')\n || isBridgeMethod(runtime, nativeCandidate, 'createSelectorQuery')\n || isBridgeMethod(runtime, nativeCandidate, 'createIntersectionObserver')\n || isBridgeMethod(runtime, nativeCandidate, 'setData')\n ) {\n return\n }\n const runtimeState = runtime.state\n if (!runtimeState || typeof runtimeState !== 'object') {\n return\n }\n try {\n Object.defineProperty(runtimeState, WEVU_NATIVE_INSTANCE_KEY, {\n value: nativeCandidate,\n configurable: true,\n enumerable: false,\n writable: true,\n })\n }\n catch {\n ;(runtimeState as any)[WEVU_NATIVE_INSTANCE_KEY] = nativeCandidate\n }\n}\n\nexport function bridgeRuntimeMethodsToTarget(\n target: InternalRuntimeState,\n runtime: RuntimeInstance<any, any, any>,\n) {\n try {\n const methods = (runtime.methods as unknown) as Record<string, any>\n for (const name of Object.keys(methods)) {\n if (setupInstanceMethodNames.includes(name as SetupInstanceMethodName)) {\n continue\n }\n if (typeof (target as any)[name] !== 'function') {\n ;(target as any)[name] = function bridged(this: any, ...args: any[]) {\n const runtime = this[WEVU_PUBLIC_RUNTIME_KEY] ?? target[WEVU_PUBLIC_RUNTIME_KEY]\n syncRuntimeNativeInstance(runtime, this)\n const bound = (runtime?.methods as any)?.[name]\n if (typeof bound === 'function') {\n return bound.apply(runtime.proxy, args)\n }\n }\n }\n }\n }\n catch {\n // 桥接过程中若发生错误(如目标被封装)则忽略,避免阻断后续流程\n }\n}\n"],"mappings":";;;;;AASA,SAAS,cAAc,UAAmB;CACxC,IAAI,CAAC,YAAY,OAAO,aAAa,UACnC,OAAO;CAET,OAAO,OAAQ,SAAiB,iBAAiB,cAC5C,OAAQ,SAAiB,wBAAwB,cACjD,OAAQ,SAAiB,+BAA+B,cACxD,OAAQ,SAAiB,YAAY;AAC5C;AAEA,SAAS,eAAe,SAAyC,UAAe,YAA+F;CAC7K,MAAM,qEAAiB,SAAW;CAClC,IAAI,OAAO,mBAAmB,YAC5B,OAAO;CAET,IAAI,qBAAqB,cAAc,GACrC,OAAO;CAET,MAAM,iEAAe,QAAS;CAC9B,OAAO,oEAAO,aAAe,iBAAgB,cAAc,mBAAmB,aAAa;AAC7F;AAEA,SAAS,0BAA0B,SAAyC,UAAmB;CAC7F,IAAI,CAAC,WAAW,CAAC,cAAc,QAAQ,GACrC;CAEF,IAAI,aAAa,QAAQ,OACvB;CAEF,MAAM,kBAAkB;CACxB,IACE,eAAe,SAAS,iBAAiB,cAAc,KACpD,eAAe,SAAS,iBAAiB,qBAAqB,KAC9D,eAAe,SAAS,iBAAiB,4BAA4B,KACrE,eAAe,SAAS,iBAAiB,SAAS,GAErD;CAEF,MAAM,eAAe,QAAQ;CAC7B,IAAI,CAAC,gBAAgB,OAAO,iBAAiB,UAC3C;CAEF,IAAI;EACF,OAAO,eAAe,cAAc,0BAA0B;GAC5D,OAAO;GACP,cAAc;GACd,YAAY;GACZ,UAAU;EACZ,CAAC;CACH,kBACM;EACH,AAAC,aAAqB,4BAA4B;CACrD;AACF;AAEA,SAAgB,6BACd,QACA,SACA;CACA,IAAI;EACF,MAAM,UAAW,QAAQ;EACzB,KAAK,MAAM,QAAQ,OAAO,KAAK,OAAO,GAAG;GACvC,IAAI,yBAAyB,SAAS,IAA+B,GACnE;GAEF,IAAI,OAAQ,OAAe,UAAU,YAClC,AAAC,OAAe,QAAQ,SAAS,QAAmB,GAAG,MAAa;;IACnE,MAAM,mCAAU,KAAK,iGAA4B,OAAO;IACxD,0BAA0B,SAAS,IAAI;IACvC,MAAM,0DAAS,QAAS,qDAAkB;IAC1C,IAAI,OAAO,UAAU,YACnB,OAAO,MAAM,MAAM,QAAQ,OAAO,IAAI;GAE1C;EAEJ;CACF,mBACM,CAEN;AACF"}
1
+ {"version":3,"file":"methodBridge.mjs","names":[],"sources":["../../../../../src/runtime/register/runtimeInstance/methodBridge.ts"],"sourcesContent":["import type { InternalRuntimeState, RuntimeInstance } from '../../types'\nimport type { SetupInstanceMethodName } from './setupContext'\nimport {\n WEVU_NATIVE_INSTANCE_KEY,\n WEVU_PUBLIC_RUNTIME_KEY,\n} from '@weapp-core/constants'\nimport { isNativeBridgeMethod } from '../../nativeBridge'\nimport { setupInstanceMethodNames } from './setupContext'\n\nfunction hasNativeApis(instance: unknown) {\n if (!instance || typeof instance !== 'object') {\n return false\n }\n return typeof (instance as any).triggerEvent === 'function'\n || typeof (instance as any).createSelectorQuery === 'function'\n || typeof (instance as any).createIntersectionObserver === 'function'\n || typeof (instance as any).setData === 'function'\n}\n\nfunction isBridgeMethod(runtime: RuntimeInstance<any, any, any>, instance: any, methodName: 'triggerEvent' | 'createSelectorQuery' | 'createIntersectionObserver' | 'setData') {\n const instanceMethod = instance?.[methodName]\n if (typeof instanceMethod !== 'function') {\n return false\n }\n if (isNativeBridgeMethod(instanceMethod)) {\n return true\n }\n const runtimeProxy = runtime?.proxy as Record<string, any> | undefined\n return typeof runtimeProxy?.[methodName] === 'function' && instanceMethod === runtimeProxy[methodName]\n}\n\nfunction syncRuntimeNativeInstance(runtime: RuntimeInstance<any, any, any>, instance: unknown) {\n if (!runtime || !hasNativeApis(instance)) {\n return\n }\n if (instance === runtime.proxy) {\n return\n }\n const nativeCandidate = instance as Record<string, any>\n if (\n isBridgeMethod(runtime, nativeCandidate, 'triggerEvent')\n || isBridgeMethod(runtime, nativeCandidate, 'createSelectorQuery')\n || isBridgeMethod(runtime, nativeCandidate, 'createIntersectionObserver')\n || isBridgeMethod(runtime, nativeCandidate, 'setData')\n ) {\n return\n }\n const runtimeState = runtime.state\n if (!runtimeState || typeof runtimeState !== 'object') {\n return\n }\n try {\n Object.defineProperty(runtimeState, WEVU_NATIVE_INSTANCE_KEY, {\n value: nativeCandidate,\n configurable: true,\n enumerable: false,\n writable: true,\n })\n }\n catch {\n ;(runtimeState as any)[WEVU_NATIVE_INSTANCE_KEY] = nativeCandidate\n }\n}\n\nexport function bridgeRuntimeMethodsToTarget(\n target: InternalRuntimeState,\n runtime: RuntimeInstance<any, any, any>,\n) {\n try {\n const methods = (runtime.methods as unknown) as Record<string, any>\n for (const name of Object.keys(methods)) {\n if (setupInstanceMethodNames.includes(name as SetupInstanceMethodName)) {\n continue\n }\n if (typeof (target as any)[name] !== 'function') {\n ;(target as any)[name] = function bridged(this: any, ...args: any[]) {\n const runtime = this[WEVU_PUBLIC_RUNTIME_KEY] ?? target[WEVU_PUBLIC_RUNTIME_KEY]\n syncRuntimeNativeInstance(runtime, this)\n const bound = (runtime?.methods as any)?.[name]\n if (typeof bound === 'function') {\n return bound.apply(runtime.proxy, args)\n }\n }\n }\n }\n }\n catch {\n // 桥接过程中若发生错误(如目标被封装)则忽略,避免阻断后续流程\n }\n}\n"],"mappings":";;;;;AASA,SAAS,cAAc,UAAmB;CACxC,IAAI,CAAC,YAAY,OAAO,aAAa,UACnC,OAAO;CAET,OAAO,OAAQ,SAAiB,iBAAiB,cAC5C,OAAQ,SAAiB,wBAAwB,cACjD,OAAQ,SAAiB,+BAA+B,cACxD,OAAQ,SAAiB,YAAY;AAC5C;AAEA,SAAS,eAAe,SAAyC,UAAe,YAA+F;CAC7K,MAAM,iBAAiB,WAAW;CAClC,IAAI,OAAO,mBAAmB,YAC5B,OAAO;CAET,IAAI,qBAAqB,cAAc,GACrC,OAAO;CAET,MAAM,eAAe,SAAS;CAC9B,OAAO,OAAO,eAAe,gBAAgB,cAAc,mBAAmB,aAAa;AAC7F;AAEA,SAAS,0BAA0B,SAAyC,UAAmB;CAC7F,IAAI,CAAC,WAAW,CAAC,cAAc,QAAQ,GACrC;CAEF,IAAI,aAAa,QAAQ,OACvB;CAEF,MAAM,kBAAkB;CACxB,IACE,eAAe,SAAS,iBAAiB,cAAc,KACpD,eAAe,SAAS,iBAAiB,qBAAqB,KAC9D,eAAe,SAAS,iBAAiB,4BAA4B,KACrE,eAAe,SAAS,iBAAiB,SAAS,GAErD;CAEF,MAAM,eAAe,QAAQ;CAC7B,IAAI,CAAC,gBAAgB,OAAO,iBAAiB,UAC3C;CAEF,IAAI;EACF,OAAO,eAAe,cAAc,0BAA0B;GAC5D,OAAO;GACP,cAAc;GACd,YAAY;GACZ,UAAU;EACZ,CAAC;CACH,QACM;EACH,AAAC,aAAqB,4BAA4B;CACrD;AACF;AAEA,SAAgB,6BACd,QACA,SACA;CACA,IAAI;EACF,MAAM,UAAW,QAAQ;EACzB,KAAK,MAAM,QAAQ,OAAO,KAAK,OAAO,GAAG;GACvC,IAAI,yBAAyB,SAAS,IAA+B,GACnE;GAEF,IAAI,OAAQ,OAAe,UAAU,YAClC,AAAC,OAAe,QAAQ,SAAS,QAAmB,GAAG,MAAa;IACnE,MAAM,UAAU,KAAK,4BAA4B,OAAO;IACxD,0BAA0B,SAAS,IAAI;IACvC,MAAM,SAAS,SAAS,QAAO,GAAW;IAC1C,IAAI,OAAO,UAAU,YACnB,OAAO,MAAM,MAAM,QAAQ,OAAO,IAAI;GAE1C;EAEJ;CACF,QACM,CAEN;AACF"}
@@ -12,7 +12,7 @@ function resolveRuntimeParentInstance(target) {
12
12
  if (typeof selectOwnerComponent === "function") try {
13
13
  const owner = selectOwnerComponent.call(target);
14
14
  if (owner && owner !== target && typeof owner === "object" && owner.__wevu) return owner;
15
- } catch (_unused) {}
15
+ } catch {}
16
16
  const pages = getCurrentMiniProgramPages();
17
17
  const currentPage = pages[pages.length - 1];
18
18
  if (currentPage && currentPage !== target && typeof currentPage === "object" && currentPage.__wevu) return currentPage;
@@ -1 +1 @@
1
- {"version":3,"file":"provideContext.mjs","names":[],"sources":["../../../../../src/runtime/register/runtimeInstance/provideContext.ts"],"sourcesContent":["import type { InternalRuntimeState, RuntimeApp } from '../../types'\nimport {\n WEVU_PARENT_INSTANCE_KEY,\n WEVU_RUNTIME_APP_KEY,\n} from '@weapp-core/constants'\nimport { isRuntimeLayoutComponentTarget } from '../../layoutComponentMatcher'\nimport { getCurrentMiniProgramPages } from '../../platform'\nimport { attachRuntimeLayoutProvideContext, attachRuntimeProvideContext } from '../../provideContext'\n\nfunction resolveRuntimeParentInstance(target: InternalRuntimeState): InternalRuntimeState | undefined {\n if (isRuntimeLayoutComponentTarget(target)) {\n return undefined\n }\n\n const cached = target[WEVU_PARENT_INSTANCE_KEY]\n if (cached && typeof cached === 'object') {\n return cached\n }\n\n const selectOwnerComponent = (target as any).selectOwnerComponent\n if (typeof selectOwnerComponent === 'function') {\n try {\n const owner = selectOwnerComponent.call(target) as InternalRuntimeState | undefined\n if (owner && owner !== target && typeof owner === 'object' && owner.__wevu) {\n return owner\n }\n }\n catch {\n // 部分宿主或生命周期阶段可能暂不支持 owner 查询,继续使用页面兜底。\n }\n }\n\n const pages = getCurrentMiniProgramPages()\n const currentPage = pages[pages.length - 1] as InternalRuntimeState | undefined\n if (\n currentPage\n && currentPage !== target\n && typeof currentPage === 'object'\n && currentPage.__wevu\n ) {\n return currentPage\n }\n\n return undefined\n}\n\nfunction attachRuntimeLayoutParentContext(target: InternalRuntimeState) {\n if (!isRuntimeLayoutComponentTarget(target)) {\n return\n }\n const pages = getCurrentMiniProgramPages()\n const currentPage = pages[pages.length - 1] as InternalRuntimeState | undefined\n if (\n currentPage\n && currentPage !== target\n && typeof currentPage === 'object'\n && currentPage.__wevu\n ) {\n attachRuntimeLayoutProvideContext(target, currentPage)\n }\n}\n\nexport function attachRuntimeProvideParentContext(\n target: InternalRuntimeState,\n runtimeApp: RuntimeApp<any, any, any>,\n) {\n target[WEVU_RUNTIME_APP_KEY] = runtimeApp\n attachRuntimeProvideContext(target, runtimeApp, resolveRuntimeParentInstance(target))\n attachRuntimeLayoutParentContext(target)\n}\n"],"mappings":";;;;;;AASA,SAAS,6BAA6B,QAAgE;CACpG,IAAI,+BAA+B,MAAM,GACvC;CAGF,MAAM,SAAS,OAAO;CACtB,IAAI,UAAU,OAAO,WAAW,UAC9B,OAAO;CAGT,MAAM,uBAAwB,OAAe;CAC7C,IAAI,OAAO,yBAAyB,YAClC,IAAI;EACF,MAAM,QAAQ,qBAAqB,KAAK,MAAM;EAC9C,IAAI,SAAS,UAAU,UAAU,OAAO,UAAU,YAAY,MAAM,QAClE,OAAO;CAEX,kBACM,CAEN;CAGF,MAAM,QAAQ,2BAA2B;CACzC,MAAM,cAAc,MAAM,MAAM,SAAS;CACzC,IACE,eACG,gBAAgB,UAChB,OAAO,gBAAgB,YACvB,YAAY,QAEf,OAAO;AAIX;AAEA,SAAS,iCAAiC,QAA8B;CACtE,IAAI,CAAC,+BAA+B,MAAM,GACxC;CAEF,MAAM,QAAQ,2BAA2B;CACzC,MAAM,cAAc,MAAM,MAAM,SAAS;CACzC,IACE,eACG,gBAAgB,UAChB,OAAO,gBAAgB,YACvB,YAAY,QAEf,kCAAkC,QAAQ,WAAW;AAEzD;AAEA,SAAgB,kCACd,QACA,YACA;CACA,OAAO,wBAAwB;CAC/B,4BAA4B,QAAQ,YAAY,6BAA6B,MAAM,CAAC;CACpF,iCAAiC,MAAM;AACzC"}
1
+ {"version":3,"file":"provideContext.mjs","names":[],"sources":["../../../../../src/runtime/register/runtimeInstance/provideContext.ts"],"sourcesContent":["import type { InternalRuntimeState, RuntimeApp } from '../../types'\nimport {\n WEVU_PARENT_INSTANCE_KEY,\n WEVU_RUNTIME_APP_KEY,\n} from '@weapp-core/constants'\nimport { isRuntimeLayoutComponentTarget } from '../../layoutComponentMatcher'\nimport { getCurrentMiniProgramPages } from '../../platform'\nimport { attachRuntimeLayoutProvideContext, attachRuntimeProvideContext } from '../../provideContext'\n\nfunction resolveRuntimeParentInstance(target: InternalRuntimeState): InternalRuntimeState | undefined {\n if (isRuntimeLayoutComponentTarget(target)) {\n return undefined\n }\n\n const cached = target[WEVU_PARENT_INSTANCE_KEY]\n if (cached && typeof cached === 'object') {\n return cached\n }\n\n const selectOwnerComponent = (target as any).selectOwnerComponent\n if (typeof selectOwnerComponent === 'function') {\n try {\n const owner = selectOwnerComponent.call(target) as InternalRuntimeState | undefined\n if (owner && owner !== target && typeof owner === 'object' && owner.__wevu) {\n return owner\n }\n }\n catch {\n // 部分宿主或生命周期阶段可能暂不支持 owner 查询,继续使用页面兜底。\n }\n }\n\n const pages = getCurrentMiniProgramPages()\n const currentPage = pages[pages.length - 1] as InternalRuntimeState | undefined\n if (\n currentPage\n && currentPage !== target\n && typeof currentPage === 'object'\n && currentPage.__wevu\n ) {\n return currentPage\n }\n\n return undefined\n}\n\nfunction attachRuntimeLayoutParentContext(target: InternalRuntimeState) {\n if (!isRuntimeLayoutComponentTarget(target)) {\n return\n }\n const pages = getCurrentMiniProgramPages()\n const currentPage = pages[pages.length - 1] as InternalRuntimeState | undefined\n if (\n currentPage\n && currentPage !== target\n && typeof currentPage === 'object'\n && currentPage.__wevu\n ) {\n attachRuntimeLayoutProvideContext(target, currentPage)\n }\n}\n\nexport function attachRuntimeProvideParentContext(\n target: InternalRuntimeState,\n runtimeApp: RuntimeApp<any, any, any>,\n) {\n target[WEVU_RUNTIME_APP_KEY] = runtimeApp\n attachRuntimeProvideContext(target, runtimeApp, resolveRuntimeParentInstance(target))\n attachRuntimeLayoutParentContext(target)\n}\n"],"mappings":";;;;;;AASA,SAAS,6BAA6B,QAAgE;CACpG,IAAI,+BAA+B,MAAM,GACvC;CAGF,MAAM,SAAS,OAAO;CACtB,IAAI,UAAU,OAAO,WAAW,UAC9B,OAAO;CAGT,MAAM,uBAAwB,OAAe;CAC7C,IAAI,OAAO,yBAAyB,YAClC,IAAI;EACF,MAAM,QAAQ,qBAAqB,KAAK,MAAM;EAC9C,IAAI,SAAS,UAAU,UAAU,OAAO,UAAU,YAAY,MAAM,QAClE,OAAO;CAEX,QACM,CAEN;CAGF,MAAM,QAAQ,2BAA2B;CACzC,MAAM,cAAc,MAAM,MAAM,SAAS;CACzC,IACE,eACG,gBAAgB,UAChB,OAAO,gBAAgB,YACvB,YAAY,QAEf,OAAO;AAIX;AAEA,SAAS,iCAAiC,QAA8B;CACtE,IAAI,CAAC,+BAA+B,MAAM,GACxC;CAEF,MAAM,QAAQ,2BAA2B;CACzC,MAAM,cAAc,MAAM,MAAM,SAAS;CACzC,IACE,eACG,gBAAgB,UAChB,OAAO,gBAAgB,YACvB,YAAY,QAEf,kCAAkC,QAAQ,WAAW;AAEzD;AAEA,SAAgB,kCACd,QACA,YACA;CACA,OAAO,wBAAwB;CAC/B,4BAA4B,QAAQ,YAAY,6BAA6B,MAAM,CAAC;CACpF,iCAAiC,MAAM;AACzC"}
@@ -1,5 +1,6 @@
1
1
  import { toRaw } from "../../../reactivity/reactive/shared.mjs";
2
- import { getCurrentMiniProgramRuntimeCapabilities, getMiniProgramGlobalObject, supportsCurrentMiniProgramRuntimeCapability } from "../../platform.mjs";
2
+ import { getCurrentMiniProgramGlobalObject, getCurrentMiniProgramRuntimeCapabilities } from "../../platform/current.mjs";
3
+ import { supportsCurrentMiniProgramRuntimeCapability } from "../../platform.mjs";
3
4
  import { markNoSetData } from "../../noSetData.mjs";
4
5
  import { hasOwn } from "../../../utils.mjs";
5
6
  import { normalizeEmitPayload } from "../../emit.mjs";
@@ -62,7 +63,7 @@ function attachRuntimeSlots(runtimeState, props) {
62
63
  enumerable: false,
63
64
  writable: false
64
65
  });
65
- } catch (_unused) {
66
+ } catch {
66
67
  runtimeState.$slots = slots;
67
68
  }
68
69
  return slots;
@@ -77,14 +78,14 @@ function createNoopWatchStopHandle() {
77
78
  function safeMarkNoSetData(value) {
78
79
  try {
79
80
  return markNoSetData(value);
80
- } catch (_unused2) {
81
+ } catch {
81
82
  return value;
82
83
  }
83
84
  }
84
85
  function resolveRuntimeNativeMethodOwner(runtime, target, methodName) {
85
- const runtimeState = runtime === null || runtime === void 0 ? void 0 : runtime.state;
86
+ const runtimeState = runtime?.state;
86
87
  const runtimeRawState = runtimeState && typeof runtimeState === "object" ? toRaw(runtimeState) : void 0;
87
- const runtimeProxy = runtime === null || runtime === void 0 ? void 0 : runtime.proxy;
88
+ const runtimeProxy = runtime?.proxy;
88
89
  const isBridgeMethod = (candidate) => {
89
90
  const candidateMethod = candidate[methodName];
90
91
  if (typeof candidateMethod !== "function") return false;
@@ -100,7 +101,7 @@ function resolveRuntimeNativeMethodOwner(runtime, target, methodName) {
100
101
  };
101
102
  const nativeFromState = runtimeRawState ? runtimeRawState[WEVU_NATIVE_INSTANCE_KEY] : void 0;
102
103
  if (isValidNativeCandidate(nativeFromState)) return nativeFromState;
103
- const runtimeInstance = runtime === null || runtime === void 0 ? void 0 : runtime.instance;
104
+ const runtimeInstance = runtime?.instance;
104
105
  if (isValidNativeCandidate(runtimeInstance)) return runtimeInstance;
105
106
  }
106
107
  function defineSetupInstanceMethod(target, methodName, handler) {
@@ -112,7 +113,7 @@ function defineSetupInstanceMethod(target, methodName, handler) {
112
113
  enumerable: false,
113
114
  writable: true
114
115
  });
115
- } catch (_unused3) {
116
+ } catch {
116
117
  target[methodName] = handler;
117
118
  }
118
119
  }
@@ -125,23 +126,21 @@ function ensureSetupContextInstance(target, runtime) {
125
126
  configurable: true,
126
127
  enumerable: false,
127
128
  get() {
128
- const runtimeState = runtime === null || runtime === void 0 ? void 0 : runtime.state;
129
- const rawRuntimeState = runtimeState && typeof runtimeState === "object" ? toRaw(runtimeState) : void 0;
130
- const nativeInstance = rawRuntimeState === null || rawRuntimeState === void 0 ? void 0 : rawRuntimeState[WEVU_NATIVE_INSTANCE_KEY];
129
+ const runtimeState = runtime?.state;
130
+ const nativeInstance = (runtimeState && typeof runtimeState === "object" ? toRaw(runtimeState) : void 0)?.[WEVU_NATIVE_INSTANCE_KEY];
131
131
  return nativeInstance && typeof nativeInstance === "object" ? nativeInstance : target;
132
132
  }
133
133
  });
134
- } catch (_unused4) {
134
+ } catch {
135
135
  setupInstanceBridge[WEVU_NATIVE_INSTANCE_KEY] = target;
136
136
  }
137
137
  const resolvePublicValue = (key) => {
138
- var _WEVU_PROPS_KEY, _ref;
139
- const runtimeProxy = runtime === null || runtime === void 0 ? void 0 : runtime.proxy;
138
+ const runtimeProxy = runtime?.proxy;
140
139
  if (runtimeProxy && Reflect.has(runtimeProxy, key)) return {
141
140
  found: true,
142
141
  value: Reflect.get(runtimeProxy, key)
143
142
  };
144
- const runtimeProps = (_WEVU_PROPS_KEY = runtime === null || runtime === void 0 || (_ref = runtime.state) === null || _ref === void 0 ? void 0 : _ref[WEVU_PROPS_KEY]) !== null && _WEVU_PROPS_KEY !== void 0 ? _WEVU_PROPS_KEY : target[WEVU_PROPS_KEY];
143
+ const runtimeProps = (runtime?.state)?.[WEVU_PROPS_KEY] ?? target[WEVU_PROPS_KEY];
145
144
  if (runtimeProps && typeof runtimeProps === "object" && hasOwn(runtimeProps, key)) return {
146
145
  found: true,
147
146
  value: Reflect.get(runtimeProps, key)
@@ -166,32 +165,30 @@ function ensureSetupContextInstance(target, runtime) {
166
165
  }
167
166
  });
168
167
  defineSetupInstanceMethod(setupInstanceBridge, "createSelectorQuery", () => {
169
- var _resolveRuntimeNative;
170
168
  const nativeOwner = resolveSetupBridgeOwner("createSelectorQuery");
171
169
  if (nativeOwner && typeof nativeOwner.createSelectorQuery === "function") return nativeOwner.createSelectorQuery();
172
- const miniProgramGlobal = getMiniProgramGlobalObject();
170
+ const miniProgramGlobal = getCurrentMiniProgramGlobalObject();
173
171
  if (!supportsCurrentMiniProgramRuntimeCapability("globalCreateSelectorQuery") || !miniProgramGlobal || typeof miniProgramGlobal.createSelectorQuery !== "function") return;
174
172
  const query = miniProgramGlobal.createSelectorQuery();
175
173
  if (!query) return query;
176
174
  if (!getCurrentMiniProgramRuntimeCapabilities().selectorQueryScopeByIn || typeof query.in !== "function") return query;
177
- const scopedOwner = (_resolveRuntimeNative = resolveRuntimeNativeMethodOwner(runtime, target, "setData")) !== null && _resolveRuntimeNative !== void 0 ? _resolveRuntimeNative : target;
175
+ const scopedOwner = resolveRuntimeNativeMethodOwner(runtime, target, "setData") ?? target;
178
176
  return query.in(scopedOwner);
179
177
  });
180
178
  defineSetupInstanceMethod(setupInstanceBridge, "createIntersectionObserver", (options) => {
181
- var _resolveRuntimeNative2;
182
179
  const nativeOwner = resolveSetupBridgeOwner("createIntersectionObserver");
183
- if (nativeOwner && typeof nativeOwner.createIntersectionObserver === "function") return nativeOwner.createIntersectionObserver(options !== null && options !== void 0 ? options : {});
184
- const miniProgramGlobal = getMiniProgramGlobalObject();
180
+ if (nativeOwner && typeof nativeOwner.createIntersectionObserver === "function") return nativeOwner.createIntersectionObserver(options ?? {});
181
+ const miniProgramGlobal = getCurrentMiniProgramGlobalObject();
185
182
  if (!supportsCurrentMiniProgramRuntimeCapability("globalCreateIntersectionObserver") || !miniProgramGlobal || typeof miniProgramGlobal.createIntersectionObserver !== "function") return;
186
- const scopedOwner = (_resolveRuntimeNative2 = resolveRuntimeNativeMethodOwner(runtime, target, "setData")) !== null && _resolveRuntimeNative2 !== void 0 ? _resolveRuntimeNative2 : target;
187
- if (getCurrentMiniProgramRuntimeCapabilities().intersectionObserverScopeByParameter) return miniProgramGlobal.createIntersectionObserver(scopedOwner, options !== null && options !== void 0 ? options : {});
188
- return miniProgramGlobal.createIntersectionObserver(options !== null && options !== void 0 ? options : {});
183
+ const scopedOwner = resolveRuntimeNativeMethodOwner(runtime, target, "setData") ?? target;
184
+ if (getCurrentMiniProgramRuntimeCapabilities().intersectionObserverScopeByParameter) return miniProgramGlobal.createIntersectionObserver(scopedOwner, options ?? {});
185
+ return miniProgramGlobal.createIntersectionObserver(options ?? {});
189
186
  });
190
187
  defineSetupInstanceMethod(setupInstanceBridge, "setData", (payload, callback) => {
191
188
  const nativeOwner = resolveSetupBridgeOwner("setData");
192
189
  if (nativeOwner && typeof nativeOwner.setData === "function") return nativeOwner.setData(payload, callback);
193
- const adapter = runtime === null || runtime === void 0 ? void 0 : runtime.adapter;
194
- const result = typeof (adapter === null || adapter === void 0 ? void 0 : adapter.setData) === "function" ? adapter.setData(payload) : void 0;
190
+ const adapter = runtime?.adapter;
191
+ const result = typeof adapter?.setData === "function" ? adapter.setData(payload) : void 0;
195
192
  if (typeof callback === "function") callback();
196
193
  return result;
197
194
  });
@@ -202,14 +199,8 @@ function ensureSetupContextInstance(target, runtime) {
202
199
  const setupInstance = safeMarkNoSetData(new Proxy(setupInstanceBridge, {
203
200
  get(bridgeTarget, key, receiver) {
204
201
  if (Reflect.has(bridgeTarget, key)) return Reflect.get(bridgeTarget, key, receiver);
205
- if (key === "$el") {
206
- var _resolveRuntimeNative3;
207
- return (_resolveRuntimeNative3 = resolveRuntimeNativeMethodOwner(runtime, target, "setData")) !== null && _resolveRuntimeNative3 !== void 0 ? _resolveRuntimeNative3 : target;
208
- }
209
- if (key === "renderRoot" || key === "shadowRoot") {
210
- var _resolveRuntimeNative4;
211
- return ((_resolveRuntimeNative4 = resolveRuntimeNativeMethodOwner(runtime, target, "setData")) !== null && _resolveRuntimeNative4 !== void 0 ? _resolveRuntimeNative4 : target)[key];
212
- }
202
+ if (key === "$el") return resolveRuntimeNativeMethodOwner(runtime, target, "setData") ?? target;
203
+ if (key === "renderRoot" || key === "shadowRoot") return (resolveRuntimeNativeMethodOwner(runtime, target, "setData") ?? target)[key];
213
204
  const publicValue = resolvePublicValue(key);
214
205
  if (publicValue.found) return publicValue.value;
215
206
  const value = target[key];
@@ -235,7 +226,7 @@ function ensureSetupContextInstance(target, runtime) {
235
226
  enumerable: false,
236
227
  writable: true
237
228
  });
238
- } catch (_unused5) {
229
+ } catch {
239
230
  target[WEVU_SETUP_CONTEXT_INSTANCE_KEY] = setupInstance;
240
231
  }
241
232
  return setupInstance;
@@ -1 +1 @@
1
- {"version":3,"file":"setupContext.mjs","names":[],"sources":["../../../../../src/runtime/register/runtimeInstance/setupContext.ts"],"sourcesContent":["import type { WatchStopHandle } from '../../../reactivity'\nimport type {\n InternalRuntimeState,\n MiniProgramIntersectionObserverOptions,\n RuntimeInstance,\n SetupContextNativeInstance,\n TriggerEventOptions,\n} from '../../types'\nimport type { AdapterWithSetData } from './utils'\nimport {\n WEVU_NATIVE_INSTANCE_KEY,\n WEVU_PROPS_KEY,\n WEVU_SETUP_CONTEXT_INSTANCE_KEY,\n WEVU_SLOT_NAMES_PROP,\n} from '@weapp-core/constants'\nimport { toRaw } from '../../../reactivity'\nimport { hasOwn } from '../../../utils'\nimport { isNativeBridgeMethod, markNativeBridgeMethod } from '../../nativeBridge'\nimport { markNoSetData } from '../../noSetData'\nimport { getCurrentMiniProgramRuntimeCapabilities, getMiniProgramGlobalObject, supportsCurrentMiniProgramRuntimeCapability } from '../../platform'\n\nexport { normalizeEmitPayload } from '../../emit'\n\nexport type SetupInstanceMethodName = 'triggerEvent' | 'createSelectorQuery' | 'createIntersectionObserver' | 'setData' | 'setUpdatePerformanceListener'\n\nexport const setupInstanceMethodNames: SetupInstanceMethodName[] = [\n 'triggerEvent',\n 'createSelectorQuery',\n 'createIntersectionObserver',\n 'setData',\n 'setUpdatePerformanceListener',\n]\n\nexport function createSetupSlotsFallback() {\n return Object.freeze(Object.create(null)) as Record<string, never>\n}\n\nconst SLOT_RENDER_FN = () => []\n\nfunction normalizeSlotNames(value: unknown): string[] {\n if (Array.isArray(value)) {\n return [...new Set(value.filter((item): item is string => typeof item === 'string' && item.length > 0))]\n }\n if (!value || typeof value !== 'object') {\n return []\n }\n return Object.entries(value as Record<string, unknown>)\n .filter(([, enabled]) => Boolean(enabled))\n .map(([name]) => name)\n}\n\nexport function createSetupSlotsProxy(props: Record<string, any>) {\n if (!hasOwn(props, WEVU_SLOT_NAMES_PROP)) {\n return createSetupSlotsFallback()\n }\n\n const resolveNames = () => normalizeSlotNames(props[WEVU_SLOT_NAMES_PROP])\n const isEnabled = (key: PropertyKey) => typeof key === 'string' && resolveNames().includes(key)\n\n return new Proxy(Object.create(null), {\n get(_target, key) {\n if (isEnabled(key)) {\n return SLOT_RENDER_FN\n }\n return undefined\n },\n has(_target, key) {\n return isEnabled(key)\n },\n ownKeys() {\n return resolveNames()\n },\n getOwnPropertyDescriptor(_target, key) {\n if (!isEnabled(key)) {\n return undefined\n }\n return {\n configurable: true,\n enumerable: true,\n value: SLOT_RENDER_FN,\n }\n },\n set() {\n return false\n },\n deleteProperty() {\n return false\n },\n }) as Record<string, any>\n}\n\nexport function attachRuntimeSlots(runtimeState: Record<string, any>, props: Record<string, any>) {\n const slots = createSetupSlotsProxy(props)\n try {\n Object.defineProperty(runtimeState, '$slots', {\n value: slots,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n }\n catch {\n runtimeState.$slots = slots\n }\n return slots\n}\n\nexport function createNoopWatchStopHandle(): WatchStopHandle {\n const stopHandle = (() => {}) as WatchStopHandle\n stopHandle.stop = () => {}\n stopHandle.pause = () => {}\n stopHandle.resume = () => {}\n return stopHandle\n}\n\nexport function safeMarkNoSetData<T extends object>(value: T): T {\n try {\n return markNoSetData(value)\n }\n catch {\n return value\n }\n}\n\nfunction resolveRuntimeNativeMethodOwner(\n runtime: RuntimeInstance<any, any, any>,\n target: InternalRuntimeState,\n methodName: SetupInstanceMethodName,\n) {\n const runtimeState = runtime?.state\n const runtimeRawState = runtimeState && typeof runtimeState === 'object'\n ? toRaw(runtimeState as any)\n : undefined\n const runtimeProxy = runtime?.proxy as object | undefined\n const isBridgeMethod = (candidate: object) => {\n const candidateMethod = (candidate as any)[methodName]\n if (typeof candidateMethod !== 'function') {\n return false\n }\n if (isNativeBridgeMethod(candidateMethod)) {\n return true\n }\n const targetMethod = (target as any)[methodName]\n return typeof targetMethod === 'function' && candidateMethod === targetMethod\n }\n const isValidNativeCandidate = (candidate: unknown) => {\n if (!candidate || typeof candidate !== 'object') {\n return false\n }\n if (candidate === target || candidate === runtimeProxy) {\n return false\n }\n if (isBridgeMethod(candidate)) {\n return false\n }\n return typeof (candidate as any)[methodName] === 'function'\n }\n const nativeFromState = runtimeRawState ? (runtimeRawState as any)[WEVU_NATIVE_INSTANCE_KEY] : undefined\n if (isValidNativeCandidate(nativeFromState)) {\n return nativeFromState as InternalRuntimeState\n }\n\n const runtimeInstance = (runtime as any)?.instance\n if (isValidNativeCandidate(runtimeInstance)) {\n return runtimeInstance as InternalRuntimeState\n }\n return undefined\n}\n\nfunction defineSetupInstanceMethod(\n target: Record<string, any>,\n methodName: SetupInstanceMethodName,\n handler: (...args: any[]) => any,\n) {\n markNativeBridgeMethod(handler)\n try {\n Object.defineProperty(target, methodName, {\n value: handler,\n configurable: true,\n enumerable: false,\n writable: true,\n })\n }\n catch {\n ;(target as any)[methodName] = handler\n }\n}\n\nexport function ensureSetupContextInstance(\n target: InternalRuntimeState,\n runtime: RuntimeInstance<any, any, any>,\n) {\n const maybeCached = (target as any)[WEVU_SETUP_CONTEXT_INSTANCE_KEY]\n if (maybeCached && typeof maybeCached === 'object') {\n return maybeCached as SetupContextNativeInstance\n }\n\n const setupInstanceBridge: Record<string, any> = Object.create(null)\n try {\n Object.defineProperty(setupInstanceBridge, WEVU_NATIVE_INSTANCE_KEY, {\n configurable: true,\n enumerable: false,\n get() {\n const runtimeState = runtime?.state\n const rawRuntimeState = runtimeState && typeof runtimeState === 'object'\n ? toRaw(runtimeState as any)\n : undefined\n const nativeInstance = rawRuntimeState?.[WEVU_NATIVE_INSTANCE_KEY]\n return nativeInstance && typeof nativeInstance === 'object'\n ? nativeInstance\n : target\n },\n })\n }\n catch {\n setupInstanceBridge[WEVU_NATIVE_INSTANCE_KEY] = target\n }\n const resolvePublicValue = (key: PropertyKey) => {\n const runtimeProxy = runtime?.proxy as Record<PropertyKey, any> | undefined\n if (runtimeProxy && Reflect.has(runtimeProxy, key)) {\n return {\n found: true,\n value: Reflect.get(runtimeProxy, key),\n }\n }\n const runtimeProps = (runtime?.state as any)?.[WEVU_PROPS_KEY]\n ?? (target as any)[WEVU_PROPS_KEY]\n if (runtimeProps && typeof runtimeProps === 'object' && hasOwn(runtimeProps, key)) {\n return {\n found: true,\n value: Reflect.get(runtimeProps, key),\n }\n }\n return { found: false, value: undefined }\n }\n const resolveSetupBridgeOwner = (methodName: SetupInstanceMethodName) => {\n const owner = resolveRuntimeNativeMethodOwner(runtime, target, methodName)\n if (owner) {\n return owner\n }\n const fallbackMethod = (target as any)[methodName]\n if (typeof fallbackMethod === 'function' && !isNativeBridgeMethod(fallbackMethod)) {\n return target\n }\n return undefined\n }\n\n defineSetupInstanceMethod(setupInstanceBridge, 'triggerEvent', (...args: [string, any?, TriggerEventOptions?]) => {\n const [eventName, detail, options] = args\n const nativeOwner = resolveSetupBridgeOwner('triggerEvent')\n if (nativeOwner && typeof (nativeOwner as any).triggerEvent === 'function') {\n if (args.length >= 3) {\n ;(nativeOwner as any).triggerEvent(eventName, detail, options)\n }\n else {\n ;(nativeOwner as any).triggerEvent(eventName, detail)\n }\n }\n })\n\n defineSetupInstanceMethod(setupInstanceBridge, 'createSelectorQuery', () => {\n const nativeOwner = resolveSetupBridgeOwner('createSelectorQuery')\n if (nativeOwner && typeof (nativeOwner as any).createSelectorQuery === 'function') {\n return (nativeOwner as any).createSelectorQuery()\n }\n\n const miniProgramGlobal = getMiniProgramGlobalObject()\n if (\n !supportsCurrentMiniProgramRuntimeCapability('globalCreateSelectorQuery')\n || !miniProgramGlobal\n || typeof miniProgramGlobal.createSelectorQuery !== 'function'\n ) {\n return undefined\n }\n\n const query = miniProgramGlobal.createSelectorQuery()\n if (!query) {\n return query\n }\n if (\n !getCurrentMiniProgramRuntimeCapabilities().selectorQueryScopeByIn\n || typeof query.in !== 'function'\n ) {\n return query\n }\n\n const scopedOwner = resolveRuntimeNativeMethodOwner(runtime, target, 'setData') ?? target\n return query.in(scopedOwner as any)\n })\n\n defineSetupInstanceMethod(\n setupInstanceBridge,\n 'createIntersectionObserver',\n (options?: MiniProgramIntersectionObserverOptions) => {\n const nativeOwner = resolveSetupBridgeOwner('createIntersectionObserver')\n if (nativeOwner && typeof (nativeOwner as any).createIntersectionObserver === 'function') {\n return (nativeOwner as any).createIntersectionObserver(options ?? {})\n }\n\n const miniProgramGlobal = getMiniProgramGlobalObject()\n if (\n !supportsCurrentMiniProgramRuntimeCapability('globalCreateIntersectionObserver')\n || !miniProgramGlobal\n || typeof miniProgramGlobal.createIntersectionObserver !== 'function'\n ) {\n return undefined\n }\n\n const scopedOwner = resolveRuntimeNativeMethodOwner(runtime, target, 'setData') ?? target\n if (getCurrentMiniProgramRuntimeCapabilities().intersectionObserverScopeByParameter) {\n return miniProgramGlobal.createIntersectionObserver(scopedOwner as any, options ?? {})\n }\n return miniProgramGlobal.createIntersectionObserver(options ?? {})\n },\n )\n\n defineSetupInstanceMethod(setupInstanceBridge, 'setData', (payload: Record<string, any>, callback?: () => void) => {\n const nativeOwner = resolveSetupBridgeOwner('setData')\n if (nativeOwner && typeof (nativeOwner as any).setData === 'function') {\n return (nativeOwner as any).setData(payload, callback)\n }\n\n const adapter = runtime?.adapter as AdapterWithSetData | undefined\n const result = typeof adapter?.setData === 'function'\n ? adapter.setData(payload)\n : undefined\n if (typeof callback === 'function') {\n callback()\n }\n return result\n })\n\n defineSetupInstanceMethod(\n setupInstanceBridge,\n 'setUpdatePerformanceListener',\n (listener?: ((result: Record<string, any>) => void)) => {\n const nativeOwner = resolveSetupBridgeOwner('setUpdatePerformanceListener')\n if (nativeOwner && typeof (nativeOwner as any).setUpdatePerformanceListener === 'function') {\n return (nativeOwner as any).setUpdatePerformanceListener(listener)\n }\n return undefined\n },\n )\n\n const setupInstance = safeMarkNoSetData(new Proxy(setupInstanceBridge, {\n get(bridgeTarget, key, receiver) {\n if (Reflect.has(bridgeTarget, key)) {\n return Reflect.get(bridgeTarget, key, receiver)\n }\n if (key === '$el') {\n return resolveRuntimeNativeMethodOwner(runtime, target, 'setData') ?? target\n }\n if (key === 'renderRoot' || key === 'shadowRoot') {\n const nativeOwner = resolveRuntimeNativeMethodOwner(runtime, target, 'setData') ?? target\n return (nativeOwner as any)[key]\n }\n const publicValue = resolvePublicValue(key)\n if (publicValue.found) {\n return publicValue.value\n }\n const value = (target as any)[key as any]\n if (typeof value === 'function') {\n return value.bind(target)\n }\n return value\n },\n has(bridgeTarget, key) {\n return Reflect.has(bridgeTarget, key) || resolvePublicValue(key).found || key in (target as any)\n },\n set(bridgeTarget, key, value) {\n if (Reflect.has(bridgeTarget, key)) {\n // 仅覆写 setup 暴露的 bridge 方法,避免回写原生实例引发递归调用。\n ;(bridgeTarget as any)[key as any] = value\n return true\n }\n ;(target as any)[key as any] = value\n return true\n },\n }) as SetupContextNativeInstance)\n\n try {\n Object.defineProperty(target as Record<string, any>, WEVU_SETUP_CONTEXT_INSTANCE_KEY, {\n value: setupInstance,\n configurable: true,\n enumerable: false,\n writable: true,\n })\n }\n catch {\n ;(target as any)[WEVU_SETUP_CONTEXT_INSTANCE_KEY] = setupInstance\n }\n\n return setupInstance\n}\n"],"mappings":";;;;;;;;;AAyBA,MAAa,2BAAsD;CACjE;CACA;CACA;CACA;CACA;AACF;AAEA,SAAgB,2BAA2B;CACzC,OAAO,OAAO,OAAO,OAAO,OAAO,IAAI,CAAC;AAC1C;AAEA,MAAM,uBAAuB,CAAC;AAE9B,SAAS,mBAAmB,OAA0B;CACpD,IAAI,MAAM,QAAQ,KAAK,GACrB,OAAO,CAAC,GAAG,IAAI,IAAI,MAAM,QAAQ,SAAyB,OAAO,SAAS,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC;CAEzG,IAAI,CAAC,SAAS,OAAO,UAAU,UAC7B,OAAO,CAAC;CAEV,OAAO,OAAO,QAAQ,KAAgC,CAAC,CACpD,QAAQ,GAAG,aAAa,QAAQ,OAAO,CAAC,CAAC,CACzC,KAAK,CAAC,UAAU,IAAI;AACzB;AAEA,SAAgB,sBAAsB,OAA4B;CAChE,IAAI,CAAC,OAAO,OAAO,oBAAoB,GACrC,OAAO,yBAAyB;CAGlC,MAAM,qBAAqB,mBAAmB,MAAM,qBAAqB;CACzE,MAAM,aAAa,QAAqB,OAAO,QAAQ,YAAY,aAAa,CAAC,CAAC,SAAS,GAAG;CAE9F,OAAO,IAAI,MAAM,OAAO,OAAO,IAAI,GAAG;EACpC,IAAI,SAAS,KAAK;GAChB,IAAI,UAAU,GAAG,GACf,OAAO;EAGX;EACA,IAAI,SAAS,KAAK;GAChB,OAAO,UAAU,GAAG;EACtB;EACA,UAAU;GACR,OAAO,aAAa;EACtB;EACA,yBAAyB,SAAS,KAAK;GACrC,IAAI,CAAC,UAAU,GAAG,GAChB;GAEF,OAAO;IACL,cAAc;IACd,YAAY;IACZ,OAAO;GACT;EACF;EACA,MAAM;GACJ,OAAO;EACT;EACA,iBAAiB;GACf,OAAO;EACT;CACF,CAAC;AACH;AAEA,SAAgB,mBAAmB,cAAmC,OAA4B;CAChG,MAAM,QAAQ,sBAAsB,KAAK;CACzC,IAAI;EACF,OAAO,eAAe,cAAc,UAAU;GAC5C,OAAO;GACP,cAAc;GACd,YAAY;GACZ,UAAU;EACZ,CAAC;CACH,kBACM;EACJ,aAAa,SAAS;CACxB;CACA,OAAO;AACT;AAEA,SAAgB,4BAA6C;CAC3D,MAAM,oBAAoB,CAAC;CAC3B,WAAW,aAAa,CAAC;CACzB,WAAW,cAAc,CAAC;CAC1B,WAAW,eAAe,CAAC;CAC3B,OAAO;AACT;AAEA,SAAgB,kBAAoC,OAAa;CAC/D,IAAI;EACF,OAAO,cAAc,KAAK;CAC5B,mBACM;EACJ,OAAO;CACT;AACF;AAEA,SAAS,gCACP,SACA,QACA,YACA;CACA,MAAM,iEAAe,QAAS;CAC9B,MAAM,kBAAkB,gBAAgB,OAAO,iBAAiB,WAC5D,MAAM,YAAmB,IACzB;CACJ,MAAM,iEAAe,QAAS;CAC9B,MAAM,kBAAkB,cAAsB;EAC5C,MAAM,kBAAmB,UAAkB;EAC3C,IAAI,OAAO,oBAAoB,YAC7B,OAAO;EAET,IAAI,qBAAqB,eAAe,GACtC,OAAO;EAET,MAAM,eAAgB,OAAe;EACrC,OAAO,OAAO,iBAAiB,cAAc,oBAAoB;CACnE;CACA,MAAM,0BAA0B,cAAuB;EACrD,IAAI,CAAC,aAAa,OAAO,cAAc,UACrC,OAAO;EAET,IAAI,cAAc,UAAU,cAAc,cACxC,OAAO;EAET,IAAI,eAAe,SAAS,GAC1B,OAAO;EAET,OAAO,OAAQ,UAAkB,gBAAgB;CACnD;CACA,MAAM,kBAAkB,kBAAmB,gBAAwB,4BAA4B;CAC/F,IAAI,uBAAuB,eAAe,GACxC,OAAO;CAGT,MAAM,oEAAmB,QAAiB;CAC1C,IAAI,uBAAuB,eAAe,GACxC,OAAO;AAGX;AAEA,SAAS,0BACP,QACA,YACA,SACA;CACA,uBAAuB,OAAO;CAC9B,IAAI;EACF,OAAO,eAAe,QAAQ,YAAY;GACxC,OAAO;GACP,cAAc;GACd,YAAY;GACZ,UAAU;EACZ,CAAC;CACH,mBACM;EACH,AAAC,OAAe,cAAc;CACjC;AACF;AAEA,SAAgB,2BACd,QACA,SACA;CACA,MAAM,cAAe,OAAe;CACpC,IAAI,eAAe,OAAO,gBAAgB,UACxC,OAAO;CAGT,MAAM,sBAA2C,OAAO,OAAO,IAAI;CACnE,IAAI;EACF,OAAO,eAAe,qBAAqB,0BAA0B;GACnE,cAAc;GACd,YAAY;GACZ,MAAM;IACJ,MAAM,iEAAe,QAAS;IAC9B,MAAM,kBAAkB,gBAAgB,OAAO,iBAAiB,WAC5D,MAAM,YAAmB,IACzB;IACJ,MAAM,mFAAiB,gBAAkB;IACzC,OAAO,kBAAkB,OAAO,mBAAmB,WAC/C,iBACA;GACN;EACF,CAAC;CACH,mBACM;EACJ,oBAAoB,4BAA4B;CAClD;CACA,MAAM,sBAAsB,QAAqB;;EAC/C,MAAM,iEAAe,QAAS;EAC9B,IAAI,gBAAgB,QAAQ,IAAI,cAAc,GAAG,GAC/C,OAAO;GACL,OAAO;GACP,OAAO,QAAQ,IAAI,cAAc,GAAG;EACtC;EAEF,MAAM,oFAAgB,QAAS,mDAAgB,4EACzC,OAAe;EACrB,IAAI,gBAAgB,OAAO,iBAAiB,YAAY,OAAO,cAAc,GAAG,GAC9E,OAAO;GACL,OAAO;GACP,OAAO,QAAQ,IAAI,cAAc,GAAG;EACtC;EAEF,OAAO;GAAE,OAAO;GAAO,OAAO;EAAU;CAC1C;CACA,MAAM,2BAA2B,eAAwC;EACvE,MAAM,QAAQ,gCAAgC,SAAS,QAAQ,UAAU;EACzE,IAAI,OACF,OAAO;EAET,MAAM,iBAAkB,OAAe;EACvC,IAAI,OAAO,mBAAmB,cAAc,CAAC,qBAAqB,cAAc,GAC9E,OAAO;CAGX;CAEA,0BAA0B,qBAAqB,iBAAiB,GAAG,SAA+C;EAChH,MAAM,CAAC,WAAW,QAAQ,WAAW;EACrC,MAAM,cAAc,wBAAwB,cAAc;EAC1D,IAAI,eAAe,OAAQ,YAAoB,iBAAiB,YAAY;GAC1E,IAAI,KAAK,UAAU,GAChB,AAAC,YAAoB,aAAa,WAAW,QAAQ,OAAO;QAG5D,AAAC,YAAoB,aAAa,WAAW,MAAM;EAExD;CACF,CAAC;CAED,0BAA0B,qBAAqB,6BAA6B;;EAC1E,MAAM,cAAc,wBAAwB,qBAAqB;EACjE,IAAI,eAAe,OAAQ,YAAoB,wBAAwB,YACrE,OAAQ,YAAoB,oBAAoB;EAGlD,MAAM,oBAAoB,2BAA2B;EACrD,IACE,CAAC,4CAA4C,2BAA2B,KACrE,CAAC,qBACD,OAAO,kBAAkB,wBAAwB,YAEpD;EAGF,MAAM,QAAQ,kBAAkB,oBAAoB;EACpD,IAAI,CAAC,OACH,OAAO;EAET,IACE,CAAC,yCAAyC,CAAC,CAAC,0BACzC,OAAO,MAAM,OAAO,YAEvB,OAAO;EAGT,MAAM,uCAAc,gCAAgC,SAAS,QAAQ,SAAS,0EAAK;EACnF,OAAO,MAAM,GAAG,WAAkB;CACpC,CAAC;CAED,0BACE,qBACA,+BACC,YAAqD;;EACpD,MAAM,cAAc,wBAAwB,4BAA4B;EACxE,IAAI,eAAe,OAAQ,YAAoB,+BAA+B,YAC5E,OAAQ,YAAoB,2BAA2B,mDAAW,CAAC,CAAC;EAGtE,MAAM,oBAAoB,2BAA2B;EACrD,IACE,CAAC,4CAA4C,kCAAkC,KAC5E,CAAC,qBACD,OAAO,kBAAkB,+BAA+B,YAE3D;EAGF,MAAM,wCAAc,gCAAgC,SAAS,QAAQ,SAAS,4EAAK;EACnF,IAAI,yCAAyC,CAAC,CAAC,sCAC7C,OAAO,kBAAkB,2BAA2B,aAAoB,mDAAW,CAAC,CAAC;EAEvF,OAAO,kBAAkB,2BAA2B,mDAAW,CAAC,CAAC;CACnE,CACF;CAEA,0BAA0B,qBAAqB,YAAY,SAA8B,aAA0B;EACjH,MAAM,cAAc,wBAAwB,SAAS;EACrD,IAAI,eAAe,OAAQ,YAAoB,YAAY,YACzD,OAAQ,YAAoB,QAAQ,SAAS,QAAQ;EAGvD,MAAM,4DAAU,QAAS;EACzB,MAAM,SAAS,0DAAO,QAAS,aAAY,aACvC,QAAQ,QAAQ,OAAO,IACvB;EACJ,IAAI,OAAO,aAAa,YACtB,SAAS;EAEX,OAAO;CACT,CAAC;CAED,0BACE,qBACA,iCACC,aAAuD;EACtD,MAAM,cAAc,wBAAwB,8BAA8B;EAC1E,IAAI,eAAe,OAAQ,YAAoB,iCAAiC,YAC9E,OAAQ,YAAoB,6BAA6B,QAAQ;CAGrE,CACF;CAEA,MAAM,gBAAgB,kBAAkB,IAAI,MAAM,qBAAqB;EACrE,IAAI,cAAc,KAAK,UAAU;GAC/B,IAAI,QAAQ,IAAI,cAAc,GAAG,GAC/B,OAAO,QAAQ,IAAI,cAAc,KAAK,QAAQ;GAEhD,IAAI,QAAQ,OAAO;;IACjB,iCAAO,gCAAgC,SAAS,QAAQ,SAAS,4EAAK;GACxE;GACA,IAAI,QAAQ,gBAAgB,QAAQ,cAAc;;IAEhD,kCADoB,gCAAgC,SAAS,QAAQ,SAAS,4EAAK,OAChE,CAAS;GAC9B;GACA,MAAM,cAAc,mBAAmB,GAAG;GAC1C,IAAI,YAAY,OACd,OAAO,YAAY;GAErB,MAAM,QAAS,OAAe;GAC9B,IAAI,OAAO,UAAU,YACnB,OAAO,MAAM,KAAK,MAAM;GAE1B,OAAO;EACT;EACA,IAAI,cAAc,KAAK;GACrB,OAAO,QAAQ,IAAI,cAAc,GAAG,KAAK,mBAAmB,GAAG,CAAC,CAAC,SAAS,OAAQ;EACpF;EACA,IAAI,cAAc,KAAK,OAAO;GAC5B,IAAI,QAAQ,IAAI,cAAc,GAAG,GAAG;IAEjC,AAAC,aAAqB,OAAc;IACrC,OAAO;GACT;GACC,AAAC,OAAe,OAAc;GAC/B,OAAO;EACT;CACF,CAAC,CAA+B;CAEhC,IAAI;EACF,OAAO,eAAe,QAA+B,iCAAiC;GACpF,OAAO;GACP,cAAc;GACd,YAAY;GACZ,UAAU;EACZ,CAAC;CACH,mBACM;EACH,AAAC,OAAe,mCAAmC;CACtD;CAEA,OAAO;AACT"}
1
+ {"version":3,"file":"setupContext.mjs","names":[],"sources":["../../../../../src/runtime/register/runtimeInstance/setupContext.ts"],"sourcesContent":["import type { WatchStopHandle } from '../../../reactivity'\nimport type {\n InternalRuntimeState,\n MiniProgramIntersectionObserverOptions,\n RuntimeInstance,\n SetupContextNativeInstance,\n TriggerEventOptions,\n} from '../../types'\nimport type { AdapterWithSetData } from './utils'\nimport {\n WEVU_NATIVE_INSTANCE_KEY,\n WEVU_PROPS_KEY,\n WEVU_SETUP_CONTEXT_INSTANCE_KEY,\n WEVU_SLOT_NAMES_PROP,\n} from '@weapp-core/constants'\nimport { toRaw } from '../../../reactivity'\nimport { hasOwn } from '../../../utils'\nimport { isNativeBridgeMethod, markNativeBridgeMethod } from '../../nativeBridge'\nimport { markNoSetData } from '../../noSetData'\nimport { getCurrentMiniProgramGlobalObject, getCurrentMiniProgramRuntimeCapabilities, supportsCurrentMiniProgramRuntimeCapability } from '../../platform'\n\nexport { normalizeEmitPayload } from '../../emit'\n\nexport type SetupInstanceMethodName = 'triggerEvent' | 'createSelectorQuery' | 'createIntersectionObserver' | 'setData' | 'setUpdatePerformanceListener'\n\nexport const setupInstanceMethodNames: SetupInstanceMethodName[] = [\n 'triggerEvent',\n 'createSelectorQuery',\n 'createIntersectionObserver',\n 'setData',\n 'setUpdatePerformanceListener',\n]\n\nexport function createSetupSlotsFallback() {\n return Object.freeze(Object.create(null)) as Record<string, never>\n}\n\nconst SLOT_RENDER_FN = () => []\n\nfunction normalizeSlotNames(value: unknown): string[] {\n if (Array.isArray(value)) {\n return [...new Set(value.filter((item): item is string => typeof item === 'string' && item.length > 0))]\n }\n if (!value || typeof value !== 'object') {\n return []\n }\n return Object.entries(value as Record<string, unknown>)\n .filter(([, enabled]) => Boolean(enabled))\n .map(([name]) => name)\n}\n\nexport function createSetupSlotsProxy(props: Record<string, any>) {\n if (!hasOwn(props, WEVU_SLOT_NAMES_PROP)) {\n return createSetupSlotsFallback()\n }\n\n const resolveNames = () => normalizeSlotNames(props[WEVU_SLOT_NAMES_PROP])\n const isEnabled = (key: PropertyKey) => typeof key === 'string' && resolveNames().includes(key)\n\n return new Proxy(Object.create(null), {\n get(_target, key) {\n if (isEnabled(key)) {\n return SLOT_RENDER_FN\n }\n return undefined\n },\n has(_target, key) {\n return isEnabled(key)\n },\n ownKeys() {\n return resolveNames()\n },\n getOwnPropertyDescriptor(_target, key) {\n if (!isEnabled(key)) {\n return undefined\n }\n return {\n configurable: true,\n enumerable: true,\n value: SLOT_RENDER_FN,\n }\n },\n set() {\n return false\n },\n deleteProperty() {\n return false\n },\n }) as Record<string, any>\n}\n\nexport function attachRuntimeSlots(runtimeState: Record<string, any>, props: Record<string, any>) {\n const slots = createSetupSlotsProxy(props)\n try {\n Object.defineProperty(runtimeState, '$slots', {\n value: slots,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n }\n catch {\n runtimeState.$slots = slots\n }\n return slots\n}\n\nexport function createNoopWatchStopHandle(): WatchStopHandle {\n const stopHandle = (() => {}) as WatchStopHandle\n stopHandle.stop = () => {}\n stopHandle.pause = () => {}\n stopHandle.resume = () => {}\n return stopHandle\n}\n\nexport function safeMarkNoSetData<T extends object>(value: T): T {\n try {\n return markNoSetData(value)\n }\n catch {\n return value\n }\n}\n\nfunction resolveRuntimeNativeMethodOwner(\n runtime: RuntimeInstance<any, any, any>,\n target: InternalRuntimeState,\n methodName: SetupInstanceMethodName,\n) {\n const runtimeState = runtime?.state\n const runtimeRawState = runtimeState && typeof runtimeState === 'object'\n ? toRaw(runtimeState as any)\n : undefined\n const runtimeProxy = runtime?.proxy as object | undefined\n const isBridgeMethod = (candidate: object) => {\n const candidateMethod = (candidate as any)[methodName]\n if (typeof candidateMethod !== 'function') {\n return false\n }\n if (isNativeBridgeMethod(candidateMethod)) {\n return true\n }\n const targetMethod = (target as any)[methodName]\n return typeof targetMethod === 'function' && candidateMethod === targetMethod\n }\n const isValidNativeCandidate = (candidate: unknown) => {\n if (!candidate || typeof candidate !== 'object') {\n return false\n }\n if (candidate === target || candidate === runtimeProxy) {\n return false\n }\n if (isBridgeMethod(candidate)) {\n return false\n }\n return typeof (candidate as any)[methodName] === 'function'\n }\n const nativeFromState = runtimeRawState ? (runtimeRawState as any)[WEVU_NATIVE_INSTANCE_KEY] : undefined\n if (isValidNativeCandidate(nativeFromState)) {\n return nativeFromState as InternalRuntimeState\n }\n\n const runtimeInstance = (runtime as any)?.instance\n if (isValidNativeCandidate(runtimeInstance)) {\n return runtimeInstance as InternalRuntimeState\n }\n return undefined\n}\n\nfunction defineSetupInstanceMethod(\n target: Record<string, any>,\n methodName: SetupInstanceMethodName,\n handler: (...args: any[]) => any,\n) {\n markNativeBridgeMethod(handler)\n try {\n Object.defineProperty(target, methodName, {\n value: handler,\n configurable: true,\n enumerable: false,\n writable: true,\n })\n }\n catch {\n ;(target as any)[methodName] = handler\n }\n}\n\nexport function ensureSetupContextInstance(\n target: InternalRuntimeState,\n runtime: RuntimeInstance<any, any, any>,\n) {\n const maybeCached = (target as any)[WEVU_SETUP_CONTEXT_INSTANCE_KEY]\n if (maybeCached && typeof maybeCached === 'object') {\n return maybeCached as SetupContextNativeInstance\n }\n\n const setupInstanceBridge: Record<string, any> = Object.create(null)\n try {\n Object.defineProperty(setupInstanceBridge, WEVU_NATIVE_INSTANCE_KEY, {\n configurable: true,\n enumerable: false,\n get() {\n const runtimeState = runtime?.state\n const rawRuntimeState = runtimeState && typeof runtimeState === 'object'\n ? toRaw(runtimeState as any)\n : undefined\n const nativeInstance = rawRuntimeState?.[WEVU_NATIVE_INSTANCE_KEY]\n return nativeInstance && typeof nativeInstance === 'object'\n ? nativeInstance\n : target\n },\n })\n }\n catch {\n setupInstanceBridge[WEVU_NATIVE_INSTANCE_KEY] = target\n }\n const resolvePublicValue = (key: PropertyKey) => {\n const runtimeProxy = runtime?.proxy as Record<PropertyKey, any> | undefined\n if (runtimeProxy && Reflect.has(runtimeProxy, key)) {\n return {\n found: true,\n value: Reflect.get(runtimeProxy, key),\n }\n }\n const runtimeProps = (runtime?.state as any)?.[WEVU_PROPS_KEY]\n ?? (target as any)[WEVU_PROPS_KEY]\n if (runtimeProps && typeof runtimeProps === 'object' && hasOwn(runtimeProps, key)) {\n return {\n found: true,\n value: Reflect.get(runtimeProps, key),\n }\n }\n return { found: false, value: undefined }\n }\n const resolveSetupBridgeOwner = (methodName: SetupInstanceMethodName) => {\n const owner = resolveRuntimeNativeMethodOwner(runtime, target, methodName)\n if (owner) {\n return owner\n }\n const fallbackMethod = (target as any)[methodName]\n if (typeof fallbackMethod === 'function' && !isNativeBridgeMethod(fallbackMethod)) {\n return target\n }\n return undefined\n }\n\n defineSetupInstanceMethod(setupInstanceBridge, 'triggerEvent', (...args: [string, any?, TriggerEventOptions?]) => {\n const [eventName, detail, options] = args\n const nativeOwner = resolveSetupBridgeOwner('triggerEvent')\n if (nativeOwner && typeof (nativeOwner as any).triggerEvent === 'function') {\n if (args.length >= 3) {\n ;(nativeOwner as any).triggerEvent(eventName, detail, options)\n }\n else {\n ;(nativeOwner as any).triggerEvent(eventName, detail)\n }\n }\n })\n\n defineSetupInstanceMethod(setupInstanceBridge, 'createSelectorQuery', () => {\n const nativeOwner = resolveSetupBridgeOwner('createSelectorQuery')\n if (nativeOwner && typeof (nativeOwner as any).createSelectorQuery === 'function') {\n return (nativeOwner as any).createSelectorQuery()\n }\n\n const miniProgramGlobal = getCurrentMiniProgramGlobalObject()\n if (\n !supportsCurrentMiniProgramRuntimeCapability('globalCreateSelectorQuery')\n || !miniProgramGlobal\n || typeof miniProgramGlobal.createSelectorQuery !== 'function'\n ) {\n return undefined\n }\n\n const query = miniProgramGlobal.createSelectorQuery()\n if (!query) {\n return query\n }\n if (\n !getCurrentMiniProgramRuntimeCapabilities().selectorQueryScopeByIn\n || typeof query.in !== 'function'\n ) {\n return query\n }\n\n const scopedOwner = resolveRuntimeNativeMethodOwner(runtime, target, 'setData') ?? target\n return query.in(scopedOwner as any)\n })\n\n defineSetupInstanceMethod(\n setupInstanceBridge,\n 'createIntersectionObserver',\n (options?: MiniProgramIntersectionObserverOptions) => {\n const nativeOwner = resolveSetupBridgeOwner('createIntersectionObserver')\n if (nativeOwner && typeof (nativeOwner as any).createIntersectionObserver === 'function') {\n return (nativeOwner as any).createIntersectionObserver(options ?? {})\n }\n\n const miniProgramGlobal = getCurrentMiniProgramGlobalObject()\n if (\n !supportsCurrentMiniProgramRuntimeCapability('globalCreateIntersectionObserver')\n || !miniProgramGlobal\n || typeof miniProgramGlobal.createIntersectionObserver !== 'function'\n ) {\n return undefined\n }\n\n const scopedOwner = resolveRuntimeNativeMethodOwner(runtime, target, 'setData') ?? target\n if (getCurrentMiniProgramRuntimeCapabilities().intersectionObserverScopeByParameter) {\n return miniProgramGlobal.createIntersectionObserver(scopedOwner as any, options ?? {})\n }\n return miniProgramGlobal.createIntersectionObserver(options ?? {})\n },\n )\n\n defineSetupInstanceMethod(setupInstanceBridge, 'setData', (payload: Record<string, any>, callback?: () => void) => {\n const nativeOwner = resolveSetupBridgeOwner('setData')\n if (nativeOwner && typeof (nativeOwner as any).setData === 'function') {\n return (nativeOwner as any).setData(payload, callback)\n }\n\n const adapter = runtime?.adapter as AdapterWithSetData | undefined\n const result = typeof adapter?.setData === 'function'\n ? adapter.setData(payload)\n : undefined\n if (typeof callback === 'function') {\n callback()\n }\n return result\n })\n\n defineSetupInstanceMethod(\n setupInstanceBridge,\n 'setUpdatePerformanceListener',\n (listener?: ((result: Record<string, any>) => void)) => {\n const nativeOwner = resolveSetupBridgeOwner('setUpdatePerformanceListener')\n if (nativeOwner && typeof (nativeOwner as any).setUpdatePerformanceListener === 'function') {\n return (nativeOwner as any).setUpdatePerformanceListener(listener)\n }\n return undefined\n },\n )\n\n const setupInstance = safeMarkNoSetData(new Proxy(setupInstanceBridge, {\n get(bridgeTarget, key, receiver) {\n if (Reflect.has(bridgeTarget, key)) {\n return Reflect.get(bridgeTarget, key, receiver)\n }\n if (key === '$el') {\n return resolveRuntimeNativeMethodOwner(runtime, target, 'setData') ?? target\n }\n if (key === 'renderRoot' || key === 'shadowRoot') {\n const nativeOwner = resolveRuntimeNativeMethodOwner(runtime, target, 'setData') ?? target\n return (nativeOwner as any)[key]\n }\n const publicValue = resolvePublicValue(key)\n if (publicValue.found) {\n return publicValue.value\n }\n const value = (target as any)[key as any]\n if (typeof value === 'function') {\n return value.bind(target)\n }\n return value\n },\n has(bridgeTarget, key) {\n return Reflect.has(bridgeTarget, key) || resolvePublicValue(key).found || key in (target as any)\n },\n set(bridgeTarget, key, value) {\n if (Reflect.has(bridgeTarget, key)) {\n // 仅覆写 setup 暴露的 bridge 方法,避免回写原生实例引发递归调用。\n ;(bridgeTarget as any)[key as any] = value\n return true\n }\n ;(target as any)[key as any] = value\n return true\n },\n }) as SetupContextNativeInstance)\n\n try {\n Object.defineProperty(target as Record<string, any>, WEVU_SETUP_CONTEXT_INSTANCE_KEY, {\n value: setupInstance,\n configurable: true,\n enumerable: false,\n writable: true,\n })\n }\n catch {\n ;(target as any)[WEVU_SETUP_CONTEXT_INSTANCE_KEY] = setupInstance\n }\n\n return setupInstance\n}\n"],"mappings":"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"}
@@ -15,6 +15,7 @@ import { WEVU_ATTRS_KEY, WEVU_EFFECT_SCOPE_KEY, WEVU_EXPOSED_KEY, WEVU_PROP_KEYS
15
15
  //#region src/runtime/register/runtimeInstance/setupPhase.ts
16
16
  let vueCompatInstanceUid = 0;
17
17
  function attachVueCompatInstanceView(target, proxy) {
18
+ let exposedView;
18
19
  const internal = target;
19
20
  const descriptors = {
20
21
  proxy: {
@@ -38,12 +39,12 @@ function attachVueCompatInstanceView(target, proxy) {
38
39
  exposed: {
39
40
  configurable: true,
40
41
  enumerable: false,
41
- get: () => target[WEVU_EXPOSED_KEY]
42
+ get: () => exposedView
42
43
  }
43
44
  };
44
45
  for (const [key, descriptor] of Object.entries(descriptors)) try {
45
46
  Object.defineProperty(internal, key, descriptor);
46
- } catch (_unused) {
47
+ } catch {
47
48
  if ("value" in descriptor) internal[key] = descriptor.value;
48
49
  }
49
50
  const publicDescriptors = {
@@ -62,15 +63,17 @@ function attachVueCompatInstanceView(target, proxy) {
62
63
  };
63
64
  for (const [key, descriptor] of Object.entries(publicDescriptors)) try {
64
65
  Object.defineProperty(proxy, key, descriptor);
65
- } catch (_unused2) {
66
+ } catch {
66
67
  proxy[key] = descriptor.value;
67
68
  }
69
+ return (exposed) => {
70
+ exposedView = exposed;
71
+ };
68
72
  }
69
73
  function isInternalAttrKey(key) {
70
74
  return key.startsWith("__wv_");
71
75
  }
72
76
  function runRuntimeSetupPhase(options) {
73
- var _runtimeWithDefaults$;
74
77
  const { target, runtime, runtimeWithDefaults, runtimeState, runtimeProxy, setup } = options;
75
78
  const mpProperties = target.properties || {};
76
79
  const props = ensureRuntimeProps(target, runtimeState, mpProperties);
@@ -96,13 +99,13 @@ function runRuntimeSetupPhase(options) {
96
99
  enumerable: false,
97
100
  writable: false
98
101
  });
99
- } catch (_unused3) {
102
+ } catch {
100
103
  target[WEVU_ATTRS_KEY] = attrs;
101
104
  }
102
105
  const setupInstance = ensureSetupContextInstance(target, runtimeWithDefaults);
103
- attachVueCompatInstanceView(target, setupInstance);
106
+ const updateExposedView = attachVueCompatInstanceView(target, setupInstance);
104
107
  const slots = attachRuntimeSlots(runtimeState, props);
105
- const setupState = (_runtimeWithDefaults$ = runtimeWithDefaults.setupState) !== null && _runtimeWithDefaults$ !== void 0 ? _runtimeWithDefaults$ : Object.create(null);
108
+ const setupState = runtimeWithDefaults.setupState ?? Object.create(null);
106
109
  attachRuntimeSetupState(runtimeState, setupState);
107
110
  const context = safeMarkNoSetData({
108
111
  props,
@@ -119,6 +122,7 @@ function runRuntimeSetupPhase(options) {
119
122
  },
120
123
  expose: (exposed) => {
121
124
  target[WEVU_EXPOSED_KEY] = exposed;
125
+ updateExposedView(exposed);
122
126
  },
123
127
  attrs,
124
128
  slots
@@ -150,19 +154,13 @@ function runRuntimeSetupPhase(options) {
150
154
  runtimeSetupState[key] = bound;
151
155
  methodsChanged = true;
152
156
  } else {
153
- if (hasTrackableSetupBinding(val)) {
154
- var _wevu_trackSetupReact;
155
- (_wevu_trackSetupReact = runtime.__wevu_trackSetupReactiveKey) === null || _wevu_trackSetupReact === void 0 || _wevu_trackSetupReact.call(runtime, key);
156
- }
157
+ if (hasTrackableSetupBinding(val)) runtime.__wevu_trackSetupReactiveKey?.(key);
157
158
  runtime.state[key] = val;
158
159
  if (!preservesAccessor) runtimeSetupState[key] = val;
159
160
  }
160
161
  });
161
162
  }
162
- if (methodsChanged) {
163
- var _wevu_touchSetupMetho;
164
- (_wevu_touchSetupMetho = runtime.__wevu_touchSetupMethodsVersion) === null || _wevu_touchSetupMetho === void 0 || _wevu_touchSetupMetho.call(runtime);
165
- }
163
+ if (methodsChanged) runtime.__wevu_touchSetupMethodsVersion?.();
166
164
  } finally {
167
165
  restoreSetupContext();
168
166
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setupPhase.mjs","names":[],"sources":["../../../../../src/runtime/register/runtimeInstance/setupPhase.ts"],"sourcesContent":["import type {\n ComponentPropsOptions,\n ComputedDefinitions,\n DefineAppOptions,\n DefineComponentOptions,\n InternalRuntimeState,\n MethodDefinitions,\n RuntimeInstance,\n} from '../../types'\nimport {\n WEVU_ATTRS_KEY,\n WEVU_EFFECT_SCOPE_KEY,\n WEVU_EXPOSED_KEY,\n WEVU_PROP_KEYS_KEY,\n} from '@weapp-core/constants'\nimport { effectScope, isReactive, shallowReactive, toRaw } from '../../../reactivity'\nimport { hasOwn } from '../../../utils'\nimport { preserveSetupAccessor } from '../../define/setupResult'\nimport { normalizeEmitEventName } from '../../emit'\nimport { getCurrentInstance, getCurrentSetupContext, setCurrentInstance, setCurrentSetupContext } from '../../hooks'\nimport { hasTrackableSetupBinding } from '../../setupTracking'\nimport { runSetupFunction } from '../setup'\nimport {\n attachRuntimeSlots,\n ensureSetupContextInstance,\n normalizeEmitPayload,\n safeMarkNoSetData,\n} from './setupContext'\nimport { attachRuntimeSetupState, ensureRuntimeProps } from './utils'\n\ntype RuntimeSetupFunction<\n D extends object,\n C extends ComputedDefinitions,\n M extends MethodDefinitions,\n> = DefineComponentOptions<ComponentPropsOptions, D, C, M>['setup']\n | DefineAppOptions<D, C, M>['setup']\n\nlet vueCompatInstanceUid = 0\n\nfunction attachVueCompatInstanceView(target: InternalRuntimeState, proxy: Record<string, any>) {\n const internal = target as Record<string, any>\n const descriptors: PropertyDescriptorMap = {\n proxy: {\n configurable: true,\n enumerable: false,\n value: proxy,\n writable: false,\n },\n $: {\n configurable: true,\n enumerable: false,\n value: target,\n writable: false,\n },\n uid: {\n configurable: true,\n enumerable: false,\n value: ++vueCompatInstanceUid,\n writable: false,\n },\n exposed: {\n configurable: true,\n enumerable: false,\n get: () => target[WEVU_EXPOSED_KEY],\n },\n }\n for (const [key, descriptor] of Object.entries(descriptors)) {\n try {\n Object.defineProperty(internal, key, descriptor)\n }\n catch {\n if ('value' in descriptor) {\n internal[key] = descriptor.value\n }\n }\n }\n const publicDescriptors: PropertyDescriptorMap = {\n $: {\n configurable: true,\n enumerable: false,\n value: target,\n writable: false,\n },\n $el: {\n configurable: true,\n enumerable: false,\n value: target,\n writable: false,\n },\n }\n for (const [key, descriptor] of Object.entries(publicDescriptors)) {\n try {\n Object.defineProperty(proxy, key, descriptor)\n }\n catch {\n proxy[key] = descriptor.value\n }\n }\n}\n\nfunction isInternalAttrKey(key: string) {\n return key.startsWith('__wv_')\n}\n\nexport function runRuntimeSetupPhase<D extends object, C extends ComputedDefinitions, M extends MethodDefinitions>(options: {\n target: InternalRuntimeState\n runtime: RuntimeInstance<D, C, M>\n runtimeWithDefaults: RuntimeInstance<any, any, any>\n runtimeState: Record<string, any>\n runtimeProxy: Record<string, any>\n setup: RuntimeSetupFunction<D, C, M>\n}) {\n const {\n target,\n runtime,\n runtimeWithDefaults,\n runtimeState,\n runtimeProxy,\n setup,\n } = options\n\n // 从小程序 properties 提取 props 供 setup 使用,并复用 runtime state 上的 props 容器,\n // 避免 computed 首次求值早于 setup 时丢失依赖。\n const mpProperties = ((target as any).properties || {}) as Record<string, any>\n const props = ensureRuntimeProps(target, runtimeState, mpProperties)\n\n // 与 Vue 3 对齐:attrs = 非 props 的 attributes。\n // 在小程序场景中,attrs 来源于 instance.properties 中“未声明在 props/properties 的字段”。\n const attrs = shallowReactive(Object.create(null)) as Record<string, any>\n const declaredPropKeys = new Set(\n Array.isArray((target as any)[WEVU_PROP_KEYS_KEY])\n ? ((target as any)[WEVU_PROP_KEYS_KEY] as string[])\n : [],\n )\n const hasRuntimeStateKey = (key: string) => {\n return runtimeState != null\n && typeof runtimeState === 'object'\n && hasOwn(runtimeState as Record<string, unknown>, key)\n }\n const syncAttrsFromProperties = () => {\n const next = ((target as any).properties && typeof (target as any).properties === 'object')\n ? ((target as any).properties as Record<string, unknown>)\n : undefined\n\n for (const existingKey of Object.keys(attrs)) {\n if (\n !next\n || !hasOwn(next, existingKey)\n || isInternalAttrKey(existingKey)\n || declaredPropKeys.has(existingKey)\n || hasRuntimeStateKey(existingKey)\n ) {\n delete attrs[existingKey]\n }\n }\n\n if (!next) {\n return\n }\n\n for (const [key, value] of Object.entries(next)) {\n if (isInternalAttrKey(key) || declaredPropKeys.has(key) || hasRuntimeStateKey(key)) {\n continue\n }\n attrs[key] = value\n }\n }\n syncAttrsFromProperties()\n\n try {\n Object.defineProperty(target, WEVU_ATTRS_KEY, {\n value: attrs,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n }\n catch {\n ;(target as any)[WEVU_ATTRS_KEY] = attrs\n }\n\n const setupInstance = ensureSetupContextInstance(target, runtimeWithDefaults)\n attachVueCompatInstanceView(target, setupInstance as Record<string, any>)\n const slots = attachRuntimeSlots(runtimeState, props)\n const setupState = runtimeWithDefaults.setupState ?? Object.create(null)\n attachRuntimeSetupState(runtimeState, setupState)\n\n const context = safeMarkNoSetData({\n // 与 Vue 3 对齐的 ctx.props\n props,\n\n // 现有运行时能力\n runtime: runtimeWithDefaults,\n state: runtimeState,\n proxy: runtimeProxy,\n bindModel: runtime.bindModel.bind(runtimeWithDefaults),\n watch: runtime.watch.bind(runtimeWithDefaults),\n instance: setupInstance,\n\n // 通过小程序 triggerEvent 派发事件,并兼容 Vue 3 的 emit(event, ...args) 形式。\n emit: (event: string, ...args: any[]) => {\n const { detail, options } = normalizeEmitPayload(args)\n const eventName = normalizeEmitEventName(event)\n setupInstance.triggerEvent(eventName, detail, options)\n },\n\n // 与 Vue 3 对齐的 expose\n expose: (exposed: Record<string, any>) => {\n target[WEVU_EXPOSED_KEY] = exposed\n },\n\n // 与 Vue 3 对齐的 attrs(小程序中为非 props 属性集合)\n attrs,\n\n // 与 Vue 3 对齐的 slots(由编译期传入的 slot 名元数据驱动)\n slots,\n }) as any\n\n // 仅在同步 setup 执行期间暴露 current instance\n const instanceScope = effectScope(true)\n const previousInstance = getCurrentInstance()\n const previousSetupContext = getCurrentSetupContext()\n const restoreSetupContext = () => {\n // 仅当全局上下文仍属于本次 setup 时恢复父级;嵌套或重入 setup\n // 可能已经建立了新的上下文,不能被旧调用覆盖。\n if (getCurrentInstance() !== target || getCurrentSetupContext() !== context) {\n return\n }\n setCurrentSetupContext(previousSetupContext)\n setCurrentInstance(previousInstance)\n }\n target[WEVU_EFFECT_SCOPE_KEY] = instanceScope\n setCurrentInstance(target)\n setCurrentSetupContext(context)\n try {\n const result = instanceScope.run(() => runSetupFunction(setup, props, context))\n let methodsChanged = false\n if (result && typeof result === 'object') {\n const setupResult = result as Record<string, unknown>\n const runtimeSetupState = (runtime as any).setupState && typeof (runtime as any).setupState === 'object'\n ? (isReactive((runtime as any).setupState) ? toRaw((runtime as any).setupState) : (runtime as any).setupState)\n : Object.create(null)\n Object.keys(setupResult).forEach((key) => {\n const val = setupResult[key]\n const preservesAccessor = preserveSetupAccessor(runtimeSetupState, setupResult, key)\n if (typeof val === 'function' && !preservesAccessor) {\n const bound = (...args: any[]) => (val as any).apply((runtime as any).proxy, args)\n ;(runtime.methods as any)[key] = bound\n ;(runtime.state as any)[key] = bound\n ;(runtimeSetupState as any)[key] = bound\n methodsChanged = true\n }\n else {\n if (hasTrackableSetupBinding(val)) {\n ;(runtime as any).__wevu_trackSetupReactiveKey?.(key)\n }\n ;(runtime.state as any)[key] = val\n if (!preservesAccessor) {\n ;(runtimeSetupState as any)[key] = val\n }\n }\n })\n }\n if (methodsChanged) {\n ;(runtime as any).__wevu_touchSetupMethodsVersion?.()\n }\n }\n finally {\n // current instance/context 只属于本次同步 setup 调用;异步 continuation\n // 不能继续占用全局上下文,否则会污染随后挂载的组件。\n restoreSetupContext()\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"setupPhase.mjs","names":[],"sources":["../../../../../src/runtime/register/runtimeInstance/setupPhase.ts"],"sourcesContent":["import type {\n ComponentPropsOptions,\n ComputedDefinitions,\n DefineAppOptions,\n DefineComponentOptions,\n InternalRuntimeState,\n MethodDefinitions,\n RuntimeInstance,\n} from '../../types'\nimport {\n WEVU_ATTRS_KEY,\n WEVU_EFFECT_SCOPE_KEY,\n WEVU_EXPOSED_KEY,\n WEVU_PROP_KEYS_KEY,\n} from '@weapp-core/constants'\nimport { effectScope, isReactive, shallowReactive, toRaw } from '../../../reactivity'\nimport { hasOwn } from '../../../utils'\nimport { preserveSetupAccessor } from '../../define/setupResult'\nimport { normalizeEmitEventName } from '../../emit'\nimport { getCurrentInstance, getCurrentSetupContext, setCurrentInstance, setCurrentSetupContext } from '../../hooks'\nimport { hasTrackableSetupBinding } from '../../setupTracking'\nimport { runSetupFunction } from '../setup'\nimport {\n attachRuntimeSlots,\n ensureSetupContextInstance,\n normalizeEmitPayload,\n safeMarkNoSetData,\n} from './setupContext'\nimport { attachRuntimeSetupState, ensureRuntimeProps } from './utils'\n\ntype RuntimeSetupFunction<\n D extends object,\n C extends ComputedDefinitions,\n M extends MethodDefinitions,\n> = DefineComponentOptions<ComponentPropsOptions, D, C, M>['setup']\n | DefineAppOptions<D, C, M>['setup']\n\nlet vueCompatInstanceUid = 0\n\nfunction attachVueCompatInstanceView(target: InternalRuntimeState, proxy: Record<string, any>) {\n // 已排队的用户回调可以持有实例;兼容视图与宿主注册表的销毁周期分离。\n let exposedView: Record<string, any> | undefined\n const internal = target as Record<string, any>\n const descriptors: PropertyDescriptorMap = {\n proxy: {\n configurable: true,\n enumerable: false,\n value: proxy,\n writable: false,\n },\n $: {\n configurable: true,\n enumerable: false,\n value: target,\n writable: false,\n },\n uid: {\n configurable: true,\n enumerable: false,\n value: ++vueCompatInstanceUid,\n writable: false,\n },\n exposed: {\n configurable: true,\n enumerable: false,\n get: () => exposedView,\n },\n }\n for (const [key, descriptor] of Object.entries(descriptors)) {\n try {\n Object.defineProperty(internal, key, descriptor)\n }\n catch {\n if ('value' in descriptor) {\n internal[key] = descriptor.value\n }\n }\n }\n const publicDescriptors: PropertyDescriptorMap = {\n $: {\n configurable: true,\n enumerable: false,\n value: target,\n writable: false,\n },\n $el: {\n configurable: true,\n enumerable: false,\n value: target,\n writable: false,\n },\n }\n for (const [key, descriptor] of Object.entries(publicDescriptors)) {\n try {\n Object.defineProperty(proxy, key, descriptor)\n }\n catch {\n proxy[key] = descriptor.value\n }\n }\n return (exposed: Record<string, any>) => {\n exposedView = exposed\n }\n}\n\nfunction isInternalAttrKey(key: string) {\n return key.startsWith('__wv_')\n}\n\nexport function runRuntimeSetupPhase<D extends object, C extends ComputedDefinitions, M extends MethodDefinitions>(options: {\n target: InternalRuntimeState\n runtime: RuntimeInstance<D, C, M>\n runtimeWithDefaults: RuntimeInstance<any, any, any>\n runtimeState: Record<string, any>\n runtimeProxy: Record<string, any>\n setup: RuntimeSetupFunction<D, C, M>\n}) {\n const {\n target,\n runtime,\n runtimeWithDefaults,\n runtimeState,\n runtimeProxy,\n setup,\n } = options\n\n // 从小程序 properties 提取 props 供 setup 使用,并复用 runtime state 上的 props 容器,\n // 避免 computed 首次求值早于 setup 时丢失依赖。\n const mpProperties = ((target as any).properties || {}) as Record<string, any>\n const props = ensureRuntimeProps(target, runtimeState, mpProperties)\n\n // 与 Vue 3 对齐:attrs = 非 props 的 attributes。\n // 在小程序场景中,attrs 来源于 instance.properties 中“未声明在 props/properties 的字段”。\n const attrs = shallowReactive(Object.create(null)) as Record<string, any>\n const declaredPropKeys = new Set(\n Array.isArray((target as any)[WEVU_PROP_KEYS_KEY])\n ? ((target as any)[WEVU_PROP_KEYS_KEY] as string[])\n : [],\n )\n const hasRuntimeStateKey = (key: string) => {\n return runtimeState != null\n && typeof runtimeState === 'object'\n && hasOwn(runtimeState as Record<string, unknown>, key)\n }\n const syncAttrsFromProperties = () => {\n const next = ((target as any).properties && typeof (target as any).properties === 'object')\n ? ((target as any).properties as Record<string, unknown>)\n : undefined\n\n for (const existingKey of Object.keys(attrs)) {\n if (\n !next\n || !hasOwn(next, existingKey)\n || isInternalAttrKey(existingKey)\n || declaredPropKeys.has(existingKey)\n || hasRuntimeStateKey(existingKey)\n ) {\n delete attrs[existingKey]\n }\n }\n\n if (!next) {\n return\n }\n\n for (const [key, value] of Object.entries(next)) {\n if (isInternalAttrKey(key) || declaredPropKeys.has(key) || hasRuntimeStateKey(key)) {\n continue\n }\n attrs[key] = value\n }\n }\n syncAttrsFromProperties()\n\n try {\n Object.defineProperty(target, WEVU_ATTRS_KEY, {\n value: attrs,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n }\n catch {\n ;(target as any)[WEVU_ATTRS_KEY] = attrs\n }\n\n const setupInstance = ensureSetupContextInstance(target, runtimeWithDefaults)\n const updateExposedView = attachVueCompatInstanceView(target, setupInstance as Record<string, any>)\n const slots = attachRuntimeSlots(runtimeState, props)\n const setupState = runtimeWithDefaults.setupState ?? Object.create(null)\n attachRuntimeSetupState(runtimeState, setupState)\n\n const context = safeMarkNoSetData({\n // 与 Vue 3 对齐的 ctx.props\n props,\n\n // 现有运行时能力\n runtime: runtimeWithDefaults,\n state: runtimeState,\n proxy: runtimeProxy,\n bindModel: runtime.bindModel.bind(runtimeWithDefaults),\n watch: runtime.watch.bind(runtimeWithDefaults),\n instance: setupInstance,\n\n // 通过小程序 triggerEvent 派发事件,并兼容 Vue 3 的 emit(event, ...args) 形式。\n emit: (event: string, ...args: any[]) => {\n const { detail, options } = normalizeEmitPayload(args)\n const eventName = normalizeEmitEventName(event)\n setupInstance.triggerEvent(eventName, detail, options)\n },\n\n // 与 Vue 3 对齐的 expose\n expose: (exposed: Record<string, any>) => {\n target[WEVU_EXPOSED_KEY] = exposed\n updateExposedView(exposed)\n },\n\n // 与 Vue 3 对齐的 attrs(小程序中为非 props 属性集合)\n attrs,\n\n // 与 Vue 3 对齐的 slots(由编译期传入的 slot 名元数据驱动)\n slots,\n }) as any\n\n // 仅在同步 setup 执行期间暴露 current instance\n const instanceScope = effectScope(true)\n const previousInstance = getCurrentInstance()\n const previousSetupContext = getCurrentSetupContext()\n const restoreSetupContext = () => {\n // 仅当全局上下文仍属于本次 setup 时恢复父级;嵌套或重入 setup\n // 可能已经建立了新的上下文,不能被旧调用覆盖。\n if (getCurrentInstance() !== target || getCurrentSetupContext() !== context) {\n return\n }\n setCurrentSetupContext(previousSetupContext)\n setCurrentInstance(previousInstance)\n }\n target[WEVU_EFFECT_SCOPE_KEY] = instanceScope\n setCurrentInstance(target)\n setCurrentSetupContext(context)\n try {\n const result = instanceScope.run(() => runSetupFunction(setup, props, context))\n let methodsChanged = false\n if (result && typeof result === 'object') {\n const setupResult = result as Record<string, unknown>\n const runtimeSetupState = (runtime as any).setupState && typeof (runtime as any).setupState === 'object'\n ? (isReactive((runtime as any).setupState) ? toRaw((runtime as any).setupState) : (runtime as any).setupState)\n : Object.create(null)\n Object.keys(setupResult).forEach((key) => {\n const val = setupResult[key]\n const preservesAccessor = preserveSetupAccessor(runtimeSetupState, setupResult, key)\n if (typeof val === 'function' && !preservesAccessor) {\n const bound = (...args: any[]) => (val as any).apply((runtime as any).proxy, args)\n ;(runtime.methods as any)[key] = bound\n ;(runtime.state as any)[key] = bound\n ;(runtimeSetupState as any)[key] = bound\n methodsChanged = true\n }\n else {\n if (hasTrackableSetupBinding(val)) {\n ;(runtime as any).__wevu_trackSetupReactiveKey?.(key)\n }\n ;(runtime.state as any)[key] = val\n if (!preservesAccessor) {\n ;(runtimeSetupState as any)[key] = val\n }\n }\n })\n }\n if (methodsChanged) {\n ;(runtime as any).__wevu_touchSetupMethodsVersion?.()\n }\n }\n finally {\n // current instance/context 只属于本次同步 setup 调用;异步 continuation\n // 不能继续占用全局上下文,否则会污染随后挂载的组件。\n restoreSetupContext()\n }\n}\n"],"mappings":"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"}
@@ -12,11 +12,11 @@ function restoreReactiveSetupSnapshot(target, snapshot, previousInitial) {
12
12
  }
13
13
  if (!isRecord(target) || !isRecord(snapshot)) return;
14
14
  const initial = isRecord(previousInitial) ? previousInitial : void 0;
15
- for (const key of Object.keys(initial !== null && initial !== void 0 ? initial : {})) if (typeof (initial === null || initial === void 0 ? void 0 : initial[key]) !== "function" && typeof target[key] !== "function" && !Object.prototype.hasOwnProperty.call(snapshot, key)) delete target[key];
15
+ for (const key of Object.keys(initial ?? {})) if (typeof initial?.[key] !== "function" && typeof target[key] !== "function" && !Object.prototype.hasOwnProperty.call(snapshot, key)) delete target[key];
16
16
  for (const [key, value] of Object.entries(snapshot)) {
17
17
  if (typeof target[key] === "function") continue;
18
18
  if (isRef(target[key])) target[key].value = value;
19
- else if (isRecord(target[key]) && isRecord(value) || Array.isArray(target[key]) && Array.isArray(value)) restoreReactiveSetupSnapshot(target[key], value, initial === null || initial === void 0 ? void 0 : initial[key]);
19
+ else if (isRecord(target[key]) && isRecord(value) || Array.isArray(target[key]) && Array.isArray(value)) restoreReactiveSetupSnapshot(target[key], value, initial?.[key]);
20
20
  else target[key] = value;
21
21
  }
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setupSnapshot.mjs","names":[],"sources":["../../../../../src/runtime/register/runtimeInstance/setupSnapshot.ts"],"sourcesContent":["import { isRef } from '../../../reactivity'\n\nfunction isRecord(value: unknown): value is Record<string, any> {\n return !!value && typeof value === 'object' && !Array.isArray(value)\n}\n\n/** 按旧初始结构恢复删除状态,同时保留新代码默认值和嵌套响应式对象身份。 */\nexport function restoreReactiveSetupSnapshot(\n target: unknown,\n snapshot: unknown,\n previousInitial?: unknown,\n) {\n if (Array.isArray(target) && Array.isArray(snapshot)) {\n target.splice(0, target.length, ...snapshot)\n return\n }\n if (!isRecord(target) || !isRecord(snapshot)) {\n return\n }\n const initial = isRecord(previousInitial) ? previousInitial : undefined\n for (const key of Object.keys(initial ?? {})) {\n if (typeof initial?.[key] !== 'function' && typeof target[key] !== 'function' && !Object.prototype.hasOwnProperty.call(snapshot, key)) {\n delete target[key]\n }\n }\n for (const [key, value] of Object.entries(snapshot)) {\n if (typeof target[key] === 'function') {\n continue\n }\n if (isRef(target[key])) {\n target[key].value = value\n }\n else if ((isRecord(target[key]) && isRecord(value)) || (Array.isArray(target[key]) && Array.isArray(value))) {\n restoreReactiveSetupSnapshot(target[key], value, initial?.[key])\n }\n else {\n target[key] = value\n }\n }\n}\n"],"mappings":";;;AAEA,SAAS,SAAS,OAA8C;CAC9D,OAAO,CAAC,CAAC,SAAS,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AACrE;;AAGA,SAAgB,6BACd,QACA,UACA,iBACA;CACA,IAAI,MAAM,QAAQ,MAAM,KAAK,MAAM,QAAQ,QAAQ,GAAG;EACpD,OAAO,OAAO,GAAG,OAAO,QAAQ,GAAG,QAAQ;EAC3C;CACF;CACA,IAAI,CAAC,SAAS,MAAM,KAAK,CAAC,SAAS,QAAQ,GACzC;CAEF,MAAM,UAAU,SAAS,eAAe,IAAI,kBAAkB;CAC9D,KAAK,MAAM,OAAO,OAAO,KAAK,mDAAW,CAAC,CAAC,GACzC,IAAI,0DAAO,QAAU,UAAS,cAAc,OAAO,OAAO,SAAS,cAAc,CAAC,OAAO,UAAU,eAAe,KAAK,UAAU,GAAG,GAClI,OAAO,OAAO;CAGlB,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,QAAQ,GAAG;EACnD,IAAI,OAAO,OAAO,SAAS,YACzB;EAEF,IAAI,MAAM,OAAO,IAAI,GACnB,OAAO,IAAI,CAAC,QAAQ;OAEjB,IAAK,SAAS,OAAO,IAAI,KAAK,SAAS,KAAK,KAAO,MAAM,QAAQ,OAAO,IAAI,KAAK,MAAM,QAAQ,KAAK,GACvG,6BAA6B,OAAO,MAAM,yDAAO,QAAU,IAAI;OAG/D,OAAO,OAAO;CAElB;AACF"}
1
+ {"version":3,"file":"setupSnapshot.mjs","names":[],"sources":["../../../../../src/runtime/register/runtimeInstance/setupSnapshot.ts"],"sourcesContent":["import { isRef } from '../../../reactivity'\n\nfunction isRecord(value: unknown): value is Record<string, any> {\n return !!value && typeof value === 'object' && !Array.isArray(value)\n}\n\n/** 按旧初始结构恢复删除状态,同时保留新代码默认值和嵌套响应式对象身份。 */\nexport function restoreReactiveSetupSnapshot(\n target: unknown,\n snapshot: unknown,\n previousInitial?: unknown,\n) {\n if (Array.isArray(target) && Array.isArray(snapshot)) {\n target.splice(0, target.length, ...snapshot)\n return\n }\n if (!isRecord(target) || !isRecord(snapshot)) {\n return\n }\n const initial = isRecord(previousInitial) ? previousInitial : undefined\n for (const key of Object.keys(initial ?? {})) {\n if (typeof initial?.[key] !== 'function' && typeof target[key] !== 'function' && !Object.prototype.hasOwnProperty.call(snapshot, key)) {\n delete target[key]\n }\n }\n for (const [key, value] of Object.entries(snapshot)) {\n if (typeof target[key] === 'function') {\n continue\n }\n if (isRef(target[key])) {\n target[key].value = value\n }\n else if ((isRecord(target[key]) && isRecord(value)) || (Array.isArray(target[key]) && Array.isArray(value))) {\n restoreReactiveSetupSnapshot(target[key], value, initial?.[key])\n }\n else {\n target[key] = value\n }\n }\n}\n"],"mappings":";;;AAEA,SAAS,SAAS,OAA8C;CAC9D,OAAO,CAAC,CAAC,SAAS,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AACrE;;AAGA,SAAgB,6BACd,QACA,UACA,iBACA;CACA,IAAI,MAAM,QAAQ,MAAM,KAAK,MAAM,QAAQ,QAAQ,GAAG;EACpD,OAAO,OAAO,GAAG,OAAO,QAAQ,GAAG,QAAQ;EAC3C;CACF;CACA,IAAI,CAAC,SAAS,MAAM,KAAK,CAAC,SAAS,QAAQ,GACzC;CAEF,MAAM,UAAU,SAAS,eAAe,IAAI,kBAAkB;CAC9D,KAAK,MAAM,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,GACzC,IAAI,OAAO,UAAU,SAAS,cAAc,OAAO,OAAO,SAAS,cAAc,CAAC,OAAO,UAAU,eAAe,KAAK,UAAU,GAAG,GAClI,OAAO,OAAO;CAGlB,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,QAAQ,GAAG;EACnD,IAAI,OAAO,OAAO,SAAS,YACzB;EAEF,IAAI,MAAM,OAAO,IAAI,GACnB,OAAO,IAAI,CAAC,QAAQ;OAEjB,IAAK,SAAS,OAAO,IAAI,KAAK,SAAS,KAAK,KAAO,MAAM,QAAQ,OAAO,IAAI,KAAK,MAAM,QAAQ,KAAK,GACvG,6BAA6B,OAAO,MAAM,OAAO,UAAU,IAAI;OAG/D,OAAO,OAAO;CAElB;AACF"}
@@ -12,7 +12,7 @@ function attachRuntimeProxyProps(state, props) {
12
12
  enumerable: false,
13
13
  writable: false
14
14
  });
15
- } catch (_unused) {
15
+ } catch {
16
16
  state[WEVU_PROPS_KEY] = props;
17
17
  }
18
18
  }
@@ -24,7 +24,7 @@ function attachRuntimeSetupState(state, setupState) {
24
24
  enumerable: false,
25
25
  writable: false
26
26
  });
27
- } catch (_unused2) {
27
+ } catch {
28
28
  state[WEVU_SETUP_STATE_KEY] = setupState;
29
29
  }
30
30
  }
@@ -36,7 +36,7 @@ function attachNativeInstanceRef(state, instance) {
36
36
  enumerable: false,
37
37
  writable: true
38
38
  });
39
- } catch (_unused3) {
39
+ } catch {
40
40
  state[WEVU_NATIVE_INSTANCE_KEY] = instance;
41
41
  }
42
42
  }
@@ -48,7 +48,7 @@ function attachRuntimeRef(state, runtime) {
48
48
  enumerable: false,
49
49
  writable: true
50
50
  });
51
- } catch (_unused4) {
51
+ } catch {
52
52
  state[WEVU_RUNTIME_KEY] = runtime;
53
53
  }
54
54
  }
@@ -60,10 +60,10 @@ function attachRuntimeInstance(runtime, instance) {
60
60
  enumerable: false,
61
61
  writable: true
62
62
  });
63
- } catch (_unused5) {
63
+ } catch {
64
64
  try {
65
65
  runtime.instance = instance;
66
- } catch (_unused6) {}
66
+ } catch {}
67
67
  }
68
68
  }
69
69
  function resolveNativeSetData(instance) {
@@ -95,8 +95,8 @@ function syncRuntimeProps(props, mpProperties, declaredPropKeys) {
95
95
  const currentKeys = Object.keys(props);
96
96
  for (const key of currentKeys) if (!hasOwn(mpProperties, key) || declaredPropKeySet && !declaredPropKeySet.has(key)) try {
97
97
  delete props[key];
98
- } catch (_unused7) {}
99
- const nextKeys = declaredPropKeys !== null && declaredPropKeys !== void 0 ? declaredPropKeys : Object.keys(mpProperties);
98
+ } catch {}
99
+ const nextKeys = declaredPropKeys ?? Object.keys(mpProperties);
100
100
  for (const key of nextKeys) if (hasOwn(mpProperties, key)) props[key] = mpProperties[key];
101
101
  }
102
102
  function ensureRuntimeProps(target, runtimeState, mpProperties = target.properties || {}) {
@@ -111,7 +111,7 @@ function ensureRuntimeProps(target, runtimeState, mpProperties = target.properti
111
111
  enumerable: false,
112
112
  writable: true
113
113
  });
114
- } catch (_unused8) {
114
+ } catch {
115
115
  target[WEVU_PROPS_KEY] = props;
116
116
  }
117
117
  return props;