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 @@
1
+ {"version":3,"file":"template.mjs","names":[],"sources":["../../../src/runtime/template.ts"],"sourcesContent":["import { WEVU_SETUP_STATE_KEY } from '@weapp-core/constants'\nimport { unref } from '../reactivity'\n\nconst hyphenateRE = /\\B([A-Z])/g\n\nfunction hasOwnProperty(target: object, key: string) {\n return Object.prototype.hasOwnProperty.call(target, key)\n}\n\nfunction hyphenate(value: string) {\n if (!value) {\n return ''\n }\n if (value.startsWith('--')) {\n return value\n }\n return value.replace(hyphenateRE, '-$1').toLowerCase()\n}\n\nfunction appendStyle(base: string, part: string) {\n if (!part) {\n return base\n }\n if (!base) {\n return part\n }\n let next = base\n if (!next.endsWith(';')) {\n next += ';'\n }\n const normalized = part.startsWith(';') ? part.slice(1) : part\n return next + normalized\n}\n\nfunction stringifyStyle(value: Record<string, any>) {\n let res = ''\n for (const key of Object.keys(value)) {\n const raw = unref(value[key])\n if (raw == null) {\n continue\n }\n const name = hyphenate(key)\n if (Array.isArray(raw)) {\n for (const itemValue of raw) {\n const item = unref(itemValue)\n if (item == null) {\n continue\n }\n res = appendStyle(res, `${name}:${item}`)\n }\n }\n else {\n res = appendStyle(res, `${name}:${raw}`)\n }\n }\n return res\n}\n\nexport function normalizeStyle(value: any): string {\n const unwrapped = unref(value)\n if (unwrapped == null) {\n return ''\n }\n if (typeof unwrapped === 'string') {\n return unwrapped\n }\n if (Array.isArray(unwrapped)) {\n let res = ''\n for (const item of unwrapped) {\n const normalized = normalizeStyle(item)\n if (normalized) {\n res = appendStyle(res, normalized)\n }\n }\n return res\n }\n if (typeof unwrapped === 'object') {\n return stringifyStyle(unwrapped)\n }\n return ''\n}\n\nexport function normalizeClass(value: any): string {\n const unwrapped = unref(value)\n let res = ''\n if (!unwrapped) {\n return res\n }\n if (typeof unwrapped === 'string') {\n return unwrapped\n }\n if (Array.isArray(unwrapped)) {\n for (const item of unwrapped) {\n const normalized = normalizeClass(item)\n if (normalized) {\n res += `${normalized} `\n }\n }\n return res.trim()\n }\n if (typeof unwrapped === 'object') {\n for (const key of Object.keys(unwrapped)) {\n if (unref(unwrapped[key])) {\n res += `${key} `\n }\n }\n return res.trim()\n }\n return res\n}\n\nexport function resolvePropValue(target: any, key: string, fallback: any, preferProps = false) {\n if (target == null) {\n return fallback\n }\n const propsObject = unref(target.__wevuProps)\n if (key === 'data') {\n if (propsObject != null && (propsObject[key] !== undefined || hasOwnProperty(propsObject, key))) {\n return propsObject[key]\n }\n return key in target ? target[key] : fallback\n }\n const hasPropsValue = propsObject != null\n && (propsObject[key] !== undefined || hasOwnProperty(propsObject, key))\n if (preferProps) {\n if (hasPropsValue) {\n return propsObject[key]\n }\n if (key in target) {\n return target[key]\n }\n return fallback\n }\n const stateObject = unref(target.$state)\n const setupStateObject = stateObject?.[WEVU_SETUP_STATE_KEY]\n if (setupStateObject != null && hasOwnProperty(setupStateObject, key)) {\n return target[key]\n }\n if (stateObject != null && hasOwnProperty(stateObject, key)) {\n return stateObject[key]\n }\n if (hasPropsValue) {\n return propsObject[key]\n }\n if (!(key in target)) {\n return fallback\n }\n return target[key]\n}\n"],"mappings":"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"}
@@ -0,0 +1,254 @@
1
+ import { markRaw } from "../../reactivity/reactive.mjs";
2
+ import { isRef } from "../../reactivity/ref.mjs";
3
+ import { getCurrentMiniProgramRuntimeCapabilities, getMiniProgramGlobalObject, supportsCurrentMiniProgramRuntimeCapability } from "../platform.mjs";
4
+ import { markNoSetData } from "../noSetData.mjs";
5
+ import { WEVU_EXPOSED_KEY, WEVU_PUBLIC_RUNTIME_KEY, WEVU_READY_CALLED_KEY, WEVU_TEMPLATE_REF_MAP_KEY } from "@weapp-core/constants";
6
+
7
+ //#region src/runtime/templateRefs/helpers.ts
8
+ function isComponentRef(binding) {
9
+ return binding.kind === "component";
10
+ }
11
+ function proxyRefs(target) {
12
+ return new Proxy(target, {
13
+ get(obj, key, receiver) {
14
+ const value = Reflect.get(obj, key, receiver);
15
+ return isRef(value) ? value.value : value;
16
+ },
17
+ set(obj, key, value, receiver) {
18
+ const current = obj[key];
19
+ if (isRef(current) && !isRef(value)) {
20
+ current.value = value;
21
+ return true;
22
+ }
23
+ return Reflect.set(obj, key, value, receiver);
24
+ }
25
+ });
26
+ }
27
+ function getExposeProxy(target, exposed) {
28
+ const existing = target.__wevuExposeProxy;
29
+ if (existing && target.__wevuExposeRaw === exposed) return existing;
30
+ const proxy = proxyRefs(exposed);
31
+ try {
32
+ Object.defineProperty(target, "__wevuExposeProxy", {
33
+ value: proxy,
34
+ configurable: true,
35
+ enumerable: false,
36
+ writable: false
37
+ });
38
+ Object.defineProperty(target, "__wevuExposeRaw", {
39
+ value: exposed,
40
+ configurable: true,
41
+ enumerable: false,
42
+ writable: false
43
+ });
44
+ } catch (_unused) {
45
+ target.__wevuExposeProxy = proxy;
46
+ target.__wevuExposeRaw = exposed;
47
+ }
48
+ return proxy;
49
+ }
50
+ function mergeComponentRefValue(wrapper, exposed, resolveCurrent) {
51
+ if ((!exposed || typeof exposed !== "object") && !resolveCurrent) return wrapper;
52
+ const source = exposed && typeof exposed === "object" ? exposed : Object.create(null);
53
+ const getSource = () => {
54
+ const current = resolveCurrent === null || resolveCurrent === void 0 ? void 0 : resolveCurrent();
55
+ return current && typeof current === "object" ? current : source;
56
+ };
57
+ markRaw(wrapper);
58
+ return markNoSetData(new Proxy(wrapper, {
59
+ get(target, key, receiver) {
60
+ if (key === "__r_raw") return target;
61
+ if (key === "__r_isReactive" || key === "__r_isReadonly") return false;
62
+ if (Reflect.has(target, key)) return Reflect.get(target, key, receiver);
63
+ const currentSource = getSource();
64
+ const value = currentSource[key];
65
+ if (typeof value === "function") return value.bind(currentSource);
66
+ return value;
67
+ },
68
+ set(target, key, value, receiver) {
69
+ if (Reflect.has(target, key)) return Reflect.set(target, key, value, receiver);
70
+ const currentSource = getSource();
71
+ if (key in currentSource) {
72
+ currentSource[key] = value;
73
+ return true;
74
+ }
75
+ currentSource[key] = value;
76
+ return true;
77
+ },
78
+ has(target, key) {
79
+ return Reflect.has(target, key) || key in getSource();
80
+ },
81
+ ownKeys(target) {
82
+ return [.../* @__PURE__ */ new Set([...Reflect.ownKeys(target), ...Reflect.ownKeys(getSource())])];
83
+ },
84
+ getOwnPropertyDescriptor(target, key) {
85
+ if (Reflect.has(target, key)) return Object.getOwnPropertyDescriptor(target, key);
86
+ const descriptor = Object.getOwnPropertyDescriptor(getSource(), key);
87
+ if (!descriptor) return descriptor;
88
+ return {
89
+ ...descriptor,
90
+ configurable: true
91
+ };
92
+ }
93
+ }));
94
+ }
95
+ function resolveComponentPublicInstance(value) {
96
+ var _instance$WEVU_PUBLIC;
97
+ if (!value || typeof value !== "object") return value !== null && value !== void 0 ? value : null;
98
+ const instance = value;
99
+ if (instance.__wevu && !instance[WEVU_READY_CALLED_KEY]) return null;
100
+ const exposed = instance[WEVU_EXPOSED_KEY];
101
+ if (exposed && typeof exposed === "object") return getExposeProxy(instance, exposed);
102
+ if ((_instance$WEVU_PUBLIC = instance[WEVU_PUBLIC_RUNTIME_KEY]) === null || _instance$WEVU_PUBLIC === void 0 ? void 0 : _instance$WEVU_PUBLIC.proxy) return instance[WEVU_PUBLIC_RUNTIME_KEY].proxy;
103
+ return value;
104
+ }
105
+ function getTemplateRefMap(target) {
106
+ return target[WEVU_TEMPLATE_REF_MAP_KEY];
107
+ }
108
+ function updateTemplateRefMapValue(refMap, name, value) {
109
+ if (!refMap) return;
110
+ const entry = refMap.get(name);
111
+ if (entry) entry.value = value;
112
+ }
113
+ function resolveTemplateRefTarget(target, binding, evaluationTarget = target) {
114
+ var _evaluationTarget$__w, _evaluationTarget$__w2;
115
+ const proxy = (_evaluationTarget$__w = (_evaluationTarget$__w2 = evaluationTarget.__wevu) === null || _evaluationTarget$__w2 === void 0 ? void 0 : _evaluationTarget$__w2.proxy) !== null && _evaluationTarget$__w !== void 0 ? _evaluationTarget$__w : evaluationTarget;
116
+ let resolved;
117
+ if (binding.get) try {
118
+ resolved = binding.get.call(proxy);
119
+ } catch (_unused2) {
120
+ resolved = void 0;
121
+ }
122
+ if (resolved == null && binding.name) {
123
+ var _target$__wevu;
124
+ const setupBinding = (_target$__wevu = target.__wevu) === null || _target$__wevu === void 0 || (_target$__wevu = _target$__wevu.setupState) === null || _target$__wevu === void 0 ? void 0 : _target$__wevu[binding.name];
125
+ if (isRef(setupBinding) || typeof setupBinding === "function") resolved = setupBinding;
126
+ }
127
+ if (resolved == null && binding.name) resolved = binding.name;
128
+ if (typeof resolved === "function") return {
129
+ type: "function",
130
+ fn: resolved
131
+ };
132
+ if (isRef(resolved)) return {
133
+ type: "ref",
134
+ ref: resolved
135
+ };
136
+ if (typeof resolved === "string" && resolved) return {
137
+ type: "name",
138
+ name: resolved
139
+ };
140
+ if (binding.name) return {
141
+ type: "name",
142
+ name: binding.name
143
+ };
144
+ return { type: "skip" };
145
+ }
146
+ function ensureRefsContainer(target) {
147
+ var _target$__wevu$state, _target$__wevu2;
148
+ const runtimeState = (_target$__wevu$state = (_target$__wevu2 = target.__wevu) === null || _target$__wevu2 === void 0 ? void 0 : _target$__wevu2.state) !== null && _target$__wevu$state !== void 0 ? _target$__wevu$state : target;
149
+ const existing = runtimeState.$refs;
150
+ if (existing && typeof existing === "object") return existing;
151
+ const refs = markNoSetData(Object.create(null));
152
+ Object.defineProperty(runtimeState, "$refs", {
153
+ value: refs,
154
+ configurable: true,
155
+ enumerable: false,
156
+ writable: false
157
+ });
158
+ return refs;
159
+ }
160
+ function createSelectorQuery(target) {
161
+ const instance = target;
162
+ if (instance && typeof instance.createSelectorQuery === "function") return instance.createSelectorQuery();
163
+ if (!supportsCurrentMiniProgramRuntimeCapability("globalCreateSelectorQuery")) return null;
164
+ const miniProgramGlobal = getMiniProgramGlobalObject();
165
+ if (miniProgramGlobal && typeof miniProgramGlobal.createSelectorQuery === "function") {
166
+ const query = miniProgramGlobal.createSelectorQuery();
167
+ if (!query) return null;
168
+ if (getCurrentMiniProgramRuntimeCapabilities().selectorQueryScopeByIn && typeof query.in === "function") return query.in(instance);
169
+ return query;
170
+ }
171
+ return null;
172
+ }
173
+ function runQuery(target, selector, options, apply, cb) {
174
+ const query = createSelectorQuery(target);
175
+ if (!query) {
176
+ const fallback = null;
177
+ if (cb) cb(fallback);
178
+ return Promise.resolve(fallback);
179
+ }
180
+ apply(options.multiple ? query.selectAll(selector) : query.select(selector));
181
+ return new Promise((resolve) => {
182
+ query.exec((res) => {
183
+ var _result2;
184
+ let result = Array.isArray(res) ? res[0] : null;
185
+ if (options.index != null && Array.isArray(result)) {
186
+ var _result$options$index;
187
+ result = (_result$options$index = result[options.index]) !== null && _result$options$index !== void 0 ? _result$options$index : null;
188
+ }
189
+ if (cb) {
190
+ var _result;
191
+ cb((_result = result) !== null && _result !== void 0 ? _result : null);
192
+ }
193
+ resolve((_result2 = result) !== null && _result2 !== void 0 ? _result2 : null);
194
+ });
195
+ });
196
+ }
197
+ function createTemplateRefWrapper(target, selector, options) {
198
+ return markNoSetData({
199
+ selector,
200
+ boundingClientRect: (cb) => {
201
+ return runQuery(target, selector, options, (ref) => ref.boundingClientRect(), cb);
202
+ },
203
+ scrollOffset: (cb) => {
204
+ return runQuery(target, selector, options, (ref) => ref.scrollOffset(), cb);
205
+ },
206
+ fields: (fields, cb) => {
207
+ return runQuery(target, selector, options, (ref) => ref.fields(fields), cb);
208
+ },
209
+ node: (cb) => {
210
+ return runQuery(target, selector, options, (ref) => ref.node(), cb);
211
+ }
212
+ });
213
+ }
214
+ function resolveComponentRefValue(target, binding) {
215
+ const instance = target;
216
+ if (!instance) return binding.inFor ? markNoSetData([]) : null;
217
+ if (binding.inFor) {
218
+ if (typeof instance.selectAllComponents === "function") {
219
+ const result = instance.selectAllComponents(binding.selector);
220
+ return markNoSetData((Array.isArray(result) ? result : []).map((item, index) => {
221
+ const wrapper = createTemplateRefWrapper(target, binding.selector, {
222
+ multiple: true,
223
+ index
224
+ });
225
+ const resolveCurrent = () => {
226
+ const current = instance.selectAllComponents(binding.selector);
227
+ return resolveComponentPublicInstance(Array.isArray(current) ? current[index] : null);
228
+ };
229
+ return mergeComponentRefValue(wrapper, resolveComponentPublicInstance(item), resolveCurrent);
230
+ }));
231
+ }
232
+ return markNoSetData([]);
233
+ }
234
+ const wrapper = createTemplateRefWrapper(target, binding.selector, { multiple: false });
235
+ if (typeof instance.selectComponent !== "function") return wrapper;
236
+ const result = instance.selectComponent(binding.selector);
237
+ if (!result) return null;
238
+ const publicInstance = resolveComponentPublicInstance(result);
239
+ if (!publicInstance) return null;
240
+ const resolveCurrent = () => resolveComponentPublicInstance(instance.selectComponent(binding.selector));
241
+ return mergeComponentRefValue(wrapper, publicInstance, resolveCurrent);
242
+ }
243
+ function buildTemplateRefValue(target, binding, result) {
244
+ if (binding.inFor) return markNoSetData((Array.isArray(result) ? result : []).map((_, index) => createTemplateRefWrapper(target, binding.selector, {
245
+ multiple: true,
246
+ index
247
+ })));
248
+ if (!result) return null;
249
+ return createTemplateRefWrapper(target, binding.selector, { multiple: false });
250
+ }
251
+
252
+ //#endregion
253
+ export { buildTemplateRefValue, createSelectorQuery, ensureRefsContainer, getTemplateRefMap, isComponentRef, resolveComponentRefValue, resolveTemplateRefTarget, updateTemplateRefMapValue };
254
+ //# sourceMappingURL=helpers.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.mjs","names":[],"sources":["../../../../src/runtime/templateRefs/helpers.ts"],"sourcesContent":["import type { Ref } from '../../reactivity'\nimport type { TemplateRefBinding } from '../templateRefs'\nimport type {\n InternalRuntimeState,\n MiniProgramNodesRef,\n MiniProgramNodesRefFields,\n MiniProgramSelectorQuery,\n} from '../types'\nimport {\n WEVU_EXPOSED_KEY,\n WEVU_PUBLIC_RUNTIME_KEY,\n WEVU_READY_CALLED_KEY,\n WEVU_TEMPLATE_REF_MAP_KEY,\n} from '@weapp-core/constants'\nimport { isRef, markRaw } from '../../reactivity'\nimport { ReactiveFlags } from '../../reactivity/reactive'\nimport { markNoSetData } from '../noSetData'\nimport { getCurrentMiniProgramRuntimeCapabilities, getMiniProgramGlobalObject, supportsCurrentMiniProgramRuntimeCapability } from '../platform'\n\ntype TemplateRefTarget\n = | { type: 'function', fn: (value: any) => void }\n | { type: 'ref', ref: Ref<any> }\n | { type: 'name', name: string }\n | { type: 'skip' }\n\nexport type TemplateRefMap = Map<string, Ref<any>>\n\nexport function isComponentRef(binding: TemplateRefBinding) {\n return binding.kind === 'component'\n}\n\nfunction proxyRefs<T extends Record<string, any>>(target: T): T {\n return new Proxy(target, {\n get(obj, key, receiver) {\n const value = Reflect.get(obj, key, receiver) as unknown\n return isRef(value) ? value.value : value\n },\n set(obj, key, value, receiver) {\n const current = (obj as any)[key]\n if (isRef(current) && !isRef(value)) {\n current.value = value\n return true\n }\n return Reflect.set(obj, key, value, receiver)\n },\n })\n}\n\nfunction getExposeProxy(target: any, exposed: Record<string, any>) {\n const existing = target.__wevuExposeProxy\n if (existing && target.__wevuExposeRaw === exposed) {\n return existing\n }\n const proxy = proxyRefs(exposed)\n try {\n Object.defineProperty(target, '__wevuExposeProxy', {\n value: proxy,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n Object.defineProperty(target, '__wevuExposeRaw', {\n value: exposed,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n }\n catch {\n target.__wevuExposeProxy = proxy\n target.__wevuExposeRaw = exposed\n }\n return proxy\n}\n\nfunction mergeComponentRefValue(\n wrapper: Record<string, any>,\n exposed: unknown,\n resolveCurrent?: () => unknown,\n) {\n if ((!exposed || typeof exposed !== 'object') && !resolveCurrent) {\n return wrapper\n }\n const source = exposed && typeof exposed === 'object'\n ? exposed as Record<string, any>\n : Object.create(null) as Record<string, any>\n const getSource = () => {\n const current = resolveCurrent?.()\n return current && typeof current === 'object'\n ? current as Record<string, any>\n : source\n }\n markRaw(wrapper)\n const merged = new Proxy(wrapper, {\n get(target, key, receiver) {\n if (key === ReactiveFlags.RAW) {\n return target\n }\n if (key === ReactiveFlags.IS_REACTIVE || key === ReactiveFlags.IS_READONLY) {\n return false\n }\n if (Reflect.has(target, key)) {\n return Reflect.get(target, key, receiver)\n }\n const currentSource = getSource()\n const value = currentSource[key as keyof typeof currentSource]\n if (typeof value === 'function') {\n return value.bind(currentSource)\n }\n return value\n },\n set(target, key, value, receiver) {\n if (Reflect.has(target, key)) {\n return Reflect.set(target, key, value, receiver)\n }\n const currentSource = getSource()\n if (key in currentSource) {\n currentSource[key as keyof typeof currentSource] = value\n return true\n }\n currentSource[key as keyof typeof currentSource] = value\n return true\n },\n has(target, key) {\n return Reflect.has(target, key) || key in getSource()\n },\n ownKeys(target) {\n return [...new Set([...Reflect.ownKeys(target), ...Reflect.ownKeys(getSource())])]\n },\n getOwnPropertyDescriptor(target, key) {\n if (Reflect.has(target, key)) {\n return Object.getOwnPropertyDescriptor(target, key)\n }\n const descriptor = Object.getOwnPropertyDescriptor(getSource(), key)\n if (!descriptor) {\n return descriptor\n }\n return {\n ...descriptor,\n configurable: true,\n }\n },\n })\n return markNoSetData(merged)\n}\n\nfunction resolveComponentPublicInstance(value: any) {\n if (!value || typeof value !== 'object') {\n return value ?? null\n }\n const instance = value as any\n if (instance.__wevu && !instance[WEVU_READY_CALLED_KEY]) {\n return null\n }\n const exposed = instance[WEVU_EXPOSED_KEY]\n if (exposed && typeof exposed === 'object') {\n return getExposeProxy(instance, exposed as Record<string, any>)\n }\n if (instance[WEVU_PUBLIC_RUNTIME_KEY]?.proxy) {\n return instance[WEVU_PUBLIC_RUNTIME_KEY].proxy\n }\n return value\n}\n\nexport function getTemplateRefMap(target: InternalRuntimeState): TemplateRefMap | undefined {\n return (target as any)[WEVU_TEMPLATE_REF_MAP_KEY] as TemplateRefMap | undefined\n}\n\nexport function updateTemplateRefMapValue(\n refMap: TemplateRefMap | undefined,\n name: string,\n value: any,\n) {\n if (!refMap) {\n return\n }\n const entry = refMap.get(name)\n if (entry) {\n entry.value = value\n }\n}\n\nexport function resolveTemplateRefTarget(\n target: InternalRuntimeState,\n binding: TemplateRefBinding,\n evaluationTarget: InternalRuntimeState = target,\n): TemplateRefTarget {\n const proxy = evaluationTarget.__wevu?.proxy ?? evaluationTarget\n let resolved: unknown\n if (binding.get) {\n try {\n resolved = binding.get.call(proxy)\n }\n catch {\n resolved = undefined\n }\n }\n if (resolved == null && binding.name) {\n const setupBinding = target.__wevu?.setupState?.[binding.name]\n if (isRef(setupBinding) || typeof setupBinding === 'function') {\n resolved = setupBinding\n }\n }\n if (resolved == null && binding.name) {\n resolved = binding.name\n }\n if (typeof resolved === 'function') {\n return { type: 'function', fn: resolved as (value: any) => void }\n }\n if (isRef(resolved)) {\n return { type: 'ref', ref: resolved as Ref<any> }\n }\n if (typeof resolved === 'string' && resolved) {\n return { type: 'name', name: resolved }\n }\n if (binding.name) {\n return { type: 'name', name: binding.name }\n }\n return { type: 'skip' }\n}\n\nexport function ensureRefsContainer(target: InternalRuntimeState): Record<string, any> {\n const runtimeState = (target.__wevu?.state ?? target) as Record<string, any>\n const existing = runtimeState.$refs\n if (existing && typeof existing === 'object') {\n return existing as Record<string, any>\n }\n const refs = markNoSetData(Object.create(null))\n Object.defineProperty(runtimeState, '$refs', {\n value: refs,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n return refs\n}\n\nexport function createSelectorQuery(target: InternalRuntimeState): MiniProgramSelectorQuery | null {\n const instance = target as any\n if (instance && typeof instance.createSelectorQuery === 'function') {\n return instance.createSelectorQuery()\n }\n if (!supportsCurrentMiniProgramRuntimeCapability('globalCreateSelectorQuery')) {\n return null\n }\n const miniProgramGlobal = getMiniProgramGlobalObject()\n if (miniProgramGlobal && typeof miniProgramGlobal.createSelectorQuery === 'function') {\n const query = miniProgramGlobal.createSelectorQuery()\n if (!query) {\n return null\n }\n if (getCurrentMiniProgramRuntimeCapabilities().selectorQueryScopeByIn && typeof (query as any).in === 'function') {\n return (query as any).in(instance)\n }\n return query\n }\n return null\n}\n\nfunction runQuery<T>(\n target: InternalRuntimeState,\n selector: string,\n options: { multiple: boolean, index?: number },\n apply: (nodesRef: MiniProgramNodesRef) => void,\n cb?: (value: T | null) => void,\n): Promise<T | null> {\n const query = createSelectorQuery(target)\n if (!query) {\n const fallback = null\n if (cb) {\n cb(fallback)\n }\n return Promise.resolve(fallback)\n }\n const nodesRef = options.multiple ? query.selectAll(selector) : query.select(selector)\n apply(nodesRef)\n return new Promise((resolve) => {\n query.exec((res) => {\n let result: any = Array.isArray(res) ? res[0] : null\n if (options.index != null && Array.isArray(result)) {\n result = result[options.index] ?? null\n }\n if (cb) {\n cb(result ?? null)\n }\n resolve(result ?? null)\n })\n })\n}\n\nfunction createTemplateRefWrapper(\n target: InternalRuntimeState,\n selector: string,\n options: { multiple: boolean, index?: number },\n) {\n const wrapper = {\n selector,\n boundingClientRect: (cb?: (value: any) => void) => {\n return runQuery(target, selector, options, ref => ref.boundingClientRect(), cb)\n },\n scrollOffset: (cb?: (value: any) => void) => {\n return runQuery(target, selector, options, ref => ref.scrollOffset(), cb)\n },\n fields: (fields: MiniProgramNodesRefFields, cb?: (value: any) => void) => {\n return runQuery(target, selector, options, ref => ref.fields(fields as any), cb)\n },\n node: (cb?: (value: any) => void) => {\n return runQuery(target, selector, options, ref => ref.node(), cb)\n },\n }\n return markNoSetData(wrapper)\n}\n\nexport function resolveComponentRefValue(\n target: InternalRuntimeState,\n binding: TemplateRefBinding,\n) {\n const instance = target as any\n if (!instance) {\n return binding.inFor ? markNoSetData([]) : null\n }\n if (binding.inFor) {\n if (typeof instance.selectAllComponents === 'function') {\n const result = instance.selectAllComponents(binding.selector)\n const items = Array.isArray(result) ? result : []\n const merged = items.map((item, index) => {\n const wrapper = createTemplateRefWrapper(target, binding.selector, { multiple: true, index })\n const resolveCurrent = () => {\n const current = instance.selectAllComponents(binding.selector)\n return resolveComponentPublicInstance(Array.isArray(current) ? current[index] : null)\n }\n return mergeComponentRefValue(wrapper as Record<string, any>, resolveComponentPublicInstance(item), resolveCurrent)\n })\n return markNoSetData(merged)\n }\n return markNoSetData([])\n }\n const wrapper = createTemplateRefWrapper(target, binding.selector, { multiple: false })\n if (typeof instance.selectComponent !== 'function') {\n return wrapper\n }\n const result = instance.selectComponent(binding.selector)\n if (!result) {\n return null\n }\n const publicInstance = resolveComponentPublicInstance(result)\n if (!publicInstance) {\n return null\n }\n const resolveCurrent = () => resolveComponentPublicInstance(instance.selectComponent(binding.selector))\n return mergeComponentRefValue(wrapper as Record<string, any>, publicInstance, resolveCurrent)\n}\n\nexport function buildTemplateRefValue(\n target: InternalRuntimeState,\n binding: TemplateRefBinding,\n result: unknown,\n) {\n if (binding.inFor) {\n const items = Array.isArray(result) ? result : []\n const wrappers = items.map((_, index) => createTemplateRefWrapper(target, binding.selector, { multiple: true, index }))\n return markNoSetData(wrappers)\n }\n if (!result) {\n return null\n }\n return createTemplateRefWrapper(target, binding.selector, { multiple: false })\n}\n"],"mappings":"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"}
@@ -0,0 +1,162 @@
1
+ import { nextTick } from "../scheduler.mjs";
2
+ import { markNoSetData } from "./noSetData.mjs";
3
+ import { buildTemplateRefValue, createSelectorQuery, ensureRefsContainer, getTemplateRefMap, isComponentRef, resolveComponentRefValue, resolveTemplateRefTarget, updateTemplateRefMapValue } from "./templateRefs/helpers.mjs";
4
+ import { WEVU_READY_CALLED_KEY, WEVU_TEMPLATE_REFS_CALLBACKS_KEY, WEVU_TEMPLATE_REFS_KEY, WEVU_TEMPLATE_REFS_PENDING_KEY } from "@weapp-core/constants";
5
+
6
+ //#region src/runtime/templateRefs.ts
7
+ function updateTemplateRefs(target, onResolved, assignmentTarget = target) {
8
+ const bindings = target[WEVU_TEMPLATE_REFS_KEY];
9
+ if (!bindings || !bindings.length) {
10
+ onResolved === null || onResolved === void 0 || onResolved();
11
+ return;
12
+ }
13
+ if (!target[WEVU_READY_CALLED_KEY]) {
14
+ onResolved === null || onResolved === void 0 || onResolved();
15
+ return;
16
+ }
17
+ if (!target.__wevu) {
18
+ onResolved === null || onResolved === void 0 || onResolved();
19
+ return;
20
+ }
21
+ const templateRefMap = getTemplateRefMap(assignmentTarget);
22
+ const nodeBindings = bindings.filter((binding) => !isComponentRef(binding));
23
+ const componentEntries = bindings.filter((binding) => isComponentRef(binding)).map((binding) => ({
24
+ binding,
25
+ value: resolveComponentRefValue(target, binding)
26
+ }));
27
+ const applyEntries = (entries) => {
28
+ var _target$__wevu$proxy, _target$__wevu;
29
+ const refsContainer = ensureRefsContainer(assignmentTarget);
30
+ const nameEntries = /* @__PURE__ */ new Map();
31
+ const nextNames = /* @__PURE__ */ new Set();
32
+ const proxy = (_target$__wevu$proxy = (_target$__wevu = target.__wevu) === null || _target$__wevu === void 0 ? void 0 : _target$__wevu.proxy) !== null && _target$__wevu$proxy !== void 0 ? _target$__wevu$proxy : target;
33
+ entries.forEach((entry) => {
34
+ const binding = entry.binding;
35
+ const value = entry.value;
36
+ const resolved = resolveTemplateRefTarget(assignmentTarget, binding, target);
37
+ if (resolved.type === "function") {
38
+ if (binding.inFor && Array.isArray(value)) if (value.length) value.forEach((item) => resolved.fn.call(proxy, item));
39
+ else resolved.fn.call(proxy, null);
40
+ else resolved.fn.call(proxy, value !== null && value !== void 0 ? value : null);
41
+ return;
42
+ }
43
+ if (resolved.type === "ref") {
44
+ resolved.ref.value = value;
45
+ return;
46
+ }
47
+ if (resolved.type === "name") {
48
+ var _nameEntries$get;
49
+ nextNames.add(resolved.name);
50
+ const entry = (_nameEntries$get = nameEntries.get(resolved.name)) !== null && _nameEntries$get !== void 0 ? _nameEntries$get : {
51
+ values: [],
52
+ count: 0,
53
+ hasFor: false
54
+ };
55
+ entry.count += 1;
56
+ entry.hasFor = entry.hasFor || binding.inFor;
57
+ if (binding.inFor) {
58
+ if (Array.isArray(value)) entry.values.push(...value);
59
+ } else if (value != null) entry.values.push(value);
60
+ nameEntries.set(resolved.name, entry);
61
+ }
62
+ });
63
+ for (const [name, entry] of nameEntries) {
64
+ let nextValue;
65
+ if (!entry.values.length) nextValue = entry.hasFor ? markNoSetData([]) : null;
66
+ else if (entry.hasFor || entry.values.length > 1 || entry.count > 1) nextValue = markNoSetData(entry.values);
67
+ else nextValue = entry.values[0];
68
+ refsContainer[name] = nextValue;
69
+ updateTemplateRefMapValue(templateRefMap, name, nextValue);
70
+ }
71
+ for (const key of Object.keys(refsContainer)) if (!nextNames.has(key)) delete refsContainer[key];
72
+ onResolved === null || onResolved === void 0 || onResolved();
73
+ };
74
+ if (!nodeBindings.length) {
75
+ applyEntries(componentEntries);
76
+ return;
77
+ }
78
+ const query = createSelectorQuery(target);
79
+ if (!query) {
80
+ applyEntries(componentEntries);
81
+ return;
82
+ }
83
+ const nodeEntries = [];
84
+ for (const binding of nodeBindings) {
85
+ (binding.inFor ? query.selectAll(binding.selector) : query.select(binding.selector)).boundingClientRect();
86
+ nodeEntries.push({ binding });
87
+ }
88
+ query.exec((res) => {
89
+ const entries = nodeEntries.map((entry, index) => {
90
+ const rawResult = Array.isArray(res) ? res[index] : null;
91
+ return {
92
+ binding: entry.binding,
93
+ value: buildTemplateRefValue(target, entry.binding, rawResult)
94
+ };
95
+ });
96
+ applyEntries([...componentEntries, ...entries]);
97
+ });
98
+ }
99
+ function scheduleTemplateRefUpdate(target, onResolved, assignmentTarget = target) {
100
+ const bindings = target[WEVU_TEMPLATE_REFS_KEY];
101
+ if (!bindings || !bindings.length) {
102
+ onResolved === null || onResolved === void 0 || onResolved();
103
+ return;
104
+ }
105
+ if (onResolved) {
106
+ var _WEVU_TEMPLATE_REFS_C;
107
+ const callbacks = (_WEVU_TEMPLATE_REFS_C = target[WEVU_TEMPLATE_REFS_CALLBACKS_KEY]) !== null && _WEVU_TEMPLATE_REFS_C !== void 0 ? _WEVU_TEMPLATE_REFS_C : [];
108
+ callbacks.push(onResolved);
109
+ if (!target[WEVU_TEMPLATE_REFS_CALLBACKS_KEY]) Object.defineProperty(target, WEVU_TEMPLATE_REFS_CALLBACKS_KEY, {
110
+ value: callbacks,
111
+ configurable: true,
112
+ enumerable: false,
113
+ writable: true
114
+ });
115
+ }
116
+ if (target[WEVU_TEMPLATE_REFS_PENDING_KEY]) return;
117
+ target[WEVU_TEMPLATE_REFS_PENDING_KEY] = true;
118
+ nextTick(() => {
119
+ target[WEVU_TEMPLATE_REFS_PENDING_KEY] = false;
120
+ const flushCallbacks = () => {
121
+ const callbacks = target[WEVU_TEMPLATE_REFS_CALLBACKS_KEY];
122
+ if (!callbacks || !callbacks.length) return;
123
+ callbacks.splice(0).forEach((cb) => {
124
+ try {
125
+ cb();
126
+ } catch (_unused) {}
127
+ });
128
+ };
129
+ updateTemplateRefs(target, flushCallbacks, assignmentTarget);
130
+ });
131
+ }
132
+ function clearTemplateRefs(target, assignmentTarget = target) {
133
+ var _target$__wevu$proxy2, _target$__wevu2;
134
+ const bindings = target[WEVU_TEMPLATE_REFS_KEY];
135
+ if (!bindings || !bindings.length) return;
136
+ const refsContainer = ensureRefsContainer(assignmentTarget);
137
+ const proxy = (_target$__wevu$proxy2 = (_target$__wevu2 = target.__wevu) === null || _target$__wevu2 === void 0 ? void 0 : _target$__wevu2.proxy) !== null && _target$__wevu$proxy2 !== void 0 ? _target$__wevu$proxy2 : target;
138
+ const nextNames = /* @__PURE__ */ new Set();
139
+ const templateRefMap = getTemplateRefMap(assignmentTarget);
140
+ for (const binding of bindings) {
141
+ const resolved = resolveTemplateRefTarget(assignmentTarget, binding, target);
142
+ const emptyValue = binding.inFor ? markNoSetData([]) : null;
143
+ if (resolved.type === "function") {
144
+ resolved.fn.call(proxy, null);
145
+ continue;
146
+ }
147
+ if (resolved.type === "ref") {
148
+ resolved.ref.value = emptyValue;
149
+ continue;
150
+ }
151
+ if (resolved.type === "name") {
152
+ nextNames.add(resolved.name);
153
+ refsContainer[resolved.name] = emptyValue;
154
+ updateTemplateRefMapValue(templateRefMap, resolved.name, emptyValue);
155
+ }
156
+ }
157
+ for (const key of Object.keys(refsContainer)) if (!nextNames.has(key)) delete refsContainer[key];
158
+ }
159
+
160
+ //#endregion
161
+ export { clearTemplateRefs, scheduleTemplateRefUpdate, updateTemplateRefs };
162
+ //# sourceMappingURL=templateRefs.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateRefs.mjs","names":[],"sources":["../../../src/runtime/templateRefs.ts"],"sourcesContent":["import type { InternalRuntimeState } from './types'\nimport {\n WEVU_READY_CALLED_KEY,\n WEVU_TEMPLATE_REFS_CALLBACKS_KEY,\n WEVU_TEMPLATE_REFS_KEY,\n WEVU_TEMPLATE_REFS_PENDING_KEY,\n} from '@weapp-core/constants'\nimport { nextTick } from '../scheduler'\nimport { markNoSetData } from './noSetData'\nimport {\n buildTemplateRefValue,\n createSelectorQuery,\n ensureRefsContainer,\n getTemplateRefMap,\n isComponentRef,\n resolveComponentRefValue,\n resolveTemplateRefTarget,\n updateTemplateRefMapValue,\n} from './templateRefs/helpers'\n\nexport interface TemplateRefBinding {\n selector: string\n inFor: boolean\n name?: string\n get?: () => unknown\n kind?: 'component' | 'element'\n}\n\ntype TemplateRefUpdateCallback = () => void\n\nexport function updateTemplateRefs(\n target: InternalRuntimeState,\n onResolved?: TemplateRefUpdateCallback,\n assignmentTarget: InternalRuntimeState = target,\n) {\n const bindings = (target as any)[WEVU_TEMPLATE_REFS_KEY] as TemplateRefBinding[] | undefined\n if (!bindings || !bindings.length) {\n onResolved?.()\n return\n }\n if (!(target as any)[WEVU_READY_CALLED_KEY]) {\n onResolved?.()\n return\n }\n if (!target.__wevu) {\n onResolved?.()\n return\n }\n const templateRefMap = getTemplateRefMap(assignmentTarget)\n const nodeBindings = bindings.filter(binding => !isComponentRef(binding))\n const componentEntries = bindings\n .filter(binding => isComponentRef(binding))\n .map(binding => ({\n binding,\n value: resolveComponentRefValue(target, binding),\n }))\n\n const applyEntries = (entries: Array<{ binding: TemplateRefBinding, value: any }>) => {\n const refsContainer = ensureRefsContainer(assignmentTarget)\n const nameEntries = new Map<string, { values: any[], count: number, hasFor: boolean }>()\n const nextNames = new Set<string>()\n const proxy = target.__wevu?.proxy ?? target\n entries.forEach((entry) => {\n const binding = entry.binding\n const value = entry.value\n const resolved = resolveTemplateRefTarget(assignmentTarget, binding, target)\n\n if (resolved.type === 'function') {\n if (binding.inFor && Array.isArray(value)) {\n if (value.length) {\n value.forEach(item => resolved.fn.call(proxy, item))\n }\n else {\n resolved.fn.call(proxy, null)\n }\n }\n else {\n resolved.fn.call(proxy, value ?? null)\n }\n return\n }\n\n if (resolved.type === 'ref') {\n resolved.ref.value = value\n return\n }\n\n if (resolved.type === 'name') {\n nextNames.add(resolved.name)\n const entry = nameEntries.get(resolved.name) ?? { values: [], count: 0, hasFor: false }\n entry.count += 1\n entry.hasFor = entry.hasFor || binding.inFor\n if (binding.inFor) {\n if (Array.isArray(value)) {\n entry.values.push(...value)\n }\n }\n else if (value != null) {\n entry.values.push(value)\n }\n nameEntries.set(resolved.name, entry)\n }\n })\n\n for (const [name, entry] of nameEntries) {\n let nextValue: any\n if (!entry.values.length) {\n nextValue = entry.hasFor ? markNoSetData([]) : null\n }\n else if (entry.hasFor || entry.values.length > 1 || entry.count > 1) {\n nextValue = markNoSetData(entry.values)\n }\n else {\n nextValue = entry.values[0]\n }\n refsContainer[name] = nextValue\n updateTemplateRefMapValue(templateRefMap, name, nextValue)\n }\n\n for (const key of Object.keys(refsContainer)) {\n if (!nextNames.has(key)) {\n delete refsContainer[key]\n }\n }\n\n onResolved?.()\n }\n\n if (!nodeBindings.length) {\n applyEntries(componentEntries)\n return\n }\n\n const query = createSelectorQuery(target)\n if (!query) {\n applyEntries(componentEntries)\n return\n }\n\n const nodeEntries: Array<{ binding: TemplateRefBinding }> = []\n for (const binding of nodeBindings) {\n const nodesRef = binding.inFor ? query.selectAll(binding.selector) : query.select(binding.selector)\n nodesRef.boundingClientRect()\n nodeEntries.push({ binding })\n }\n\n query.exec((res) => {\n const entries = nodeEntries.map((entry, index) => {\n const rawResult = Array.isArray(res) ? res[index] : null\n return {\n binding: entry.binding,\n value: buildTemplateRefValue(target, entry.binding, rawResult),\n }\n })\n applyEntries([...componentEntries, ...entries])\n })\n}\n\nexport function scheduleTemplateRefUpdate(\n target: InternalRuntimeState,\n onResolved?: TemplateRefUpdateCallback,\n assignmentTarget: InternalRuntimeState = target,\n) {\n const bindings = (target as any)[WEVU_TEMPLATE_REFS_KEY] as TemplateRefBinding[] | undefined\n if (!bindings || !bindings.length) {\n onResolved?.()\n return\n }\n if (onResolved) {\n const callbacks = ((target as any)[WEVU_TEMPLATE_REFS_CALLBACKS_KEY] ?? []) as TemplateRefUpdateCallback[]\n callbacks.push(onResolved)\n if (!(target as any)[WEVU_TEMPLATE_REFS_CALLBACKS_KEY]) {\n Object.defineProperty(target, WEVU_TEMPLATE_REFS_CALLBACKS_KEY, {\n value: callbacks,\n configurable: true,\n enumerable: false,\n writable: true,\n })\n }\n }\n if ((target as any)[WEVU_TEMPLATE_REFS_PENDING_KEY]) {\n return\n }\n ;(target as any)[WEVU_TEMPLATE_REFS_PENDING_KEY] = true\n nextTick(() => {\n ;(target as any)[WEVU_TEMPLATE_REFS_PENDING_KEY] = false\n const flushCallbacks = () => {\n const callbacks = (target as any)[WEVU_TEMPLATE_REFS_CALLBACKS_KEY] as TemplateRefUpdateCallback[] | undefined\n if (!callbacks || !callbacks.length) {\n return\n }\n callbacks.splice(0).forEach((cb) => {\n try {\n cb()\n }\n catch {\n // 忽略回调中的异常,避免影响后续更新\n }\n })\n }\n updateTemplateRefs(target, flushCallbacks, assignmentTarget)\n })\n}\n\nexport function clearTemplateRefs(\n target: InternalRuntimeState,\n assignmentTarget: InternalRuntimeState = target,\n) {\n const bindings = (target as any)[WEVU_TEMPLATE_REFS_KEY] as TemplateRefBinding[] | undefined\n if (!bindings || !bindings.length) {\n return\n }\n const refsContainer = ensureRefsContainer(assignmentTarget)\n const proxy = target.__wevu?.proxy ?? target\n const nextNames = new Set<string>()\n const templateRefMap = getTemplateRefMap(assignmentTarget)\n\n for (const binding of bindings) {\n const resolved = resolveTemplateRefTarget(assignmentTarget, binding, target)\n const emptyValue = binding.inFor ? markNoSetData([]) : null\n if (resolved.type === 'function') {\n resolved.fn.call(proxy, null)\n continue\n }\n if (resolved.type === 'ref') {\n resolved.ref.value = emptyValue\n continue\n }\n if (resolved.type === 'name') {\n nextNames.add(resolved.name)\n refsContainer[resolved.name] = emptyValue\n updateTemplateRefMapValue(templateRefMap, resolved.name, emptyValue)\n }\n }\n\n for (const key of Object.keys(refsContainer)) {\n if (!nextNames.has(key)) {\n delete refsContainer[key]\n }\n }\n}\n"],"mappings":";;;;;;AA8BA,SAAgB,mBACd,QACA,YACA,mBAAyC,QACzC;CACA,MAAM,WAAY,OAAe;CACjC,IAAI,CAAC,YAAY,CAAC,SAAS,QAAQ;EACjC,2DAAa;EACb;CACF;CACA,IAAI,CAAE,OAAe,wBAAwB;EAC3C,2DAAa;EACb;CACF;CACA,IAAI,CAAC,OAAO,QAAQ;EAClB,2DAAa;EACb;CACF;CACA,MAAM,iBAAiB,kBAAkB,gBAAgB;CACzD,MAAM,eAAe,SAAS,QAAO,YAAW,CAAC,eAAe,OAAO,CAAC;CACxE,MAAM,mBAAmB,SACtB,QAAO,YAAW,eAAe,OAAO,CAAC,CAAC,CAC1C,KAAI,aAAY;EACf;EACA,OAAO,yBAAyB,QAAQ,OAAO;CACjD,EAAE;CAEJ,MAAM,gBAAgB,YAAgE;;EACpF,MAAM,gBAAgB,oBAAoB,gBAAgB;EAC1D,MAAM,8BAAc,IAAI,IAA+D;EACvF,MAAM,4BAAY,IAAI,IAAY;EAClC,MAAM,kDAAQ,OAAO,wEAAQ,4EAAS;EACtC,QAAQ,SAAS,UAAU;GACzB,MAAM,UAAU,MAAM;GACtB,MAAM,QAAQ,MAAM;GACpB,MAAM,WAAW,yBAAyB,kBAAkB,SAAS,MAAM;GAE3E,IAAI,SAAS,SAAS,YAAY;IAChC,IAAI,QAAQ,SAAS,MAAM,QAAQ,KAAK,GACtC,IAAI,MAAM,QACR,MAAM,SAAQ,SAAQ,SAAS,GAAG,KAAK,OAAO,IAAI,CAAC;SAGnD,SAAS,GAAG,KAAK,OAAO,IAAI;SAI9B,SAAS,GAAG,KAAK,OAAO,6CAAS,IAAI;IAEvC;GACF;GAEA,IAAI,SAAS,SAAS,OAAO;IAC3B,SAAS,IAAI,QAAQ;IACrB;GACF;GAEA,IAAI,SAAS,SAAS,QAAQ;;IAC5B,UAAU,IAAI,SAAS,IAAI;IAC3B,MAAM,4BAAQ,YAAY,IAAI,SAAS,IAAI,gEAAK;KAAE,QAAQ,CAAC;KAAG,OAAO;KAAG,QAAQ;IAAM;IACtF,MAAM,SAAS;IACf,MAAM,SAAS,MAAM,UAAU,QAAQ;IACvC,IAAI,QAAQ,OACV;SAAI,MAAM,QAAQ,KAAK,GACrB,MAAM,OAAO,KAAK,GAAG,KAAK;IAC5B,OAEG,IAAI,SAAS,MAChB,MAAM,OAAO,KAAK,KAAK;IAEzB,YAAY,IAAI,SAAS,MAAM,KAAK;GACtC;EACF,CAAC;EAED,KAAK,MAAM,CAAC,MAAM,UAAU,aAAa;GACvC,IAAI;GACJ,IAAI,CAAC,MAAM,OAAO,QAChB,YAAY,MAAM,SAAS,cAAc,CAAC,CAAC,IAAI;QAE5C,IAAI,MAAM,UAAU,MAAM,OAAO,SAAS,KAAK,MAAM,QAAQ,GAChE,YAAY,cAAc,MAAM,MAAM;QAGtC,YAAY,MAAM,OAAO;GAE3B,cAAc,QAAQ;GACtB,0BAA0B,gBAAgB,MAAM,SAAS;EAC3D;EAEA,KAAK,MAAM,OAAO,OAAO,KAAK,aAAa,GACzC,IAAI,CAAC,UAAU,IAAI,GAAG,GACpB,OAAO,cAAc;EAIzB,2DAAa;CACf;CAEA,IAAI,CAAC,aAAa,QAAQ;EACxB,aAAa,gBAAgB;EAC7B;CACF;CAEA,MAAM,QAAQ,oBAAoB,MAAM;CACxC,IAAI,CAAC,OAAO;EACV,aAAa,gBAAgB;EAC7B;CACF;CAEA,MAAM,cAAsD,CAAC;CAC7D,KAAK,MAAM,WAAW,cAAc;EAElC,CADiB,QAAQ,QAAQ,MAAM,UAAU,QAAQ,QAAQ,IAAI,MAAM,OAAO,QAAQ,QAAQ,EAC1F,CAAC,mBAAmB;EAC5B,YAAY,KAAK,EAAE,QAAQ,CAAC;CAC9B;CAEA,MAAM,MAAM,QAAQ;EAClB,MAAM,UAAU,YAAY,KAAK,OAAO,UAAU;GAChD,MAAM,YAAY,MAAM,QAAQ,GAAG,IAAI,IAAI,SAAS;GACpD,OAAO;IACL,SAAS,MAAM;IACf,OAAO,sBAAsB,QAAQ,MAAM,SAAS,SAAS;GAC/D;EACF,CAAC;EACD,aAAa,CAAC,GAAG,kBAAkB,GAAG,OAAO,CAAC;CAChD,CAAC;AACH;AAEA,SAAgB,0BACd,QACA,YACA,mBAAyC,QACzC;CACA,MAAM,WAAY,OAAe;CACjC,IAAI,CAAC,YAAY,CAAC,SAAS,QAAQ;EACjC,2DAAa;EACb;CACF;CACA,IAAI,YAAY;;EACd,MAAM,qCAAc,OAAe,0GAAqC,CAAC;EACzE,UAAU,KAAK,UAAU;EACzB,IAAI,CAAE,OAAe,mCACnB,OAAO,eAAe,QAAQ,kCAAkC;GAC9D,OAAO;GACP,cAAc;GACd,YAAY;GACZ,UAAU;EACZ,CAAC;CAEL;CACA,IAAK,OAAe,iCAClB;CAED,AAAC,OAAe,kCAAkC;CACnD,eAAe;EACZ,AAAC,OAAe,kCAAkC;EACnD,MAAM,uBAAuB;GAC3B,MAAM,YAAa,OAAe;GAClC,IAAI,CAAC,aAAa,CAAC,UAAU,QAC3B;GAEF,UAAU,OAAO,CAAC,CAAC,CAAC,SAAS,OAAO;IAClC,IAAI;KACF,GAAG;IACL,kBACM,CAEN;GACF,CAAC;EACH;EACA,mBAAmB,QAAQ,gBAAgB,gBAAgB;CAC7D,CAAC;AACH;AAEA,SAAgB,kBACd,QACA,mBAAyC,QACzC;;CACA,MAAM,WAAY,OAAe;CACjC,IAAI,CAAC,YAAY,CAAC,SAAS,QACzB;CAEF,MAAM,gBAAgB,oBAAoB,gBAAgB;CAC1D,MAAM,oDAAQ,OAAO,0EAAQ,8EAAS;CACtC,MAAM,4BAAY,IAAI,IAAY;CAClC,MAAM,iBAAiB,kBAAkB,gBAAgB;CAEzD,KAAK,MAAM,WAAW,UAAU;EAC9B,MAAM,WAAW,yBAAyB,kBAAkB,SAAS,MAAM;EAC3E,MAAM,aAAa,QAAQ,QAAQ,cAAc,CAAC,CAAC,IAAI;EACvD,IAAI,SAAS,SAAS,YAAY;GAChC,SAAS,GAAG,KAAK,OAAO,IAAI;GAC5B;EACF;EACA,IAAI,SAAS,SAAS,OAAO;GAC3B,SAAS,IAAI,QAAQ;GACrB;EACF;EACA,IAAI,SAAS,SAAS,QAAQ;GAC5B,UAAU,IAAI,SAAS,IAAI;GAC3B,cAAc,SAAS,QAAQ;GAC/B,0BAA0B,gBAAgB,SAAS,MAAM,UAAU;EACrE;CACF;CAEA,KAAK,MAAM,OAAO,OAAO,KAAK,aAAa,GACzC,IAAI,CAAC,UAAU,IAAI,GAAG,GACpB,OAAO,cAAc;AAG3B"}
@@ -0,0 +1,119 @@
1
+ //#region src/runtime/uniAppHost.ts
2
+ const eventListeners = /* @__PURE__ */ new Map();
3
+ const hostAdapters = /* @__PURE__ */ new WeakMap();
4
+ function normalizeDimension(value, fallback = 0) {
5
+ const number = Number(value);
6
+ return Number.isFinite(number) && number >= 0 ? number : fallback;
7
+ }
8
+ function normalizeLocale(locale) {
9
+ const normalized = String(locale || "en").trim().replace("_", "-").toLowerCase();
10
+ if (normalized === "zh-tw" || normalized === "zh-hk" || normalized === "zh-mo" || normalized.startsWith("zh-hant")) return "zh-Hant";
11
+ if (normalized.startsWith("zh")) return "zh-Hans";
12
+ return normalized.split("-")[0] || "en";
13
+ }
14
+ function withSafeAreaInsets(info = {}) {
15
+ var _info$safeArea;
16
+ if (info.safeAreaInsets) return info;
17
+ const windowWidth = normalizeDimension(info.windowWidth, normalizeDimension(info.screenWidth));
18
+ const windowHeight = normalizeDimension(info.windowHeight, normalizeDimension(info.screenHeight));
19
+ const screenWidth = normalizeDimension(info.screenWidth, windowWidth);
20
+ const screenHeight = normalizeDimension(info.screenHeight, windowHeight);
21
+ const safeArea = (_info$safeArea = info.safeArea) !== null && _info$safeArea !== void 0 ? _info$safeArea : {
22
+ bottom: windowHeight,
23
+ left: 0,
24
+ right: windowWidth,
25
+ top: 0
26
+ };
27
+ return {
28
+ ...info,
29
+ safeArea,
30
+ safeAreaInsets: {
31
+ bottom: Math.max(0, screenHeight - normalizeDimension(safeArea.bottom, windowHeight)),
32
+ left: normalizeDimension(safeArea.left),
33
+ right: Math.max(0, screenWidth - normalizeDimension(safeArea.right, windowWidth)),
34
+ top: normalizeDimension(safeArea.top)
35
+ }
36
+ };
37
+ }
38
+ function $on(eventName, handler) {
39
+ var _eventListeners$get;
40
+ if (typeof eventName !== "string" || typeof handler !== "function") return;
41
+ const listeners = (_eventListeners$get = eventListeners.get(eventName)) !== null && _eventListeners$get !== void 0 ? _eventListeners$get : /* @__PURE__ */ new Set();
42
+ listeners.add({
43
+ handler,
44
+ original: handler
45
+ });
46
+ eventListeners.set(eventName, listeners);
47
+ }
48
+ function $off(eventName, handler) {
49
+ if (eventName === void 0) {
50
+ eventListeners.clear();
51
+ return;
52
+ }
53
+ if (typeof eventName !== "string") return;
54
+ if (typeof handler !== "function") {
55
+ eventListeners.delete(eventName);
56
+ return;
57
+ }
58
+ const listeners = eventListeners.get(eventName);
59
+ if (!listeners) return;
60
+ for (const listener of listeners) if (listener.original === handler || listener.handler === handler) listeners.delete(listener);
61
+ if (listeners.size === 0) eventListeners.delete(eventName);
62
+ }
63
+ function $once(eventName, handler) {
64
+ var _eventListeners$get2;
65
+ if (typeof eventName !== "string" || typeof handler !== "function") return;
66
+ const onceHandler = (...args) => {
67
+ $off(eventName, handler);
68
+ handler(...args);
69
+ };
70
+ const listeners = (_eventListeners$get2 = eventListeners.get(eventName)) !== null && _eventListeners$get2 !== void 0 ? _eventListeners$get2 : /* @__PURE__ */ new Set();
71
+ listeners.add({
72
+ handler: onceHandler,
73
+ original: handler
74
+ });
75
+ eventListeners.set(eventName, listeners);
76
+ }
77
+ function $emit(eventName, ...args) {
78
+ const listeners = eventListeners.get(eventName);
79
+ if (!listeners) return;
80
+ for (const { handler } of [...listeners]) handler(...args);
81
+ }
82
+ /**
83
+ * 在原生小程序宿主上补齐 uni-app 专属 API,并保持未适配 API 继续继承宿主实现。
84
+ */
85
+ function createUniAppHost(host) {
86
+ const cached = hostAdapters.get(host);
87
+ if (cached) return cached;
88
+ const uni = Object.create(host);
89
+ hostAdapters.set(host, uni);
90
+ const getSystemInfoSnapshot = () => {
91
+ var _host$getSystemInfoSy, _host$getSystemInfoSy2;
92
+ return withSafeAreaInsets((_host$getSystemInfoSy = (_host$getSystemInfoSy2 = host.getSystemInfoSync) === null || _host$getSystemInfoSy2 === void 0 ? void 0 : _host$getSystemInfoSy2.call(host)) !== null && _host$getSystemInfoSy !== void 0 ? _host$getSystemInfoSy : {});
93
+ };
94
+ Object.assign(uni, {
95
+ $emit,
96
+ $off,
97
+ $on,
98
+ $once,
99
+ getLocale() {
100
+ var _host$getAppBaseInfo$, _host$getAppBaseInfo;
101
+ if (typeof host.getLocale === "function") return normalizeLocale(host.getLocale());
102
+ return normalizeLocale((_host$getAppBaseInfo$ = (_host$getAppBaseInfo = host.getAppBaseInfo) === null || _host$getAppBaseInfo === void 0 ? void 0 : _host$getAppBaseInfo.call(host).language) !== null && _host$getAppBaseInfo$ !== void 0 ? _host$getAppBaseInfo$ : getSystemInfoSnapshot().language);
103
+ },
104
+ getSystemInfoSync: getSystemInfoSnapshot,
105
+ getWindowInfo() {
106
+ var _host$getWindowInfo, _host$getWindowInfo2;
107
+ return withSafeAreaInsets((_host$getWindowInfo = (_host$getWindowInfo2 = host.getWindowInfo) === null || _host$getWindowInfo2 === void 0 ? void 0 : _host$getWindowInfo2.call(host)) !== null && _host$getWindowInfo !== void 0 ? _host$getWindowInfo : getSystemInfoSnapshot());
108
+ },
109
+ rpx2px(value) {
110
+ const width = normalizeDimension(getSystemInfoSnapshot().windowWidth);
111
+ return Number.isFinite(value) && width > 0 ? value * width / 750 : 0;
112
+ }
113
+ });
114
+ return uni;
115
+ }
116
+
117
+ //#endregion
118
+ export { createUniAppHost };
119
+ //# sourceMappingURL=uniAppHost.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uniAppHost.mjs","names":[],"sources":["../../../src/runtime/uniAppHost.ts"],"sourcesContent":["export type UniAppEventHandler = (...args: any[]) => void\n\ninterface UniAppEventListener {\n handler: UniAppEventHandler\n original: UniAppEventHandler\n}\n\ninterface UniAppSafeArea {\n bottom?: number\n left?: number\n right?: number\n top?: number\n}\n\ninterface UniAppSystemInfo {\n language?: string\n safeArea?: UniAppSafeArea\n safeAreaInsets?: UniAppSafeArea\n screenHeight?: number\n screenWidth?: number\n windowHeight?: number\n windowWidth?: number\n [key: string]: any\n}\n\ntype UniAppHost = Record<string, any>\n\nconst eventListeners = new Map<string, Set<UniAppEventListener>>()\nconst hostAdapters = new WeakMap<object, UniAppHost>()\n\nfunction normalizeDimension(value: unknown, fallback = 0) {\n const number = Number(value)\n return Number.isFinite(number) && number >= 0 ? number : fallback\n}\n\nfunction normalizeLocale(locale: unknown) {\n const normalized = String(locale || 'en').trim().replace('_', '-').toLowerCase()\n if (\n normalized === 'zh-tw'\n || normalized === 'zh-hk'\n || normalized === 'zh-mo'\n || normalized.startsWith('zh-hant')\n ) {\n return 'zh-Hant'\n }\n if (normalized.startsWith('zh')) {\n return 'zh-Hans'\n }\n return normalized.split('-')[0] || 'en'\n}\n\nfunction withSafeAreaInsets(info: UniAppSystemInfo = {}) {\n if (info.safeAreaInsets) {\n return info\n }\n const windowWidth = normalizeDimension(info.windowWidth, normalizeDimension(info.screenWidth))\n const windowHeight = normalizeDimension(info.windowHeight, normalizeDimension(info.screenHeight))\n const screenWidth = normalizeDimension(info.screenWidth, windowWidth)\n const screenHeight = normalizeDimension(info.screenHeight, windowHeight)\n const safeArea = info.safeArea ?? {\n bottom: windowHeight,\n left: 0,\n right: windowWidth,\n top: 0,\n }\n return {\n ...info,\n safeArea,\n safeAreaInsets: {\n bottom: Math.max(0, screenHeight - normalizeDimension(safeArea.bottom, windowHeight)),\n left: normalizeDimension(safeArea.left),\n right: Math.max(0, screenWidth - normalizeDimension(safeArea.right, windowWidth)),\n top: normalizeDimension(safeArea.top),\n },\n }\n}\n\nfunction $on(eventName: string, handler: UniAppEventHandler) {\n if (typeof eventName !== 'string' || typeof handler !== 'function') {\n return\n }\n const listeners = eventListeners.get(eventName) ?? new Set<UniAppEventListener>()\n listeners.add({ handler, original: handler })\n eventListeners.set(eventName, listeners)\n}\n\nfunction $off(eventName?: string, handler?: UniAppEventHandler) {\n if (eventName === undefined) {\n eventListeners.clear()\n return\n }\n if (typeof eventName !== 'string') {\n return\n }\n if (typeof handler !== 'function') {\n eventListeners.delete(eventName)\n return\n }\n const listeners = eventListeners.get(eventName)\n if (!listeners) {\n return\n }\n for (const listener of listeners) {\n if (listener.original === handler || listener.handler === handler) {\n listeners.delete(listener)\n }\n }\n if (listeners.size === 0) {\n eventListeners.delete(eventName)\n }\n}\n\nfunction $once(eventName: string, handler: UniAppEventHandler) {\n if (typeof eventName !== 'string' || typeof handler !== 'function') {\n return\n }\n const onceHandler: UniAppEventHandler = (...args) => {\n $off(eventName, handler)\n handler(...args)\n }\n const listeners = eventListeners.get(eventName) ?? new Set<UniAppEventListener>()\n listeners.add({ handler: onceHandler, original: handler })\n eventListeners.set(eventName, listeners)\n}\n\nfunction $emit(eventName: string, ...args: any[]) {\n const listeners = eventListeners.get(eventName)\n if (!listeners) {\n return\n }\n for (const { handler } of [...listeners]) {\n handler(...args)\n }\n}\n\n/**\n * 在原生小程序宿主上补齐 uni-app 专属 API,并保持未适配 API 继续继承宿主实现。\n */\nexport function createUniAppHost(host: UniAppHost): UniAppHost {\n const cached = hostAdapters.get(host)\n if (cached) {\n return cached\n }\n const uni = Object.create(host) as UniAppHost\n hostAdapters.set(host, uni)\n const getSystemInfoSnapshot = () => withSafeAreaInsets(host.getSystemInfoSync?.() ?? {})\n\n Object.assign(uni, {\n $emit,\n $off,\n $on,\n $once,\n getLocale() {\n if (typeof host.getLocale === 'function') {\n return normalizeLocale(host.getLocale())\n }\n const language = host.getAppBaseInfo?.().language ?? getSystemInfoSnapshot().language\n return normalizeLocale(language)\n },\n getSystemInfoSync: getSystemInfoSnapshot,\n getWindowInfo() {\n return withSafeAreaInsets(host.getWindowInfo?.() ?? getSystemInfoSnapshot())\n },\n rpx2px(value: number) {\n const width = normalizeDimension(getSystemInfoSnapshot().windowWidth)\n return Number.isFinite(value) && width > 0 ? value * width / 750 : 0\n },\n })\n\n return uni\n}\n"],"mappings":"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"}