wevu 7.2.1 → 7.3.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 (466) 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/api/vitest/setup.d.mts +1 -0
  7. package/dist/dev/api/vitest.d.mts +1 -0
  8. package/dist/dev/api.d.mts +1 -0
  9. package/dist/dev/compiler.d.mts +1 -0
  10. package/dist/dev/fetch.d.mts +9 -0
  11. package/dist/dev/index.d.mts +72 -0
  12. package/dist/dev/internal-reactivity.d.mts +18 -0
  13. package/dist/dev/internal-runtime.d.mts +45 -0
  14. package/dist/dev/internal-runtime.mjs +3 -2
  15. package/dist/dev/internal-template.d.mts +2 -0
  16. package/dist/dev/jsxTypes.d.mts +9 -0
  17. package/dist/dev/macros/shared.d.mts +83 -0
  18. package/dist/dev/macros.d.mts +71 -0
  19. package/dist/dev/package.mjs +1 -1
  20. package/dist/dev/reactivity/asyncDerivation.d.mts +41 -0
  21. package/dist/dev/reactivity/asyncDerivation.mjs +8 -10
  22. package/dist/dev/reactivity/asyncDerivation.mjs.map +1 -1
  23. package/dist/dev/reactivity/computed.d.mts +25 -0
  24. package/dist/dev/reactivity/core.d.mts +35 -0
  25. package/dist/dev/reactivity/core.mjs +5 -8
  26. package/dist/dev/reactivity/core.mjs.map +1 -1
  27. package/dist/dev/reactivity/index.d.mts +16 -0
  28. package/dist/dev/reactivity/reactive/mutation.d.mts +21 -0
  29. package/dist/dev/reactivity/reactive/patch.d.mts +18 -0
  30. package/dist/dev/reactivity/reactive/patch.mjs +3 -3
  31. package/dist/dev/reactivity/reactive/patch.mjs.map +1 -1
  32. package/dist/dev/reactivity/reactive/patchState.mjs +4 -8
  33. package/dist/dev/reactivity/reactive/patchState.mjs.map +1 -1
  34. package/dist/dev/reactivity/reactive/shallow.d.mts +22 -0
  35. package/dist/dev/reactivity/reactive/shared.d.mts +4 -0
  36. package/dist/dev/reactivity/reactive/shared.mjs +1 -2
  37. package/dist/dev/reactivity/reactive/shared.mjs.map +1 -1
  38. package/dist/dev/reactivity/reactive.d.mts +42 -0
  39. package/dist/dev/reactivity/reactive.mjs +5 -10
  40. package/dist/dev/reactivity/reactive.mjs.map +1 -1
  41. package/dist/dev/reactivity/readonly.d.mts +27 -0
  42. package/dist/dev/reactivity/ref.d.mts +27 -0
  43. package/dist/dev/reactivity/ref.mjs +2 -2
  44. package/dist/dev/reactivity/ref.mjs.map +1 -1
  45. package/dist/dev/reactivity/shallowRef.d.mts +19 -0
  46. package/dist/dev/reactivity/shallowRef.mjs +1 -1
  47. package/dist/dev/reactivity/shallowRef.mjs.map +1 -1
  48. package/dist/dev/reactivity/toRefs.d.mts +43 -0
  49. package/dist/dev/reactivity/traverse.d.mts +8 -0
  50. package/dist/dev/reactivity/watch/helpers.mjs +1 -1
  51. package/dist/dev/reactivity/watch/helpers.mjs.map +1 -1
  52. package/dist/dev/reactivity/watch/types.d.mts +43 -0
  53. package/dist/dev/reactivity/watch.d.mts +22 -0
  54. package/dist/dev/reactivity/watch.mjs +6 -8
  55. package/dist/dev/reactivity/watch.mjs.map +1 -1
  56. package/dist/dev/router/auto-routes.d.mts +8 -0
  57. package/dist/dev/router/createRouter.d.mts +9 -0
  58. package/dist/dev/router/createRouter.mjs +17 -24
  59. package/dist/dev/router/createRouter.mjs.map +1 -1
  60. package/dist/dev/router/initialNavigation.mjs +18 -16
  61. package/dist/dev/router/initialNavigation.mjs.map +1 -1
  62. package/dist/dev/router/instance.mjs +1 -2
  63. package/dist/dev/router/instance.mjs.map +1 -1
  64. package/dist/dev/router/navigationCore.d.mts +7 -0
  65. package/dist/dev/router/navigationCore.mjs +2 -2
  66. package/dist/dev/router/navigationCore.mjs.map +1 -1
  67. package/dist/dev/router/navigationResult.mjs +7 -10
  68. package/dist/dev/router/navigationResult.mjs.map +1 -1
  69. package/dist/dev/router/navigationTarget.mjs +1 -3
  70. package/dist/dev/router/navigationTarget.mjs.map +1 -1
  71. package/dist/dev/router/resolve.d.mts +7 -0
  72. package/dist/dev/router/resolve.mjs +3 -4
  73. package/dist/dev/router/resolve.mjs.map +1 -1
  74. package/dist/dev/router/routeRegistry.mjs +1 -1
  75. package/dist/dev/router/routeRegistry.mjs.map +1 -1
  76. package/dist/dev/router/routeSync.d.mts +2 -0
  77. package/dist/dev/router/routeSync.mjs +1 -1
  78. package/dist/dev/router/routeSync.mjs.map +1 -1
  79. package/dist/dev/router/types.d.mts +267 -0
  80. package/dist/dev/router/useRoute.d.mts +20 -0
  81. package/dist/dev/router/useRoute.mjs +12 -19
  82. package/dist/dev/router/useRoute.mjs.map +1 -1
  83. package/dist/dev/router/useRouter.d.mts +9 -0
  84. package/dist/dev/router.d.mts +26 -0
  85. package/dist/dev/routerInternal/location.d.mts +2 -0
  86. package/dist/dev/routerInternal/location.mjs +2 -3
  87. package/dist/dev/routerInternal/location.mjs.map +1 -1
  88. package/dist/dev/routerInternal/matching.d.mts +2 -0
  89. package/dist/dev/routerInternal/params.d.mts +2 -0
  90. package/dist/dev/routerInternal/params.mjs +2 -3
  91. package/dist/dev/routerInternal/params.mjs.map +1 -1
  92. package/dist/dev/routerInternal/query.d.mts +7 -0
  93. package/dist/dev/routerInternal/records.d.mts +2 -0
  94. package/dist/dev/routerInternal/records.mjs +1 -1
  95. package/dist/dev/routerInternal/records.mjs.map +1 -1
  96. package/dist/dev/routerInternal/recordsWarnings.d.mts +2 -0
  97. package/dist/dev/routerInternal/recordsWarnings.mjs +1 -2
  98. package/dist/dev/routerInternal/recordsWarnings.mjs.map +1 -1
  99. package/dist/dev/routerInternal/shared.d.mts +9 -0
  100. package/dist/dev/routerInternal/snapshots.d.mts +2 -0
  101. package/dist/dev/routerInternal/types.d.mts +9 -0
  102. package/dist/dev/runtime/app/context.mjs +13 -26
  103. package/dist/dev/runtime/app/context.mjs.map +1 -1
  104. package/dist/dev/runtime/app/diagnostics.mjs +2 -4
  105. package/dist/dev/runtime/app/diagnostics.mjs.map +1 -1
  106. package/dist/dev/runtime/app/mount.mjs +27 -33
  107. package/dist/dev/runtime/app/mount.mjs.map +1 -1
  108. package/dist/dev/runtime/app/pending.d.mts +10 -0
  109. package/dist/dev/runtime/app/setData/commitTracker.d.mts +13 -0
  110. package/dist/dev/runtime/app/setData/commitTracker.mjs +5 -9
  111. package/dist/dev/runtime/app/setData/commitTracker.mjs.map +1 -1
  112. package/dist/dev/runtime/app/setData/patchScheduler.mjs +2 -4
  113. package/dist/dev/runtime/app/setData/patchScheduler.mjs.map +1 -1
  114. package/dist/dev/runtime/app/setData/payload.mjs +2 -3
  115. package/dist/dev/runtime/app/setData/payload.mjs.map +1 -1
  116. package/dist/dev/runtime/app/setData/scheduler.d.mts +51 -0
  117. package/dist/dev/runtime/app/setData/scheduler.mjs +7 -9
  118. package/dist/dev/runtime/app/setData/scheduler.mjs.map +1 -1
  119. package/dist/dev/runtime/app/setData/snapshot.mjs +5 -6
  120. package/dist/dev/runtime/app/setData/snapshot.mjs.map +1 -1
  121. package/dist/dev/runtime/app/setDataOptions.mjs +26 -27
  122. package/dist/dev/runtime/app/setDataOptions.mjs.map +1 -1
  123. package/dist/dev/runtime/app.d.mts +8 -0
  124. package/dist/dev/runtime/app.mjs +9 -9
  125. package/dist/dev/runtime/app.mjs.map +1 -1
  126. package/dist/dev/runtime/bindingManifest.mjs +6 -14
  127. package/dist/dev/runtime/bindingManifest.mjs.map +1 -1
  128. package/dist/dev/runtime/capabilities.d.mts +78 -0
  129. package/dist/dev/runtime/capabilities.mjs.map +1 -1
  130. package/dist/dev/runtime/css.d.mts +14 -0
  131. package/dist/dev/runtime/css.mjs +4 -8
  132. package/dist/dev/runtime/css.mjs.map +1 -1
  133. package/dist/dev/runtime/defaults.d.mts +12 -0
  134. package/dist/dev/runtime/defaults.mjs +4 -4
  135. package/dist/dev/runtime/defaults.mjs.map +1 -1
  136. package/dist/dev/runtime/define/initialComputed.mjs +5 -5
  137. package/dist/dev/runtime/define/initialComputed.mjs.map +1 -1
  138. package/dist/dev/runtime/define/options.mjs +10 -12
  139. package/dist/dev/runtime/define/options.mjs.map +1 -1
  140. package/dist/dev/runtime/define/props.mjs +4 -5
  141. package/dist/dev/runtime/define/props.mjs.map +1 -1
  142. package/dist/dev/runtime/define/scopedSlotOptions.mjs +43 -61
  143. package/dist/dev/runtime/define/scopedSlotOptions.mjs.map +1 -1
  144. package/dist/dev/runtime/define/setupResult.mjs +17 -28
  145. package/dist/dev/runtime/define/setupResult.mjs.map +1 -1
  146. package/dist/dev/runtime/define.d.mts +118 -0
  147. package/dist/dev/runtime/define.mjs +9 -12
  148. package/dist/dev/runtime/define.mjs.map +1 -1
  149. package/dist/dev/runtime/diff.mjs +9 -11
  150. package/dist/dev/runtime/diff.mjs.map +1 -1
  151. package/dist/dev/runtime/disposables.d.mts +31 -0
  152. package/dist/dev/runtime/disposables.mjs +2 -2
  153. package/dist/dev/runtime/disposables.mjs.map +1 -1
  154. package/dist/dev/runtime/elementIntersectionObserver.d.mts +26 -0
  155. package/dist/dev/runtime/elementIntersectionObserver.mjs +16 -24
  156. package/dist/dev/runtime/elementIntersectionObserver.mjs.map +1 -1
  157. package/dist/dev/runtime/features/inlineEvents.d.mts +7 -0
  158. package/dist/dev/runtime/features/inlineEvents.mjs +2 -3
  159. package/dist/dev/runtime/features/inlineEvents.mjs.map +1 -1
  160. package/dist/dev/runtime/features/jsxIslands.d.mts +7 -0
  161. package/dist/dev/runtime/features/jsxIslands.mjs +20 -0
  162. package/dist/dev/runtime/features/jsxIslands.mjs.map +1 -0
  163. package/dist/dev/runtime/features/layout.d.mts +7 -0
  164. package/dist/dev/runtime/features/layout.mjs +2 -3
  165. package/dist/dev/runtime/features/layout.mjs.map +1 -1
  166. package/dist/dev/runtime/features/patchStrategy.d.mts +7 -0
  167. package/dist/dev/runtime/features/publicLayout.d.mts +24 -0
  168. package/dist/dev/runtime/features/publicLayout.mjs +2 -6
  169. package/dist/dev/runtime/features/publicLayout.mjs.map +1 -1
  170. package/dist/dev/runtime/features/scopedSlots.d.mts +23 -0
  171. package/dist/dev/runtime/features/scopedSlots.mjs +5 -9
  172. package/dist/dev/runtime/features/scopedSlots.mjs.map +1 -1
  173. package/dist/dev/runtime/features/setDataHighFrequencyWarning.d.mts +7 -0
  174. package/dist/dev/runtime/features/templateRefs.d.mts +7 -0
  175. package/dist/dev/runtime/features/templateRefs.mjs +1 -1
  176. package/dist/dev/runtime/features/templateRefs.mjs.map +1 -1
  177. package/dist/dev/runtime/hooks/base.d.mts +27 -0
  178. package/dist/dev/runtime/hooks/base.mjs +21 -32
  179. package/dist/dev/runtime/hooks/base.mjs.map +1 -1
  180. package/dist/dev/runtime/hooks/register.d.mts +30 -0
  181. package/dist/dev/runtime/hooks/vue.d.mts +52 -0
  182. package/dist/dev/runtime/hooks.d.mts +4 -0
  183. package/dist/dev/runtime/index.d.mts +46 -0
  184. package/dist/dev/runtime/inlineDataset.mjs +1 -2
  185. package/dist/dev/runtime/inlineDataset.mjs.map +1 -1
  186. package/dist/dev/runtime/intersectionObserver.d.mts +14 -0
  187. package/dist/dev/runtime/intersectionObserver.mjs +6 -6
  188. package/dist/dev/runtime/intersectionObserver.mjs.map +1 -1
  189. package/dist/dev/runtime/jsxIsland.d.mts +37 -0
  190. package/dist/dev/runtime/jsxIsland.mjs +16 -33
  191. package/dist/dev/runtime/jsxIsland.mjs.map +1 -1
  192. package/dist/dev/runtime/layoutBridge.d.mts +55 -0
  193. package/dist/dev/runtime/layoutBridge.mjs +32 -62
  194. package/dist/dev/runtime/layoutBridge.mjs.map +1 -1
  195. package/dist/dev/runtime/nativeBridge.mjs +1 -1
  196. package/dist/dev/runtime/nativeBridge.mjs.map +1 -1
  197. package/dist/dev/runtime/navigationLifecycle.mjs +24 -0
  198. package/dist/dev/runtime/navigationLifecycle.mjs.map +1 -0
  199. package/dist/dev/runtime/noSetData.d.mts +5 -0
  200. package/dist/dev/runtime/pageEnvironment.d.mts +50 -0
  201. package/dist/dev/runtime/pageEnvironment.mjs +15 -18
  202. package/dist/dev/runtime/pageEnvironment.mjs.map +1 -1
  203. package/dist/dev/runtime/pageLayout.d.mts +25 -0
  204. package/dist/dev/runtime/pageLayout.mjs +7 -11
  205. package/dist/dev/runtime/pageLayout.mjs.map +1 -1
  206. package/dist/dev/runtime/pageScroll.d.mts +29 -0
  207. package/dist/dev/runtime/pageScroll.mjs +2 -3
  208. package/dist/dev/runtime/pageScroll.mjs.map +1 -1
  209. package/dist/dev/runtime/platform/current.mjs +12 -0
  210. package/dist/dev/runtime/platform/current.mjs.map +1 -0
  211. package/dist/dev/runtime/platform/generic.mjs +36 -0
  212. package/dist/dev/runtime/platform/generic.mjs.map +1 -0
  213. package/dist/dev/runtime/platform/globals.mjs +29 -0
  214. package/dist/dev/runtime/platform/globals.mjs.map +1 -0
  215. package/dist/dev/runtime/platform.mjs +15 -60
  216. package/dist/dev/runtime/platform.mjs.map +1 -1
  217. package/dist/dev/runtime/provide.d.mts +60 -0
  218. package/dist/dev/runtime/provideContext.mjs +7 -9
  219. package/dist/dev/runtime/provideContext.mjs.map +1 -1
  220. package/dist/dev/runtime/provideStore.d.mts +7 -0
  221. package/dist/dev/runtime/publicRuntime.d.mts +22 -0
  222. package/dist/dev/runtime/publicRuntime.mjs +4 -0
  223. package/dist/dev/runtime/publicRuntime.mjs.map +1 -1
  224. package/dist/dev/runtime/pullDownRefresh.d.mts +12 -0
  225. package/dist/dev/runtime/pullDownRefresh.mjs +2 -4
  226. package/dist/dev/runtime/pullDownRefresh.mjs.map +1 -1
  227. package/dist/dev/runtime/register/app.d.mts +14 -0
  228. package/dist/dev/runtime/register/app.mjs +18 -19
  229. package/dist/dev/runtime/register/app.mjs.map +1 -1
  230. package/dist/dev/runtime/register/component/alipay.mjs +9 -18
  231. package/dist/dev/runtime/register/component/alipay.mjs.map +1 -1
  232. package/dist/dev/runtime/register/component/alipayRegistration.mjs +60 -0
  233. package/dist/dev/runtime/register/component/alipayRegistration.mjs.map +1 -0
  234. package/dist/dev/runtime/register/component/lifecycle/platform.mjs +8 -9
  235. package/dist/dev/runtime/register/component/lifecycle/platform.mjs.map +1 -1
  236. package/dist/dev/runtime/register/component/lifecycle.mjs +7 -12
  237. package/dist/dev/runtime/register/component/lifecycle.mjs.map +1 -1
  238. package/dist/dev/runtime/register/component/methods.mjs +13 -18
  239. package/dist/dev/runtime/register/component/methods.mjs.map +1 -1
  240. package/dist/dev/runtime/register/component/options.mjs +3 -4
  241. package/dist/dev/runtime/register/component/options.mjs.map +1 -1
  242. package/dist/dev/runtime/register/component/props.mjs +25 -31
  243. package/dist/dev/runtime/register/component/props.mjs.map +1 -1
  244. package/dist/dev/runtime/register/component/registerDefinition.mjs +18 -40
  245. package/dist/dev/runtime/register/component/registerDefinition.mjs.map +1 -1
  246. package/dist/dev/runtime/register/component/registerNativeDefinition.mjs +18 -60
  247. package/dist/dev/runtime/register/component/registerNativeDefinition.mjs.map +1 -1
  248. package/dist/dev/runtime/register/component.d.mts +17 -0
  249. package/dist/dev/runtime/register/component.mjs +3 -5
  250. package/dist/dev/runtime/register/component.mjs.map +1 -1
  251. package/dist/dev/runtime/register/inline.d.mts +15 -0
  252. package/dist/dev/runtime/register/inline.mjs +8 -10
  253. package/dist/dev/runtime/register/inline.mjs.map +1 -1
  254. package/dist/dev/runtime/register/runtimeInstance/methodBridge.mjs +7 -8
  255. package/dist/dev/runtime/register/runtimeInstance/methodBridge.mjs.map +1 -1
  256. package/dist/dev/runtime/register/runtimeInstance/provideContext.mjs +1 -1
  257. package/dist/dev/runtime/register/runtimeInstance/provideContext.mjs.map +1 -1
  258. package/dist/dev/runtime/register/runtimeInstance/setupContext.mjs +25 -34
  259. package/dist/dev/runtime/register/runtimeInstance/setupContext.mjs.map +1 -1
  260. package/dist/dev/runtime/register/runtimeInstance/setupPhase.mjs +6 -13
  261. package/dist/dev/runtime/register/runtimeInstance/setupPhase.mjs.map +1 -1
  262. package/dist/dev/runtime/register/runtimeInstance/setupSnapshot.mjs +2 -2
  263. package/dist/dev/runtime/register/runtimeInstance/setupSnapshot.mjs.map +1 -1
  264. package/dist/dev/runtime/register/runtimeInstance/utils.mjs +9 -9
  265. package/dist/dev/runtime/register/runtimeInstance/utils.mjs.map +1 -1
  266. package/dist/dev/runtime/register/runtimeInstance.d.mts +26 -0
  267. package/dist/dev/runtime/register/runtimeInstance.mjs +74 -100
  268. package/dist/dev/runtime/register/runtimeInstance.mjs.map +1 -1
  269. package/dist/dev/runtime/register/setDataFrequencyWarning.mjs +12 -15
  270. package/dist/dev/runtime/register/setDataFrequencyWarning.mjs.map +1 -1
  271. package/dist/dev/runtime/register/setup.d.mts +11 -0
  272. package/dist/dev/runtime/register/setup.mjs +2 -3
  273. package/dist/dev/runtime/register/setup.mjs.map +1 -1
  274. package/dist/dev/runtime/register/snapshot.mjs +1 -4
  275. package/dist/dev/runtime/register/snapshot.mjs.map +1 -1
  276. package/dist/dev/runtime/register/watch.d.mts +12 -0
  277. package/dist/dev/runtime/register/watch.mjs +3 -5
  278. package/dist/dev/runtime/register/watch.mjs.map +1 -1
  279. package/dist/dev/runtime/register.d.mts +5 -0
  280. package/dist/dev/runtime/scopedSlots.mjs +14 -21
  281. package/dist/dev/runtime/scopedSlots.mjs.map +1 -1
  282. package/dist/dev/runtime/selectorQuery.d.mts +54 -0
  283. package/dist/dev/runtime/selectorQuery.mjs +5 -9
  284. package/dist/dev/runtime/selectorQuery.mjs.map +1 -1
  285. package/dist/dev/runtime/template.d.mts +6 -0
  286. package/dist/dev/runtime/template.mjs +1 -1
  287. package/dist/dev/runtime/template.mjs.map +1 -1
  288. package/dist/dev/runtime/templateRefTypes.d.mts +12 -0
  289. package/dist/dev/runtime/templateRefs/helpers.mjs +14 -24
  290. package/dist/dev/runtime/templateRefs/helpers.mjs.map +1 -1
  291. package/dist/dev/runtime/templateRefs.mjs +8 -15
  292. package/dist/dev/runtime/templateRefs.mjs.map +1 -1
  293. package/dist/dev/runtime/types/core.d.mts +35 -0
  294. package/dist/dev/runtime/types/miniprogram.d.mts +84 -0
  295. package/dist/dev/runtime/types/miniprogramHost.d.mts +45 -0
  296. package/dist/dev/runtime/types/miniprogramHostSources.d.mts +112 -0
  297. package/dist/dev/runtime/types/options.d.mts +138 -0
  298. package/dist/dev/runtime/types/props/propTypes.d.mts +79 -0
  299. package/dist/dev/runtime/types/props/router.d.mts +51 -0
  300. package/dist/dev/runtime/types/props/setup.d.mts +96 -0
  301. package/dist/dev/runtime/types/props.d.mts +4 -0
  302. package/dist/dev/runtime/types/runtime.d.mts +59 -0
  303. package/dist/dev/runtime/types/setData.d.mts +237 -0
  304. package/dist/dev/runtime/types.d.mts +29 -0
  305. package/dist/dev/runtime/uniAppHost.d.mts +8 -0
  306. package/dist/dev/runtime/uniAppHost.mjs +6 -14
  307. package/dist/dev/runtime/uniAppHost.mjs.map +1 -1
  308. package/dist/dev/runtime/updatePerformance.d.mts +13 -0
  309. package/dist/dev/runtime/updatePerformance.mjs +1 -1
  310. package/dist/dev/runtime/updatePerformance.mjs.map +1 -1
  311. package/dist/dev/runtime/use.d.mts +13 -0
  312. package/dist/dev/runtime/use.mjs +1 -1
  313. package/dist/dev/runtime/use.mjs.map +1 -1
  314. package/dist/dev/runtime/vueCompat/context.d.mts +8 -0
  315. package/dist/dev/runtime/vueCompat/context.mjs +3 -5
  316. package/dist/dev/runtime/vueCompat/context.mjs.map +1 -1
  317. package/dist/dev/runtime/vueCompat/model.d.mts +30 -0
  318. package/dist/dev/runtime/vueCompat/model.mjs +9 -13
  319. package/dist/dev/runtime/vueCompat/model.mjs.map +1 -1
  320. package/dist/dev/runtime/vueCompat/router.d.mts +29 -0
  321. package/dist/dev/runtime/vueCompat/router.mjs +4 -4
  322. package/dist/dev/runtime/vueCompat/router.mjs.map +1 -1
  323. package/dist/dev/runtime/vueCompat/templateRef.d.mts +9 -0
  324. package/dist/dev/runtime/vueCompat/templateRef.mjs +1 -1
  325. package/dist/dev/runtime/vueCompat/templateRef.mjs.map +1 -1
  326. package/dist/dev/runtime/vueCompat.d.mts +5 -0
  327. package/dist/dev/scheduler.d.mts +4 -0
  328. package/dist/dev/scheduler.mjs +3 -4
  329. package/dist/dev/scheduler.mjs.map +1 -1
  330. package/dist/dev/store/base.mjs +1 -2
  331. package/dist/dev/store/base.mjs.map +1 -1
  332. package/dist/dev/store/define/create.mjs +11 -22
  333. package/dist/dev/store/define/create.mjs.map +1 -1
  334. package/dist/dev/store/define.d.mts +8 -0
  335. package/dist/dev/store/define.mjs +1 -1
  336. package/dist/dev/store/define.mjs.map +1 -1
  337. package/dist/dev/store/manager.d.mts +16 -0
  338. package/dist/dev/store/storeToRefs.d.mts +11 -0
  339. package/dist/dev/store/types.d.mts +106 -0
  340. package/dist/dev/store/view.mjs +1 -1
  341. package/dist/dev/store/view.mjs.map +1 -1
  342. package/dist/dev/store.d.mts +5 -0
  343. package/dist/dev/version.d.mts +4 -0
  344. package/dist/dev/vue-augment.d.mts +8 -0
  345. package/dist/dev/vue-demi.d.mts +87 -0
  346. package/dist/dev/vue-types.d.mts +19 -0
  347. package/dist/dev/web-apis.d.mts +3 -0
  348. package/dist/internal-runtime.d.mts +2 -1
  349. package/dist/internal-runtime.mjs +1 -1
  350. package/dist/package.mjs +1 -1
  351. package/dist/reactivity/asyncDerivation.mjs +1 -1
  352. package/dist/reactivity/core.mjs +1 -1
  353. package/dist/reactivity/reactive/patch.mjs +1 -1
  354. package/dist/reactivity/reactive/patchState.mjs +1 -1
  355. package/dist/reactivity/reactive/shared.mjs +1 -1
  356. package/dist/reactivity/reactive.mjs +1 -1
  357. package/dist/reactivity/ref.mjs +1 -1
  358. package/dist/reactivity/shallowRef.mjs +1 -1
  359. package/dist/reactivity/watch/helpers.mjs +1 -1
  360. package/dist/reactivity/watch.mjs +1 -1
  361. package/dist/router/createRouter.mjs +1 -1
  362. package/dist/router/initialNavigation.mjs +1 -1
  363. package/dist/router/instance.mjs +1 -1
  364. package/dist/router/navigationCore.mjs +1 -1
  365. package/dist/router/navigationResult.mjs +1 -1
  366. package/dist/router/navigationTarget.mjs +1 -1
  367. package/dist/router/resolve.mjs +1 -1
  368. package/dist/router/routeRegistry.mjs +1 -1
  369. package/dist/router/routeSync.mjs +1 -1
  370. package/dist/router/useRoute.mjs +1 -1
  371. package/dist/routerInternal/location.mjs +1 -1
  372. package/dist/routerInternal/params.mjs +1 -1
  373. package/dist/routerInternal/records.mjs +1 -1
  374. package/dist/routerInternal/recordsWarnings.mjs +1 -1
  375. package/dist/runtime/app/context.mjs +1 -1
  376. package/dist/runtime/app/diagnostics.mjs +1 -1
  377. package/dist/runtime/app/mount.mjs +1 -1
  378. package/dist/runtime/app/setData/commitTracker.mjs +1 -1
  379. package/dist/runtime/app/setData/patchScheduler.mjs +1 -1
  380. package/dist/runtime/app/setData/payload.mjs +1 -1
  381. package/dist/runtime/app/setData/scheduler.mjs +1 -1
  382. package/dist/runtime/app/setData/snapshot.mjs +1 -1
  383. package/dist/runtime/app/setDataOptions.mjs +1 -1
  384. package/dist/runtime/app.mjs +1 -1
  385. package/dist/runtime/bindingManifest.mjs +1 -1
  386. package/dist/runtime/capabilities.d.mts +4 -1
  387. package/dist/runtime/css.mjs +1 -1
  388. package/dist/runtime/defaults.mjs +1 -1
  389. package/dist/runtime/define/initialComputed.mjs +1 -1
  390. package/dist/runtime/define/options.mjs +1 -1
  391. package/dist/runtime/define/props.mjs +1 -1
  392. package/dist/runtime/define/scopedSlotOptions.mjs +1 -1
  393. package/dist/runtime/define/setupResult.mjs +1 -1
  394. package/dist/runtime/define.mjs +1 -1
  395. package/dist/runtime/diff.mjs +1 -1
  396. package/dist/runtime/disposables.mjs +1 -1
  397. package/dist/runtime/elementIntersectionObserver.mjs +1 -1
  398. package/dist/runtime/features/inlineEvents.mjs +1 -1
  399. package/dist/runtime/features/jsxIslands.d.mts +6 -0
  400. package/dist/runtime/features/jsxIslands.mjs +1 -0
  401. package/dist/runtime/features/layout.mjs +1 -1
  402. package/dist/runtime/features/publicLayout.mjs +1 -1
  403. package/dist/runtime/features/scopedSlots.mjs +1 -1
  404. package/dist/runtime/features/templateRefs.mjs +1 -1
  405. package/dist/runtime/hooks/base.mjs +1 -1
  406. package/dist/runtime/inlineDataset.mjs +1 -1
  407. package/dist/runtime/intersectionObserver.mjs +1 -1
  408. package/dist/runtime/jsxIsland.mjs +1 -1
  409. package/dist/runtime/layoutBridge.mjs +1 -1
  410. package/dist/runtime/nativeBridge.mjs +1 -1
  411. package/dist/runtime/navigationLifecycle.mjs +1 -0
  412. package/dist/runtime/pageEnvironment.mjs +1 -1
  413. package/dist/runtime/pageLayout.mjs +1 -1
  414. package/dist/runtime/pageScroll.mjs +1 -1
  415. package/dist/runtime/platform/current.mjs +1 -0
  416. package/dist/runtime/platform/generic.mjs +1 -0
  417. package/dist/runtime/platform/globals.mjs +1 -0
  418. package/dist/runtime/platform.mjs +1 -1
  419. package/dist/runtime/provideContext.mjs +1 -1
  420. package/dist/runtime/publicRuntime.mjs +1 -1
  421. package/dist/runtime/pullDownRefresh.mjs +1 -1
  422. package/dist/runtime/register/app.mjs +1 -1
  423. package/dist/runtime/register/component/alipay.mjs +1 -1
  424. package/dist/runtime/register/component/alipayRegistration.mjs +1 -0
  425. package/dist/runtime/register/component/lifecycle/platform.mjs +1 -1
  426. package/dist/runtime/register/component/lifecycle.mjs +1 -1
  427. package/dist/runtime/register/component/methods.mjs +1 -1
  428. package/dist/runtime/register/component/options.mjs +1 -1
  429. package/dist/runtime/register/component/props.mjs +1 -1
  430. package/dist/runtime/register/component/registerDefinition.mjs +1 -1
  431. package/dist/runtime/register/component/registerNativeDefinition.mjs +1 -1
  432. package/dist/runtime/register/component.mjs +1 -1
  433. package/dist/runtime/register/inline.mjs +1 -1
  434. package/dist/runtime/register/runtimeInstance/methodBridge.mjs +1 -1
  435. package/dist/runtime/register/runtimeInstance/provideContext.mjs +1 -1
  436. package/dist/runtime/register/runtimeInstance/setupContext.mjs +1 -1
  437. package/dist/runtime/register/runtimeInstance/setupPhase.mjs +1 -1
  438. package/dist/runtime/register/runtimeInstance/setupSnapshot.mjs +1 -1
  439. package/dist/runtime/register/runtimeInstance/utils.mjs +1 -1
  440. package/dist/runtime/register/runtimeInstance.mjs +1 -1
  441. package/dist/runtime/register/setDataFrequencyWarning.mjs +1 -1
  442. package/dist/runtime/register/setup.mjs +1 -1
  443. package/dist/runtime/register/snapshot.mjs +1 -1
  444. package/dist/runtime/register/watch.mjs +1 -1
  445. package/dist/runtime/scopedSlots.mjs +1 -1
  446. package/dist/runtime/selectorQuery.mjs +1 -1
  447. package/dist/runtime/template.mjs +1 -1
  448. package/dist/runtime/templateRefs/helpers.mjs +1 -1
  449. package/dist/runtime/templateRefs.mjs +1 -1
  450. package/dist/runtime/uniAppHost.mjs +1 -1
  451. package/dist/runtime/updatePerformance.mjs +1 -1
  452. package/dist/runtime/use.mjs +1 -1
  453. package/dist/runtime/vueCompat/context.mjs +1 -1
  454. package/dist/runtime/vueCompat/model.mjs +1 -1
  455. package/dist/runtime/vueCompat/router.mjs +1 -1
  456. package/dist/runtime/vueCompat/templateRef.mjs +1 -1
  457. package/dist/scheduler.mjs +1 -1
  458. package/dist/store/base.mjs +1 -1
  459. package/dist/store/define/create.mjs +1 -1
  460. package/dist/store/define.mjs +1 -1
  461. package/dist/store/view.mjs +1 -1
  462. package/package.json +7 -7
  463. /package/dist/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.151.0}/helpers/esm/defineProperty.mjs +0 -0
  464. /package/dist/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.151.0}/helpers/esm/toPrimitive.mjs +0 -0
  465. /package/dist/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.151.0}/helpers/esm/toPropertyKey.mjs +0 -0
  466. /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":"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"}
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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"}
@@ -43,7 +43,7 @@ function attachVueCompatInstanceView(target, proxy) {
43
43
  };
