wevu 6.18.6 → 6.19.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 (585) hide show
  1. package/dist/_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/defineProperty.mjs +1 -0
  2. package/dist/_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/toPrimitive.mjs +1 -0
  3. package/dist/_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/toPropertyKey.mjs +1 -0
  4. package/dist/_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/typeof.mjs +1 -0
  5. package/dist/{rolldown-runtime-CenpyGzJ.mjs → _virtual/_rolldown/runtime.mjs} +1 -1
  6. package/dist/dev/_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/defineProperty.mjs +14 -0
  7. package/dist/dev/_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/toPrimitive.mjs +16 -0
  8. package/dist/dev/_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/toPropertyKey.mjs +11 -0
  9. package/dist/dev/_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/typeof.mjs +12 -0
  10. package/dist/dev/{rolldown-runtime-BUUfjzRC.mjs → _virtual/_rolldown/runtime.mjs} +1 -1
  11. package/dist/dev/index.mjs +49 -10
  12. package/dist/dev/internal-reactivity.mjs +15 -5
  13. package/dist/dev/internal-runtime.mjs +32 -4
  14. package/dist/dev/internal-template.mjs +1 -1
  15. package/dist/dev/package.mjs +6 -0
  16. package/dist/dev/package.mjs.map +1 -0
  17. package/dist/dev/reactivity/computed.mjs +49 -0
  18. package/dist/dev/reactivity/computed.mjs.map +1 -0
  19. package/dist/dev/reactivity/core.mjs +184 -0
  20. package/dist/dev/reactivity/core.mjs.map +1 -0
  21. package/dist/dev/reactivity/reactive/mutation.mjs +12 -0
  22. package/dist/dev/reactivity/reactive/mutation.mjs.map +1 -0
  23. package/dist/dev/{computed-BxRsUJgi.mjs → reactivity/reactive/patch.mjs} +6 -48
  24. package/dist/dev/reactivity/reactive/patch.mjs.map +1 -0
  25. package/dist/dev/reactivity/reactive/patchState.mjs +138 -0
  26. package/dist/dev/reactivity/reactive/patchState.mjs.map +1 -0
  27. package/dist/dev/reactivity/reactive/shallow.mjs +77 -0
  28. package/dist/dev/reactivity/reactive/shallow.mjs.map +1 -0
  29. package/dist/dev/reactivity/reactive/shared.mjs +40 -0
  30. package/dist/dev/reactivity/reactive/shared.mjs.map +1 -0
  31. package/dist/dev/reactivity/reactive/state.mjs +8 -0
  32. package/dist/dev/reactivity/reactive/state.mjs.map +1 -0
  33. package/dist/dev/reactivity/reactive.mjs +212 -0
  34. package/dist/dev/reactivity/reactive.mjs.map +1 -0
  35. package/dist/dev/reactivity/readonly.mjs +69 -0
  36. package/dist/dev/reactivity/readonly.mjs.map +1 -0
  37. package/dist/dev/reactivity/ref.mjs +97 -0
  38. package/dist/dev/reactivity/ref.mjs.map +1 -0
  39. package/dist/dev/reactivity/shallowRef.mjs +71 -0
  40. package/dist/dev/reactivity/shallowRef.mjs.map +1 -0
  41. package/dist/dev/{toRefs-D06VmFK2.mjs → reactivity/toRefs.mjs} +4 -3
  42. package/dist/dev/reactivity/toRefs.mjs.map +1 -0
  43. package/dist/dev/reactivity/traverse.mjs +40 -0
  44. package/dist/dev/reactivity/traverse.mjs.map +1 -0
  45. package/dist/dev/reactivity/watch/helpers.mjs +78 -0
  46. package/dist/dev/reactivity/watch/helpers.mjs.map +1 -0
  47. package/dist/dev/reactivity/watch/types.mjs +20 -0
  48. package/dist/dev/reactivity/watch/types.mjs.map +1 -0
  49. package/dist/dev/reactivity/watch.mjs +167 -0
  50. package/dist/dev/reactivity/watch.mjs.map +1 -0
  51. package/dist/dev/router/backNavigation.mjs +32 -0
  52. package/dist/dev/router/backNavigation.mjs.map +1 -0
  53. package/dist/dev/router/createRouter.mjs +176 -0
  54. package/dist/dev/router/createRouter.mjs.map +1 -0
  55. package/dist/dev/router/instance.mjs +17 -0
  56. package/dist/dev/router/instance.mjs.map +1 -0
  57. package/dist/dev/router/navigationApi.mjs +94 -0
  58. package/dist/dev/router/navigationApi.mjs.map +1 -0
  59. package/dist/dev/router/navigationCore.mjs +139 -0
  60. package/dist/dev/router/navigationCore.mjs.map +1 -0
  61. package/dist/dev/router/navigationResult.mjs +54 -0
  62. package/dist/dev/router/navigationResult.mjs.map +1 -0
  63. package/dist/dev/router/navigationTarget.mjs +121 -0
  64. package/dist/dev/router/navigationTarget.mjs.map +1 -0
  65. package/dist/dev/router/navigationTargetHelpers.mjs +38 -0
  66. package/dist/dev/router/navigationTargetHelpers.mjs.map +1 -0
  67. package/dist/dev/router/resolve.mjs +22 -0
  68. package/dist/dev/router/resolve.mjs.map +1 -0
  69. package/dist/dev/router/routeRegistry.mjs +78 -0
  70. package/dist/dev/router/routeRegistry.mjs.map +1 -0
  71. package/dist/dev/router/routeSync.mjs +72 -0
  72. package/dist/dev/router/routeSync.mjs.map +1 -0
  73. package/dist/dev/router/types.mjs +11 -0
  74. package/dist/dev/router/types.mjs.map +1 -0
  75. package/dist/dev/router/useRoute.mjs +106 -0
  76. package/dist/dev/router/useRoute.mjs.map +1 -0
  77. package/dist/dev/router/useRouter.mjs +15 -0
  78. package/dist/dev/router/useRouter.mjs.map +1 -0
  79. package/dist/dev/router.mjs +9 -1316
  80. package/dist/dev/routerInternal/location.mjs +66 -0
  81. package/dist/dev/routerInternal/location.mjs.map +1 -0
  82. package/dist/dev/routerInternal/matching.mjs +149 -0
  83. package/dist/dev/routerInternal/matching.mjs.map +1 -0
  84. package/dist/dev/routerInternal/params.mjs +95 -0
  85. package/dist/dev/routerInternal/params.mjs.map +1 -0
  86. package/dist/dev/routerInternal/path.mjs +42 -0
  87. package/dist/dev/routerInternal/path.mjs.map +1 -0
  88. package/dist/dev/routerInternal/query.mjs +113 -0
  89. package/dist/dev/routerInternal/query.mjs.map +1 -0
  90. package/dist/dev/routerInternal/records.mjs +172 -0
  91. package/dist/dev/routerInternal/records.mjs.map +1 -0
  92. package/dist/dev/routerInternal/recordsWarnings.mjs +49 -0
  93. package/dist/dev/routerInternal/recordsWarnings.mjs.map +1 -0
  94. package/dist/dev/routerInternal/snapshots.mjs +126 -0
  95. package/dist/dev/routerInternal/snapshots.mjs.map +1 -0
  96. package/dist/dev/runtime/app/computed.mjs +68 -0
  97. package/dist/dev/runtime/app/computed.mjs.map +1 -0
  98. package/dist/dev/runtime/app/context.mjs +275 -0
  99. package/dist/dev/runtime/app/context.mjs.map +1 -0
  100. package/dist/dev/runtime/app/diagnostics.mjs +34 -0
  101. package/dist/dev/runtime/app/diagnostics.mjs.map +1 -0
  102. package/dist/dev/runtime/app/mount.mjs +269 -0
  103. package/dist/dev/runtime/app/mount.mjs.map +1 -0
  104. package/dist/dev/runtime/app/pending.mjs +14 -0
  105. package/dist/dev/runtime/app/pending.mjs.map +1 -0
  106. package/dist/dev/runtime/app/setData/patchScheduler.mjs +158 -0
  107. package/dist/dev/runtime/app/setData/patchScheduler.mjs.map +1 -0
  108. package/dist/dev/runtime/app/setData/payload.mjs +161 -0
  109. package/dist/dev/runtime/app/setData/payload.mjs.map +1 -0
  110. package/dist/dev/runtime/app/setData/scheduler.mjs +313 -0
  111. package/dist/dev/runtime/app/setData/scheduler.mjs.map +1 -0
  112. package/dist/dev/runtime/app/setData/snapshot.mjs +129 -0
  113. package/dist/dev/runtime/app/setData/snapshot.mjs.map +1 -0
  114. package/dist/dev/runtime/app/setDataOptions.mjs +73 -0
  115. package/dist/dev/runtime/app/setDataOptions.mjs.map +1 -0
  116. package/dist/dev/runtime/app.mjs +93 -0
  117. package/dist/dev/runtime/app.mjs.map +1 -0
  118. package/dist/dev/runtime/bindModel.mjs +92 -0
  119. package/dist/dev/runtime/bindModel.mjs.map +1 -0
  120. package/dist/dev/runtime/defaults.mjs +61 -0
  121. package/dist/dev/runtime/defaults.mjs.map +1 -0
  122. package/dist/dev/runtime/define/initialComputed.mjs +125 -0
  123. package/dist/dev/runtime/define/initialComputed.mjs.map +1 -0
  124. package/dist/dev/runtime/define/options.mjs +169 -0
  125. package/dist/dev/runtime/define/options.mjs.map +1 -0
  126. package/dist/dev/runtime/define/optionsApi.mjs +48 -0
  127. package/dist/dev/runtime/define/optionsApi.mjs.map +1 -0
  128. package/dist/dev/runtime/define/props.mjs +194 -0
  129. package/dist/dev/runtime/define/props.mjs.map +1 -0
  130. package/dist/dev/runtime/define/scopedSlotOptions.mjs +313 -0
  131. package/dist/dev/runtime/define/scopedSlotOptions.mjs.map +1 -0
  132. package/dist/dev/runtime/define/setupResult.mjs +78 -0
  133. package/dist/dev/runtime/define/setupResult.mjs.map +1 -0
  134. package/dist/dev/runtime/define.mjs +140 -0
  135. package/dist/dev/runtime/define.mjs.map +1 -0
  136. package/dist/dev/runtime/diff.mjs +193 -0
  137. package/dist/dev/runtime/diff.mjs.map +1 -0
  138. package/dist/dev/runtime/disposables.mjs +81 -0
  139. package/dist/dev/runtime/disposables.mjs.map +1 -0
  140. package/dist/dev/runtime/elementIntersectionObserver.mjs +80 -0
  141. package/dist/dev/runtime/elementIntersectionObserver.mjs.map +1 -0
  142. package/dist/dev/runtime/emit.mjs +36 -0
  143. package/dist/dev/runtime/emit.mjs.map +1 -0
  144. package/dist/dev/{base-CYkvI7w8.mjs → runtime/hooks/base.mjs} +3 -140
  145. package/dist/dev/runtime/hooks/base.mjs.map +1 -0
  146. package/dist/dev/runtime/hooks/register.mjs +92 -0
  147. package/dist/dev/runtime/hooks/register.mjs.map +1 -0
  148. package/dist/dev/runtime/hooks/vue.mjs +81 -0
  149. package/dist/dev/runtime/hooks/vue.mjs.map +1 -0
  150. package/dist/dev/runtime/internal.mjs +18 -0
  151. package/dist/dev/runtime/internal.mjs.map +1 -0
  152. package/dist/dev/runtime/intersectionObserver.mjs +46 -0
  153. package/dist/dev/runtime/intersectionObserver.mjs.map +1 -0
  154. package/dist/dev/runtime/layoutBridge.mjs +303 -0
  155. package/dist/dev/runtime/layoutBridge.mjs.map +1 -0
  156. package/dist/dev/runtime/layoutComponentMatcher.mjs +11 -0
  157. package/dist/dev/runtime/layoutComponentMatcher.mjs.map +1 -0
  158. package/dist/dev/runtime/nativeBridge.mjs +21 -0
  159. package/dist/dev/runtime/nativeBridge.mjs.map +1 -0
  160. package/dist/dev/runtime/noSetData.mjs +18 -0
  161. package/dist/dev/runtime/noSetData.mjs.map +1 -0
  162. package/dist/dev/runtime/pageEnvironment.mjs +100 -0
  163. package/dist/dev/runtime/pageEnvironment.mjs.map +1 -0
  164. package/dist/dev/runtime/pageLayout.mjs +71 -0
  165. package/dist/dev/runtime/pageLayout.mjs.map +1 -0
  166. package/dist/dev/runtime/pageScroll.mjs +110 -0
  167. package/dist/dev/runtime/pageScroll.mjs.map +1 -0
  168. package/dist/dev/runtime/platform.mjs +77 -0
  169. package/dist/dev/runtime/platform.mjs.map +1 -0
  170. package/dist/dev/runtime/provide.mjs +71 -0
  171. package/dist/dev/runtime/provide.mjs.map +1 -0
  172. package/dist/dev/runtime/provideContext.mjs +101 -0
  173. package/dist/dev/runtime/provideContext.mjs.map +1 -0
  174. package/dist/dev/runtime/provideStore.mjs +18 -0
  175. package/dist/dev/runtime/provideStore.mjs.map +1 -0
  176. package/dist/dev/runtime/pullDownRefresh.mjs +24 -0
  177. package/dist/dev/runtime/pullDownRefresh.mjs.map +1 -0
  178. package/dist/dev/runtime/register/app.mjs +159 -0
  179. package/dist/dev/runtime/register/app.mjs.map +1 -0
  180. package/dist/dev/runtime/register/component/features.mjs +43 -0
  181. package/dist/dev/runtime/register/component/features.mjs.map +1 -0
  182. package/dist/dev/runtime/register/component/lifecycle/optionalHooks.mjs +64 -0
  183. package/dist/dev/runtime/register/component/lifecycle/optionalHooks.mjs.map +1 -0
  184. package/dist/dev/runtime/register/component/lifecycle/platform.mjs +95 -0
  185. package/dist/dev/runtime/register/component/lifecycle/platform.mjs.map +1 -0
  186. package/dist/dev/runtime/register/component/lifecycle.mjs +122 -0
  187. package/dist/dev/runtime/register/component/lifecycle.mjs.map +1 -0
  188. package/dist/dev/runtime/register/component/methods.mjs +80 -0
  189. package/dist/dev/runtime/register/component/methods.mjs.map +1 -0
  190. package/dist/dev/runtime/register/component/options.mjs +204 -0
  191. package/dist/dev/runtime/register/component/options.mjs.map +1 -0
  192. package/dist/dev/runtime/register/component/props.mjs +218 -0
  193. package/dist/dev/runtime/register/component/props.mjs.map +1 -0
  194. package/dist/dev/runtime/register/component/registerDefinition.mjs +290 -0
  195. package/dist/dev/runtime/register/component/registerDefinition.mjs.map +1 -0
  196. package/dist/dev/runtime/register/component.mjs +128 -0
  197. package/dist/dev/runtime/register/component.mjs.map +1 -0
  198. package/dist/dev/runtime/register/inline.mjs +145 -0
  199. package/dist/dev/runtime/register/inline.mjs.map +1 -0
  200. package/dist/dev/runtime/register/runtimeInstance/methodBridge.mjs +53 -0
  201. package/dist/dev/runtime/register/runtimeInstance/methodBridge.mjs.map +1 -0
  202. package/dist/dev/runtime/register/runtimeInstance/provideContext.mjs +34 -0
  203. package/dist/dev/runtime/register/runtimeInstance/provideContext.mjs.map +1 -0
  204. package/dist/dev/runtime/register/runtimeInstance/setupContext.mjs +230 -0
  205. package/dist/dev/runtime/register/runtimeInstance/setupContext.mjs.map +1 -0
  206. package/dist/dev/runtime/register/runtimeInstance/setupPhase.mjs +164 -0
  207. package/dist/dev/runtime/register/runtimeInstance/setupPhase.mjs.map +1 -0
  208. package/dist/dev/runtime/register/runtimeInstance/utils.mjs +122 -0
  209. package/dist/dev/runtime/register/runtimeInstance/utils.mjs.map +1 -0
  210. package/dist/dev/runtime/register/runtimeInstance.mjs +438 -0
  211. package/dist/dev/runtime/register/runtimeInstance.mjs.map +1 -0
  212. package/dist/dev/runtime/register/setDataFrequencyWarning.mjs +95 -0
  213. package/dist/dev/runtime/register/setDataFrequencyWarning.mjs.map +1 -0
  214. package/dist/dev/runtime/register/setup.mjs +22 -0
  215. package/dist/dev/runtime/register/setup.mjs.map +1 -0
  216. package/dist/dev/runtime/register/snapshot.mjs +17 -0
  217. package/dist/dev/runtime/register/snapshot.mjs.map +1 -0
  218. package/dist/dev/runtime/register/watch.mjs +57 -0
  219. package/dist/dev/runtime/register/watch.mjs.map +1 -0
  220. package/dist/dev/runtime/scopedSlots.mjs +115 -0
  221. package/dist/dev/runtime/scopedSlots.mjs.map +1 -0
  222. package/dist/dev/runtime/selectorQuery.mjs +49 -0
  223. package/dist/dev/runtime/selectorQuery.mjs.map +1 -0
  224. package/dist/dev/runtime/setupTracking.mjs +59 -0
  225. package/dist/dev/runtime/setupTracking.mjs.map +1 -0
  226. package/dist/dev/{template-n_iVr0ey.mjs → runtime/template.mjs} +7 -4
  227. package/dist/dev/runtime/template.mjs.map +1 -0
  228. package/dist/dev/runtime/templateRefs/helpers.mjs +254 -0
  229. package/dist/dev/runtime/templateRefs/helpers.mjs.map +1 -0
  230. package/dist/dev/runtime/templateRefs.mjs +162 -0
  231. package/dist/dev/runtime/templateRefs.mjs.map +1 -0
  232. package/dist/dev/runtime/uniAppHost.mjs +119 -0
  233. package/dist/dev/runtime/uniAppHost.mjs.map +1 -0
  234. package/dist/dev/runtime/updatePerformance.mjs +41 -0
  235. package/dist/dev/runtime/updatePerformance.mjs.map +1 -0
  236. package/dist/dev/runtime/use.mjs +25 -0
  237. package/dist/dev/runtime/use.mjs.map +1 -0
  238. package/dist/dev/runtime/vueCompat/context.mjs +25 -0
  239. package/dist/dev/runtime/vueCompat/context.mjs.map +1 -0
  240. package/dist/dev/runtime/vueCompat/model.mjs +118 -0
  241. package/dist/dev/runtime/vueCompat/model.mjs.map +1 -0
  242. package/dist/dev/runtime/vueCompat/router.mjs +124 -0
  243. package/dist/dev/runtime/vueCompat/router.mjs.map +1 -0
  244. package/dist/dev/runtime/vueCompat/templateRef.mjs +37 -0
  245. package/dist/dev/runtime/vueCompat/templateRef.mjs.map +1 -0
  246. package/dist/dev/scheduler.mjs +75 -0
  247. package/dist/dev/scheduler.mjs.map +1 -0
  248. package/dist/dev/store/actions.mjs +40 -0
  249. package/dist/dev/store/actions.mjs.map +1 -0
  250. package/dist/dev/store/base.mjs +56 -0
  251. package/dist/dev/store/base.mjs.map +1 -0
  252. package/dist/dev/store/define/optionsStyle.mjs +125 -0
  253. package/dist/dev/store/define/optionsStyle.mjs.map +1 -0
  254. package/dist/dev/store/define/setupStyle.mjs +145 -0
  255. package/dist/dev/store/define/setupStyle.mjs.map +1 -0
  256. package/dist/dev/store/define/shared.mjs +38 -0
  257. package/dist/dev/store/define/shared.mjs.map +1 -0
  258. package/dist/dev/store/define.mjs +23 -0
  259. package/dist/dev/store/define.mjs.map +1 -0
  260. package/dist/dev/store/manager.mjs +21 -0
  261. package/dist/dev/store/manager.mjs.map +1 -0
  262. package/dist/dev/store/storeToRefs.mjs +29 -0
  263. package/dist/dev/store/storeToRefs.mjs.map +1 -0
  264. package/dist/dev/store/utils.mjs +49 -0
  265. package/dist/dev/store/utils.mjs.map +1 -0
  266. package/dist/dev/store.mjs +3 -1
  267. package/dist/dev/utils.mjs +16 -0
  268. package/dist/dev/utils.mjs.map +1 -0
  269. package/dist/dev/version.mjs +8 -0
  270. package/dist/dev/version.mjs.map +1 -0
  271. package/dist/dev/vue-demi.mjs +49 -11
  272. package/dist/dev/vue-demi.mjs.map +1 -1
  273. package/dist/index.d.mts +71 -7
  274. package/dist/index.mjs +1 -1
  275. package/dist/internal-reactivity.d.mts +16 -2
  276. package/dist/internal-reactivity.mjs +1 -1
  277. package/dist/internal-runtime.d.mts +35 -2
  278. package/dist/internal-runtime.mjs +1 -1
  279. package/dist/internal-template.d.mts +1 -1
  280. package/dist/internal-template.mjs +1 -1
  281. package/dist/jsx-runtime.d.mts +1 -1
  282. package/dist/macros/shared.d.mts +81 -0
  283. package/dist/macros.d.mts +70 -0
  284. package/dist/package.mjs +1 -0
  285. package/dist/reactivity/computed.d.mts +21 -0
  286. package/dist/reactivity/computed.mjs +1 -0
  287. package/dist/reactivity/core.d.mts +34 -0
  288. package/dist/reactivity/core.mjs +1 -0
  289. package/dist/reactivity/index.d.mts +15 -0
  290. package/dist/reactivity/reactive/mutation.d.mts +21 -0
  291. package/dist/reactivity/reactive/mutation.mjs +1 -0
  292. package/dist/reactivity/reactive/patch.d.mts +18 -0
  293. package/dist/reactivity/reactive/patch.mjs +1 -0
  294. package/dist/reactivity/reactive/patchState.mjs +1 -0
  295. package/dist/reactivity/reactive/shallow.d.mts +22 -0
  296. package/dist/reactivity/reactive/shallow.mjs +1 -0
  297. package/dist/reactivity/reactive/shared.d.mts +4 -0
  298. package/dist/reactivity/reactive/shared.mjs +1 -0
  299. package/dist/reactivity/reactive/state.mjs +1 -0
  300. package/dist/reactivity/reactive.d.mts +41 -0
  301. package/dist/reactivity/reactive.mjs +1 -0
  302. package/dist/reactivity/readonly.d.mts +27 -0
  303. package/dist/reactivity/readonly.mjs +1 -0
  304. package/dist/reactivity/ref.d.mts +27 -0
  305. package/dist/reactivity/ref.mjs +1 -0
  306. package/dist/reactivity/shallowRef.d.mts +19 -0
  307. package/dist/reactivity/shallowRef.mjs +1 -0
  308. package/dist/reactivity/toRefs.d.mts +43 -0
  309. package/dist/reactivity/toRefs.mjs +1 -0
  310. package/dist/reactivity/traverse.d.mts +8 -0
  311. package/dist/reactivity/traverse.mjs +1 -0
  312. package/dist/reactivity/watch/helpers.mjs +1 -0
  313. package/dist/reactivity/watch/types.d.mts +43 -0
  314. package/dist/reactivity/watch/types.mjs +1 -0
  315. package/dist/reactivity/watch.d.mts +21 -0
  316. package/dist/reactivity/watch.mjs +1 -0
  317. package/dist/router/backNavigation.mjs +1 -0
  318. package/dist/router/createRouter.d.mts +8 -0
  319. package/dist/router/createRouter.mjs +1 -0
  320. package/dist/router/instance.mjs +1 -0
  321. package/dist/router/navigationApi.mjs +1 -0
  322. package/dist/router/navigationCore.d.mts +6 -0
  323. package/dist/router/navigationCore.mjs +1 -0
  324. package/dist/router/navigationResult.mjs +1 -0
  325. package/dist/router/navigationTarget.mjs +1 -0
  326. package/dist/router/navigationTargetHelpers.mjs +1 -0
  327. package/dist/router/resolve.d.mts +6 -0
  328. package/dist/router/resolve.mjs +1 -0
  329. package/dist/router/routeRegistry.mjs +1 -0
  330. package/dist/router/routeSync.d.mts +1 -0
  331. package/dist/router/routeSync.mjs +1 -0
  332. package/dist/router/types.d.mts +163 -0
  333. package/dist/router/types.mjs +1 -0
  334. package/dist/router/useRoute.d.mts +19 -0
  335. package/dist/router/useRoute.mjs +1 -0
  336. package/dist/router/useRouter.d.mts +8 -0
  337. package/dist/router/useRouter.mjs +1 -0
  338. package/dist/router.d.mts +9 -204
  339. package/dist/router.mjs +1 -1
  340. package/dist/routerInternal/location.mjs +1 -0
  341. package/dist/routerInternal/matching.mjs +1 -0
  342. package/dist/routerInternal/params.mjs +1 -0
  343. package/dist/routerInternal/path.mjs +1 -0
  344. package/dist/routerInternal/query.d.mts +7 -0
  345. package/dist/routerInternal/query.mjs +1 -0
  346. package/dist/routerInternal/records.mjs +1 -0
  347. package/dist/routerInternal/recordsWarnings.mjs +1 -0
  348. package/dist/routerInternal/snapshots.mjs +1 -0
  349. package/dist/routerInternal/types.d.mts +9 -0
  350. package/dist/runtime/app/computed.mjs +1 -0
  351. package/dist/runtime/app/context.mjs +1 -0
  352. package/dist/runtime/app/diagnostics.mjs +1 -0
  353. package/dist/runtime/app/mount.mjs +1 -0
  354. package/dist/runtime/app/pending.d.mts +10 -0
  355. package/dist/runtime/app/pending.mjs +1 -0
  356. package/dist/runtime/app/setData/patchScheduler.mjs +1 -0
  357. package/dist/runtime/app/setData/payload.mjs +1 -0
  358. package/dist/runtime/app/setData/scheduler.mjs +1 -0
  359. package/dist/runtime/app/setData/snapshot.mjs +1 -0
  360. package/dist/runtime/app/setDataOptions.mjs +1 -0
  361. package/dist/runtime/app.d.mts +8 -0
  362. package/dist/runtime/app.mjs +1 -0
  363. package/dist/runtime/bindModel.mjs +1 -0
  364. package/dist/runtime/defaults.d.mts +11 -0
  365. package/dist/runtime/defaults.mjs +1 -0
  366. package/dist/runtime/define/initialComputed.mjs +1 -0
  367. package/dist/runtime/define/options.mjs +1 -0
  368. package/dist/runtime/define/optionsApi.mjs +1 -0
  369. package/dist/runtime/define/props.mjs +1 -0
  370. package/dist/runtime/define/scopedSlotOptions.mjs +1 -0
  371. package/dist/runtime/define/setupResult.mjs +1 -0
  372. package/dist/runtime/define.d.mts +105 -0
  373. package/dist/runtime/define.mjs +1 -0
  374. package/dist/runtime/diff.mjs +1 -0
  375. package/dist/runtime/disposables.d.mts +31 -0
  376. package/dist/runtime/disposables.mjs +1 -0
  377. package/dist/runtime/elementIntersectionObserver.d.mts +26 -0
  378. package/dist/runtime/elementIntersectionObserver.mjs +1 -0
  379. package/dist/runtime/emit.mjs +1 -0
  380. package/dist/runtime/hooks/base.d.mts +27 -0
  381. package/dist/runtime/hooks/base.mjs +1 -0
  382. package/dist/runtime/hooks/register.d.mts +30 -0
  383. package/dist/runtime/hooks/register.mjs +1 -0
  384. package/dist/runtime/hooks/vue.d.mts +53 -0
  385. package/dist/runtime/hooks/vue.mjs +1 -0
  386. package/dist/runtime/hooks.d.mts +4 -0
  387. package/dist/runtime/index.d.mts +47 -0
  388. package/dist/runtime/internal.mjs +1 -0
  389. package/dist/runtime/intersectionObserver.d.mts +14 -0
  390. package/dist/runtime/intersectionObserver.mjs +1 -0
  391. package/dist/runtime/layoutBridge.d.mts +59 -0
  392. package/dist/runtime/layoutBridge.mjs +1 -0
  393. package/dist/runtime/layoutComponentMatcher.mjs +1 -0
  394. package/dist/runtime/nativeBridge.mjs +1 -0
  395. package/dist/runtime/noSetData.d.mts +5 -0
  396. package/dist/runtime/noSetData.mjs +1 -0
  397. package/dist/runtime/pageEnvironment.d.mts +50 -0
  398. package/dist/runtime/pageEnvironment.mjs +1 -0
  399. package/dist/runtime/pageLayout.d.mts +26 -0
  400. package/dist/runtime/pageLayout.mjs +1 -0
  401. package/dist/runtime/pageScroll.d.mts +29 -0
  402. package/dist/runtime/pageScroll.mjs +1 -0
  403. package/dist/runtime/platform.mjs +1 -0
  404. package/dist/runtime/provide.d.mts +59 -0
  405. package/dist/runtime/provide.mjs +1 -0
  406. package/dist/runtime/provideContext.mjs +1 -0
  407. package/dist/runtime/provideStore.d.mts +7 -0
  408. package/dist/runtime/provideStore.mjs +1 -0
  409. package/dist/runtime/pullDownRefresh.d.mts +12 -0
  410. package/dist/runtime/pullDownRefresh.mjs +1 -0
  411. package/dist/runtime/register/app.d.mts +14 -0
  412. package/dist/runtime/register/app.mjs +1 -0
  413. package/dist/runtime/register/component/features.mjs +1 -0
  414. package/dist/runtime/register/component/lifecycle/optionalHooks.mjs +1 -0
  415. package/dist/runtime/register/component/lifecycle/platform.mjs +1 -0
  416. package/dist/runtime/register/component/lifecycle.mjs +1 -0
  417. package/dist/runtime/register/component/methods.mjs +1 -0
  418. package/dist/runtime/register/component/options.mjs +1 -0
  419. package/dist/runtime/register/component/props.mjs +1 -0
  420. package/dist/runtime/register/component/registerDefinition.mjs +1 -0
  421. package/dist/runtime/register/component.d.mts +15 -0
  422. package/dist/runtime/register/component.mjs +1 -0
  423. package/dist/runtime/register/inline.d.mts +15 -0
  424. package/dist/runtime/register/inline.mjs +1 -0
  425. package/dist/runtime/register/runtimeInstance/methodBridge.mjs +1 -0
  426. package/dist/runtime/register/runtimeInstance/provideContext.mjs +1 -0
  427. package/dist/runtime/register/runtimeInstance/setupContext.mjs +1 -0
  428. package/dist/runtime/register/runtimeInstance/setupPhase.mjs +1 -0
  429. package/dist/runtime/register/runtimeInstance/utils.mjs +1 -0
  430. package/dist/runtime/register/runtimeInstance.d.mts +26 -0
  431. package/dist/runtime/register/runtimeInstance.mjs +1 -0
  432. package/dist/runtime/register/setDataFrequencyWarning.mjs +1 -0
  433. package/dist/runtime/register/setup.d.mts +11 -0
  434. package/dist/runtime/register/setup.mjs +1 -0
  435. package/dist/runtime/register/snapshot.mjs +1 -0
  436. package/dist/runtime/register/watch.d.mts +12 -0
  437. package/dist/runtime/register/watch.mjs +1 -0
  438. package/dist/runtime/register.d.mts +5 -0
  439. package/dist/runtime/scopedSlots.mjs +1 -0
  440. package/dist/runtime/selectorQuery.d.mts +54 -0
  441. package/dist/runtime/selectorQuery.mjs +1 -0
  442. package/dist/runtime/setupTracking.mjs +1 -0
  443. package/dist/{template-DE8e5dj_.d.mts → runtime/template.d.mts} +1 -1
  444. package/dist/runtime/template.mjs +1 -0
  445. package/dist/runtime/templateRefTypes.d.mts +7 -0
  446. package/dist/runtime/templateRefs/helpers.mjs +1 -0
  447. package/dist/runtime/templateRefs.d.mts +11 -0
  448. package/dist/runtime/templateRefs.mjs +1 -0
  449. package/dist/runtime/types/core.d.mts +35 -0
  450. package/dist/runtime/types/miniprogram.d.mts +80 -0
  451. package/dist/runtime/types/miniprogramHost.d.mts +44 -0
  452. package/dist/runtime/types/miniprogramHostSources.d.mts +112 -0
  453. package/dist/runtime/types/options.d.mts +136 -0
  454. package/dist/runtime/types/props/propTypes.d.mts +79 -0
  455. package/dist/runtime/types/props/router.d.mts +51 -0
  456. package/dist/runtime/types/props/setup.d.mts +96 -0
  457. package/dist/runtime/types/props.d.mts +4 -0
  458. package/dist/runtime/types/runtime.d.mts +59 -0
  459. package/dist/runtime/types/setData.d.mts +220 -0
  460. package/dist/runtime/types.d.mts +28 -0
  461. package/dist/runtime/uniAppHost.d.mts +8 -0
  462. package/dist/runtime/uniAppHost.mjs +1 -0
  463. package/dist/runtime/updatePerformance.d.mts +13 -0
  464. package/dist/runtime/updatePerformance.mjs +1 -0
  465. package/dist/runtime/use.d.mts +13 -0
  466. package/dist/runtime/use.mjs +1 -0
  467. package/dist/runtime/vueCompat/context.d.mts +8 -0
  468. package/dist/runtime/vueCompat/context.mjs +1 -0
  469. package/dist/runtime/vueCompat/model.d.mts +30 -0
  470. package/dist/runtime/vueCompat/model.mjs +1 -0
  471. package/dist/runtime/vueCompat/router.d.mts +28 -0
  472. package/dist/runtime/vueCompat/router.mjs +1 -0
  473. package/dist/runtime/vueCompat/templateRef.d.mts +9 -0
  474. package/dist/runtime/vueCompat/templateRef.mjs +1 -0
  475. package/dist/runtime/vueCompat.d.mts +5 -0
  476. package/dist/scheduler.d.mts +4 -0
  477. package/dist/scheduler.mjs +1 -0
  478. package/dist/store/actions.mjs +1 -0
  479. package/dist/store/base.mjs +1 -0
  480. package/dist/store/define/optionsStyle.mjs +1 -0
  481. package/dist/store/define/setupStyle.mjs +1 -0
  482. package/dist/store/define/shared.mjs +1 -0
  483. package/dist/store/define.d.mts +26 -0
  484. package/dist/store/define.mjs +1 -0
  485. package/dist/store/manager.d.mts +8 -0
  486. package/dist/store/manager.mjs +1 -0
  487. package/dist/store/storeToRefs.d.mts +13 -0
  488. package/dist/store/storeToRefs.mjs +1 -0
  489. package/dist/store/types.d.mts +70 -0
  490. package/dist/store/utils.mjs +1 -0
  491. package/dist/store.d.mts +4 -1
  492. package/dist/store.mjs +1 -1
  493. package/dist/utils.mjs +1 -0
  494. package/dist/version.d.mts +4 -0
  495. package/dist/version.mjs +1 -0
  496. package/dist/vue-augment.d.mts +6 -0
  497. package/dist/vue-demi.d.mts +67 -7
  498. package/dist/vue-demi.mjs +1 -1
  499. package/dist/vue-types.d.mts +18 -0
  500. package/dist/weappIntrinsicElements/base.d.mts +22 -0
  501. package/dist/weappIntrinsicElements/elements/ad-custom.d.mts +13 -0
  502. package/dist/weappIntrinsicElements/elements/ad.d.mts +16 -0
  503. package/dist/weappIntrinsicElements/elements/audio.d.mts +20 -0
  504. package/dist/weappIntrinsicElements/elements/block.d.mts +8 -0
  505. package/dist/weappIntrinsicElements/elements/button.d.mts +40 -0
  506. package/dist/weappIntrinsicElements/elements/camera.d.mts +18 -0
  507. package/dist/weappIntrinsicElements/elements/canvas.d.mts +18 -0
  508. package/dist/weappIntrinsicElements/elements/checkbox-group.d.mts +13 -0
  509. package/dist/weappIntrinsicElements/elements/checkbox.d.mts +13 -0
  510. package/dist/weappIntrinsicElements/elements/cover-image.d.mts +10 -0
  511. package/dist/weappIntrinsicElements/elements/cover-view.d.mts +10 -0
  512. package/dist/weappIntrinsicElements/elements/editor.d.mts +22 -0
  513. package/dist/weappIntrinsicElements/elements/form.d.mts +16 -0
  514. package/dist/weappIntrinsicElements/elements/functional-page-navigator.d.mts +15 -0
  515. package/dist/weappIntrinsicElements/elements/icon.d.mts +12 -0
  516. package/dist/weappIntrinsicElements/elements/image.d.mts +18 -0
  517. package/dist/weappIntrinsicElements/elements/import.d.mts +10 -0
  518. package/dist/weappIntrinsicElements/elements/include.d.mts +10 -0
  519. package/dist/weappIntrinsicElements/elements/input.d.mts +47 -0
  520. package/dist/weappIntrinsicElements/elements/keyboard-accessory.d.mts +8 -0
  521. package/dist/weappIntrinsicElements/elements/label.d.mts +10 -0
  522. package/dist/weappIntrinsicElements/elements/live-player.d.mts +35 -0
  523. package/dist/weappIntrinsicElements/elements/live-pusher.d.mts +57 -0
  524. package/dist/weappIntrinsicElements/elements/map.d.mts +105 -0
  525. package/dist/weappIntrinsicElements/elements/match-media.d.mts +16 -0
  526. package/dist/weappIntrinsicElements/elements/movable-area.d.mts +26 -0
  527. package/dist/weappIntrinsicElements/elements/movable-view.d.mts +26 -0
  528. package/dist/weappIntrinsicElements/elements/navigation-bar.d.mts +15 -0
  529. package/dist/weappIntrinsicElements/elements/navigator.d.mts +25 -0
  530. package/dist/weappIntrinsicElements/elements/official-account.d.mts +13 -0
  531. package/dist/weappIntrinsicElements/elements/open-data.d.mts +15 -0
  532. package/dist/weappIntrinsicElements/elements/page-container.d.mts +25 -0
  533. package/dist/weappIntrinsicElements/elements/page-meta.d.mts +23 -0
  534. package/dist/weappIntrinsicElements/elements/picker-view-column.d.mts +18 -0
  535. package/dist/weappIntrinsicElements/elements/picker-view.d.mts +18 -0
  536. package/dist/weappIntrinsicElements/elements/picker.d.mts +23 -0
  537. package/dist/weappIntrinsicElements/elements/progress.d.mts +21 -0
  538. package/dist/weappIntrinsicElements/elements/radio-group.d.mts +13 -0
  539. package/dist/weappIntrinsicElements/elements/radio.d.mts +13 -0
  540. package/dist/weappIntrinsicElements/elements/rich-text.d.mts +17 -0
  541. package/dist/weappIntrinsicElements/elements/scroll-view.d.mts +68 -0
  542. package/dist/weappIntrinsicElements/elements/share-element.d.mts +18 -0
  543. package/dist/weappIntrinsicElements/elements/slider.d.mts +23 -0
  544. package/dist/weappIntrinsicElements/elements/slot.d.mts +10 -0
  545. package/dist/weappIntrinsicElements/elements/swiper-item.d.mts +42 -0
  546. package/dist/weappIntrinsicElements/elements/swiper.d.mts +42 -0
  547. package/dist/weappIntrinsicElements/elements/switch.d.mts +14 -0
  548. package/dist/weappIntrinsicElements/elements/template.d.mts +12 -0
  549. package/dist/weappIntrinsicElements/elements/text.d.mts +15 -0
  550. package/dist/weappIntrinsicElements/elements/textarea.d.mts +40 -0
  551. package/dist/weappIntrinsicElements/elements/video.d.mts +71 -0
  552. package/dist/weappIntrinsicElements/elements/view.d.mts +13 -0
  553. package/dist/weappIntrinsicElements/elements/voip-room.d.mts +14 -0
  554. package/dist/weappIntrinsicElements/elements/web-view.d.mts +13 -0
  555. package/dist/weappIntrinsicElements.d.mts +153 -0
  556. package/package.json +6 -6
  557. package/dist/base-BxKbbKVO.mjs +0 -1
  558. package/dist/computed-Xoi9XEUx.mjs +0 -1
  559. package/dist/dev/base-CYkvI7w8.mjs.map +0 -1
  560. package/dist/dev/computed-BxRsUJgi.mjs.map +0 -1
  561. package/dist/dev/ref-DRZC3Kc5.mjs +0 -695
  562. package/dist/dev/ref-DRZC3Kc5.mjs.map +0 -1
  563. package/dist/dev/router-DjGhTM7A.mjs +0 -739
  564. package/dist/dev/router-DjGhTM7A.mjs.map +0 -1
  565. package/dist/dev/router.mjs.map +0 -1
  566. package/dist/dev/store-HNsiQJ4d.mjs +0 -479
  567. package/dist/dev/store-HNsiQJ4d.mjs.map +0 -1
  568. package/dist/dev/template-n_iVr0ey.mjs.map +0 -1
  569. package/dist/dev/templateRef-Dyo45y5v.mjs +0 -6436
  570. package/dist/dev/templateRef-Dyo45y5v.mjs.map +0 -1
  571. package/dist/dev/toRefs-D06VmFK2.mjs.map +0 -1
  572. package/dist/dev/watch-jrgL5ald.mjs +0 -445
  573. package/dist/dev/watch-jrgL5ald.mjs.map +0 -1
  574. package/dist/index-BiHILcmb.d.mts +0 -1215
  575. package/dist/index-CCET_bCY.d.mts +0 -111
  576. package/dist/ref-D37CknuD.mjs +0 -1
  577. package/dist/router-DJOmKqXb.mjs +0 -1
  578. package/dist/store-eHrHBQiv.mjs +0 -1
  579. package/dist/template-CNzlwH-E.mjs +0 -1
  580. package/dist/templateRef-L_qeTIeS.mjs +0 -1
  581. package/dist/toRefs-CoytPyo0.mjs +0 -1
  582. package/dist/traverse-B4Ez44Gd.d.mts +0 -108
  583. package/dist/vue-types-B3N60cGV.d.mts +0 -757
  584. package/dist/watch-Bbd-gmEg.mjs +0 -1
  585. package/dist/weappIntrinsicElements-BgDtC53_.d.mts +0 -1257