44
44
  for (const [key, descriptor] of Object.entries(descriptors)) try {
45
45
  Object.defineProperty(internal, key, descriptor);
46
- } catch (_unused) {
46
+ } catch {
47
47
  if ("value" in descriptor) internal[key] = descriptor.value;
48
48
  }
49
49
  const publicDescriptors = {
@@ -62,7 +62,7 @@ function attachVueCompatInstanceView(target, proxy) {
62
62
  };
63
63
  for (const [key, descriptor] of Object.entries(publicDescriptors)) try {
64
64
  Object.defineProperty(proxy, key, descriptor);
65
- } catch (_unused2) {
65
+ } catch {
66
66
  proxy[key] = descriptor.value;
67
67
  }
68
68
  }
@@ -70,7 +70,6 @@ function isInternalAttrKey(key) {
70
70
  return key.startsWith("__wv_");
71
71
  }
72
72
  function runRuntimeSetupPhase(options) {
73
- var _runtimeWithDefaults$;
74
73
  const { target, runtime, runtimeWithDefaults, runtimeState, runtimeProxy, setup } = options;
75
74
  const mpProperties = target.properties || {};
76
75
  const props = ensureRuntimeProps(target, runtimeState, mpProperties);
@@ -96,13 +95,13 @@ function runRuntimeSetupPhase(options) {
96
95
  enumerable: false,
97
96
  writable: false
98
97
  });
99
- } catch (_unused3) {
98
+ } catch {
100
99
  target[WEVU_ATTRS_KEY] = attrs;
101
100
  }
102
101
  const setupInstance = ensureSetupContextInstance(target, runtimeWithDefaults);
103
102
  attachVueCompatInstanceView(target, setupInstance);
104
103
  const slots = attachRuntimeSlots(runtimeState, props);
105
- const setupState = (_runtimeWithDefaults$ = runtimeWithDefaults.setupState) !== null && _runtimeWithDefaults$ !== void 0 ? _runtimeWithDefaults$ : Object.create(null);
104
+ const setupState = runtimeWithDefaults.setupState ?? Object.create(null);
106
105
  attachRuntimeSetupState(runtimeState, setupState);
107
106
  const context = safeMarkNoSetData({
108
107
  props,
@@ -150,19 +149,13 @@ function runRuntimeSetupPhase(options) {
150
149
  runtimeSetupState[key] = bound;
151
150
  methodsChanged = true;
152
151
  } 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
- }
152
+ if (hasTrackableSetupBinding(val)) runtime.__wevu_trackSetupReactiveKey?.(key);
157
153
  runtime.state[key] = val;
158
154
  if (!preservesAccessor) runtimeSetupState[key] = val;
159
155
  }