@@ -0,0 +1,93 @@
1
+ import { getMiniProgramGlobalObject } from "./platform.mjs";
2
+ import { version } from "../version.mjs";
3
+ import { createRuntimeMount } from "./app/mount.mjs";
4
+ import { setPendingRuntimeAppRegistration } from "./app/pending.mjs";
5
+ import { INTERNAL_DEFAULTS_SCOPE_KEY, applyWevuAppDefaults } from "./defaults.mjs";
6
+ import { ensureRuntimeAppProvides, setRuntimeAppProvidedValue } from "./provideContext.mjs";
7
+ import { registerApp } from "./register/app.mjs";
8
+
9
+ //#region src/runtime/app.ts
10
+ function createApp(options) {
11
+ const defaultsScope = options[INTERNAL_DEFAULTS_SCOPE_KEY];
12
+ const { [INTERNAL_DEFAULTS_SCOPE_KEY]: _ignoredDefaultsScope, data, computed: computedOptions, methods, setData: setDataOptions, watch: appWatch, setup: appSetup, ...mpOptions } = defaultsScope === "component" ? options : applyWevuAppDefaults(options);
13
+ const resolvedMethods = methods !== null && methods !== void 0 ? methods : {};
14
+ const resolvedComputed = computedOptions !== null && computedOptions !== void 0 ? computedOptions : {};
15
+ const installedPlugins = /* @__PURE__ */ new Set();
16
+ const appUnmountCleanups = /* @__PURE__ */ new Set();
17
+ let appUnmounted = false;
18
+ const appConfig = { globalProperties: {} };
19
+ const runtimeApp = {
20
+ mount: createRuntimeMount({
21
+ data,
22
+ resolvedComputed,
23
+ resolvedMethods,
24
+ appConfig,
25
+ setDataOptions
26
+ }),
27
+ use(plugin, ...options) {
28
+ if (!plugin || installedPlugins.has(plugin)) return runtimeApp;
29
+ installedPlugins.add(plugin);
30
+ if (typeof plugin === "function") plugin(runtimeApp, ...options);
31
+ else if (typeof plugin.install === "function") plugin.install(runtimeApp, ...options);
32
+ else throw new TypeError("插件必须是函数,或包含 install 方法的对象");
33
+ return runtimeApp;
34
+ },
35
+ provide(key, value) {
36
+ setRuntimeAppProvidedValue(runtimeApp, key, value);
37
+ return runtimeApp;
38
+ },
39
+ onUnmount(cleanup) {
40
+ if (typeof cleanup !== "function") throw new TypeError("onUnmount 只接受函数");
41
+ if (appUnmounted) {
42
+ cleanup();
43
+ return runtimeApp;
44
+ }
45
+ appUnmountCleanups.add(cleanup);
46
+ return runtimeApp;
47
+ },
48
+ unmount() {
49
+ if (appUnmounted) return;
50
+ appUnmounted = true;
51
+ for (const cleanup of appUnmountCleanups) cleanup();
52
+ appUnmountCleanups.clear();
53
+ },
54
+ config: appConfig,
55
+ version
56
+ };
57
+ try {
58
+ ensureRuntimeAppProvides(runtimeApp);
59
+ Object.defineProperty(runtimeApp, "__wevuSetDataOptions", {
60
+ value: setDataOptions,
61
+ configurable: true,
62
+ enumerable: false,
63
+ writable: false
64
+ });
65
+ Object.defineProperty(runtimeApp, "__wevuHasTemplateRuntimeBindings", {
66
+ value: Object.keys(resolvedComputed).some((key) => key.startsWith("__wv_bind_")),
67
+ configurable: true,
68
+ enumerable: false,
69
+ writable: false
70
+ });
71
+ } catch (_unused) {
72
+ runtimeApp.__wevuSetDataOptions = setDataOptions;
73
+ runtimeApp.__wevuHasTemplateRuntimeBindings = Object.keys(resolvedComputed).some((key) => key.startsWith("__wv_bind_"));
74
+ }
75
+ const registerRuntimeApp = () => {
76
+ const globalObject = getMiniProgramGlobalObject();
77
+ const appRegisterKey = "__wevuAppRegistered";
78
+ if (!(globalObject ? Boolean(globalObject[appRegisterKey]) : false)) {
79
+ if (globalObject) globalObject[appRegisterKey] = true;
80
+ registerApp(runtimeApp, methods !== null && methods !== void 0 ? methods : {}, appWatch, appSetup, mpOptions);
81
+ }
82
+ };
83
+ if (defaultsScope !== "component" && typeof App === "function") registerRuntimeApp();
84
+ else if (defaultsScope !== "component") setPendingRuntimeAppRegistration({
85
+ app: runtimeApp,
86
+ register: registerRuntimeApp
87
+ });
88
+ return runtimeApp;
89
+ }
90
+
91
+ //#endregion
92
+ export { createApp };
93
+ //# sourceMappingURL=app.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.mjs","names":[],"sources":["../../../src/runtime/app.ts"],"sourcesContent":["import type {\n AppConfig,\n ComputedDefinitions,\n CreateAppOptions,\n MethodDefinitions,\n RuntimeApp,\n WevuPlugin,\n} from './types'\nimport { version } from '../version'\nimport { createRuntimeMount } from './app/mount'\nimport { setPendingRuntimeAppRegistration } from './app/pending'\nimport { applyWevuAppDefaults, INTERNAL_DEFAULTS_SCOPE_KEY } from './defaults'\nimport { getMiniProgramGlobalObject } from './platform'\nimport { ensureRuntimeAppProvides, setRuntimeAppProvidedValue } from './provideContext'\nimport { registerApp } from './register'\n\nexport function createApp<D extends object, C extends ComputedDefinitions, M extends MethodDefinitions>(\n options: CreateAppOptions<D, C, M>,\n): RuntimeApp<D, C, M> {\n const defaultsScope = (options as any)[INTERNAL_DEFAULTS_SCOPE_KEY] as string | undefined\n const resolvedOptions = defaultsScope === 'component'\n ? options\n : applyWevuAppDefaults(options)\n const {\n [INTERNAL_DEFAULTS_SCOPE_KEY]: _ignoredDefaultsScope,\n data,\n computed: computedOptions,\n methods,\n setData: setDataOptions,\n watch: appWatch,\n setup: appSetup,\n ...mpOptions\n } = resolvedOptions\n const resolvedMethods = methods ?? ({} as M)\n const resolvedComputed = computedOptions ?? ({} as C)\n\n const installedPlugins = new Set<WevuPlugin>()\n const appUnmountCleanups = new Set<() => void>()\n let appUnmounted = false\n const appConfig: AppConfig = { globalProperties: {} }\n const mount = createRuntimeMount<D, C, M>({\n data,\n resolvedComputed,\n resolvedMethods,\n appConfig,\n setDataOptions,\n })\n\n const runtimeApp: RuntimeApp<D, C, M> = {\n mount,\n use(plugin: WevuPlugin, ...options: any[]) {\n if (!plugin || installedPlugins.has(plugin)) {\n return runtimeApp\n }\n installedPlugins.add(plugin)\n if (typeof plugin === 'function') {\n plugin(runtimeApp, ...options)\n }\n else if (typeof plugin.install === 'function') {\n plugin.install(runtimeApp, ...options)\n }\n else {\n throw new TypeError('插件必须是函数,或包含 install 方法的对象')\n }\n return runtimeApp\n },\n provide(key: any, value: any) {\n setRuntimeAppProvidedValue(runtimeApp, key, value)\n return runtimeApp\n },\n onUnmount(cleanup: () => void) {\n if (typeof cleanup !== 'function') {\n throw new TypeError('onUnmount 只接受函数')\n }\n if (appUnmounted) {\n cleanup()\n return runtimeApp\n }\n appUnmountCleanups.add(cleanup)\n return runtimeApp\n },\n unmount() {\n if (appUnmounted) {\n return\n }\n appUnmounted = true\n for (const cleanup of appUnmountCleanups) {\n cleanup()\n }\n appUnmountCleanups.clear()\n },\n config: appConfig,\n version,\n }\n\n try {\n ensureRuntimeAppProvides(runtimeApp)\n Object.defineProperty(runtimeApp as Record<string, any>, '__wevuSetDataOptions', {\n value: setDataOptions,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n Object.defineProperty(runtimeApp as Record<string, any>, '__wevuHasTemplateRuntimeBindings', {\n value: Object.keys(resolvedComputed as Record<string, unknown>).some(key => key.startsWith('__wv_bind_')),\n configurable: true,\n enumerable: false,\n writable: false,\n })\n }\n catch {\n ;(runtimeApp as any).__wevuSetDataOptions = setDataOptions\n ;(runtimeApp as any).__wevuHasTemplateRuntimeBindings = Object.keys(resolvedComputed as Record<string, unknown>)\n .some(key => key.startsWith('__wv_bind_'))\n }\n\n const registerRuntimeApp = () => {\n const globalObject = getMiniProgramGlobalObject()\n const appRegisterKey = '__wevuAppRegistered'\n const hasRegistered = globalObject ? Boolean(globalObject[appRegisterKey]) : false\n // 开发者工具/HMR 可能重复执行入口,避免多次 App() 导致 AppService 事件监听累积。\n if (!hasRegistered) {\n if (globalObject) {\n globalObject[appRegisterKey] = true\n }\n // 若检测到全局 App 构造器则自动注册小程序 App\n registerApp<D, C, M>(runtimeApp, (methods ?? {}) as any, appWatch as any, appSetup as any, mpOptions as any)\n }\n }\n\n if (defaultsScope !== 'component' && typeof App === 'function') {\n registerRuntimeApp()\n }\n else if (defaultsScope !== 'component') {\n setPendingRuntimeAppRegistration({\n app: runtimeApp,\n register: registerRuntimeApp,\n })\n }\n\n return runtimeApp\n}\n"],"mappings":";;;;;;;;;AAgBA,SAAgB,UACd,SACqB;CACrB,MAAM,gBAAiB,QAAgB;CAIvC,MAAM,GACH,8BAA8B,uBAC/B,MACA,UAAU,iBACV,SACA,SAAS,gBACT,OAAO,UACP,OAAO,UACP,GAAG,cAXmB,kBAAkB,cACtC,UACA,qBAAqB,OAAO;CAWhC,MAAM,kBAAkB,mDAAY,CAAC;CACrC,MAAM,mBAAmB,2EAAoB,CAAC;CAE9C,MAAM,mCAAmB,IAAI,IAAgB;CAC7C,MAAM,qCAAqB,IAAI,IAAgB;CAC/C,IAAI,eAAe;CACnB,MAAM,YAAuB,EAAE,kBAAkB,CAAC,EAAE;CASpD,MAAM,aAAkC;EACtC,OATY,mBAA4B;GACxC;GACA;GACA;GACA;GACA;EACF,CAGM;EACJ,IAAI,QAAoB,GAAG,SAAgB;GACzC,IAAI,CAAC,UAAU,iBAAiB,IAAI,MAAM,GACxC,OAAO;GAET,iBAAiB,IAAI,MAAM;GAC3B,IAAI,OAAO,WAAW,YACpB,OAAO,YAAY,GAAG,OAAO;QAE1B,IAAI,OAAO,OAAO,YAAY,YACjC,OAAO,QAAQ,YAAY,GAAG,OAAO;QAGrC,MAAM,IAAI,UAAU,2BAA2B;GAEjD,OAAO;EACT;EACA,QAAQ,KAAU,OAAY;GAC5B,2BAA2B,YAAY,KAAK,KAAK;GACjD,OAAO;EACT;EACA,UAAU,SAAqB;GAC7B,IAAI,OAAO,YAAY,YACrB,MAAM,IAAI,UAAU,iBAAiB;GAEvC,IAAI,cAAc;IAChB,QAAQ;IACR,OAAO;GACT;GACA,mBAAmB,IAAI,OAAO;GAC9B,OAAO;EACT;EACA,UAAU;GACR,IAAI,cACF;GAEF,eAAe;GACf,KAAK,MAAM,WAAW,oBACpB,QAAQ;GAEV,mBAAmB,MAAM;EAC3B;EACA,QAAQ;EACR;CACF;CAEA,IAAI;EACF,yBAAyB,UAAU;EACnC,OAAO,eAAe,YAAmC,wBAAwB;GAC/E,OAAO;GACP,cAAc;GACd,YAAY;GACZ,UAAU;EACZ,CAAC;EACD,OAAO,eAAe,YAAmC,oCAAoC;GAC3F,OAAO,OAAO,KAAK,gBAA2C,CAAC,CAAC,MAAK,QAAO,IAAI,WAAW,YAAY,CAAC;GACxG,cAAc;GACd,YAAY;GACZ,UAAU;EACZ,CAAC;CACH,kBACM;EACH,AAAC,WAAmB,uBAAuB;EAC3C,AAAC,WAAmB,mCAAmC,OAAO,KAAK,gBAA2C,CAAC,CAC7G,MAAK,QAAO,IAAI,WAAW,YAAY,CAAC;CAC7C;CAEA,MAAM,2BAA2B;EAC/B,MAAM,eAAe,2BAA2B;EAChD,MAAM,iBAAiB;EAGvB,IAAI,EAFkB,eAAe,QAAQ,aAAa,eAAe,IAAI,QAEzD;GAClB,IAAI,cACF,aAAa,kBAAkB;GAGjC,YAAqB,YAAa,mDAAW,CAAC,GAAW,UAAiB,UAAiB,SAAgB;EAC7G;CACF;CAEA,IAAI,kBAAkB,eAAe,OAAO,QAAQ,YAClD,mBAAmB;MAEhB,IAAI,kBAAkB,aACzB,iCAAiC;EAC/B,KAAK;EACL,UAAU;CACZ,CAAC;CAGH,OAAO;AACT"}
@@ -0,0 +1,92 @@
1
+ import { isRef } from "../reactivity/ref.mjs";
2
+ import { capitalize, toPathSegments } from "../utils.mjs";
3
+ import { parseModelEventValue, setComputedValue } from "./internal.mjs";
4
+
5
+ //#region src/runtime/bindModel.ts
6
+ function setWithSegments(target, segments, value) {
7
+ let current = target;
8
+ for (let i = 0; i < segments.length - 1; i++) {
9
+ const key = segments[i];
10
+ if (current[key] == null || typeof current[key] !== "object") current[key] = {};
11
+ current = current[key];
12
+ }
13
+ current[segments[segments.length - 1]] = value;
14
+ }
15
+ function setByPath(state, setupState, computedRefs, computedSetters, segments, value) {
16
+ if (!segments.length) return;
17
+ const [head, ...rest] = segments;
18
+ if (!rest.length) {
19
+ if (computedRefs[head]) setComputedValue(computedSetters, head, value);
20
+ else {
21
+ const target = setupState && Object.prototype.hasOwnProperty.call(setupState, head) ? setupState : state;
22
+ const current = target[head];
23
+ if (isRef(current)) current.value = value;
24
+ else target[head] = value;
25
+ }
26
+ return;
27
+ }
28
+ if (computedRefs[head]) {
29
+ setComputedValue(computedSetters, head, value);
30
+ return;
31
+ }
32
+ const target = setupState && Object.prototype.hasOwnProperty.call(setupState, head) ? setupState : state;
33
+ if (target[head] == null || typeof target[head] !== "object") target[head] = {};
34
+ setWithSegments(target[head], rest, value);
35
+ }
36
+ function getFromPath(target, segments) {
37
+ return segments.reduce((acc, segment) => {
38
+ if (acc == null) return acc;
39
+ return acc[segment];
40
+ }, target);
41
+ }
42
+ function defaultParser(event) {
43
+ return parseModelEventValue(event);
44
+ }
45
+ function createBindModel(publicInstance, state, computedRefs, computedSetters, setupState) {
46
+ const bindModel = (path, bindingOptions) => {
47
+ const segments = toPathSegments(path);
48
+ if (!segments.length) throw new Error("bindModel 需要非空路径");
49
+ const resolveValue = () => getFromPath(publicInstance, segments);
50
+ const assignValue = (value) => {
51
+ setByPath(state, setupState, computedRefs, computedSetters, segments, value);
52
+ };
53
+ const defaultOptions = {
54
+ event: "input",
55
+ valueProp: "value",
56
+ parser: defaultParser,
57
+ formatter: (value) => value,
58
+ ...bindingOptions
59
+ };
60
+ return {
61
+ get value() {
62
+ return resolveValue();
63
+ },
64
+ set value(nextValue) {
65
+ assignValue(nextValue);
66
+ },
67
+ update(nextValue) {
68
+ assignValue(nextValue);
69
+ },
70
+ model(modelOptions) {
71
+ const merged = {
72
+ ...defaultOptions,
73
+ ...modelOptions
74
+ };
75
+ const handlerKey = `on${capitalize(merged.event)}`;
76
+ const handler = (event) => {
77
+ const parsed = merged.parser(event);
78
+ assignValue(parsed);
79
+ };
80
+ return {
81
+ [merged.valueProp]: merged.formatter(resolveValue()),
82
+ [handlerKey]: handler
83
+ };
84
+ }
85
+ };
86
+ };
87
+ return bindModel;
88
+ }
89
+
90
+ //#endregion
91
+ export { createBindModel, defaultParser };
92
+ //# sourceMappingURL=bindModel.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bindModel.mjs","names":[],"sources":["../../../src/runtime/bindModel.ts"],"sourcesContent":["import type { ComputedRef } from '../reactivity'\nimport type { ModelBinding, ModelBindingOptions, ModelBindingPayload } from './types'\nimport { isRef } from '../reactivity'\nimport { capitalize, toPathSegments } from '../utils'\nimport { parseModelEventValue, setComputedValue } from './internal'\n\nfunction setWithSegments(\n target: Record<string, any>,\n segments: string[],\n value: any,\n) {\n let current = target\n for (let i = 0; i < segments.length - 1; i++) {\n const key = segments[i]\n if (current[key] == null || typeof current[key] !== 'object') {\n current[key] = {}\n }\n current = current[key]\n }\n current[segments[segments.length - 1]!] = value\n}\n\nfunction setByPath(\n state: Record<string, any>,\n setupState: Record<string, any> | undefined,\n computedRefs: Record<string, ComputedRef<any>>,\n computedSetters: Record<string, (value: any) => void>,\n segments: string[],\n value: any,\n) {\n if (!segments.length) {\n return\n }\n const [head, ...rest] = segments\n if (!rest.length) {\n if (computedRefs[head]) {\n setComputedValue(computedSetters, head, value)\n }\n else {\n const target = setupState && Object.prototype.hasOwnProperty.call(setupState, head)\n ? setupState\n : state\n const current = target[head]\n if (isRef(current)) {\n current.value = value\n }\n else {\n target[head] = value\n }\n }\n return\n }\n if (computedRefs[head]) {\n setComputedValue(computedSetters, head, value)\n return\n }\n const target = setupState && Object.prototype.hasOwnProperty.call(setupState, head)\n ? setupState\n : state\n if (target[head] == null || typeof target[head] !== 'object') {\n target[head] = {}\n }\n setWithSegments(target[head], rest, value)\n}\n\nfunction getFromPath(target: any, segments: string[]) {\n return segments.reduce((acc, segment) => {\n if (acc == null) {\n return acc\n }\n return acc[segment]\n }, target)\n}\n\nexport function defaultParser(event: any) {\n return parseModelEventValue(event)\n}\n\nexport function createBindModel(\n publicInstance: Record<string, any>,\n state: Record<string, any>,\n computedRefs: Record<string, ComputedRef<any>>,\n computedSetters: Record<string, (value: any) => void>,\n setupState?: Record<string, any>,\n) {\n const bindModel = <T = any>(path: string, bindingOptions?: ModelBindingOptions<T>): ModelBinding<T> => {\n const segments = toPathSegments(path)\n if (!segments.length) {\n throw new Error('bindModel 需要非空路径')\n }\n const resolveValue = () => getFromPath(publicInstance, segments)\n const assignValue = (value: T) => {\n setByPath(state as Record<string, any>, setupState, computedRefs, computedSetters, segments, value)\n }\n const defaultOptions: Required<ModelBindingOptions<T>> = {\n event: 'input',\n valueProp: 'value',\n parser: defaultParser,\n formatter: value => value,\n ...bindingOptions,\n }\n\n return {\n get value() {\n return resolveValue()\n },\n set value(nextValue: T) {\n assignValue(nextValue)\n },\n update(nextValue: T) {\n assignValue(nextValue)\n },\n model<Event extends string = 'input', ValueProp extends string = 'value', Formatted = T>(\n modelOptions?: ModelBindingOptions<T, Event, ValueProp, Formatted>,\n ): ModelBindingPayload<T, Event, ValueProp, Formatted> {\n const merged = {\n ...defaultOptions,\n ...modelOptions,\n } as Required<ModelBindingOptions<T, Event, ValueProp, Formatted>>\n const handlerKey = `on${capitalize(merged.event)}` as `on${Capitalize<Event>}`\n const handler = (event: any) => {\n const parsed = merged.parser(event)\n assignValue(parsed)\n }\n const payload = {\n [merged.valueProp]: merged.formatter(resolveValue()),\n [handlerKey]: handler,\n } as ModelBindingPayload<T, Event, ValueProp, Formatted>\n return payload\n },\n }\n }\n return bindModel\n}\n"],"mappings":";;;;;AAMA,SAAS,gBACP,QACA,UACA,OACA;CACA,IAAI,UAAU;CACd,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,SAAS,GAAG,KAAK;EAC5C,MAAM,MAAM,SAAS;EACrB,IAAI,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,SAAS,UAClD,QAAQ,OAAO,CAAC;EAElB,UAAU,QAAQ;CACpB;CACA,QAAQ,SAAS,SAAS,SAAS,MAAO;AAC5C;AAEA,SAAS,UACP,OACA,YACA,cACA,iBACA,UACA,OACA;CACA,IAAI,CAAC,SAAS,QACZ;CAEF,MAAM,CAAC,MAAM,GAAG,QAAQ;CACxB,IAAI,CAAC,KAAK,QAAQ;EAChB,IAAI,aAAa,OACf,iBAAiB,iBAAiB,MAAM,KAAK;OAE1C;GACH,MAAM,SAAS,cAAc,OAAO,UAAU,eAAe,KAAK,YAAY,IAAI,IAC9E,aACA;GACJ,MAAM,UAAU,OAAO;GACvB,IAAI,MAAM,OAAO,GACf,QAAQ,QAAQ;QAGhB,OAAO,QAAQ;EAEnB;EACA;CACF;CACA,IAAI,aAAa,OAAO;EACtB,iBAAiB,iBAAiB,MAAM,KAAK;EAC7C;CACF;CACA,MAAM,SAAS,cAAc,OAAO,UAAU,eAAe,KAAK,YAAY,IAAI,IAC9E,aACA;CACJ,IAAI,OAAO,SAAS,QAAQ,OAAO,OAAO,UAAU,UAClD,OAAO,QAAQ,CAAC;CAElB,gBAAgB,OAAO,OAAO,MAAM,KAAK;AAC3C;AAEA,SAAS,YAAY,QAAa,UAAoB;CACpD,OAAO,SAAS,QAAQ,KAAK,YAAY;EACvC,IAAI,OAAO,MACT,OAAO;EAET,OAAO,IAAI;CACb,GAAG,MAAM;AACX;AAEA,SAAgB,cAAc,OAAY;CACxC,OAAO,qBAAqB,KAAK;AACnC;AAEA,SAAgB,gBACd,gBACA,OACA,cACA,iBACA,YACA;CACA,MAAM,aAAsB,MAAc,mBAA6D;EACrG,MAAM,WAAW,eAAe,IAAI;EACpC,IAAI,CAAC,SAAS,QACZ,MAAM,IAAI,MAAM,kBAAkB;EAEpC,MAAM,qBAAqB,YAAY,gBAAgB,QAAQ;EAC/D,MAAM,eAAe,UAAa;GAChC,UAAU,OAA8B,YAAY,cAAc,iBAAiB,UAAU,KAAK;EACpG;EACA,MAAM,iBAAmD;GACvD,OAAO;GACP,WAAW;GACX,QAAQ;GACR,YAAW,UAAS;GACpB,GAAG;EACL;EAEA,OAAO;GACL,IAAI,QAAQ;IACV,OAAO,aAAa;GACtB;GACA,IAAI,MAAM,WAAc;IACtB,YAAY,SAAS;GACvB;GACA,OAAO,WAAc;IACnB,YAAY,SAAS;GACvB;GACA,MACE,cACqD;IACrD,MAAM,SAAS;KACb,GAAG;KACH,GAAG;IACL;IACA,MAAM,aAAa,KAAK,WAAW,OAAO,KAAK;IAC/C,MAAM,WAAW,UAAe;KAC9B,MAAM,SAAS,OAAO,OAAO,KAAK;KAClC,YAAY,MAAM;IACpB;IAKA,OAAO;MAHJ,OAAO,YAAY,OAAO,UAAU,aAAa,CAAC;MAClD,aAAa;IAEH;GACf;EACF;CACF;CACA,OAAO;AACT"}
@@ -0,0 +1,61 @@
1
+ //#region src/runtime/defaults.ts
2
+ const INTERNAL_DEFAULTS_SCOPE_KEY = "__wevuDefaultsScope";
3
+ let currentDefaults = {};
4
+ function getPlainRecord(value) {
5
+ if (!value || typeof value !== "object" || Array.isArray(value)) return;
6
+ return value;
7
+ }
8
+ function mergeDefaults(defaults, options) {
9
+ if (!defaults) return options;
10
+ if (!options) return defaults;
11
+ const merged = {
12
+ ...defaults,
13
+ ...options
14
+ };
15
+ const defaultSetData = getPlainRecord(defaults.setData);
16
+ const optionSetData = getPlainRecord(options.setData);
17
+ if (defaultSetData || optionSetData) merged.setData = {
18
+ ...defaultSetData !== null && defaultSetData !== void 0 ? defaultSetData : {},
19
+ ...optionSetData !== null && optionSetData !== void 0 ? optionSetData : {}
20
+ };
21
+ const defaultOptions = getPlainRecord(defaults.options);
22
+ const optionOptions = getPlainRecord(options.options);
23
+ if (defaultOptions || optionOptions) merged.options = {
24
+ ...defaultOptions !== null && defaultOptions !== void 0 ? defaultOptions : {},
25
+ ...optionOptions !== null && optionOptions !== void 0 ? optionOptions : {}
26
+ };
27
+ return merged;
28
+ }
29
+ function mergeWithDefaults(defaults, options) {
30
+ return mergeDefaults(defaults, options);
31
+ }
32
+ function mergeWevuDefaults(base, next) {
33
+ return {
34
+ app: mergeDefaults(base.app, next.app),
35
+ component: mergeDefaults(base.component, next.component)
36
+ };
37
+ }
38
+ function setWevuDefaults(next) {
39
+ currentDefaults = mergeWevuDefaults(currentDefaults, next);
40
+ }
41
+ function resetWevuDefaults() {
42
+ currentDefaults = {};
43
+ }
44
+ /**
45
+ * 将默认配置应用到 App 选项(框架内部使用)。
46
+ * @internal
47
+ */
48
+ function applyWevuAppDefaults(options) {
49
+ return mergeWithDefaults(currentDefaults.app, options);
50
+ }
51
+ /**
52
+ * 将默认配置应用到组件选项(框架内部使用)。
53
+ * @internal
54
+ */
55
+ function applyWevuComponentDefaults(options) {
56
+ return mergeWithDefaults(currentDefaults.component, options);
57
+ }
58
+
59
+ //#endregion
60
+ export { INTERNAL_DEFAULTS_SCOPE_KEY, applyWevuAppDefaults, applyWevuComponentDefaults, resetWevuDefaults, setWevuDefaults };
61
+ //# sourceMappingURL=defaults.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.mjs","names":[],"sources":["../../../src/runtime/defaults.ts"],"sourcesContent":["import type { CreateAppOptions, DefineComponentOptions } from './types'\n\nexport type WevuDefaultsScope = 'app' | 'component'\n\nexport const INTERNAL_DEFAULTS_SCOPE_KEY = '__wevuDefaultsScope'\n\nexport interface WevuDefaults {\n app?: Partial<CreateAppOptions<any, any, any>>\n component?: Partial<DefineComponentOptions<any, any, any, any>>\n}\n\nlet currentDefaults: WevuDefaults = {}\n\nfunction getPlainRecord(value: unknown): Record<string, any> | undefined {\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n return undefined\n }\n return value as Record<string, any>\n}\n\nfunction mergeDefaults<T extends Record<string, any>>(\n defaults?: Partial<T>,\n options?: Partial<T>,\n) {\n if (!defaults) {\n return options\n }\n if (!options) {\n return defaults\n }\n\n const merged = {\n ...(defaults as Record<string, any>),\n ...(options as Record<string, any>),\n }\n\n const defaultSetData = getPlainRecord((defaults as any).setData)\n const optionSetData = getPlainRecord((options as any).setData)\n if (defaultSetData || optionSetData) {\n merged.setData = {\n ...(defaultSetData ?? {}),\n ...(optionSetData ?? {}),\n }\n }\n\n const defaultOptions = getPlainRecord((defaults as any).options)\n const optionOptions = getPlainRecord((options as any).options)\n if (defaultOptions || optionOptions) {\n merged.options = {\n ...(defaultOptions ?? {}),\n ...(optionOptions ?? {}),\n }\n }\n\n return merged as Partial<T>\n}\n\nfunction mergeWithDefaults<T extends Record<string, any>>(\n defaults: Partial<T> | undefined,\n options: T,\n): T {\n return mergeDefaults(defaults, options) as T\n}\n\nfunction mergeWevuDefaults(base: WevuDefaults, next: WevuDefaults): WevuDefaults {\n return {\n app: mergeDefaults(base.app, next.app),\n component: mergeDefaults(base.component, next.component),\n }\n}\n\nexport function setWevuDefaults(next: WevuDefaults) {\n currentDefaults = mergeWevuDefaults(currentDefaults, next)\n}\n\nexport function resetWevuDefaults() {\n currentDefaults = {}\n}\n\n/**\n * 读取当前默认配置(框架内部使用)。\n * @internal\n */\nexport function resolveWevuDefaults() {\n return currentDefaults\n}\n\n/**\n * 将默认配置应用到 App 选项(框架内部使用)。\n * @internal\n */\nexport function applyWevuAppDefaults<T extends CreateAppOptions<any, any, any>>(options: T): T {\n return mergeWithDefaults(currentDefaults.app as Partial<T> | undefined, options)\n}\n\n/**\n * 将默认配置应用到组件选项(框架内部使用)。\n * @internal\n */\nexport function applyWevuComponentDefaults<T extends DefineComponentOptions<any, any, any, any>>(options: T): T {\n return mergeWithDefaults(currentDefaults.component as Partial<T> | undefined, options)\n}\n"],"mappings":";AAIA,MAAa,8BAA8B;AAO3C,IAAI,kBAAgC,CAAC;AAErC,SAAS,eAAe,OAAiD;CACvE,IAAI,CAAC,SAAS,OAAO,UAAU,YAAY,MAAM,QAAQ,KAAK,GAC5D;CAEF,OAAO;AACT;AAEA,SAAS,cACP,UACA,SACA;CACA,IAAI,CAAC,UACH,OAAO;CAET,IAAI,CAAC,SACH,OAAO;CAGT,MAAM,SAAS;EACb,GAAI;EACJ,GAAI;CACN;CAEA,MAAM,iBAAiB,eAAgB,SAAiB,OAAO;CAC/D,MAAM,gBAAgB,eAAgB,QAAgB,OAAO;CAC7D,IAAI,kBAAkB,eACpB,OAAO,UAAU;EACf,GAAI,wEAAkB,CAAC;EACvB,GAAI,qEAAiB,CAAC;CACxB;CAGF,MAAM,iBAAiB,eAAgB,SAAiB,OAAO;CAC/D,MAAM,gBAAgB,eAAgB,QAAgB,OAAO;CAC7D,IAAI,kBAAkB,eACpB,OAAO,UAAU;EACf,GAAI,wEAAkB,CAAC;EACvB,GAAI,qEAAiB,CAAC;CACxB;CAGF,OAAO;AACT;AAEA,SAAS,kBACP,UACA,SACG;CACH,OAAO,cAAc,UAAU,OAAO;AACxC;AAEA,SAAS,kBAAkB,MAAoB,MAAkC;CAC/E,OAAO;EACL,KAAK,cAAc,KAAK,KAAK,KAAK,GAAG;EACrC,WAAW,cAAc,KAAK,WAAW,KAAK,SAAS;CACzD;AACF;AAEA,SAAgB,gBAAgB,MAAoB;CAClD,kBAAkB,kBAAkB,iBAAiB,IAAI;AAC3D;AAEA,SAAgB,oBAAoB;CAClC,kBAAkB,CAAC;AACrB;;;;;AAcA,SAAgB,qBAAgE,SAAe;CAC7F,OAAO,kBAAkB,gBAAgB,KAA+B,OAAO;AACjF;;;;;AAMA,SAAgB,2BAAiF,SAAe;CAC9G,OAAO,kBAAkB,gBAAgB,WAAqC,OAAO;AACvF"}
@@ -0,0 +1,125 @@
1
+ import { hasOwn } from "../../utils.mjs";
2
+ import { toPlain } from "../diff.mjs";
3
+ import { resolveSetDataOptions } from "../app/setDataOptions.mjs";
4
+ import { WEVU_SLOT_OWNER_ID_KEY } from "@weapp-core/constants";
5
+
6
+ //#region src/runtime/define/initialComputed.ts
7
+ var InitialComputedBailout = class extends Error {};
8
+ function resolveComputedGetter(definition) {
9
+ if (typeof definition === "function") return definition;
10
+ const getter = definition === null || definition === void 0 ? void 0 : definition.get;
11
+ return typeof getter === "function" ? getter : void 0;
12
+ }
13
+ function isCompilerGeneratedTemplateComputedKey(key) {
14
+ return key.startsWith("__wv_bind_") || key.startsWith("__wv_cls_") || key.startsWith("__wv_style_");
15
+ }
16
+ function canResolveInitialTemplateComputed(key, getter) {
17
+ if (!key.startsWith("__wv_bind_")) return false;
18
+ try {
19
+ return !/\bthis\b/.test(Function.prototype.toString.call(getter));
20
+ } catch (_unused) {
21
+ return false;
22
+ }
23
+ }
24
+ function resolveRuntimeBindingPlaceholder(key) {
25
+ if (key === WEVU_SLOT_OWNER_ID_KEY) return "";
26
+ if (key.startsWith("__wv_bind_")) return null;
27
+ if (key.startsWith("__wv_cls_") || key.startsWith("__wv_style_")) return "";
28
+ }
29
+ function resolveRuntimeBindingPlaceholderData(data, setData) {
30
+ const pickKeys = Array.isArray(setData === null || setData === void 0 ? void 0 : setData.pick) ? setData.pick : [];
31
+ if (!pickKeys.length) return;
32
+ const omitKeys = new Set(Array.isArray(setData === null || setData === void 0 ? void 0 : setData.omit) ? setData.omit : []);
33
+ const resolved = {};
34
+ for (const key of pickKeys) {
35
+ if (omitKeys.has(key) || hasOwn(data, key)) continue;
36
+ const placeholder = resolveRuntimeBindingPlaceholder(key);
37
+ if (placeholder !== void 0) resolved[key] = placeholder;
38
+ }
39
+ return Object.keys(resolved).length ? resolved : void 0;
40
+ }
41
+ function resolveInitialComputedData(options) {
42
+ const { data, computed, setData } = options;
43
+ const computedKeys = computed ? Object.keys(computed) : [];
44
+ if (!computedKeys.length) return;
45
+ const { includeComputed, shouldIncludeKey, toPlainMaxDepth, toPlainMaxKeys, includeFunctions, functionPaths } = resolveSetDataOptions(setData);
46
+ if (!includeComputed) return;
47
+ const resolved = {};
48
+ const resolving = /* @__PURE__ */ new Set();
49
+ let proxy;
50
+ const resolveComputedValue = (key) => {
51
+ if (hasOwn(data, key) || !shouldIncludeKey(key)) return { ok: false };
52
+ if (hasOwn(resolved, key)) return {
53
+ ok: true,
54
+ value: resolved[key]
55
+ };
56
+ if (resolving.has(key)) return { ok: false };
57
+ const getter = resolveComputedGetter(computed[key]);
58
+ if (!getter) return { ok: false };
59
+ resolving.add(key);
60
+ try {
61
+ const rawValue = getter.call(proxy);
62
+ if (rawValue === void 0) return { ok: false };
63
+ const value = toPlain(rawValue, /* @__PURE__ */ new WeakMap(), {
64
+ maxDepth: toPlainMaxDepth,
65
+ maxKeys: toPlainMaxKeys,
66
+ includeFunctions,
67
+ functionPaths,
68
+ _path: key
69
+ });
70
+ if (value === void 0) return { ok: false };
71
+ resolved[key] = value;
72
+ return {
73
+ ok: true,
74
+ value
75
+ };
76
+ } catch (_unused2) {
77
+ return { ok: false };
78
+ } finally {
79
+ resolving.delete(key);
80
+ }
81
+ };
82
+ proxy = new Proxy(data, {
83
+ get(target, key, receiver) {
84
+ if (typeof key === "string") {
85
+ if (key === "data" || key === "$state") return data;
86
+ if (key === "props" || key === "$props" || key === "$attrs") throw new InitialComputedBailout();
87
+ if (hasOwn(data, key)) return Reflect.get(target, key, receiver);
88
+ if (computed && hasOwn(computed, key)) {
89
+ const computedValue = resolveComputedValue(key);
90
+ if (computedValue.ok) return computedValue.value;
91
+ throw new InitialComputedBailout();
92
+ }
93
+ throw new InitialComputedBailout();
94
+ }
95
+ return Reflect.get(target, key, receiver);
96
+ },
97
+ has(target, key) {
98
+ return Reflect.has(target, key) || typeof key === "string" && Boolean(computed && hasOwn(computed, key));
99
+ }
100
+ });
101
+ for (const key of computedKeys) {
102
+ const getter = resolveComputedGetter(computed[key]);
103
+ if (isCompilerGeneratedTemplateComputedKey(key) && (!getter || !canResolveInitialTemplateComputed(key, getter))) continue;
104
+ resolveComputedValue(key);
105
+ }
106
+ return Object.keys(resolved).length ? resolved : void 0;
107
+ }
108
+ function resolveNativeInitialData(data, computed, setData) {
109
+ if (!data || typeof data !== "object") return data;
110
+ const initialComputedData = resolveInitialComputedData({
111
+ data,
112
+ computed,
113
+ setData
114
+ });
115
+ const runtimeBindingPlaceholderData = resolveRuntimeBindingPlaceholderData(data, setData);
116
+ return initialComputedData || runtimeBindingPlaceholderData ? {
117
+ ...data,
118
+ ...runtimeBindingPlaceholderData,
119
+ ...initialComputedData
120
+ } : data;
121
+ }
122
+
123
+ //#endregion
124
+ export { resolveInitialComputedData, resolveNativeInitialData };
125
+ //# sourceMappingURL=initialComputed.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialComputed.mjs","names":[],"sources":["../../../../src/runtime/define/initialComputed.ts"],"sourcesContent":["import type { WritableComputedOptions } from '../../reactivity'\nimport type { ComputedDefinitions, SetDataSnapshotOptions } from '../types'\nimport { WEVU_SLOT_OWNER_ID_KEY } from '@weapp-core/constants'\nimport { hasOwn } from '../../utils'\nimport { resolveSetDataOptions } from '../app/setDataOptions'\nimport { toPlain } from '../diff'\n\nclass InitialComputedBailout extends Error {}\n\nfunction resolveComputedGetter(definition: unknown): ((...args: any[]) => unknown) | undefined {\n if (typeof definition === 'function') {\n return definition as (...args: any[]) => unknown\n }\n const getter = (definition as WritableComputedOptions<any> | undefined)?.get\n return typeof getter === 'function' ? getter : undefined\n}\n\nfunction isCompilerGeneratedTemplateComputedKey(key: string) {\n return key.startsWith('__wv_bind_')\n || key.startsWith('__wv_cls_')\n || key.startsWith('__wv_style_')\n}\n\nfunction canResolveInitialTemplateComputed(key: string, getter: (...args: any[]) => unknown) {\n if (!key.startsWith('__wv_bind_')) {\n return false\n }\n try {\n return !/\\bthis\\b/.test(Function.prototype.toString.call(getter))\n }\n catch {\n return false\n }\n}\n\nfunction resolveRuntimeBindingPlaceholder(key: string) {\n if (key === WEVU_SLOT_OWNER_ID_KEY) {\n return ''\n }\n if (key.startsWith('__wv_bind_')) {\n return null\n }\n if (key.startsWith('__wv_cls_') || key.startsWith('__wv_style_')) {\n return ''\n }\n}\n\nfunction resolveRuntimeBindingPlaceholderData(\n data: Record<string, any>,\n setData: SetDataSnapshotOptions | undefined,\n) {\n const pickKeys = Array.isArray(setData?.pick) ? setData.pick : []\n if (!pickKeys.length) {\n return undefined\n }\n const omitKeys = new Set(Array.isArray(setData?.omit) ? setData.omit : [])\n const resolved: Record<string, any> = {}\n for (const key of pickKeys) {\n if (omitKeys.has(key) || hasOwn(data, key)) {\n continue\n }\n const placeholder = resolveRuntimeBindingPlaceholder(key)\n if (placeholder !== undefined) {\n resolved[key] = placeholder\n }\n }\n return Object.keys(resolved).length ? resolved : undefined\n}\n\nexport function resolveInitialComputedData(options: {\n data: Record<string, any>\n computed: ComputedDefinitions | undefined\n setData: SetDataSnapshotOptions | undefined\n}) {\n const {\n data,\n computed,\n setData,\n } = options\n const computedKeys = computed ? Object.keys(computed) : []\n if (!computedKeys.length) {\n return undefined\n }\n\n const {\n includeComputed,\n shouldIncludeKey,\n toPlainMaxDepth,\n toPlainMaxKeys,\n includeFunctions,\n functionPaths,\n } = resolveSetDataOptions(setData)\n if (!includeComputed) {\n return undefined\n }\n\n const resolved: Record<string, any> = {}\n const resolving = new Set<string>()\n let proxy!: Record<string, any>\n const resolveComputedValue = (key: string): { ok: true, value: any } | { ok: false } => {\n if (hasOwn(data, key) || !shouldIncludeKey(key)) {\n return { ok: false }\n }\n if (hasOwn(resolved, key)) {\n return { ok: true, value: resolved[key] }\n }\n if (resolving.has(key)) {\n return { ok: false }\n }\n const getter = resolveComputedGetter((computed as ComputedDefinitions)[key])\n if (!getter) {\n return { ok: false }\n }\n resolving.add(key)\n try {\n const rawValue = getter.call(proxy)\n if (rawValue === undefined) {\n return { ok: false }\n }\n const value = toPlain(rawValue, new WeakMap(), {\n maxDepth: toPlainMaxDepth,\n maxKeys: toPlainMaxKeys,\n includeFunctions,\n functionPaths,\n _path: key,\n })\n if (value === undefined) {\n return { ok: false }\n }\n resolved[key] = value\n return { ok: true, value }\n }\n catch {\n return { ok: false }\n }\n finally {\n resolving.delete(key)\n }\n }\n\n proxy = new Proxy(data, {\n get(target, key, receiver) {\n if (typeof key === 'string') {\n if (key === 'data' || key === '$state') {\n return data\n }\n if (key === 'props' || key === '$props' || key === '$attrs') {\n throw new InitialComputedBailout()\n }\n if (hasOwn(data, key)) {\n return Reflect.get(target, key, receiver)\n }\n if (computed && hasOwn(computed, key)) {\n const computedValue = resolveComputedValue(key)\n if (computedValue.ok) {\n return computedValue.value\n }\n throw new InitialComputedBailout()\n }\n throw new InitialComputedBailout()\n }\n return Reflect.get(target, key, receiver)\n },\n has(target, key) {\n return Reflect.has(target, key)\n || (typeof key === 'string' && Boolean(\n computed && hasOwn(computed, key),\n ))\n },\n })\n\n for (const key of computedKeys) {\n const getter = resolveComputedGetter((computed as ComputedDefinitions)[key])\n if (isCompilerGeneratedTemplateComputedKey(key) && (!getter || !canResolveInitialTemplateComputed(key, getter))) {\n continue\n }\n resolveComputedValue(key)\n }\n\n return Object.keys(resolved).length ? resolved : undefined\n}\n\nexport function resolveNativeInitialData(\n data: unknown,\n computed: ComputedDefinitions | undefined,\n setData: SetDataSnapshotOptions | undefined,\n) {\n if (!data || typeof data !== 'object') {\n return data\n }\n const initialComputedData = resolveInitialComputedData({\n data: data as Record<string, any>,\n computed,\n setData,\n })\n const runtimeBindingPlaceholderData = resolveRuntimeBindingPlaceholderData(data as Record<string, any>, setData)\n return initialComputedData || runtimeBindingPlaceholderData\n ? {\n ...(data as Record<string, any>),\n ...runtimeBindingPlaceholderData,\n ...initialComputedData,\n }\n : data\n}\n"],"mappings":";;;;;;AAOA,IAAM,yBAAN,cAAqC,MAAM,CAAC;AAE5C,SAAS,sBAAsB,YAAgE;CAC7F,IAAI,OAAO,eAAe,YACxB,OAAO;CAET,MAAM,iEAAU,WAAyD;CACzE,OAAO,OAAO,WAAW,aAAa,SAAS;AACjD;AAEA,SAAS,uCAAuC,KAAa;CAC3D,OAAO,IAAI,WAAW,YAAY,KAC7B,IAAI,WAAW,WAAW,KAC1B,IAAI,WAAW,aAAa;AACnC;AAEA,SAAS,kCAAkC,KAAa,QAAqC;CAC3F,IAAI,CAAC,IAAI,WAAW,YAAY,GAC9B,OAAO;CAET,IAAI;EACF,OAAO,CAAC,WAAW,KAAK,SAAS,UAAU,SAAS,KAAK,MAAM,CAAC;CAClE,kBACM;EACJ,OAAO;CACT;AACF;AAEA,SAAS,iCAAiC,KAAa;CACrD,IAAI,QAAQ,wBACV,OAAO;CAET,IAAI,IAAI,WAAW,YAAY,GAC7B,OAAO;CAET,IAAI,IAAI,WAAW,WAAW,KAAK,IAAI,WAAW,aAAa,GAC7D,OAAO;AAEX;AAEA,SAAS,qCACP,MACA,SACA;CACA,MAAM,WAAW,MAAM,0DAAQ,QAAS,IAAI,IAAI,QAAQ,OAAO,CAAC;CAChE,IAAI,CAAC,SAAS,QACZ;CAEF,MAAM,WAAW,IAAI,IAAI,MAAM,0DAAQ,QAAS,IAAI,IAAI,QAAQ,OAAO,CAAC,CAAC;CACzE,MAAM,WAAgC,CAAC;CACvC,KAAK,MAAM,OAAO,UAAU;EAC1B,IAAI,SAAS,IAAI,GAAG,KAAK,OAAO,MAAM,GAAG,GACvC;EAEF,MAAM,cAAc,iCAAiC,GAAG;EACxD,IAAI,gBAAgB,QAClB,SAAS,OAAO;CAEpB;CACA,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,SAAS,WAAW;AACnD;AAEA,SAAgB,2BAA2B,SAIxC;CACD,MAAM,EACJ,MACA,UACA,YACE;CACJ,MAAM,eAAe,WAAW,OAAO,KAAK,QAAQ,IAAI,CAAC;CACzD,IAAI,CAAC,aAAa,QAChB;CAGF,MAAM,EACJ,iBACA,kBACA,iBACA,gBACA,kBACA,kBACE,sBAAsB,OAAO;CACjC,IAAI,CAAC,iBACH;CAGF,MAAM,WAAgC,CAAC;CACvC,MAAM,4BAAY,IAAI,IAAY;CAClC,IAAI;CACJ,MAAM,wBAAwB,QAA0D;EACtF,IAAI,OAAO,MAAM,GAAG,KAAK,CAAC,iBAAiB,GAAG,GAC5C,OAAO,EAAE,IAAI,MAAM;EAErB,IAAI,OAAO,UAAU,GAAG,GACtB,OAAO;GAAE,IAAI;GAAM,OAAO,SAAS;EAAK;EAE1C,IAAI,UAAU,IAAI,GAAG,GACnB,OAAO,EAAE,IAAI,MAAM;EAErB,MAAM,SAAS,sBAAuB,SAAiC,IAAI;EAC3E,IAAI,CAAC,QACH,OAAO,EAAE,IAAI,MAAM;EAErB,UAAU,IAAI,GAAG;EACjB,IAAI;GACF,MAAM,WAAW,OAAO,KAAK,KAAK;GAClC,IAAI,aAAa,QACf,OAAO,EAAE,IAAI,MAAM;GAErB,MAAM,QAAQ,QAAQ,0BAAU,IAAI,QAAQ,GAAG;IAC7C,UAAU;IACV,SAAS;IACT;IACA;IACA,OAAO;GACT,CAAC;GACD,IAAI,UAAU,QACZ,OAAO,EAAE,IAAI,MAAM;GAErB,SAAS,OAAO;GAChB,OAAO;IAAE,IAAI;IAAM;GAAM;EAC3B,mBACM;GACJ,OAAO,EAAE,IAAI,MAAM;EACrB,UACQ;GACN,UAAU,OAAO,GAAG;EACtB;CACF;CAEA,QAAQ,IAAI,MAAM,MAAM;EACtB,IAAI,QAAQ,KAAK,UAAU;GACzB,IAAI,OAAO,QAAQ,UAAU;IAC3B,IAAI,QAAQ,UAAU,QAAQ,UAC5B,OAAO;IAET,IAAI,QAAQ,WAAW,QAAQ,YAAY,QAAQ,UACjD,MAAM,IAAI,uBAAuB;IAEnC,IAAI,OAAO,MAAM,GAAG,GAClB,OAAO,QAAQ,IAAI,QAAQ,KAAK,QAAQ;IAE1C,IAAI,YAAY,OAAO,UAAU,GAAG,GAAG;KACrC,MAAM,gBAAgB,qBAAqB,GAAG;KAC9C,IAAI,cAAc,IAChB,OAAO,cAAc;KAEvB,MAAM,IAAI,uBAAuB;IACnC;IACA,MAAM,IAAI,uBAAuB;GACnC;GACA,OAAO,QAAQ,IAAI,QAAQ,KAAK,QAAQ;EAC1C;EACA,IAAI,QAAQ,KAAK;GACf,OAAO,QAAQ,IAAI,QAAQ,GAAG,KACxB,OAAO,QAAQ,YAAY,QAC7B,YAAY,OAAO,UAAU,GAAG,CAClC;EACJ;CACF,CAAC;CAED,KAAK,MAAM,OAAO,cAAc;EAC9B,MAAM,SAAS,sBAAuB,SAAiC,IAAI;EAC3E,IAAI,uCAAuC,GAAG,MAAM,CAAC,UAAU,CAAC,kCAAkC,KAAK,MAAM,IAC3G;EAEF,qBAAqB,GAAG;CAC1B;CAEA,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,SAAS,WAAW;AACnD;AAEA,SAAgB,yBACd,MACA,UACA,SACA;CACA,IAAI,CAAC,QAAQ,OAAO,SAAS,UAC3B,OAAO;CAET,MAAM,sBAAsB,2BAA2B;EAC/C;EACN;EACA;CACF,CAAC;CACD,MAAM,gCAAgC,qCAAqC,MAA6B,OAAO;CAC/G,OAAO,uBAAuB,gCAC1B;EACE,GAAI;EACJ,GAAG;EACH,GAAG;CACL,IACA;AACN"}
@@ -0,0 +1,169 @@
1
+ //#region src/runtime/define/options.ts
2
+ const OBJECT_OPTION_KEYS = [
3
+ "components",
4
+ "computed",
5
+ "directives",
6
+ "inject",
7
+ "methods",
8
+ "props",
9
+ "provide"
10
+ ];
11
+ const HOOK_OPTION_KEYS = /* @__PURE__ */ new Set([
12
+ "activated",
13
+ "attached",
14
+ "beforeCreate",
15
+ "beforeDestroy",
16
+ "beforeMount",
17
+ "beforeUnmount",
18
+ "beforeUpdate",
19
+ "created",
20
+ "deactivated",
21
+ "destroyed",
22
+ "detached",
23
+ "errorCaptured",
24
+ "hide",
25
+ "mounted",
26
+ "moved",
27
+ "onAddToFavorites",
28
+ "onHide",
29
+ "onLoad",
30
+ "onPageScroll",
31
+ "onPullDownRefresh",
32
+ "onReachBottom",
33
+ "onReady",
34
+ "onResize",
35
+ "onRouteDone",
36
+ "onSaveExitState",
37
+ "onShareAppMessage",
38
+ "onShareTimeline",
39
+ "onShow",
40
+ "onTabItemTap",
41
+ "onUnload",
42
+ "ready",
43
+ "renderTracked",
44
+ "renderTriggered",
45
+ "serverPrefetch",
46
+ "show",
47
+ "unmounted",
48
+ "updated"
49
+ ]);
50
+ function asRecord(value) {
51
+ return value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
52
+ }
53
+ function mergeHook(parent, child) {
54
+ if (typeof parent !== "function") return child;
55
+ if (typeof child !== "function") return parent;
56
+ return function mergedOptionHook(...args) {
57
+ parent.apply(this, args);
58
+ return child.apply(this, args);
59
+ };
60
+ }
61
+ function mergeHookRecord(parent, child) {
62
+ const parentRecord = asRecord(parent);
63
+ const childRecord = asRecord(child);
64
+ if (!parentRecord) return childRecord;
65
+ if (!childRecord) return parentRecord;
66
+ const merged = {
67
+ ...parentRecord,
68
+ ...childRecord
69
+ };
70
+ for (const key of /* @__PURE__ */ new Set([...Object.keys(parentRecord), ...Object.keys(childRecord)])) merged[key] = mergeHook(parentRecord[key], childRecord[key]);
71
+ return merged;
72
+ }
73
+ function mergeData(parent, child) {
74
+ if (parent === void 0) return child;
75
+ if (child === void 0) return parent;
76
+ return function mergedOptionData() {
77
+ var _asRecord, _asRecord2;
78
+ const parentData = typeof parent === "function" ? parent.call(this) : parent;
79
+ const childData = typeof child === "function" ? child.call(this) : child;
80
+ return {
81
+ ...(_asRecord = asRecord(parentData)) !== null && _asRecord !== void 0 ? _asRecord : {},
82
+ ...(_asRecord2 = asRecord(childData)) !== null && _asRecord2 !== void 0 ? _asRecord2 : {}
83
+ };
84
+ };
85
+ }
86
+ function resolveWatchHandler(descriptor, context) {
87
+ if (typeof descriptor === "function") return descriptor;
88
+ if (typeof descriptor === "string") {
89
+ const method = context[descriptor];
90
+ return typeof method === "function" ? method : void 0;
91
+ }
92
+ const record = asRecord(descriptor);
93
+ return record ? resolveWatchHandler(record.handler, context) : void 0;
94
+ }
95
+ function mergeWatchDescriptor(parent, child) {
96
+ if (parent === void 0) return child;
97
+ if (child === void 0) return parent;
98
+ const parentRecord = asRecord(parent);
99
+ const childRecord = asRecord(child);
100
+ return {
101
+ ...parentRecord !== null && parentRecord !== void 0 ? parentRecord : {},
102
+ ...childRecord !== null && childRecord !== void 0 ? childRecord : {},
103
+ handler(...args) {
104
+ var _resolveWatchHandler, _resolveWatchHandler2;
105
+ (_resolveWatchHandler = resolveWatchHandler(parent, this)) === null || _resolveWatchHandler === void 0 || _resolveWatchHandler.apply(this, args);
106
+ return (_resolveWatchHandler2 = resolveWatchHandler(child, this)) === null || _resolveWatchHandler2 === void 0 ? void 0 : _resolveWatchHandler2.apply(this, args);
107
+ },
108
+ immediate: Boolean((parentRecord === null || parentRecord === void 0 ? void 0 : parentRecord.immediate) || (childRecord === null || childRecord === void 0 ? void 0 : childRecord.immediate)),
109
+ deep: Boolean((parentRecord === null || parentRecord === void 0 ? void 0 : parentRecord.deep) || (childRecord === null || childRecord === void 0 ? void 0 : childRecord.deep))
110
+ };
111
+ }
112
+ function mergeWatch(parent, child) {
113
+ const parentRecord = asRecord(parent);
114
+ const childRecord = asRecord(child);
115
+ if (!parentRecord) return childRecord;
116
+ if (!childRecord) return parentRecord;
117
+ const merged = {
118
+ ...parentRecord,
119
+ ...childRecord
120
+ };
121
+ for (const key of /* @__PURE__ */ new Set([...Object.keys(parentRecord), ...Object.keys(childRecord)])) merged[key] = mergeWatchDescriptor(parentRecord[key], childRecord[key]);
122
+ return merged;
123
+ }
124
+ function mergeArray(parent, child) {
125
+ const values = [...Array.isArray(parent) ? parent : [], ...Array.isArray(child) ? child : []];
126
+ return [...new Set(values)];
127
+ }
128
+ function mergeOptions(parent, child) {
129
+ const merged = {
130
+ ...parent,
131
+ ...child
132
+ };
133
+ for (const key of OBJECT_OPTION_KEYS) {
134
+ const parentRecord = asRecord(parent[key]);
135
+ const childRecord = asRecord(child[key]);
136
+ if (parentRecord || childRecord) merged[key] = {
137
+ ...parentRecord !== null && parentRecord !== void 0 ? parentRecord : {},
138
+ ...childRecord !== null && childRecord !== void 0 ? childRecord : {}
139
+ };
140
+ }
141
+ merged.data = mergeData(parent.data, child.data);
142
+ merged.watch = mergeWatch(parent.watch, child.watch);
143
+ merged.lifetimes = mergeHookRecord(parent.lifetimes, child.lifetimes);
144
+ merged.pageLifetimes = mergeHookRecord(parent.pageLifetimes, child.pageLifetimes);
145
+ for (const key of /* @__PURE__ */ new Set([...Object.keys(parent), ...Object.keys(child)])) if (HOOK_OPTION_KEYS.has(key)) merged[key] = mergeHook(parent[key], child[key]);
146
+ if (Array.isArray(parent.emits) || Array.isArray(child.emits)) merged.emits = mergeArray(parent.emits, child.emits);
147
+ if (Array.isArray(parent.expose) || Array.isArray(child.expose)) merged.expose = mergeArray(parent.expose, child.expose);
148
+ return merged;
149
+ }
150
+ function appendOptions(target, source, seen) {
151
+ const sourceRecord = asRecord(source);
152
+ if (!sourceRecord || seen.has(sourceRecord)) return target;
153
+ seen.add(sourceRecord);
154
+ let merged = target;
155
+ merged = appendOptions(merged, sourceRecord.extends, seen);
156
+ if (Array.isArray(sourceRecord.mixins)) for (const mixin of sourceRecord.mixins) merged = appendOptions(merged, mixin, seen);
157
+ const { extends: _extends, mixins: _mixins, ...ownOptions } = sourceRecord;
158
+ return mergeOptions(merged, ownOptions);
159
+ }
160
+ /**
161
+ * 将 Vue Options API 的 extends/mixins 展开为单一组件选项。
162
+ */
163
+ function resolveVueComponentOptions(options) {
164
+ return appendOptions({}, options, /* @__PURE__ */ new WeakSet());
165
+ }
166
+
167
+ //#endregion
168
+ export { resolveVueComponentOptions };
169
+ //# sourceMappingURL=options.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.mjs","names":[],"sources":["../../../../src/runtime/define/options.ts"],"sourcesContent":["import type { DefineComponentOptions } from '../types'\n\ntype ComponentOptions = DefineComponentOptions<any, any, any, any, any>\ntype OptionRecord = Record<string, any>\n\nconst OBJECT_OPTION_KEYS = [\n 'components',\n 'computed',\n 'directives',\n 'inject',\n 'methods',\n 'props',\n 'provide',\n] as const\n\nconst HOOK_OPTION_KEYS = new Set([\n 'activated',\n 'attached',\n 'beforeCreate',\n 'beforeDestroy',\n 'beforeMount',\n 'beforeUnmount',\n 'beforeUpdate',\n 'created',\n 'deactivated',\n 'destroyed',\n 'detached',\n 'errorCaptured',\n 'hide',\n 'mounted',\n 'moved',\n 'onAddToFavorites',\n 'onHide',\n 'onLoad',\n 'onPageScroll',\n 'onPullDownRefresh',\n 'onReachBottom',\n 'onReady',\n 'onResize',\n 'onRouteDone',\n 'onSaveExitState',\n 'onShareAppMessage',\n 'onShareTimeline',\n 'onShow',\n 'onTabItemTap',\n 'onUnload',\n 'ready',\n 'renderTracked',\n 'renderTriggered',\n 'serverPrefetch',\n 'show',\n 'unmounted',\n 'updated',\n])\n\nfunction asRecord(value: unknown): OptionRecord | undefined {\n return value && typeof value === 'object' && !Array.isArray(value)\n ? value as OptionRecord\n : undefined\n}\n\nfunction mergeHook(parent: unknown, child: unknown) {\n if (typeof parent !== 'function') {\n return child\n }\n if (typeof child !== 'function') {\n return parent\n }\n return function mergedOptionHook(this: unknown, ...args: unknown[]) {\n parent.apply(this, args)\n return child.apply(this, args)\n }\n}\n\nfunction mergeHookRecord(parent: unknown, child: unknown) {\n const parentRecord = asRecord(parent)\n const childRecord = asRecord(child)\n if (!parentRecord) {\n return childRecord\n }\n if (!childRecord) {\n return parentRecord\n }\n const merged = { ...parentRecord, ...childRecord }\n for (const key of new Set([...Object.keys(parentRecord), ...Object.keys(childRecord)])) {\n merged[key] = mergeHook(parentRecord[key], childRecord[key])\n }\n return merged\n}\n\nfunction mergeData(parent: unknown, child: unknown) {\n if (parent === undefined) {\n return child\n }\n if (child === undefined) {\n return parent\n }\n return function mergedOptionData(this: unknown) {\n const parentData = typeof parent === 'function' ? parent.call(this) : parent\n const childData = typeof child === 'function' ? child.call(this) : child\n return {\n ...(asRecord(parentData) ?? {}),\n ...(asRecord(childData) ?? {}),\n }\n }\n}\n\nfunction resolveWatchHandler(descriptor: unknown, context: OptionRecord): ((...args: unknown[]) => unknown) | undefined {\n if (typeof descriptor === 'function') {\n return descriptor as (...args: unknown[]) => unknown\n }\n if (typeof descriptor === 'string') {\n const method = context[descriptor]\n return typeof method === 'function' ? method : undefined\n }\n const record = asRecord(descriptor)\n return record ? resolveWatchHandler(record.handler, context) : undefined\n}\n\nfunction mergeWatchDescriptor(parent: unknown, child: unknown) {\n if (parent === undefined) {\n return child\n }\n if (child === undefined) {\n return parent\n }\n const parentRecord = asRecord(parent)\n const childRecord = asRecord(child)\n return {\n ...(parentRecord ?? {}),\n ...(childRecord ?? {}),\n handler(this: OptionRecord, ...args: unknown[]) {\n resolveWatchHandler(parent, this)?.apply(this, args)\n return resolveWatchHandler(child, this)?.apply(this, args)\n },\n immediate: Boolean(parentRecord?.immediate || childRecord?.immediate),\n deep: Boolean(parentRecord?.deep || childRecord?.deep),\n }\n}\n\nfunction mergeWatch(parent: unknown, child: unknown) {\n const parentRecord = asRecord(parent)\n const childRecord = asRecord(child)\n if (!parentRecord) {\n return childRecord\n }\n if (!childRecord) {\n return parentRecord\n }\n const merged = { ...parentRecord, ...childRecord }\n for (const key of new Set([...Object.keys(parentRecord), ...Object.keys(childRecord)])) {\n merged[key] = mergeWatchDescriptor(parentRecord[key], childRecord[key])\n }\n return merged\n}\n\nfunction mergeArray(parent: unknown, child: unknown) {\n const values = [\n ...(Array.isArray(parent) ? parent : []),\n ...(Array.isArray(child) ? child : []),\n ]\n return [...new Set(values)]\n}\n\nfunction mergeOptions(parent: OptionRecord, child: OptionRecord) {\n const merged: OptionRecord = { ...parent, ...child }\n\n for (const key of OBJECT_OPTION_KEYS) {\n const parentRecord = asRecord(parent[key])\n const childRecord = asRecord(child[key])\n if (parentRecord || childRecord) {\n merged[key] = { ...(parentRecord ?? {}), ...(childRecord ?? {}) }\n }\n }\n\n merged.data = mergeData(parent.data, child.data)\n merged.watch = mergeWatch(parent.watch, child.watch)\n merged.lifetimes = mergeHookRecord(parent.lifetimes, child.lifetimes)\n merged.pageLifetimes = mergeHookRecord(parent.pageLifetimes, child.pageLifetimes)\n\n for (const key of new Set([...Object.keys(parent), ...Object.keys(child)])) {\n if (HOOK_OPTION_KEYS.has(key)) {\n merged[key] = mergeHook(parent[key], child[key])\n }\n }\n\n if (Array.isArray(parent.emits) || Array.isArray(child.emits)) {\n merged.emits = mergeArray(parent.emits, child.emits)\n }\n if (Array.isArray(parent.expose) || Array.isArray(child.expose)) {\n merged.expose = mergeArray(parent.expose, child.expose)\n }\n return merged\n}\n\nfunction appendOptions(target: OptionRecord, source: unknown, seen: WeakSet<object>) {\n const sourceRecord = asRecord(source)\n if (!sourceRecord || seen.has(sourceRecord)) {\n return target\n }\n seen.add(sourceRecord)\n\n let merged = target\n merged = appendOptions(merged, sourceRecord.extends, seen)\n if (Array.isArray(sourceRecord.mixins)) {\n for (const mixin of sourceRecord.mixins) {\n merged = appendOptions(merged, mixin, seen)\n }\n }\n\n const {\n extends: _extends,\n mixins: _mixins,\n ...ownOptions\n } = sourceRecord\n return mergeOptions(merged, ownOptions)\n}\n\n/**\n * 将 Vue Options API 的 extends/mixins 展开为单一组件选项。\n */\nexport function resolveVueComponentOptions<T extends ComponentOptions>(options: T): T {\n return appendOptions({}, options, new WeakSet()) as T\n}\n"],"mappings":"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"}