160
156
  });
161
157
  }
162
- if (methodsChanged) {
163
- var _wevu_touchSetupMetho;
164
- (_wevu_touchSetupMetho = runtime.__wevu_touchSetupMethodsVersion) === null || _wevu_touchSetupMetho === void 0 || _wevu_touchSetupMetho.call(runtime);
165
- }
158
+ if (methodsChanged) runtime.__wevu_touchSetupMethodsVersion?.();
166
159
  } finally {
167
160
  restoreSetupContext();
168
161
  }
@@ -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 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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"}
@@ -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;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","names":[],"sources":["../../../../../src/runtime/register/runtimeInstance/utils.ts"],"sourcesContent":["import type { SetDataAdapterSettler, SetDataPayload } from '../../app/setData/commitTracker'\nimport type {\n InternalRuntimeState,\n MiniProgramAdapter,\n RuntimeInstance,\n SetupContextNativeInstance,\n} from '../../types'\nimport {\n WEVU_NATIVE_INSTANCE_KEY,\n WEVU_PROP_KEYS_KEY,\n WEVU_PROPS_KEY,\n WEVU_RUNTIME_KEY,\n WEVU_SETUP_CONTEXT_INSTANCE_KEY,\n WEVU_SETUP_STATE_KEY,\n} from '@weapp-core/constants'\nimport { shallowReactive } from '../../../reactivity'\nimport { hasOwn } from '../../../utils'\nimport { isNativeBridgeMethod } from '../../nativeBridge'\n\nexport type AdapterWithSetData = Omit<Required<MiniProgramAdapter>, 'setData'> & {\n setData: (payload: Record<string, any>, callback?: () => void) => void | Promise<void> | undefined\n __wevu_dispatchSetData: (payload: SetDataPayload, settle: SetDataAdapterSettler) => void\n __wevu_enableSetData?: (discardPending?: boolean) => void\n __wevu_setVisibility?: (visible: boolean) => void\n __wevu_reportSetDataError?: (error: Error) => void\n __wevu_disposeSetData?: () => void\n}\n\nexport type NativeSetData = (payload: Record<string, any>, callback?: () => void) => void | Promise<void> | undefined\n\nexport function attachRuntimeProxyProps(state: Record<string, any>, props: Record<string, any>) {\n try {\n Object.defineProperty(state, WEVU_PROPS_KEY, {\n value: props,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n }\n catch {\n ;(state as any)[WEVU_PROPS_KEY] = props\n }\n}\n\nexport function attachRuntimeSetupState(state: Record<string, any>, setupState: Record<string, any>) {\n try {\n Object.defineProperty(state, WEVU_SETUP_STATE_KEY, {\n value: setupState,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n }\n catch {\n ;(state as any)[WEVU_SETUP_STATE_KEY] = setupState\n }\n}\n\nexport function attachNativeInstanceRef(state: Record<string, any>, instance: InternalRuntimeState) {\n try {\n Object.defineProperty(state, WEVU_NATIVE_INSTANCE_KEY, {\n value: instance,\n configurable: true,\n enumerable: false,\n writable: true,\n })\n }\n catch {\n ;(state as any)[WEVU_NATIVE_INSTANCE_KEY] = instance\n }\n}\n\nexport function attachRuntimeRef(state: Record<string, any>, runtime: RuntimeInstance<any, any, any>) {\n try {\n Object.defineProperty(state, WEVU_RUNTIME_KEY, {\n value: runtime,\n configurable: true,\n enumerable: false,\n writable: true,\n })\n }\n catch {\n ;(state as any)[WEVU_RUNTIME_KEY] = runtime\n }\n}\n\nexport function attachRuntimeInstance(runtime: RuntimeInstance<any, any, any>, instance: InternalRuntimeState) {\n try {\n Object.defineProperty(runtime as Record<string, any>, 'instance', {\n value: instance,\n configurable: true,\n enumerable: false,\n writable: true,\n })\n }\n catch {\n try {\n ;(runtime as Record<string, any>).instance = instance\n }\n catch {\n // 忽略冻结对象写入失败\n }\n }\n}\n\nexport function resolveNativeSetData(instance: InternalRuntimeState) {\n const setupInstance = (instance as any)[WEVU_SETUP_CONTEXT_INSTANCE_KEY] as SetupContextNativeInstance | undefined\n const setupOverride = setupInstance && typeof setupInstance.setData === 'function'\n ? setupInstance.setData\n : undefined\n if (typeof setupOverride === 'function' && !isNativeBridgeMethod(setupOverride)) {\n return setupOverride as NativeSetData\n }\n\n const candidate = (instance as any).setData\n if (typeof candidate !== 'function') {\n return undefined\n }\n if (isNativeBridgeMethod(candidate)) {\n return undefined\n }\n return candidate as NativeSetData\n}\n\nfunction getRuntimeOwnerLabel(instance: InternalRuntimeState) {\n const route = (instance as any).route\n if (typeof route === 'string' && route) {\n return route\n }\n const is = (instance as any).is\n if (typeof is === 'string' && is) {\n return is\n }\n return 'unknown'\n}\n\nexport function callNativeSetData(\n instance: InternalRuntimeState,\n setData: NativeSetData,\n payload: Record<string, any>,\n callback?: () => void,\n) {\n try {\n return callback\n ? setData.call(instance, payload, callback)\n : setData.call(instance, payload)\n }\n catch (error) {\n const owner = getRuntimeOwnerLabel(instance)\n throw new Error(`[wevu] setData failed (${owner}): ${error instanceof Error ? error.message : String(error)}`)\n }\n}\n\nexport function syncRuntimeProps(\n props: Record<string, any>,\n mpProperties: Record<string, any>,\n declaredPropKeys?: readonly string[],\n) {\n const declaredPropKeySet = declaredPropKeys ? new Set(declaredPropKeys) : undefined\n const currentKeys = Object.keys(props)\n for (const key of currentKeys) {\n if (!hasOwn(mpProperties, key) || (declaredPropKeySet && !declaredPropKeySet.has(key))) {\n try {\n delete props[key]\n }\n catch {\n // 忽略异常\n }\n }\n }\n const nextKeys = declaredPropKeys ?? Object.keys(mpProperties)\n for (const key of nextKeys) {\n if (hasOwn(mpProperties, key)) {\n props[key] = mpProperties[key]\n }\n }\n}\n\nexport function ensureRuntimeProps(\n target: InternalRuntimeState,\n runtimeState: Record<string, any>,\n mpProperties: Record<string, any> = ((target as any).properties || {}) as Record<string, any>,\n) {\n const runtimeProps = runtimeState && typeof runtimeState === 'object'\n ? ((runtimeState as any)[WEVU_PROPS_KEY] as Record<string, any> | undefined)\n : undefined\n const props = runtimeProps && typeof runtimeProps === 'object'\n ? runtimeProps\n : shallowReactive({}) as Record<string, any>\n\n const declaredPropKeys = Array.isArray((target as any)[WEVU_PROP_KEYS_KEY])\n ? ((target as any)[WEVU_PROP_KEYS_KEY] as string[])\n : undefined\n syncRuntimeProps(props, mpProperties, declaredPropKeys)\n if (runtimeState && typeof runtimeState === 'object') {\n attachRuntimeProxyProps(runtimeState, props)\n }\n try {\n Object.defineProperty(target, WEVU_PROPS_KEY, {\n value: props,\n configurable: true,\n enumerable: false,\n writable: true,\n })\n }\n catch {\n ;(target as any)[WEVU_PROPS_KEY] = props\n }\n\n return props\n}\n"],"mappings":";;;;;;AA8BA,SAAgB,wBAAwB,OAA4B,OAA4B;CAC9F,IAAI;EACF,OAAO,eAAe,OAAO,gBAAgB;GAC3C,OAAO;GACP,cAAc;GACd,YAAY;GACZ,UAAU;EACZ,CAAC;CACH,kBACM;EACH,AAAC,MAAc,kBAAkB;CACpC;AACF;AAEA,SAAgB,wBAAwB,OAA4B,YAAiC;CACnG,IAAI;EACF,OAAO,eAAe,OAAO,sBAAsB;GACjD,OAAO;GACP,cAAc;GACd,YAAY;GACZ,UAAU;EACZ,CAAC;CACH,mBACM;EACH,AAAC,MAAc,wBAAwB;CAC1C;AACF;AAEA,SAAgB,wBAAwB,OAA4B,UAAgC;CAClG,IAAI;EACF,OAAO,eAAe,OAAO,0BAA0B;GACrD,OAAO;GACP,cAAc;GACd,YAAY;GACZ,UAAU;EACZ,CAAC;CACH,mBACM;EACH,AAAC,MAAc,4BAA4B;CAC9C;AACF;AAEA,SAAgB,iBAAiB,OAA4B,SAAyC;CACpG,IAAI;EACF,OAAO,eAAe,OAAO,kBAAkB;GAC7C,OAAO;GACP,cAAc;GACd,YAAY;GACZ,UAAU;EACZ,CAAC;CACH,mBACM;EACH,AAAC,MAAc,oBAAoB;CACtC;AACF;AAEA,SAAgB,sBAAsB,SAAyC,UAAgC;CAC7G,IAAI;EACF,OAAO,eAAe,SAAgC,YAAY;GAChE,OAAO;GACP,cAAc;GACd,YAAY;GACZ,UAAU;EACZ,CAAC;CACH,mBACM;EACJ,IAAI;GACD,AAAC,QAAgC,WAAW;EAC/C,mBACM,CAEN;CACF;AACF;AAEA,SAAgB,qBAAqB,UAAgC;CACnE,MAAM,gBAAiB,SAAiB;CACxC,MAAM,gBAAgB,iBAAiB,OAAO,cAAc,YAAY,aACpE,cAAc,UACd;CACJ,IAAI,OAAO,kBAAkB,cAAc,CAAC,qBAAqB,aAAa,GAC5E,OAAO;CAGT,MAAM,YAAa,SAAiB;CACpC,IAAI,OAAO,cAAc,YACvB;CAEF,IAAI,qBAAqB,SAAS,GAChC;CAEF,OAAO;AACT;AAEA,SAAS,qBAAqB,UAAgC;CAC5D,MAAM,QAAS,SAAiB;CAChC,IAAI,OAAO,UAAU,YAAY,OAC/B,OAAO;CAET,MAAM,KAAM,SAAiB;CAC7B,IAAI,OAAO,OAAO,YAAY,IAC5B,OAAO;CAET,OAAO;AACT;AAEA,SAAgB,kBACd,UACA,SACA,SACA,UACA;CACA,IAAI;EACF,OAAO,WACH,QAAQ,KAAK,UAAU,SAAS,QAAQ,IACxC,QAAQ,KAAK,UAAU,OAAO;CACpC,SACO,OAAO;EACZ,MAAM,QAAQ,qBAAqB,QAAQ;EAC3C,MAAM,IAAI,MAAM,0BAA0B,MAAM,KAAK,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,GAAG;CAC/G;AACF;AAEA,SAAgB,iBACd,OACA,cACA,kBACA;CACA,MAAM,qBAAqB,mBAAmB,IAAI,IAAI,gBAAgB,IAAI;CAC1E,MAAM,cAAc,OAAO,KAAK,KAAK;CACrC,KAAK,MAAM,OAAO,aAChB,IAAI,CAAC,OAAO,cAAc,GAAG,KAAM,sBAAsB,CAAC,mBAAmB,IAAI,GAAG,GAClF,IAAI;EACF,OAAO,MAAM;CACf,mBACM,CAEN;CAGJ,MAAM,WAAW,8EAAoB,OAAO,KAAK,YAAY;CAC7D,KAAK,MAAM,OAAO,UAChB,IAAI,OAAO,cAAc,GAAG,GAC1B,MAAM,OAAO,aAAa;AAGhC;AAEA,SAAgB,mBACd,QACA,cACA,eAAsC,OAAe,cAAc,CAAC,GACpE;CACA,MAAM,eAAe,gBAAgB,OAAO,iBAAiB,WACvD,aAAqB,kBACvB;CACJ,MAAM,QAAQ,gBAAgB,OAAO,iBAAiB,WAClD,eACA,gBAAgB,CAAC,CAAC;CAKtB,iBAAiB,OAAO,cAHC,MAAM,QAAS,OAAe,mBAAmB,IACpE,OAAe,sBACjB,MACkD;CACtD,IAAI,gBAAgB,OAAO,iBAAiB,UAC1C,wBAAwB,cAAc,KAAK;CAE7C,IAAI;EACF,OAAO,eAAe,QAAQ,gBAAgB;GAC5C,OAAO;GACP,cAAc;GACd,YAAY;GACZ,UAAU;EACZ,CAAC;CACH,mBACM;EACH,AAAC,OAAe,kBAAkB;CACrC;CAEA,OAAO;AACT"}
1
+ {"version":3,"file":"utils.mjs","names":[],"sources":["../../../../../src/runtime/register/runtimeInstance/utils.ts"],"sourcesContent":["import type { SetDataAdapterSettler, SetDataPayload } from '../../app/setData/commitTracker'\nimport type {\n InternalRuntimeState,\n MiniProgramAdapter,\n RuntimeInstance,\n SetupContextNativeInstance,\n} from '../../types'\nimport {\n WEVU_NATIVE_INSTANCE_KEY,\n WEVU_PROP_KEYS_KEY,\n WEVU_PROPS_KEY,\n WEVU_RUNTIME_KEY,\n WEVU_SETUP_CONTEXT_INSTANCE_KEY,\n WEVU_SETUP_STATE_KEY,\n} from '@weapp-core/constants'\nimport { shallowReactive } from '../../../reactivity'\nimport { hasOwn } from '../../../utils'\nimport { isNativeBridgeMethod } from '../../nativeBridge'\n\nexport type AdapterWithSetData = Omit<Required<MiniProgramAdapter>, 'setData'> & {\n setData: (payload: Record<string, any>, callback?: () => void) => void | Promise<void> | undefined\n __wevu_dispatchSetData: (payload: SetDataPayload, settle: SetDataAdapterSettler) => void\n __wevu_enableSetData?: (discardPending?: boolean) => void\n __wevu_setVisibility?: (visible: boolean) => void\n __wevu_reportSetDataError?: (error: Error) => void\n __wevu_disposeSetData?: () => void\n}\n\nexport type NativeSetData = (payload: Record<string, any>, callback?: () => void) => void | Promise<void> | undefined\n\nexport function attachRuntimeProxyProps(state: Record<string, any>, props: Record<string, any>) {\n try {\n Object.defineProperty(state, WEVU_PROPS_KEY, {\n value: props,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n }\n catch {\n ;(state as any)[WEVU_PROPS_KEY] = props\n }\n}\n\nexport function attachRuntimeSetupState(state: Record<string, any>, setupState: Record<string, any>) {\n try {\n Object.defineProperty(state, WEVU_SETUP_STATE_KEY, {\n value: setupState,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n }\n catch {\n ;(state as any)[WEVU_SETUP_STATE_KEY] = setupState\n }\n}\n\nexport function attachNativeInstanceRef(state: Record<string, any>, instance: InternalRuntimeState) {\n try {\n Object.defineProperty(state, WEVU_NATIVE_INSTANCE_KEY, {\n value: instance,\n configurable: true,\n enumerable: false,\n writable: true,\n })\n }\n catch {\n ;(state as any)[WEVU_NATIVE_INSTANCE_KEY] = instance\n }\n}\n\nexport function attachRuntimeRef(state: Record<string, any>, runtime: RuntimeInstance<any, any, any>) {\n try {\n Object.defineProperty(state, WEVU_RUNTIME_KEY, {\n value: runtime,\n configurable: true,\n enumerable: false,\n writable: true,\n })\n }\n catch {\n ;(state as any)[WEVU_RUNTIME_KEY] = runtime\n }\n}\n\nexport function attachRuntimeInstance(runtime: RuntimeInstance<any, any, any>, instance: InternalRuntimeState) {\n try {\n Object.defineProperty(runtime as Record<string, any>, 'instance', {\n value: instance,\n configurable: true,\n enumerable: false,\n writable: true,\n })\n }\n catch {\n try {\n ;(runtime as Record<string, any>).instance = instance\n }\n catch {\n // 忽略冻结对象写入失败\n }\n }\n}\n\nexport function resolveNativeSetData(instance: InternalRuntimeState) {\n const setupInstance = (instance as any)[WEVU_SETUP_CONTEXT_INSTANCE_KEY] as SetupContextNativeInstance | undefined\n const setupOverride = setupInstance && typeof setupInstance.setData === 'function'\n ? setupInstance.setData\n : undefined\n if (typeof setupOverride === 'function' && !isNativeBridgeMethod(setupOverride)) {\n return setupOverride as NativeSetData\n }\n\n const candidate = (instance as any).setData\n if (typeof candidate !== 'function') {\n return undefined\n }\n if (isNativeBridgeMethod(candidate)) {\n return undefined\n }\n return candidate as NativeSetData\n}\n\nfunction getRuntimeOwnerLabel(instance: InternalRuntimeState) {\n const route = (instance as any).route\n if (typeof route === 'string' && route) {\n return route\n }\n const is = (instance as any).is\n if (typeof is === 'string' && is) {\n return is\n }\n return 'unknown'\n}\n\nexport function callNativeSetData(\n instance: InternalRuntimeState,\n setData: NativeSetData,\n payload: Record<string, any>,\n callback?: () => void,\n) {\n try {\n return callback\n ? setData.call(instance, payload, callback)\n : setData.call(instance, payload)\n }\n catch (error) {\n const owner = getRuntimeOwnerLabel(instance)\n throw new Error(`[wevu] setData failed (${owner}): ${error instanceof Error ? error.message : String(error)}`)\n }\n}\n\nexport function syncRuntimeProps(\n props: Record<string, any>,\n mpProperties: Record<string, any>,\n declaredPropKeys?: readonly string[],\n) {\n const declaredPropKeySet = declaredPropKeys ? new Set(declaredPropKeys) : undefined\n const currentKeys = Object.keys(props)\n for (const key of currentKeys) {\n if (!hasOwn(mpProperties, key) || (declaredPropKeySet && !declaredPropKeySet.has(key))) {\n try {\n delete props[key]\n }\n catch {\n // 忽略异常\n }\n }\n }\n const nextKeys = declaredPropKeys ?? Object.keys(mpProperties)\n for (const key of nextKeys) {\n if (hasOwn(mpProperties, key)) {\n props[key] = mpProperties[key]\n }\n }\n}\n\nexport function ensureRuntimeProps(\n target: InternalRuntimeState,\n runtimeState: Record<string, any>,\n mpProperties: Record<string, any> = ((target as any).properties || {}) as Record<string, any>,\n) {\n const runtimeProps = runtimeState && typeof runtimeState === 'object'\n ? ((runtimeState as any)[WEVU_PROPS_KEY] as Record<string, any> | undefined)\n : undefined\n const props = runtimeProps && typeof runtimeProps === 'object'\n ? runtimeProps\n : shallowReactive({}) as Record<string, any>\n\n const declaredPropKeys = Array.isArray((target as any)[WEVU_PROP_KEYS_KEY])\n ? ((target as any)[WEVU_PROP_KEYS_KEY] as string[])\n : undefined\n syncRuntimeProps(props, mpProperties, declaredPropKeys)\n if (runtimeState && typeof runtimeState === 'object') {\n attachRuntimeProxyProps(runtimeState, props)\n }\n try {\n Object.defineProperty(target, WEVU_PROPS_KEY, {\n value: props,\n configurable: true,\n enumerable: false,\n writable: true,\n })\n }\n catch {\n ;(target as any)[WEVU_PROPS_KEY] = props\n }\n\n return props\n}\n"],"mappings":"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"}