wevu 7.2.2 → 7.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -0
- package/dist/dev/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.151.0}/helpers/esm/defineProperty.mjs +1 -1
- package/dist/dev/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.151.0}/helpers/esm/toPrimitive.mjs +1 -1
- package/dist/dev/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.151.0}/helpers/esm/toPropertyKey.mjs +1 -1
- package/dist/dev/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.151.0}/helpers/esm/typeof.mjs +1 -1
- package/dist/dev/internal-runtime.d.mts +2 -1
- package/dist/dev/internal-runtime.mjs +3 -2
- package/dist/dev/package.mjs +1 -1
- package/dist/dev/reactivity/asyncDerivation.mjs +8 -10
- package/dist/dev/reactivity/asyncDerivation.mjs.map +1 -1
- package/dist/dev/reactivity/core.mjs +5 -8
- package/dist/dev/reactivity/core.mjs.map +1 -1
- package/dist/dev/reactivity/reactive/patch.mjs +3 -3
- package/dist/dev/reactivity/reactive/patch.mjs.map +1 -1
- package/dist/dev/reactivity/reactive/patchState.mjs +4 -8
- package/dist/dev/reactivity/reactive/patchState.mjs.map +1 -1
- package/dist/dev/reactivity/reactive/shared.mjs +1 -2
- package/dist/dev/reactivity/reactive/shared.mjs.map +1 -1
- package/dist/dev/reactivity/reactive.mjs +5 -10
- package/dist/dev/reactivity/reactive.mjs.map +1 -1
- package/dist/dev/reactivity/ref.mjs +2 -2
- package/dist/dev/reactivity/ref.mjs.map +1 -1
- package/dist/dev/reactivity/shallowRef.mjs +1 -1
- package/dist/dev/reactivity/shallowRef.mjs.map +1 -1
- package/dist/dev/reactivity/watch/helpers.mjs +1 -1
- package/dist/dev/reactivity/watch/helpers.mjs.map +1 -1
- package/dist/dev/reactivity/watch.mjs +6 -8
- package/dist/dev/reactivity/watch.mjs.map +1 -1
- package/dist/dev/router/createRouter.mjs +17 -24
- package/dist/dev/router/createRouter.mjs.map +1 -1
- package/dist/dev/router/initialNavigation.mjs +22 -17
- package/dist/dev/router/initialNavigation.mjs.map +1 -1
- package/dist/dev/router/instance.mjs +1 -2
- package/dist/dev/router/instance.mjs.map +1 -1
- package/dist/dev/router/navigationCore.mjs +2 -2
- package/dist/dev/router/navigationCore.mjs.map +1 -1
- package/dist/dev/router/navigationResult.mjs +7 -10
- package/dist/dev/router/navigationResult.mjs.map +1 -1
- package/dist/dev/router/navigationTarget.mjs +1 -3
- package/dist/dev/router/navigationTarget.mjs.map +1 -1
- package/dist/dev/router/resolve.mjs +3 -4
- package/dist/dev/router/resolve.mjs.map +1 -1
- package/dist/dev/router/routeRegistry.mjs +1 -1
- package/dist/dev/router/routeRegistry.mjs.map +1 -1
- package/dist/dev/router/routeSync.mjs +1 -1
- package/dist/dev/router/routeSync.mjs.map +1 -1
- package/dist/dev/router/scrollRestoration/adapters.d.mts +8 -0
- package/dist/dev/router/scrollRestoration/adapters.mjs +86 -0
- package/dist/dev/router/scrollRestoration/adapters.mjs.map +1 -0
- package/dist/dev/router/scrollRestoration/controller.d.mts +8 -0
- package/dist/dev/router/scrollRestoration/controller.mjs +148 -0
- package/dist/dev/router/scrollRestoration/controller.mjs.map +1 -0
- package/dist/dev/router/scrollRestoration/host.d.mts +3 -0
- package/dist/dev/router/scrollRestoration/host.mjs +76 -0
- package/dist/dev/router/scrollRestoration/host.mjs.map +1 -0
- package/dist/dev/router/scrollRestoration/index.d.mts +9 -0
- package/dist/dev/router/scrollRestoration/index.mjs +156 -0
- package/dist/dev/router/scrollRestoration/index.mjs.map +1 -0
- package/dist/dev/router/scrollRestoration/types.d.mts +61 -0
- package/dist/dev/router/useRoute.mjs +12 -19
- package/dist/dev/router/useRoute.mjs.map +1 -1
- package/dist/dev/router.d.mts +5 -1
- package/dist/dev/router.mjs +4 -1
- package/dist/dev/routerInternal/location.mjs +2 -3
- package/dist/dev/routerInternal/location.mjs.map +1 -1
- package/dist/dev/routerInternal/params.mjs +2 -3
- package/dist/dev/routerInternal/params.mjs.map +1 -1
- package/dist/dev/routerInternal/records.mjs +1 -1
- package/dist/dev/routerInternal/records.mjs.map +1 -1
- package/dist/dev/routerInternal/recordsWarnings.mjs +1 -2
- package/dist/dev/routerInternal/recordsWarnings.mjs.map +1 -1
- package/dist/dev/runtime/app/context.mjs +13 -26
- package/dist/dev/runtime/app/context.mjs.map +1 -1
- package/dist/dev/runtime/app/diagnostics.mjs +2 -4
- package/dist/dev/runtime/app/diagnostics.mjs.map +1 -1
- package/dist/dev/runtime/app/mount.mjs +27 -33
- package/dist/dev/runtime/app/mount.mjs.map +1 -1
- package/dist/dev/runtime/app/setData/commitTracker.mjs +5 -9
- package/dist/dev/runtime/app/setData/commitTracker.mjs.map +1 -1
- package/dist/dev/runtime/app/setData/patchScheduler.mjs +2 -4
- package/dist/dev/runtime/app/setData/patchScheduler.mjs.map +1 -1
- package/dist/dev/runtime/app/setData/payload.mjs +2 -3
- package/dist/dev/runtime/app/setData/payload.mjs.map +1 -1
- package/dist/dev/runtime/app/setData/scheduler.mjs +7 -9
- package/dist/dev/runtime/app/setData/scheduler.mjs.map +1 -1
- package/dist/dev/runtime/app/setData/snapshot.mjs +5 -6
- package/dist/dev/runtime/app/setData/snapshot.mjs.map +1 -1
- package/dist/dev/runtime/app/setDataOptions.mjs +26 -27
- package/dist/dev/runtime/app/setDataOptions.mjs.map +1 -1
- package/dist/dev/runtime/app.mjs +9 -9
- package/dist/dev/runtime/app.mjs.map +1 -1
- package/dist/dev/runtime/bindingManifest.mjs +6 -14
- package/dist/dev/runtime/bindingManifest.mjs.map +1 -1
- package/dist/dev/runtime/capabilities.d.mts +4 -1
- package/dist/dev/runtime/capabilities.mjs.map +1 -1
- package/dist/dev/runtime/css.mjs +4 -8
- package/dist/dev/runtime/css.mjs.map +1 -1
- package/dist/dev/runtime/defaults.mjs +4 -4
- package/dist/dev/runtime/defaults.mjs.map +1 -1
- package/dist/dev/runtime/define/initialComputed.mjs +5 -5
- package/dist/dev/runtime/define/initialComputed.mjs.map +1 -1
- package/dist/dev/runtime/define/options.mjs +10 -12
- package/dist/dev/runtime/define/options.mjs.map +1 -1
- package/dist/dev/runtime/define/props.mjs +4 -5
- package/dist/dev/runtime/define/props.mjs.map +1 -1
- package/dist/dev/runtime/define/scopedSlotOptions.mjs +43 -61
- package/dist/dev/runtime/define/scopedSlotOptions.mjs.map +1 -1
- package/dist/dev/runtime/define/setupResult.mjs +17 -28
- package/dist/dev/runtime/define/setupResult.mjs.map +1 -1
- package/dist/dev/runtime/define.mjs +9 -12
- package/dist/dev/runtime/define.mjs.map +1 -1
- package/dist/dev/runtime/diff.mjs +9 -11
- package/dist/dev/runtime/diff.mjs.map +1 -1
- package/dist/dev/runtime/disposables.mjs +2 -2
- package/dist/dev/runtime/disposables.mjs.map +1 -1
- package/dist/dev/runtime/elementIntersectionObserver.mjs +16 -24
- package/dist/dev/runtime/elementIntersectionObserver.mjs.map +1 -1
- package/dist/dev/runtime/features/inlineEvents.mjs +2 -3
- package/dist/dev/runtime/features/inlineEvents.mjs.map +1 -1
- package/dist/dev/runtime/features/jsxIslands.d.mts +7 -0
- package/dist/dev/runtime/features/jsxIslands.mjs +20 -0
- package/dist/dev/runtime/features/jsxIslands.mjs.map +1 -0
- package/dist/dev/runtime/features/layout.mjs +2 -3
- package/dist/dev/runtime/features/layout.mjs.map +1 -1
- package/dist/dev/runtime/features/publicLayout.mjs +2 -6
- package/dist/dev/runtime/features/publicLayout.mjs.map +1 -1
- package/dist/dev/runtime/features/scopedSlots.mjs +5 -9
- package/dist/dev/runtime/features/scopedSlots.mjs.map +1 -1
- package/dist/dev/runtime/features/templateRefs.mjs +1 -1
- package/dist/dev/runtime/features/templateRefs.mjs.map +1 -1
- package/dist/dev/runtime/hooks/base.mjs +20 -43
- package/dist/dev/runtime/hooks/base.mjs.map +1 -1
- package/dist/dev/runtime/hooks/pageScroll.mjs +41 -0
- package/dist/dev/runtime/hooks/pageScroll.mjs.map +1 -0
- package/dist/dev/runtime/hooks/register.mjs +2 -1
- package/dist/dev/runtime/hooks/register.mjs.map +1 -1
- package/dist/dev/runtime/inlineDataset.mjs +1 -2
- package/dist/dev/runtime/inlineDataset.mjs.map +1 -1
- package/dist/dev/runtime/intersectionObserver.mjs +6 -6
- package/dist/dev/runtime/intersectionObserver.mjs.map +1 -1
- package/dist/dev/runtime/jsxIsland.mjs +16 -33
- package/dist/dev/runtime/jsxIsland.mjs.map +1 -1
- package/dist/dev/runtime/layoutBridge.mjs +32 -62
- package/dist/dev/runtime/layoutBridge.mjs.map +1 -1
- package/dist/dev/runtime/nativeBridge.mjs +1 -1
- package/dist/dev/runtime/nativeBridge.mjs.map +1 -1
- package/dist/dev/runtime/navigationLifecycle.mjs +24 -0
- package/dist/dev/runtime/navigationLifecycle.mjs.map +1 -0
- package/dist/dev/runtime/pageEnvironment.mjs +15 -18
- package/dist/dev/runtime/pageEnvironment.mjs.map +1 -1
- package/dist/dev/runtime/pageLayout.mjs +7 -11
- package/dist/dev/runtime/pageLayout.mjs.map +1 -1
- package/dist/dev/runtime/pageScroll.mjs +2 -3
- package/dist/dev/runtime/pageScroll.mjs.map +1 -1
- package/dist/dev/runtime/platform/current.mjs +12 -0
- package/dist/dev/runtime/platform/current.mjs.map +1 -0
- package/dist/dev/runtime/platform/generic.mjs +36 -0
- package/dist/dev/runtime/platform/generic.mjs.map +1 -0
- package/dist/dev/runtime/platform/globals.mjs +29 -0
- package/dist/dev/runtime/platform/globals.mjs.map +1 -0
- package/dist/dev/runtime/platform.mjs +15 -60
- package/dist/dev/runtime/platform.mjs.map +1 -1
- package/dist/dev/runtime/provideContext.mjs +7 -9
- package/dist/dev/runtime/provideContext.mjs.map +1 -1
- package/dist/dev/runtime/publicRuntime.mjs +4 -0
- package/dist/dev/runtime/publicRuntime.mjs.map +1 -1
- package/dist/dev/runtime/pullDownRefresh.mjs +2 -4
- package/dist/dev/runtime/pullDownRefresh.mjs.map +1 -1
- package/dist/dev/runtime/register/app.mjs +18 -19
- package/dist/dev/runtime/register/app.mjs.map +1 -1
- package/dist/dev/runtime/register/component/alipay.mjs +9 -18
- package/dist/dev/runtime/register/component/alipay.mjs.map +1 -1
- package/dist/dev/runtime/register/component/alipayRegistration.mjs +60 -0
- package/dist/dev/runtime/register/component/alipayRegistration.mjs.map +1 -0
- package/dist/dev/runtime/register/component/lifecycle/optionalHooks.mjs +2 -5
- package/dist/dev/runtime/register/component/lifecycle/optionalHooks.mjs.map +1 -1
- package/dist/dev/runtime/register/component/lifecycle/platform.mjs +13 -26
- package/dist/dev/runtime/register/component/lifecycle/platform.mjs.map +1 -1
- package/dist/dev/runtime/register/component/lifecycle.mjs +7 -12
- package/dist/dev/runtime/register/component/lifecycle.mjs.map +1 -1
- package/dist/dev/runtime/register/component/methods.mjs +13 -18
- package/dist/dev/runtime/register/component/methods.mjs.map +1 -1
- package/dist/dev/runtime/register/component/options.mjs +3 -4
- package/dist/dev/runtime/register/component/options.mjs.map +1 -1
- package/dist/dev/runtime/register/component/props.mjs +25 -31
- package/dist/dev/runtime/register/component/props.mjs.map +1 -1
- package/dist/dev/runtime/register/component/registerDefinition.mjs +21 -40
- package/dist/dev/runtime/register/component/registerDefinition.mjs.map +1 -1
- package/dist/dev/runtime/register/component/registerNativeDefinition.mjs +18 -60
- package/dist/dev/runtime/register/component/registerNativeDefinition.mjs.map +1 -1
- package/dist/dev/runtime/register/component.mjs +3 -5
- package/dist/dev/runtime/register/component.mjs.map +1 -1
- package/dist/dev/runtime/register/inline.mjs +8 -10
- package/dist/dev/runtime/register/inline.mjs.map +1 -1
- package/dist/dev/runtime/register/runtimeInstance/methodBridge.mjs +7 -8
- package/dist/dev/runtime/register/runtimeInstance/methodBridge.mjs.map +1 -1
- package/dist/dev/runtime/register/runtimeInstance/provideContext.mjs +1 -1
- package/dist/dev/runtime/register/runtimeInstance/provideContext.mjs.map +1 -1
- package/dist/dev/runtime/register/runtimeInstance/setupContext.mjs +25 -34
- package/dist/dev/runtime/register/runtimeInstance/setupContext.mjs.map +1 -1
- package/dist/dev/runtime/register/runtimeInstance/setupPhase.mjs +13 -15
- package/dist/dev/runtime/register/runtimeInstance/setupPhase.mjs.map +1 -1
- package/dist/dev/runtime/register/runtimeInstance/setupSnapshot.mjs +2 -2
- package/dist/dev/runtime/register/runtimeInstance/setupSnapshot.mjs.map +1 -1
- package/dist/dev/runtime/register/runtimeInstance/utils.mjs +9 -9
- package/dist/dev/runtime/register/runtimeInstance/utils.mjs.map +1 -1
- package/dist/dev/runtime/register/runtimeInstance.mjs +74 -100
- package/dist/dev/runtime/register/runtimeInstance.mjs.map +1 -1
- package/dist/dev/runtime/register/setDataFrequencyWarning.mjs +12 -15
- package/dist/dev/runtime/register/setDataFrequencyWarning.mjs.map +1 -1
- package/dist/dev/runtime/register/setup.mjs +2 -3
- package/dist/dev/runtime/register/setup.mjs.map +1 -1
- package/dist/dev/runtime/register/snapshot.mjs +1 -4
- package/dist/dev/runtime/register/snapshot.mjs.map +1 -1
- package/dist/dev/runtime/register/watch.mjs +3 -5
- package/dist/dev/runtime/register/watch.mjs.map +1 -1
- package/dist/dev/runtime/scopedSlots.mjs +14 -21
- package/dist/dev/runtime/scopedSlots.mjs.map +1 -1
- package/dist/dev/runtime/selectorQuery.mjs +5 -9
- package/dist/dev/runtime/selectorQuery.mjs.map +1 -1
- package/dist/dev/runtime/template.mjs +1 -1
- package/dist/dev/runtime/template.mjs.map +1 -1
- package/dist/dev/runtime/templateRefs/helpers.mjs +14 -24
- package/dist/dev/runtime/templateRefs/helpers.mjs.map +1 -1
- package/dist/dev/runtime/templateRefs.mjs +8 -15
- package/dist/dev/runtime/templateRefs.mjs.map +1 -1
- package/dist/dev/runtime/uniAppHost.mjs +6 -14
- package/dist/dev/runtime/uniAppHost.mjs.map +1 -1
- package/dist/dev/runtime/updatePerformance.mjs +1 -1
- package/dist/dev/runtime/updatePerformance.mjs.map +1 -1
- package/dist/dev/runtime/use.mjs +1 -1
- package/dist/dev/runtime/use.mjs.map +1 -1
- package/dist/dev/runtime/vueCompat/context.mjs +3 -5
- package/dist/dev/runtime/vueCompat/context.mjs.map +1 -1
- package/dist/dev/runtime/vueCompat/model.mjs +9 -13
- package/dist/dev/runtime/vueCompat/model.mjs.map +1 -1
- package/dist/dev/runtime/vueCompat/router.mjs +4 -4
- package/dist/dev/runtime/vueCompat/router.mjs.map +1 -1
- package/dist/dev/runtime/vueCompat/templateRef.mjs +1 -1
- package/dist/dev/runtime/vueCompat/templateRef.mjs.map +1 -1
- package/dist/dev/scheduler.mjs +3 -4
- package/dist/dev/scheduler.mjs.map +1 -1
- package/dist/dev/store/base.mjs +1 -2
- package/dist/dev/store/base.mjs.map +1 -1
- package/dist/dev/store/define/create.mjs +11 -22
- package/dist/dev/store/define/create.mjs.map +1 -1
- package/dist/dev/store/define.mjs +1 -1
- package/dist/dev/store/define.mjs.map +1 -1
- package/dist/dev/store/view.mjs +1 -1
- package/dist/dev/store/view.mjs.map +1 -1
- package/dist/internal-runtime.d.mts +2 -1
- package/dist/internal-runtime.mjs +1 -1
- package/dist/package.mjs +1 -1
- package/dist/reactivity/asyncDerivation.mjs +1 -1
- package/dist/reactivity/core.mjs +1 -1
- package/dist/reactivity/reactive/patch.mjs +1 -1
- package/dist/reactivity/reactive/patchState.mjs +1 -1
- package/dist/reactivity/reactive/shared.mjs +1 -1
- package/dist/reactivity/reactive.mjs +1 -1
- package/dist/reactivity/ref.mjs +1 -1
- package/dist/reactivity/shallowRef.mjs +1 -1
- package/dist/reactivity/watch/helpers.mjs +1 -1
- package/dist/reactivity/watch.mjs +1 -1
- package/dist/router/createRouter.mjs +1 -1
- package/dist/router/initialNavigation.mjs +1 -1
- package/dist/router/instance.mjs +1 -1
- package/dist/router/navigationCore.mjs +1 -1
- package/dist/router/navigationResult.mjs +1 -1
- package/dist/router/navigationTarget.mjs +1 -1
- package/dist/router/resolve.mjs +1 -1
- package/dist/router/routeRegistry.mjs +1 -1
- package/dist/router/routeSync.mjs +1 -1
- package/dist/router/scrollRestoration/adapters.d.mts +7 -0
- package/dist/router/scrollRestoration/adapters.mjs +1 -0
- package/dist/router/scrollRestoration/controller.d.mts +7 -0
- package/dist/router/scrollRestoration/controller.mjs +1 -0
- package/dist/router/scrollRestoration/host.d.mts +3 -0
- package/dist/router/scrollRestoration/host.mjs +1 -0
- package/dist/router/scrollRestoration/index.d.mts +8 -0
- package/dist/router/scrollRestoration/index.mjs +1 -0
- package/dist/router/scrollRestoration/types.d.mts +60 -0
- package/dist/router/useRoute.mjs +1 -1
- package/dist/router.d.mts +5 -1
- package/dist/router.mjs +1 -1
- package/dist/routerInternal/location.mjs +1 -1
- package/dist/routerInternal/params.mjs +1 -1
- package/dist/routerInternal/records.mjs +1 -1
- package/dist/routerInternal/recordsWarnings.mjs +1 -1
- package/dist/runtime/app/context.mjs +1 -1
- package/dist/runtime/app/diagnostics.mjs +1 -1
- package/dist/runtime/app/mount.mjs +1 -1
- package/dist/runtime/app/setData/commitTracker.mjs +1 -1
- package/dist/runtime/app/setData/patchScheduler.mjs +1 -1
- package/dist/runtime/app/setData/payload.mjs +1 -1
- package/dist/runtime/app/setData/scheduler.mjs +1 -1
- package/dist/runtime/app/setData/snapshot.mjs +1 -1
- package/dist/runtime/app/setDataOptions.mjs +1 -1
- package/dist/runtime/app.mjs +1 -1
- package/dist/runtime/bindingManifest.mjs +1 -1
- package/dist/runtime/capabilities.d.mts +4 -1
- package/dist/runtime/css.mjs +1 -1
- package/dist/runtime/defaults.mjs +1 -1
- package/dist/runtime/define/initialComputed.mjs +1 -1
- package/dist/runtime/define/options.mjs +1 -1
- package/dist/runtime/define/props.mjs +1 -1
- package/dist/runtime/define/scopedSlotOptions.mjs +1 -1
- package/dist/runtime/define/setupResult.mjs +1 -1
- package/dist/runtime/define.mjs +1 -1
- package/dist/runtime/diff.mjs +1 -1
- package/dist/runtime/disposables.mjs +1 -1
- package/dist/runtime/elementIntersectionObserver.mjs +1 -1
- package/dist/runtime/features/inlineEvents.mjs +1 -1
- package/dist/runtime/features/jsxIslands.d.mts +6 -0
- package/dist/runtime/features/jsxIslands.mjs +1 -0
- package/dist/runtime/features/layout.mjs +1 -1
- package/dist/runtime/features/publicLayout.mjs +1 -1
- package/dist/runtime/features/scopedSlots.mjs +1 -1
- package/dist/runtime/features/templateRefs.mjs +1 -1
- package/dist/runtime/hooks/base.mjs +1 -1
- package/dist/runtime/hooks/pageScroll.mjs +1 -0
- package/dist/runtime/hooks/register.mjs +1 -1
- package/dist/runtime/inlineDataset.mjs +1 -1
- package/dist/runtime/intersectionObserver.mjs +1 -1
- package/dist/runtime/jsxIsland.mjs +1 -1
- package/dist/runtime/layoutBridge.mjs +1 -1
- package/dist/runtime/nativeBridge.mjs +1 -1
- package/dist/runtime/navigationLifecycle.mjs +1 -0
- package/dist/runtime/pageEnvironment.mjs +1 -1
- package/dist/runtime/pageLayout.mjs +1 -1
- package/dist/runtime/pageScroll.mjs +1 -1
- package/dist/runtime/platform/current.mjs +1 -0
- package/dist/runtime/platform/generic.mjs +1 -0
- package/dist/runtime/platform/globals.mjs +1 -0
- package/dist/runtime/platform.mjs +1 -1
- package/dist/runtime/provideContext.mjs +1 -1
- package/dist/runtime/publicRuntime.mjs +1 -1
- package/dist/runtime/pullDownRefresh.mjs +1 -1
- package/dist/runtime/register/app.mjs +1 -1
- package/dist/runtime/register/component/alipay.mjs +1 -1
- package/dist/runtime/register/component/alipayRegistration.mjs +1 -0
- package/dist/runtime/register/component/lifecycle/optionalHooks.mjs +1 -1
- package/dist/runtime/register/component/lifecycle/platform.mjs +1 -1
- package/dist/runtime/register/component/lifecycle.mjs +1 -1
- package/dist/runtime/register/component/methods.mjs +1 -1
- package/dist/runtime/register/component/options.mjs +1 -1
- package/dist/runtime/register/component/props.mjs +1 -1
- package/dist/runtime/register/component/registerDefinition.mjs +1 -1
- package/dist/runtime/register/component/registerNativeDefinition.mjs +1 -1
- package/dist/runtime/register/component.mjs +1 -1
- package/dist/runtime/register/inline.mjs +1 -1
- package/dist/runtime/register/runtimeInstance/methodBridge.mjs +1 -1
- package/dist/runtime/register/runtimeInstance/provideContext.mjs +1 -1
- package/dist/runtime/register/runtimeInstance/setupContext.mjs +1 -1
- package/dist/runtime/register/runtimeInstance/setupPhase.mjs +1 -1
- package/dist/runtime/register/runtimeInstance/setupSnapshot.mjs +1 -1
- package/dist/runtime/register/runtimeInstance/utils.mjs +1 -1
- package/dist/runtime/register/runtimeInstance.mjs +1 -1
- package/dist/runtime/register/setDataFrequencyWarning.mjs +1 -1
- package/dist/runtime/register/setup.mjs +1 -1
- package/dist/runtime/register/snapshot.mjs +1 -1
- package/dist/runtime/register/watch.mjs +1 -1
- package/dist/runtime/scopedSlots.mjs +1 -1
- package/dist/runtime/selectorQuery.mjs +1 -1
- package/dist/runtime/template.mjs +1 -1
- package/dist/runtime/templateRefs/helpers.mjs +1 -1
- package/dist/runtime/templateRefs.mjs +1 -1
- package/dist/runtime/uniAppHost.mjs +1 -1
- package/dist/runtime/updatePerformance.mjs +1 -1
- package/dist/runtime/use.mjs +1 -1
- package/dist/runtime/vueCompat/context.mjs +1 -1
- package/dist/runtime/vueCompat/model.mjs +1 -1
- package/dist/runtime/vueCompat/router.mjs +1 -1
- package/dist/runtime/vueCompat/templateRef.mjs +1 -1
- package/dist/scheduler.mjs +1 -1
- package/dist/store/base.mjs +1 -1
- package/dist/store/define/create.mjs +1 -1
- package/dist/store/define.mjs +1 -1
- package/dist/store/view.mjs +1 -1
- package/package.json +7 -7
- /package/dist/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.151.0}/helpers/esm/defineProperty.mjs +0 -0
- /package/dist/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.151.0}/helpers/esm/toPrimitive.mjs +0 -0
- /package/dist/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.151.0}/helpers/esm/toPropertyKey.mjs +0 -0
- /package/dist/_virtual/{_@oxc-project_runtime@0.150.0 → _@oxc-project_runtime@0.151.0}/helpers/esm/typeof.mjs +0 -0
|
@@ -3,13 +3,12 @@ import { callHookList } from "../../hooks/base.mjs";
|
|
|
3
3
|
import { requireRuntimeCapability, runtimeCapabilityRegistry } from "../../capabilities.mjs";
|
|
4
4
|
import { runTeardownSteps } from "../../teardown.mjs";
|
|
5
5
|
import { enableDeferredSetData, mountRuntimeInstance, refreshRuntimeInstance, setRuntimeSetDataVisibility, teardownRuntimeInstance } from "../runtimeInstance.mjs";
|
|
6
|
-
import { ensureInitialNavigation } from "
|
|
6
|
+
import { ensureInitialNavigation } from "../../navigationLifecycle.mjs";
|
|
7
7
|
import { registerNativeComponentDefinition } from "./registerNativeDefinition.mjs";
|
|
8
8
|
import { WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY, WEVU_PUBLIC_RUNTIME_KEY, WEVU_READY_CALLED_KEY, WEVU_RESOLVE_PUBLIC_INSTANCE_METHOD, WEVU_RUNTIME_KEY } from "@weapp-core/constants";
|
|
9
9
|
|
|
10
10
|
//#region src/runtime/register/component/registerDefinition.ts
|
|
11
11
|
function registerComponentDefinition(options) {
|
|
12
|
-
var _getMiniProgramRuntim;
|
|
13
12
|
const { runtimeApp, watch, setup, restOptions, pageLifecycleHooks, finalObservers, userLifetimes, userPageLifetimes, finalMethods, finalOptions, applyExtraInstanceFields, templateRefs, layoutHosts, attachWevuPropKeys, setupLifecycle, syncWevuPropsFromInstance, directPropsDerivedKeys, isPage, vueLifecycles, getRuntimeOwnerLabel, registerNative = true } = options;
|
|
14
13
|
const activeTemplateRefs = Array.isArray(templateRefs) && templateRefs.length > 0 ? templateRefs : void 0;
|
|
15
14
|
const pendingAttachment = /* @__PURE__ */ new WeakSet();
|
|
@@ -18,24 +17,21 @@ function registerComponentDefinition(options) {
|
|
|
18
17
|
const layoutHooks = activeLayoutHosts ? requireRuntimeCapability("layout", "registerComponentDefinition(layout hosts)") : void 0;
|
|
19
18
|
const scheduleTemplateRefs = (instance, onResolved) => {
|
|
20
19
|
if (activeTemplateRefs) {
|
|
21
|
-
|
|
22
|
-
(_runtimeCapabilityReg = runtimeCapabilityRegistry.templateRefs) === null || _runtimeCapabilityReg === void 0 || _runtimeCapabilityReg.schedule(instance, onResolved);
|
|
20
|
+
runtimeCapabilityRegistry.templateRefs?.schedule(instance, onResolved);
|
|
23
21
|
return;
|
|
24
22
|
}
|
|
25
|
-
onResolved
|
|
23
|
+
onResolved?.();
|
|
26
24
|
};
|
|
27
25
|
const resolveRuntime = (instance) => {
|
|
28
|
-
|
|
29
|
-
const directRuntime = (_wevu = instance.__wevu) !== null && _wevu !== void 0 ? _wevu : instance[WEVU_PUBLIC_RUNTIME_KEY];
|
|
26
|
+
const directRuntime = instance.__wevu ?? instance[WEVU_PUBLIC_RUNTIME_KEY];
|
|
30
27
|
if (directRuntime) return directRuntime;
|
|
31
28
|
const runtimeState = instance.$state;
|
|
32
29
|
if (runtimeState && typeof runtimeState === "object") return runtimeState[WEVU_RUNTIME_KEY];
|
|
33
30
|
};
|
|
34
31
|
const resolveLifecycleContext = (instance) => {
|
|
35
|
-
|
|
36
|
-
const runtimeProxy = (_resolveRuntime = resolveRuntime(instance)) === null || _resolveRuntime === void 0 ? void 0 : _resolveRuntime.proxy;
|
|
32
|
+
const runtimeProxy = resolveRuntime(instance)?.proxy;
|
|
37
33
|
if (runtimeProxy) return runtimeProxy;
|
|
38
|
-
return
|
|
34
|
+
return runtimeCapabilityRegistry.scopedSlots?.resolveLifecycleProxy(instance) ?? instance;
|
|
39
35
|
};
|
|
40
36
|
const mountMissingRuntime = (instance) => {
|
|
41
37
|
const existing = resolveRuntime(instance);
|
|
@@ -81,12 +77,13 @@ function registerComponentDefinition(options) {
|
|
|
81
77
|
};
|
|
82
78
|
const pageMethodBridges = {};
|
|
83
79
|
const attachRuntimeLayoutHosts = (instance) => {
|
|
84
|
-
if (activeLayoutHosts) layoutHooks
|
|
80
|
+
if (activeLayoutHosts) layoutHooks?.attachHosts(activeLayoutHosts, instance);
|
|
85
81
|
};
|
|
86
82
|
const attachPageLayoutSetter = (instance) => {
|
|
87
|
-
if (isPage && layoutHooks) layoutHooks
|
|
83
|
+
if (isPage && layoutHooks) layoutHooks?.attachPageSetter(instance);
|
|
88
84
|
};
|
|
89
85
|
if (isPage) for (const hookName of [
|
|
86
|
+
"onPageScroll",
|
|
90
87
|
"onPullDownRefresh",
|
|
91
88
|
"onReachBottom",
|
|
92
89
|
"onShareAppMessage",
|
|
@@ -110,10 +107,7 @@ function registerComponentDefinition(options) {
|
|
|
110
107
|
pendingAttachment.add(this);
|
|
111
108
|
applyExtraInstanceFields(this);
|
|
112
109
|
attachWevuPropKeys(this);
|
|
113
|
-
if (activeTemplateRefs)
|
|
114
|
-
var _runtimeCapabilityReg4;
|
|
115
|
-
(_runtimeCapabilityReg4 = runtimeCapabilityRegistry.templateRefs) === null || _runtimeCapabilityReg4 === void 0 || _runtimeCapabilityReg4.attachBindings(this, activeTemplateRefs);
|
|
116
|
-
}
|
|
110
|
+
if (activeTemplateRefs) runtimeCapabilityRegistry.templateRefs?.attachBindings(this, activeTemplateRefs);
|
|
117
111
|
const runCreated = () => {
|
|
118
112
|
callVueLifecycle(this, "beforeCreate", args);
|
|
119
113
|
if (setupLifecycle === "created") {
|
|
@@ -138,14 +132,10 @@ function registerComponentDefinition(options) {
|
|
|
138
132
|
if (typeof userLifetimes.moved === "function") userLifetimes.moved.apply(this, args);
|
|
139
133
|
},
|
|
140
134
|
attached: function attached(...args) {
|
|
141
|
-
var _runtimeCapabilityReg5;
|
|
142
135
|
pendingAttachment.delete(this);
|
|
143
136
|
applyExtraInstanceFields(this);
|
|
144
137
|
attachWevuPropKeys(this);
|
|
145
|
-
if (activeTemplateRefs && !
|
|
146
|
-
var _runtimeCapabilityReg6;
|
|
147
|
-
(_runtimeCapabilityReg6 = runtimeCapabilityRegistry.templateRefs) === null || _runtimeCapabilityReg6 === void 0 || _runtimeCapabilityReg6.attachBindings(this, activeTemplateRefs);
|
|
148
|
-
}
|
|
138
|
+
if (activeTemplateRefs && !runtimeCapabilityRegistry.templateRefs?.hasBindings(this)) runtimeCapabilityRegistry.templateRefs?.attachBindings(this, activeTemplateRefs);
|
|
149
139
|
deferPageUntilNavigation(this, () => {
|
|
150
140
|
if (setupLifecycle !== "created" || !this.__wevu) try {
|
|
151
141
|
mountRuntimeInstance(this, runtimeApp, watch, setup, {
|
|
@@ -167,10 +157,7 @@ function registerComponentDefinition(options) {
|
|
|
167
157
|
});
|
|
168
158
|
},
|
|
169
159
|
ready: function ready(...args) {
|
|
170
|
-
if (pendingAttachment.has(this))
|
|
171
|
-
var _userLifetimes$ready;
|
|
172
|
-
return (_userLifetimes$ready = userLifetimes.ready) === null || _userLifetimes$ready === void 0 ? void 0 : _userLifetimes$ready.apply(this, args);
|
|
173
|
-
}
|
|
160
|
+
if (pendingAttachment.has(this)) return userLifetimes.ready?.apply(this, args);
|
|
174
161
|
if (isPage && !this[WEVU_READY_CALLED_KEY]) {
|
|
175
162
|
if (ensureInitialNavigation(this, void 0, {
|
|
176
163
|
start: true,
|
|
@@ -199,10 +186,9 @@ function registerComponentDefinition(options) {
|
|
|
199
186
|
return;
|
|
200
187
|
}
|
|
201
188
|
if (!this[WEVU_READY_CALLED_KEY]) {
|
|
202
|
-
var _runtimeCapabilityReg7;
|
|
203
189
|
this[WEVU_READY_CALLED_KEY] = true;
|
|
204
190
|
syncWevuPropsFromInstance(this);
|
|
205
|
-
|
|
191
|
+
runtimeCapabilityRegistry.templateRefs?.scheduleOwner(this);
|
|
206
192
|
scheduleTemplateRefs(this, () => {
|
|
207
193
|
callHookList(this, "onReady", args);
|
|
208
194
|
callVueLifecycle(this, "mounted", args);
|
|
@@ -217,10 +203,7 @@ function registerComponentDefinition(options) {
|
|
|
217
203
|
runTeardownSteps([
|
|
218
204
|
() => callVueLifecycle(this, "beforeUnmount", args),
|
|
219
205
|
() => callVueLifecycle(this, "beforeDestroy", args),
|
|
220
|
-
() =>
|
|
221
|
-
var _runtimeCapabilityReg8;
|
|
222
|
-
return (_runtimeCapabilityReg8 = runtimeCapabilityRegistry.templateRefs) === null || _runtimeCapabilityReg8 === void 0 ? void 0 : _runtimeCapabilityReg8.scheduleOwner(this);
|
|
223
|
-
},
|
|
206
|
+
() => runtimeCapabilityRegistry.templateRefs?.scheduleOwner(this),
|
|
224
207
|
() => callHookList(this, "onDetached", args),
|
|
225
208
|
() => pageLifecycleHooks.onUnload.call(this, ...args),
|
|
226
209
|
() => {
|
|
@@ -234,13 +217,10 @@ function registerComponentDefinition(options) {
|
|
|
234
217
|
runTeardownSteps([
|
|
235
218
|
() => callVueLifecycle(this, "beforeUnmount", args),
|
|
236
219
|
() => callVueLifecycle(this, "beforeDestroy", args),
|
|
237
|
-
() =>
|
|
238
|
-
var _runtimeCapabilityReg9;
|
|
239
|
-
return (_runtimeCapabilityReg9 = runtimeCapabilityRegistry.templateRefs) === null || _runtimeCapabilityReg9 === void 0 ? void 0 : _runtimeCapabilityReg9.scheduleOwner(this);
|
|
240
|
-
},
|
|
220
|
+
() => runtimeCapabilityRegistry.templateRefs?.scheduleOwner(this),
|
|
241
221
|
() => callHookList(this, "onDetached", args),
|
|
242
222
|
() => {
|
|
243
|
-
if (activeLayoutHosts) layoutHooks
|
|
223
|
+
if (activeLayoutHosts) layoutHooks?.detachHosts(activeLayoutHosts, this);
|
|
244
224
|
},
|
|
245
225
|
() => teardownRuntimeInstance(this),
|
|
246
226
|
() => callVueLifecycle(this, "unmounted", args),
|
|
@@ -300,20 +280,19 @@ function registerComponentDefinition(options) {
|
|
|
300
280
|
...pageMethodBridges,
|
|
301
281
|
...finalMethods,
|
|
302
282
|
[WEVU_RESOLVE_PUBLIC_INSTANCE_METHOD]: function resolvePublicInstance() {
|
|
303
|
-
var _result$runtime;
|
|
304
283
|
const result = mountMissingRuntime(this);
|
|
305
284
|
if (result.mounted) {
|
|
306
285
|
callVueLifecycle(this, "created", []);
|
|
307
286
|
callVueLifecycle(this, "beforeMount", []);
|
|
308
287
|
}
|
|
309
|
-
return
|
|
288
|
+
return result.runtime?.proxy;
|
|
310
289
|
}
|
|
311
290
|
},
|
|
312
291
|
options: finalOptions
|
|
313
292
|
};
|
|
314
293
|
if (!registerNative) return componentDefinition;
|
|
315
|
-
const statefulHmrBridge =
|
|
316
|
-
if (typeof
|
|
294
|
+
const statefulHmrBridge = getMiniProgramRuntimeGlobalObject()?.[WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY];
|
|
295
|
+
if (typeof statefulHmrBridge?.trackWevuComponent === "function") {
|
|
317
296
|
const definition = statefulHmrBridge.trackWevuComponent(componentDefinition, (instance, stateSnapshot) => {
|
|
318
297
|
refreshRuntimeInstance(instance, runtimeApp, watch, setup, {
|
|
319
298
|
snapshotOmitKeys: directPropsDerivedKeys,
|
|
@@ -323,6 +302,8 @@ function registerComponentDefinition(options) {
|
|
|
323
302
|
attachPageLayoutSetter(instance);
|
|
324
303
|
attachRuntimeLayoutHosts(instance);
|
|
325
304
|
enableDeferredSetData(instance, { rehydrateSetupState: true });
|
|
305
|
+
}, (instance) => {
|
|
306
|
+
runTeardownSteps([() => activeLayoutHosts && layoutHooks?.detachHosts(activeLayoutHosts, instance), () => teardownRuntimeInstance(instance, { skipHooks: true })]);
|
|
326
307
|
});
|
|
327
308
|
if (!statefulHmrBridge.isApplying()) registerNativeComponentDefinition(definition, isPage);
|
|
328
309
|
return definition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerDefinition.mjs","names":[],"sources":["../../../../../src/runtime/register/component/registerDefinition.ts"],"sourcesContent":["import type { LayoutHostBinding, TemplateRefBinding } from '../../capabilities'\nimport type {\n ComponentPropsOptions,\n ComputedDefinitions,\n DefineComponentOptions,\n InternalRuntimeState,\n MethodDefinitions,\n RuntimeApp,\n} from '../../types'\nimport type { WatchMap } from '../watch'\nimport {\n WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY,\n WEVU_PUBLIC_RUNTIME_KEY,\n WEVU_READY_CALLED_KEY,\n WEVU_RESOLVE_PUBLIC_INSTANCE_METHOD,\n WEVU_RUNTIME_KEY,\n} from '@weapp-core/constants'\nimport {\n ensureInitialNavigation,\n} from '../../../router/initialNavigation'\nimport { requireRuntimeCapability, runtimeCapabilityRegistry } from '../../capabilities'\nimport { callHookList } from '../../hooks'\nimport { getMiniProgramRuntimeGlobalObject } from '../../platform'\nimport { runTeardownSteps } from '../../teardown'\nimport { enableDeferredSetData, mountRuntimeInstance, refreshRuntimeInstance, setRuntimeSetDataVisibility, teardownRuntimeInstance } from '../runtimeInstance'\nimport { registerNativeComponentDefinition } from './registerNativeDefinition'\n\nexport function registerComponentDefinition<D extends object, C extends ComputedDefinitions, M extends MethodDefinitions>(options: {\n runtimeApp: RuntimeApp<D, C, M>\n watch: WatchMap | undefined\n setup: DefineComponentOptions<ComponentPropsOptions, D, C, M>['setup']\n restOptions: Record<string, any>\n pageLifecycleHooks: Record<string, any>\n finalObservers: Record<string, any>\n userLifetimes: Record<string, any>\n userPageLifetimes: Record<string, any>\n finalMethods: Record<string, (...args: any[]) => any>\n finalOptions: Record<string, any>\n applyExtraInstanceFields: (instance: InternalRuntimeState) => void\n templateRefs: TemplateRefBinding[] | undefined\n layoutHosts: LayoutHostBinding[] | undefined\n attachWevuPropKeys: (instance: InternalRuntimeState) => void\n setupLifecycle: 'created' | 'attached'\n syncWevuPropsFromInstance: (instance: InternalRuntimeState) => void\n syncWevuPropsFromValues: (instance: InternalRuntimeState, values: Record<string, unknown> | undefined) => void\n directPropsDerivedKeys: string[]\n isPage: boolean\n vueLifecycles: Record<string, unknown>\n getRuntimeOwnerLabel: (instance: InternalRuntimeState) => string\n registerNative?: boolean\n}) {\n const {\n runtimeApp,\n watch,\n setup,\n restOptions,\n pageLifecycleHooks,\n finalObservers,\n userLifetimes,\n userPageLifetimes,\n finalMethods,\n finalOptions,\n applyExtraInstanceFields,\n templateRefs,\n layoutHosts,\n attachWevuPropKeys,\n setupLifecycle,\n syncWevuPropsFromInstance,\n directPropsDerivedKeys,\n isPage,\n vueLifecycles,\n getRuntimeOwnerLabel,\n registerNative = true,\n } = options\n const activeTemplateRefs = Array.isArray(templateRefs) && templateRefs.length > 0\n ? templateRefs\n : undefined\n const pendingAttachment = new WeakSet<InternalRuntimeState>()\n if (activeTemplateRefs) {\n requireRuntimeCapability('templateRefs', 'registerComponentDefinition(template refs)')\n }\n const activeLayoutHosts = Array.isArray(layoutHosts) && layoutHosts.length > 0\n ? layoutHosts\n : undefined\n const layoutHooks = activeLayoutHosts\n ? requireRuntimeCapability('layout', 'registerComponentDefinition(layout hosts)')\n : undefined\n\n const scheduleTemplateRefs = (instance: InternalRuntimeState, onResolved?: () => void) => {\n if (activeTemplateRefs) {\n runtimeCapabilityRegistry.templateRefs?.schedule(instance, onResolved)\n return\n }\n onResolved?.()\n }\n\n const resolveRuntime = (instance: InternalRuntimeState) => {\n const directRuntime = (instance as any).__wevu ?? (instance as any)[WEVU_PUBLIC_RUNTIME_KEY]\n if (directRuntime) {\n return directRuntime\n }\n const runtimeState = (instance as any).$state\n if (runtimeState && typeof runtimeState === 'object') {\n return (runtimeState as any)[WEVU_RUNTIME_KEY]\n }\n return undefined\n }\n\n const resolveLifecycleContext = (instance: InternalRuntimeState) => {\n const runtimeProxy = resolveRuntime(instance)?.proxy\n if (runtimeProxy) {\n return runtimeProxy\n }\n return runtimeCapabilityRegistry.scopedSlots?.resolveLifecycleProxy(instance) ?? instance\n }\n\n const mountMissingRuntime = (instance: InternalRuntimeState) => {\n const existing = resolveRuntime(instance)\n if (existing) {\n return { runtime: existing, mounted: false }\n }\n applyExtraInstanceFields(instance)\n attachWevuPropKeys(instance)\n mountRuntimeInstance(instance, runtimeApp, watch, setup, {\n deferSetData: true,\n snapshotOmitKeys: directPropsDerivedKeys,\n })\n syncWevuPropsFromInstance(instance)\n enableDeferredSetData(instance)\n return { runtime: resolveRuntime(instance), mounted: true }\n }\n\n const callVueLifecycle = (instance: InternalRuntimeState, name: string, args: any[]) => {\n const hook = vueLifecycles[name]\n if (typeof hook === 'function') {\n return hook.apply(resolveLifecycleContext(instance), args)\n }\n return undefined\n }\n\n const deferPageUntilNavigation = (instance: InternalRuntimeState, task: () => void) => {\n if (!isPage) {\n task()\n return\n }\n const initialNavigationPromise = ensureInitialNavigation(instance as any, undefined, {\n start: false,\n onComplete: (shouldMount) => {\n if (shouldMount) {\n task()\n }\n },\n })\n if (!initialNavigationPromise) {\n task()\n }\n }\n\n const ensureReadyRuntime = (instance: InternalRuntimeState) => {\n if (resolveRuntime(instance) || typeof vueLifecycles.mounted !== 'function') {\n return\n }\n const result = mountMissingRuntime(instance)\n if (result.mounted) {\n callVueLifecycle(instance, 'created', [])\n callVueLifecycle(instance, 'beforeMount', [])\n }\n }\n\n const pageMethodBridges: Record<string, (...args: any[]) => any> = {}\n const attachRuntimeLayoutHosts = (instance: InternalRuntimeState) => {\n if (activeLayoutHosts) {\n layoutHooks?.attachHosts(activeLayoutHosts, instance)\n }\n }\n const attachPageLayoutSetter = (instance: InternalRuntimeState) => {\n if (isPage && layoutHooks) {\n layoutHooks?.attachPageSetter(instance)\n }\n }\n if (isPage) {\n const methodBridgeHookNames = ['onPullDownRefresh', 'onReachBottom', 'onShareAppMessage', 'onShareTimeline', 'onAddToFavorites']\n for (const hookName of methodBridgeHookNames) {\n const pageHook = (pageLifecycleHooks as any)[hookName]\n if (typeof pageHook !== 'function') {\n continue\n }\n if (typeof (finalMethods as any)[hookName] === 'function') {\n continue\n }\n pageMethodBridges[hookName] = function pageMethodBridge(this: InternalRuntimeState, ...args: any[]) {\n return pageHook.apply(this, args)\n }\n }\n }\n\n const componentDefinition = {\n ...restOptions,\n ...(isPage ? pageLifecycleHooks : {}),\n observers: finalObservers,\n lifetimes: {\n ...userLifetimes,\n created: function created(this: InternalRuntimeState, ...args: any[]) {\n pendingAttachment.add(this)\n applyExtraInstanceFields(this)\n attachWevuPropKeys(this)\n if (activeTemplateRefs) {\n runtimeCapabilityRegistry.templateRefs?.attachBindings(this, activeTemplateRefs)\n }\n const runCreated = () => {\n callVueLifecycle(this, 'beforeCreate', args)\n if (setupLifecycle === 'created') {\n try {\n mountRuntimeInstance(this, runtimeApp, watch, setup, {\n deferSetData: true,\n snapshotOmitKeys: directPropsDerivedKeys,\n })\n }\n catch (error) {\n const label = getRuntimeOwnerLabel(this)\n throw new Error(`[wevu] mount runtime failed in created (${label}): ${error instanceof Error ? error.message : String(error)}`)\n }\n syncWevuPropsFromInstance(this)\n attachPageLayoutSetter(this)\n }\n if (typeof (userLifetimes as any).created === 'function') {\n ;(userLifetimes as any).created.apply(this, args)\n }\n }\n deferPageUntilNavigation(this, runCreated)\n },\n moved: function moved(this: InternalRuntimeState, ...args: any[]) {\n callHookList(this, 'onMoved', args)\n if (typeof (userLifetimes as any).moved === 'function') {\n ;(userLifetimes as any).moved.apply(this, args)\n }\n },\n attached: function attached(this: InternalRuntimeState, ...args: any[]) {\n pendingAttachment.delete(this)\n applyExtraInstanceFields(this)\n attachWevuPropKeys(this)\n if (activeTemplateRefs && !runtimeCapabilityRegistry.templateRefs?.hasBindings(this)) {\n runtimeCapabilityRegistry.templateRefs?.attachBindings(this, activeTemplateRefs)\n }\n deferPageUntilNavigation(this, () => {\n if (setupLifecycle !== 'created' || !(this as any).__wevu) {\n try {\n mountRuntimeInstance(this, runtimeApp, watch, setup, {\n deferSetData: true,\n snapshotOmitKeys: directPropsDerivedKeys,\n })\n }\n catch (error) {\n const label = getRuntimeOwnerLabel(this)\n throw new Error(`[wevu] mount runtime failed in attached (${label}): ${error instanceof Error ? error.message : String(error)}`)\n }\n }\n syncWevuPropsFromInstance(this)\n callVueLifecycle(this, 'created', args)\n callVueLifecycle(this, 'beforeMount', args)\n attachPageLayoutSetter(this)\n attachRuntimeLayoutHosts(this)\n enableDeferredSetData(this)\n callHookList(this, 'onAttached', args)\n if (typeof (userLifetimes as any).attached === 'function') {\n ;(userLifetimes as any).attached.apply(this, args)\n }\n })\n },\n ready: function ready(this: InternalRuntimeState, ...args: any[]) {\n // 微信可能向初始条件分支中已被替换、从未 attached 的实例发送 ready。\n // 此时保留原生回调,不得将它当作已挂载实例的 wrapper 丢失而补挂载。\n if (pendingAttachment.has(this)) {\n return userLifetimes.ready?.apply(this, args)\n }\n if (isPage && !(this as any)[WEVU_READY_CALLED_KEY]) {\n const initialNavigationPromise = ensureInitialNavigation(this as any, undefined, {\n start: true,\n onComplete: (shouldMount) => {\n if (shouldMount && !(this as any).__wevuInitialNavigationReady) {\n ;(this as any).__wevuInitialNavigationReady = true\n componentDefinition.lifetimes.ready.call(this, ...args)\n }\n },\n })\n if (initialNavigationPromise && !(this as any).__wevuInitialNavigationReady) {\n return\n }\n }\n ensureReadyRuntime(this)\n if (isPage && typeof (pageLifecycleHooks as any).onReady === 'function') {\n const wasReadyCalled = Boolean((this as any)[WEVU_READY_CALLED_KEY])\n ;(pageLifecycleHooks as any).onReady.call(this, ...args)\n if (!wasReadyCalled) {\n const callMounted = () => callVueLifecycle(this, 'mounted', args)\n const initialNavigationPromise = ensureInitialNavigation(this as any, undefined, {\n start: false,\n onComplete: (shouldMount) => {\n if (shouldMount) {\n callMounted()\n }\n },\n })\n if (!initialNavigationPromise) {\n callMounted()\n }\n }\n if (typeof (userLifetimes as any).ready === 'function') {\n ;(userLifetimes as any).ready.apply(this, args)\n }\n return\n }\n if (!(this as any)[WEVU_READY_CALLED_KEY]) {\n ;(this as any)[WEVU_READY_CALLED_KEY] = true\n syncWevuPropsFromInstance(this)\n runtimeCapabilityRegistry.templateRefs?.scheduleOwner(this)\n scheduleTemplateRefs(this, () => {\n callHookList(this, 'onReady', args)\n callVueLifecycle(this, 'mounted', args)\n if (typeof (userLifetimes as any).ready === 'function') {\n ;(userLifetimes as any).ready.apply(this, args)\n }\n })\n return\n }\n if (typeof (userLifetimes as any).ready === 'function') {\n ;(userLifetimes as any).ready.apply(this, args)\n }\n },\n detached: function detached(this: InternalRuntimeState, ...args: any[]) {\n if (isPage && typeof (pageLifecycleHooks as any).onUnload === 'function') {\n runTeardownSteps([\n () => callVueLifecycle(this, 'beforeUnmount', args),\n () => callVueLifecycle(this, 'beforeDestroy', args),\n () => runtimeCapabilityRegistry.templateRefs?.scheduleOwner(this),\n () => callHookList(this, 'onDetached', args),\n () => (pageLifecycleHooks as any).onUnload.call(this, ...args),\n () => {\n if (typeof (userLifetimes as any).detached === 'function') {\n ;(userLifetimes as any).detached.apply(this, args)\n }\n },\n () => callVueLifecycle(this, 'unmounted', args),\n () => callVueLifecycle(this, 'destroyed', args),\n ])\n return\n }\n runTeardownSteps([\n () => callVueLifecycle(this, 'beforeUnmount', args),\n () => callVueLifecycle(this, 'beforeDestroy', args),\n () => runtimeCapabilityRegistry.templateRefs?.scheduleOwner(this),\n () => callHookList(this, 'onDetached', args),\n () => {\n if (activeLayoutHosts) {\n layoutHooks?.detachHosts(activeLayoutHosts, this)\n }\n },\n () => teardownRuntimeInstance(this),\n () => callVueLifecycle(this, 'unmounted', args),\n () => callVueLifecycle(this, 'destroyed', args),\n () => {\n if (typeof (userLifetimes as any).detached === 'function') {\n ;(userLifetimes as any).detached.apply(this, args)\n }\n },\n ])\n },\n error: function error(this: InternalRuntimeState, ...args: any[]) {\n callHookList(this, 'onError', args)\n if (typeof (userLifetimes as any).error === 'function') {\n ;(userLifetimes as any).error.apply(this, args)\n }\n },\n },\n pageLifetimes: {\n ...userPageLifetimes,\n show: function show(this: InternalRuntimeState, ...args: any[]) {\n if (isPage && typeof (pageLifecycleHooks as any).onShow === 'function') {\n ;(pageLifecycleHooks as any).onShow.call(this, ...args)\n if (typeof (userPageLifetimes as any).show === 'function') {\n ;(userPageLifetimes as any).show.apply(this, args)\n }\n return\n }\n setRuntimeSetDataVisibility(this, true)\n callHookList(this, 'onShow', args)\n if (typeof (userPageLifetimes as any).show === 'function') {\n ;(userPageLifetimes as any).show.apply(this, args)\n }\n },\n hide: function hide(this: InternalRuntimeState, ...args: any[]) {\n if (isPage && typeof (pageLifecycleHooks as any).onHide === 'function') {\n ;(pageLifecycleHooks as any).onHide.call(this, ...args)\n if (typeof (userPageLifetimes as any).hide === 'function') {\n ;(userPageLifetimes as any).hide.apply(this, args)\n }\n return\n }\n setRuntimeSetDataVisibility(this, false)\n callHookList(this, 'onHide', args)\n if (typeof (userPageLifetimes as any).hide === 'function') {\n ;(userPageLifetimes as any).hide.apply(this, args)\n }\n },\n resize: function resize(this: InternalRuntimeState, ...args: any[]) {\n if (isPage && typeof (pageLifecycleHooks as any).onResize === 'function') {\n ;(pageLifecycleHooks as any).onResize.call(this, ...args)\n if (typeof (userPageLifetimes as any).resize === 'function') {\n ;(userPageLifetimes as any).resize.apply(this, args)\n }\n return\n }\n callHookList(this, 'onResize', args)\n if (typeof (userPageLifetimes as any).resize === 'function') {\n ;(userPageLifetimes as any).resize.apply(this, args)\n }\n },\n routeDone: function routeDone(this: InternalRuntimeState, ...args: any[]) {\n if (isPage && typeof (pageLifecycleHooks as any).onRouteDone === 'function') {\n ;(pageLifecycleHooks as any).onRouteDone.call(this, ...args)\n if (typeof (userPageLifetimes as any).routeDone === 'function') {\n ;(userPageLifetimes as any).routeDone.apply(this, args)\n }\n return\n }\n callHookList(this, 'onRouteDone', args)\n if (typeof (userPageLifetimes as any).routeDone === 'function') {\n ;(userPageLifetimes as any).routeDone.apply(this, args)\n }\n },\n },\n methods: {\n ...pageMethodBridges,\n ...finalMethods,\n [WEVU_RESOLVE_PUBLIC_INSTANCE_METHOD]: function resolvePublicInstance(this: InternalRuntimeState) {\n const result = mountMissingRuntime(this)\n if (result.mounted) {\n callVueLifecycle(this, 'created', [])\n callVueLifecycle(this, 'beforeMount', [])\n }\n return result.runtime?.proxy\n },\n },\n options: finalOptions,\n }\n if (!registerNative) {\n return componentDefinition\n }\n\n const statefulHmrBridge = getMiniProgramRuntimeGlobalObject()?.[WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY]\n if (typeof statefulHmrBridge?.trackWevuComponent === 'function') {\n const definition = statefulHmrBridge.trackWevuComponent(componentDefinition, (\n instance: InternalRuntimeState,\n stateSnapshot?: Record<string, any>,\n ) => {\n refreshRuntimeInstance(instance, runtimeApp, watch, setup, {\n snapshotOmitKeys: directPropsDerivedKeys,\n stateSnapshot,\n })\n syncWevuPropsFromInstance(instance)\n attachPageLayoutSetter(instance)\n attachRuntimeLayoutHosts(instance)\n enableDeferredSetData(instance, { rehydrateSetupState: true })\n })\n if (!statefulHmrBridge.isApplying()) {\n registerNativeComponentDefinition(definition, isPage)\n }\n return definition\n }\n registerNativeComponentDefinition(componentDefinition, isPage)\n return componentDefinition\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registerDefinition.mjs","names":[],"sources":["../../../../../src/runtime/register/component/registerDefinition.ts"],"sourcesContent":["import type { LayoutHostBinding, TemplateRefBinding } from '../../capabilities'\nimport type {\n ComponentPropsOptions,\n ComputedDefinitions,\n DefineComponentOptions,\n InternalRuntimeState,\n MethodDefinitions,\n RuntimeApp,\n} from '../../types'\nimport type { WatchMap } from '../watch'\nimport {\n WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY,\n WEVU_PUBLIC_RUNTIME_KEY,\n WEVU_READY_CALLED_KEY,\n WEVU_RESOLVE_PUBLIC_INSTANCE_METHOD,\n WEVU_RUNTIME_KEY,\n} from '@weapp-core/constants'\nimport { requireRuntimeCapability, runtimeCapabilityRegistry } from '../../capabilities'\nimport { callHookList } from '../../hooks'\nimport { ensureInitialNavigation } from '../../navigationLifecycle'\nimport { getMiniProgramRuntimeGlobalObject } from '../../platform'\nimport { runTeardownSteps } from '../../teardown'\nimport { enableDeferredSetData, mountRuntimeInstance, refreshRuntimeInstance, setRuntimeSetDataVisibility, teardownRuntimeInstance } from '../runtimeInstance'\nimport { registerNativeComponentDefinition } from './registerNativeDefinition'\n\nexport function registerComponentDefinition<D extends object, C extends ComputedDefinitions, M extends MethodDefinitions>(options: {\n runtimeApp: RuntimeApp<D, C, M>\n watch: WatchMap | undefined\n setup: DefineComponentOptions<ComponentPropsOptions, D, C, M>['setup']\n restOptions: Record<string, any>\n pageLifecycleHooks: Record<string, any>\n finalObservers: Record<string, any>\n userLifetimes: Record<string, any>\n userPageLifetimes: Record<string, any>\n finalMethods: Record<string, (...args: any[]) => any>\n finalOptions: Record<string, any>\n applyExtraInstanceFields: (instance: InternalRuntimeState) => void\n templateRefs: TemplateRefBinding[] | undefined\n layoutHosts: LayoutHostBinding[] | undefined\n attachWevuPropKeys: (instance: InternalRuntimeState) => void\n setupLifecycle: 'created' | 'attached'\n syncWevuPropsFromInstance: (instance: InternalRuntimeState) => void\n syncWevuPropsFromValues: (instance: InternalRuntimeState, values: Record<string, unknown> | undefined) => void\n directPropsDerivedKeys: string[]\n isPage: boolean\n vueLifecycles: Record<string, unknown>\n getRuntimeOwnerLabel: (instance: InternalRuntimeState) => string\n registerNative?: boolean\n}) {\n const {\n runtimeApp,\n watch,\n setup,\n restOptions,\n pageLifecycleHooks,\n finalObservers,\n userLifetimes,\n userPageLifetimes,\n finalMethods,\n finalOptions,\n applyExtraInstanceFields,\n templateRefs,\n layoutHosts,\n attachWevuPropKeys,\n setupLifecycle,\n syncWevuPropsFromInstance,\n directPropsDerivedKeys,\n isPage,\n vueLifecycles,\n getRuntimeOwnerLabel,\n registerNative = true,\n } = options\n const activeTemplateRefs = Array.isArray(templateRefs) && templateRefs.length > 0\n ? templateRefs\n : undefined\n const pendingAttachment = new WeakSet<InternalRuntimeState>()\n if (activeTemplateRefs) {\n requireRuntimeCapability('templateRefs', 'registerComponentDefinition(template refs)')\n }\n const activeLayoutHosts = Array.isArray(layoutHosts) && layoutHosts.length > 0\n ? layoutHosts\n : undefined\n const layoutHooks = activeLayoutHosts\n ? requireRuntimeCapability('layout', 'registerComponentDefinition(layout hosts)')\n : undefined\n\n const scheduleTemplateRefs = (instance: InternalRuntimeState, onResolved?: () => void) => {\n if (activeTemplateRefs) {\n runtimeCapabilityRegistry.templateRefs?.schedule(instance, onResolved)\n return\n }\n onResolved?.()\n }\n\n const resolveRuntime = (instance: InternalRuntimeState) => {\n const directRuntime = (instance as any).__wevu ?? (instance as any)[WEVU_PUBLIC_RUNTIME_KEY]\n if (directRuntime) {\n return directRuntime\n }\n const runtimeState = (instance as any).$state\n if (runtimeState && typeof runtimeState === 'object') {\n return (runtimeState as any)[WEVU_RUNTIME_KEY]\n }\n return undefined\n }\n\n const resolveLifecycleContext = (instance: InternalRuntimeState) => {\n const runtimeProxy = resolveRuntime(instance)?.proxy\n if (runtimeProxy) {\n return runtimeProxy\n }\n return runtimeCapabilityRegistry.scopedSlots?.resolveLifecycleProxy(instance) ?? instance\n }\n\n const mountMissingRuntime = (instance: InternalRuntimeState) => {\n const existing = resolveRuntime(instance)\n if (existing) {\n return { runtime: existing, mounted: false }\n }\n applyExtraInstanceFields(instance)\n attachWevuPropKeys(instance)\n mountRuntimeInstance(instance, runtimeApp, watch, setup, {\n deferSetData: true,\n snapshotOmitKeys: directPropsDerivedKeys,\n })\n syncWevuPropsFromInstance(instance)\n enableDeferredSetData(instance)\n return { runtime: resolveRuntime(instance), mounted: true }\n }\n\n const callVueLifecycle = (instance: InternalRuntimeState, name: string, args: any[]) => {\n const hook = vueLifecycles[name]\n if (typeof hook === 'function') {\n return hook.apply(resolveLifecycleContext(instance), args)\n }\n return undefined\n }\n\n const deferPageUntilNavigation = (instance: InternalRuntimeState, task: () => void) => {\n if (!isPage) {\n task()\n return\n }\n const initialNavigationPromise = ensureInitialNavigation(instance as any, undefined, {\n start: false,\n onComplete: (shouldMount) => {\n if (shouldMount) {\n task()\n }\n },\n })\n if (!initialNavigationPromise) {\n task()\n }\n }\n\n const ensureReadyRuntime = (instance: InternalRuntimeState) => {\n if (resolveRuntime(instance) || typeof vueLifecycles.mounted !== 'function') {\n return\n }\n const result = mountMissingRuntime(instance)\n if (result.mounted) {\n callVueLifecycle(instance, 'created', [])\n callVueLifecycle(instance, 'beforeMount', [])\n }\n }\n\n const pageMethodBridges: Record<string, (...args: any[]) => any> = {}\n const attachRuntimeLayoutHosts = (instance: InternalRuntimeState) => {\n if (activeLayoutHosts) {\n layoutHooks?.attachHosts(activeLayoutHosts, instance)\n }\n }\n const attachPageLayoutSetter = (instance: InternalRuntimeState) => {\n if (isPage && layoutHooks) {\n layoutHooks?.attachPageSetter(instance)\n }\n }\n if (isPage) {\n const methodBridgeHookNames = ['onPageScroll', 'onPullDownRefresh', 'onReachBottom', 'onShareAppMessage', 'onShareTimeline', 'onAddToFavorites']\n for (const hookName of methodBridgeHookNames) {\n const pageHook = (pageLifecycleHooks as any)[hookName]\n if (typeof pageHook !== 'function') {\n continue\n }\n if (typeof (finalMethods as any)[hookName] === 'function') {\n continue\n }\n pageMethodBridges[hookName] = function pageMethodBridge(this: InternalRuntimeState, ...args: any[]) {\n return pageHook.apply(this, args)\n }\n }\n }\n\n const componentDefinition = {\n ...restOptions,\n ...(isPage ? pageLifecycleHooks : {}),\n observers: finalObservers,\n lifetimes: {\n ...userLifetimes,\n created: function created(this: InternalRuntimeState, ...args: any[]) {\n pendingAttachment.add(this)\n applyExtraInstanceFields(this)\n attachWevuPropKeys(this)\n if (activeTemplateRefs) {\n runtimeCapabilityRegistry.templateRefs?.attachBindings(this, activeTemplateRefs)\n }\n const runCreated = () => {\n callVueLifecycle(this, 'beforeCreate', args)\n if (setupLifecycle === 'created') {\n try {\n mountRuntimeInstance(this, runtimeApp, watch, setup, {\n deferSetData: true,\n snapshotOmitKeys: directPropsDerivedKeys,\n })\n }\n catch (error) {\n const label = getRuntimeOwnerLabel(this)\n throw new Error(`[wevu] mount runtime failed in created (${label}): ${error instanceof Error ? error.message : String(error)}`)\n }\n syncWevuPropsFromInstance(this)\n attachPageLayoutSetter(this)\n }\n if (typeof (userLifetimes as any).created === 'function') {\n ;(userLifetimes as any).created.apply(this, args)\n }\n }\n deferPageUntilNavigation(this, runCreated)\n },\n moved: function moved(this: InternalRuntimeState, ...args: any[]) {\n callHookList(this, 'onMoved', args)\n if (typeof (userLifetimes as any).moved === 'function') {\n ;(userLifetimes as any).moved.apply(this, args)\n }\n },\n attached: function attached(this: InternalRuntimeState, ...args: any[]) {\n pendingAttachment.delete(this)\n applyExtraInstanceFields(this)\n attachWevuPropKeys(this)\n if (activeTemplateRefs && !runtimeCapabilityRegistry.templateRefs?.hasBindings(this)) {\n runtimeCapabilityRegistry.templateRefs?.attachBindings(this, activeTemplateRefs)\n }\n deferPageUntilNavigation(this, () => {\n if (setupLifecycle !== 'created' || !(this as any).__wevu) {\n try {\n mountRuntimeInstance(this, runtimeApp, watch, setup, {\n deferSetData: true,\n snapshotOmitKeys: directPropsDerivedKeys,\n })\n }\n catch (error) {\n const label = getRuntimeOwnerLabel(this)\n throw new Error(`[wevu] mount runtime failed in attached (${label}): ${error instanceof Error ? error.message : String(error)}`)\n }\n }\n syncWevuPropsFromInstance(this)\n callVueLifecycle(this, 'created', args)\n callVueLifecycle(this, 'beforeMount', args)\n attachPageLayoutSetter(this)\n attachRuntimeLayoutHosts(this)\n enableDeferredSetData(this)\n callHookList(this, 'onAttached', args)\n if (typeof (userLifetimes as any).attached === 'function') {\n ;(userLifetimes as any).attached.apply(this, args)\n }\n })\n },\n ready: function ready(this: InternalRuntimeState, ...args: any[]) {\n // 微信可能向初始条件分支中已被替换、从未 attached 的实例发送 ready。\n // 此时保留原生回调,不得将它当作已挂载实例的 wrapper 丢失而补挂载。\n if (pendingAttachment.has(this)) {\n return userLifetimes.ready?.apply(this, args)\n }\n if (isPage && !(this as any)[WEVU_READY_CALLED_KEY]) {\n const initialNavigationPromise = ensureInitialNavigation(this as any, undefined, {\n start: true,\n onComplete: (shouldMount) => {\n if (shouldMount && !(this as any).__wevuInitialNavigationReady) {\n ;(this as any).__wevuInitialNavigationReady = true\n componentDefinition.lifetimes.ready.call(this, ...args)\n }\n },\n })\n if (initialNavigationPromise && !(this as any).__wevuInitialNavigationReady) {\n return\n }\n }\n ensureReadyRuntime(this)\n if (isPage && typeof (pageLifecycleHooks as any).onReady === 'function') {\n const wasReadyCalled = Boolean((this as any)[WEVU_READY_CALLED_KEY])\n ;(pageLifecycleHooks as any).onReady.call(this, ...args)\n if (!wasReadyCalled) {\n const callMounted = () => callVueLifecycle(this, 'mounted', args)\n const initialNavigationPromise = ensureInitialNavigation(this as any, undefined, {\n start: false,\n onComplete: (shouldMount) => {\n if (shouldMount) {\n callMounted()\n }\n },\n })\n if (!initialNavigationPromise) {\n callMounted()\n }\n }\n if (typeof (userLifetimes as any).ready === 'function') {\n ;(userLifetimes as any).ready.apply(this, args)\n }\n return\n }\n if (!(this as any)[WEVU_READY_CALLED_KEY]) {\n ;(this as any)[WEVU_READY_CALLED_KEY] = true\n syncWevuPropsFromInstance(this)\n runtimeCapabilityRegistry.templateRefs?.scheduleOwner(this)\n scheduleTemplateRefs(this, () => {\n callHookList(this, 'onReady', args)\n callVueLifecycle(this, 'mounted', args)\n if (typeof (userLifetimes as any).ready === 'function') {\n ;(userLifetimes as any).ready.apply(this, args)\n }\n })\n return\n }\n if (typeof (userLifetimes as any).ready === 'function') {\n ;(userLifetimes as any).ready.apply(this, args)\n }\n },\n detached: function detached(this: InternalRuntimeState, ...args: any[]) {\n if (isPage && typeof (pageLifecycleHooks as any).onUnload === 'function') {\n runTeardownSteps([\n () => callVueLifecycle(this, 'beforeUnmount', args),\n () => callVueLifecycle(this, 'beforeDestroy', args),\n () => runtimeCapabilityRegistry.templateRefs?.scheduleOwner(this),\n () => callHookList(this, 'onDetached', args),\n () => (pageLifecycleHooks as any).onUnload.call(this, ...args),\n () => {\n if (typeof (userLifetimes as any).detached === 'function') {\n ;(userLifetimes as any).detached.apply(this, args)\n }\n },\n () => callVueLifecycle(this, 'unmounted', args),\n () => callVueLifecycle(this, 'destroyed', args),\n ])\n return\n }\n runTeardownSteps([\n () => callVueLifecycle(this, 'beforeUnmount', args),\n () => callVueLifecycle(this, 'beforeDestroy', args),\n () => runtimeCapabilityRegistry.templateRefs?.scheduleOwner(this),\n () => callHookList(this, 'onDetached', args),\n () => {\n if (activeLayoutHosts) {\n layoutHooks?.detachHosts(activeLayoutHosts, this)\n }\n },\n () => teardownRuntimeInstance(this),\n () => callVueLifecycle(this, 'unmounted', args),\n () => callVueLifecycle(this, 'destroyed', args),\n () => {\n if (typeof (userLifetimes as any).detached === 'function') {\n ;(userLifetimes as any).detached.apply(this, args)\n }\n },\n ])\n },\n error: function error(this: InternalRuntimeState, ...args: any[]) {\n callHookList(this, 'onError', args)\n if (typeof (userLifetimes as any).error === 'function') {\n ;(userLifetimes as any).error.apply(this, args)\n }\n },\n },\n pageLifetimes: {\n ...userPageLifetimes,\n show: function show(this: InternalRuntimeState, ...args: any[]) {\n if (isPage && typeof (pageLifecycleHooks as any).onShow === 'function') {\n ;(pageLifecycleHooks as any).onShow.call(this, ...args)\n if (typeof (userPageLifetimes as any).show === 'function') {\n ;(userPageLifetimes as any).show.apply(this, args)\n }\n return\n }\n setRuntimeSetDataVisibility(this, true)\n callHookList(this, 'onShow', args)\n if (typeof (userPageLifetimes as any).show === 'function') {\n ;(userPageLifetimes as any).show.apply(this, args)\n }\n },\n hide: function hide(this: InternalRuntimeState, ...args: any[]) {\n if (isPage && typeof (pageLifecycleHooks as any).onHide === 'function') {\n ;(pageLifecycleHooks as any).onHide.call(this, ...args)\n if (typeof (userPageLifetimes as any).hide === 'function') {\n ;(userPageLifetimes as any).hide.apply(this, args)\n }\n return\n }\n setRuntimeSetDataVisibility(this, false)\n callHookList(this, 'onHide', args)\n if (typeof (userPageLifetimes as any).hide === 'function') {\n ;(userPageLifetimes as any).hide.apply(this, args)\n }\n },\n resize: function resize(this: InternalRuntimeState, ...args: any[]) {\n if (isPage && typeof (pageLifecycleHooks as any).onResize === 'function') {\n ;(pageLifecycleHooks as any).onResize.call(this, ...args)\n if (typeof (userPageLifetimes as any).resize === 'function') {\n ;(userPageLifetimes as any).resize.apply(this, args)\n }\n return\n }\n callHookList(this, 'onResize', args)\n if (typeof (userPageLifetimes as any).resize === 'function') {\n ;(userPageLifetimes as any).resize.apply(this, args)\n }\n },\n routeDone: function routeDone(this: InternalRuntimeState, ...args: any[]) {\n if (isPage && typeof (pageLifecycleHooks as any).onRouteDone === 'function') {\n ;(pageLifecycleHooks as any).onRouteDone.call(this, ...args)\n if (typeof (userPageLifetimes as any).routeDone === 'function') {\n ;(userPageLifetimes as any).routeDone.apply(this, args)\n }\n return\n }\n callHookList(this, 'onRouteDone', args)\n if (typeof (userPageLifetimes as any).routeDone === 'function') {\n ;(userPageLifetimes as any).routeDone.apply(this, args)\n }\n },\n },\n methods: {\n ...pageMethodBridges,\n ...finalMethods,\n [WEVU_RESOLVE_PUBLIC_INSTANCE_METHOD]: function resolvePublicInstance(this: InternalRuntimeState) {\n const result = mountMissingRuntime(this)\n if (result.mounted) {\n callVueLifecycle(this, 'created', [])\n callVueLifecycle(this, 'beforeMount', [])\n }\n return result.runtime?.proxy\n },\n },\n options: finalOptions,\n }\n if (!registerNative) {\n return componentDefinition\n }\n\n const statefulHmrBridge = getMiniProgramRuntimeGlobalObject()?.[WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY]\n if (typeof statefulHmrBridge?.trackWevuComponent === 'function') {\n const definition = statefulHmrBridge.trackWevuComponent(componentDefinition, (\n instance: InternalRuntimeState,\n stateSnapshot?: Record<string, any>,\n ) => {\n refreshRuntimeInstance(instance, runtimeApp, watch, setup, {\n snapshotOmitKeys: directPropsDerivedKeys,\n stateSnapshot,\n })\n syncWevuPropsFromInstance(instance)\n attachPageLayoutSetter(instance)\n attachRuntimeLayoutHosts(instance)\n enableDeferredSetData(instance, { rehydrateSetupState: true })\n }, (instance: InternalRuntimeState) => {\n // HMR 仅抑制用户卸载钩子;被宿主替换的实例仍须停止响应式任务和原生数据写入。\n runTeardownSteps([\n () => activeLayoutHosts && layoutHooks?.detachHosts(activeLayoutHosts, instance),\n () => teardownRuntimeInstance(instance, { skipHooks: true }),\n ])\n })\n if (!statefulHmrBridge.isApplying()) {\n registerNativeComponentDefinition(definition, isPage)\n }\n return definition\n }\n registerNativeComponentDefinition(componentDefinition, isPage)\n return componentDefinition\n}\n"],"mappings":"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"}
|
|
@@ -1,71 +1,29 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { resolveCurrentMiniProgramPlatform } from "../../platform/current.mjs";
|
|
2
|
+
import { getMiniProgramRuntimeGlobalObject } from "../../platform.mjs";
|
|
3
|
+
import { registerAlipayComponentDefinition } from "./alipayRegistration.mjs";
|
|
3
4
|
import { WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY } from "@weapp-core/constants";
|
|
4
5
|
|
|
5
6
|
//#region src/runtime/register/component/registerNativeDefinition.ts
|
|
6
|
-
function
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
...pageDefinition,
|
|
11
|
-
...methods,
|
|
12
|
-
onLoad(...args) {
|
|
13
|
-
var _lifetimes$created, _lifetimes$attached;
|
|
14
|
-
this.options = args[0] && typeof args[0] === "object" ? args[0] : {};
|
|
15
|
-
(_lifetimes$created = lifetimes.created) === null || _lifetimes$created === void 0 || _lifetimes$created.apply(this, args);
|
|
16
|
-
const result = pageOnLoad === null || pageOnLoad === void 0 ? void 0 : pageOnLoad.apply(this, args);
|
|
17
|
-
(_lifetimes$attached = lifetimes.attached) === null || _lifetimes$attached === void 0 || _lifetimes$attached.apply(this, args);
|
|
18
|
-
return result;
|
|
19
|
-
},
|
|
20
|
-
onShow(...args) {
|
|
21
|
-
var _pageLifetimes$show;
|
|
22
|
-
return (_pageLifetimes$show = pageLifetimes.show) === null || _pageLifetimes$show === void 0 ? void 0 : _pageLifetimes$show.apply(this, args);
|
|
23
|
-
},
|
|
24
|
-
onReady(...args) {
|
|
25
|
-
var _lifetimes$ready;
|
|
26
|
-
return (_lifetimes$ready = lifetimes.ready) === null || _lifetimes$ready === void 0 ? void 0 : _lifetimes$ready.apply(this, args);
|
|
27
|
-
},
|
|
28
|
-
onHide(...args) {
|
|
29
|
-
var _pageLifetimes$hide;
|
|
30
|
-
return (_pageLifetimes$hide = pageLifetimes.hide) === null || _pageLifetimes$hide === void 0 ? void 0 : _pageLifetimes$hide.apply(this, args);
|
|
31
|
-
},
|
|
32
|
-
onResize(...args) {
|
|
33
|
-
var _pageLifetimes$resize;
|
|
34
|
-
return (_pageLifetimes$resize = pageLifetimes.resize) === null || _pageLifetimes$resize === void 0 ? void 0 : _pageLifetimes$resize.apply(this, args);
|
|
35
|
-
},
|
|
36
|
-
onUnload(...args) {
|
|
37
|
-
var _lifetimes$detached;
|
|
38
|
-
return (_lifetimes$detached = lifetimes.detached) === null || _lifetimes$detached === void 0 ? void 0 : _lifetimes$detached.apply(this, args);
|
|
39
|
-
},
|
|
40
|
-
onError(...args) {
|
|
41
|
-
var _lifetimes$error;
|
|
42
|
-
return (_lifetimes$error = lifetimes.error) === null || _lifetimes$error === void 0 ? void 0 : _lifetimes$error.apply(this, args);
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* 根据当前宿主注册 wevu 原生定义。
|
|
48
|
-
* 支付宝不支持使用 Component() 注册普通页面,需要转换为 Page() 契约。
|
|
49
|
-
*/
|
|
50
|
-
function registerNativeComponentDefinition(componentDefinition, isPage) {
|
|
51
|
-
var _getMiniProgramRuntim;
|
|
52
|
-
const statefulHmrBridge = (_getMiniProgramRuntim = getMiniProgramRuntimeGlobalObject()) === null || _getMiniProgramRuntim === void 0 ? void 0 : _getMiniProgramRuntim[WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY];
|
|
53
|
-
if (isPage && resolveCurrentMiniProgramPlatform() === "alipay") {
|
|
54
|
-
const pageDefinition = createAlipayPageDefinition(componentDefinition);
|
|
55
|
-
if (typeof (statefulHmrBridge === null || statefulHmrBridge === void 0 ? void 0 : statefulHmrBridge.Page) === "function") {
|
|
56
|
-
statefulHmrBridge.Page(pageDefinition);
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
Page(pageDefinition);
|
|
7
|
+
function registerWechatCompatibleComponentDefinition(componentDefinition) {
|
|
8
|
+
const statefulHmrBridge = getMiniProgramRuntimeGlobalObject()?.[WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY];
|
|
9
|
+
if (typeof statefulHmrBridge?.Component === "function") {
|
|
10
|
+
statefulHmrBridge.Component(componentDefinition);
|
|
60
11
|
return;
|
|
61
12
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
13
|
+
Component(componentDefinition);
|
|
14
|
+
}
|
|
15
|
+
function registerDetectedComponentDefinition(componentDefinition, isPage) {
|
|
16
|
+
if (resolveCurrentMiniProgramPlatform() === "alipay") {
|
|
17
|
+
registerAlipayComponentDefinition(componentDefinition, isPage);
|
|
65
18
|
return;
|
|
66
19
|
}
|
|
67
|
-
|
|
20
|
+
registerWechatCompatibleComponentDefinition(componentDefinition);
|
|
68
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* 按编译目标选择宿主注册器,未声明目标时保留运行时探测。
|
|
24
|
+
* 支付宝页面使用 Page 契约,Web 由自己的 Component bridge 接管。
|
|
25
|
+
*/
|
|
26
|
+
const registerNativeComponentDefinition = import.meta.env?.PLATFORM === "alipay" ? registerAlipayComponentDefinition : import.meta.env?.PLATFORM === "weapp" || import.meta.env?.PLATFORM === "tt" || import.meta.env?.PLATFORM === "swan" || import.meta.env?.PLATFORM === "jd" || import.meta.env?.PLATFORM === "xhs" || import.meta.env?.PLATFORM === "web" ? registerWechatCompatibleComponentDefinition : registerDetectedComponentDefinition;
|
|
69
27
|
|
|
70
28
|
//#endregion
|
|
71
29
|
export { registerNativeComponentDefinition };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerNativeDefinition.mjs","names":[],"sources":["../../../../../src/runtime/register/component/registerNativeDefinition.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"registerNativeDefinition.mjs","names":[],"sources":["../../../../../src/runtime/register/component/registerNativeDefinition.ts"],"sourcesContent":["import { WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY } from '@weapp-core/constants'\nimport { getMiniProgramRuntimeGlobalObject, resolveCurrentMiniProgramPlatform } from '../../platform'\nimport { registerAlipayComponentDefinition } from './alipayRegistration'\n\ntype ImportMetaWithEnv = ImportMeta & { env?: { PLATFORM?: string } }\ntype RegisterComponentDefinition = (componentDefinition: Record<string, any>, isPage: boolean) => void\n\nfunction registerWechatCompatibleComponentDefinition(componentDefinition: Record<string, any>) {\n const statefulHmrBridge = getMiniProgramRuntimeGlobalObject()?.[WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY]\n if (typeof statefulHmrBridge?.Component === 'function') {\n statefulHmrBridge.Component(componentDefinition)\n return\n }\n Component(componentDefinition)\n}\n\nfunction registerDetectedComponentDefinition(componentDefinition: Record<string, any>, isPage: boolean) {\n if (resolveCurrentMiniProgramPlatform() === 'alipay') {\n registerAlipayComponentDefinition(componentDefinition, isPage)\n return\n }\n registerWechatCompatibleComponentDefinition(componentDefinition)\n}\n\n/**\n * 按编译目标选择宿主注册器,未声明目标时保留运行时探测。\n * 支付宝页面使用 Page 契约,Web 由自己的 Component bridge 接管。\n */\nexport const registerNativeComponentDefinition: RegisterComponentDefinition\n = (import.meta as ImportMetaWithEnv).env?.PLATFORM === 'alipay'\n ? registerAlipayComponentDefinition\n : (import.meta as ImportMetaWithEnv).env?.PLATFORM === 'weapp'\n || (import.meta as ImportMetaWithEnv).env?.PLATFORM === 'tt'\n || (import.meta as ImportMetaWithEnv).env?.PLATFORM === 'swan'\n || (import.meta as ImportMetaWithEnv).env?.PLATFORM === 'jd'\n || (import.meta as ImportMetaWithEnv).env?.PLATFORM === 'xhs'\n || (import.meta as ImportMetaWithEnv).env?.PLATFORM === 'web'\n ? registerWechatCompatibleComponentDefinition\n : registerDetectedComponentDefinition\n"],"mappings":";;;;;;AAOA,SAAS,4CAA4C,qBAA0C;CAC7F,MAAM,oBAAoB,kCAAkC,CAAC,GAAG;CAChE,IAAI,OAAO,mBAAmB,cAAc,YAAY;EACtD,kBAAkB,UAAU,mBAAmB;EAC/C;CACF;CACA,UAAU,mBAAmB;AAC/B;AAEA,SAAS,oCAAoC,qBAA0C,QAAiB;CACtG,IAAI,kCAAkC,MAAM,UAAU;EACpD,kCAAkC,qBAAqB,MAAM;EAC7D;CACF;CACA,4CAA4C,mBAAmB;AACjE;;;;;AAMA,MAAa,oCACR,YAAkC,KAAK,aAAa,WACnD,oCACC,YAAkC,KAAK,aAAa,WACjD,YAAkC,KAAK,aAAa,QACpD,YAAkC,KAAK,aAAa,UACpD,YAAkC,KAAK,aAAa,QACpD,YAAkC,KAAK,aAAa,SACpD,YAAkC,KAAK,aAAa,QACpD,8CACA"}
|
|
@@ -12,7 +12,6 @@ import { WEVU_EXPOSED_KEY, WEVU_HOOKS_KEY } from "@weapp-core/constants";
|
|
|
12
12
|
* @internal
|
|
13
13
|
*/
|
|
14
14
|
function registerComponent(runtimeApp, methods, watch, setup, mpOptions, options = {}) {
|
|
15
|
-
var _multipleSlots;
|
|
16
15
|
const { userMethods, userLifetimes, userPageLifetimes, userOptions, restOptions, topLevelMethods, templateRefs, layoutHosts, propsAliases, propsDerivedKeys, userObservers, setupLifecycle, vueLifecycles, isPage, features, userOnLoad, userOnUnload, userOnShow, userOnHide, userOnReady, userOnSaveExitState, userOnPullDownRefresh, userOnReachBottom, userOnPageScroll, userOnRouteDone, userOnTabItemTap, userOnResize, userOnShareAppMessage, userOnShareTimeline, userOnAddToFavorites, applyExtraInstanceFields } = prepareComponentOptions(mpOptions);
|
|
17
16
|
const { enableOnPullDownRefresh, enableOnReachBottom, enableOnPageScroll, enableOnRouteDone, enableOnRouteDoneFallback, enableOnTabItemTap, enableOnResize, enableOnShareAppMessage, enableOnShareTimeline, enableOnAddToFavorites, enableOnSaveExitState, effectiveOnSaveExitState, effectiveOnPullDownRefresh, effectiveOnReachBottom, effectiveOnPageScroll, effectiveOnRouteDone, effectiveOnTabItemTap, effectiveOnResize, effectiveOnShareAppMessage, effectiveOnShareTimeline, effectiveOnAddToFavorites } = resolveComponentFeatures({
|
|
18
17
|
features,
|
|
@@ -38,18 +37,17 @@ function registerComponent(runtimeApp, methods, watch, setup, mpOptions, options
|
|
|
38
37
|
{
|
|
39
38
|
const userExport = restOptions.export;
|
|
40
39
|
restOptions.export = function __wevu_export() {
|
|
41
|
-
|
|
42
|
-
const exposed = (_WEVU_EXPOSED_KEY = this[WEVU_EXPOSED_KEY]) !== null && _WEVU_EXPOSED_KEY !== void 0 ? _WEVU_EXPOSED_KEY : {};
|
|
40
|
+
const exposed = this[WEVU_EXPOSED_KEY] ?? {};
|
|
43
41
|
const base = typeof userExport === "function" ? userExport.call(this) : {};
|
|
44
42
|
if (base && typeof base === "object" && !Array.isArray(base)) return {
|
|
45
43
|
...exposed,
|
|
46
44
|
...base
|
|
47
45
|
};
|
|
48
|
-
return base
|
|
46
|
+
return base ?? exposed;
|
|
49
47
|
};
|
|
50
48
|
}
|
|
51
49
|
const finalOptions = {
|
|
52
|
-
multipleSlots:
|
|
50
|
+
multipleSlots: userOptions.multipleSlots ?? true,
|
|
53
51
|
...userOptions
|
|
54
52
|
};
|
|
55
53
|
const { attachWevuPropKeys, directPropsDerivedKeys, syncWevuPropsFromInstance, syncWevuPropsFromValues, finalObservers } = createPropsSync({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.mjs","names":[],"sources":["../../../../src/runtime/register/component.ts"],"sourcesContent":["import type { ComponentPropsOptions, ComputedDefinitions, DefineComponentOptions, InternalRuntimeState, MethodDefinitions, MiniProgramComponentRawOptions, RuntimeApp } from '../types'\nimport type { WatchMap } from './watch'\nimport { WEVU_EXPOSED_KEY, WEVU_HOOKS_KEY } from '@weapp-core/constants'\nimport { resolveComponentFeatures } from './component/features'\nimport { createPageLifecycleHooks } from './component/lifecycle'\nimport { createComponentMethods } from './component/methods'\nimport { getRuntimeOwnerLabel, prepareComponentOptions } from './component/options'\nimport { createPropsSync } from './component/props'\nimport { registerComponentDefinition } from './component/registerDefinition'\n\n/**\n * 注册组件入口(框架内部使用)。\n * @internal\n */\nexport function registerComponent<D extends object, C extends ComputedDefinitions, M extends MethodDefinitions>(\n runtimeApp: RuntimeApp<D, C, M>,\n methods: MethodDefinitions,\n watch: WatchMap | undefined,\n setup: DefineComponentOptions<ComponentPropsOptions, D, C, M>['setup'],\n mpOptions: MiniProgramComponentRawOptions,\n options: { registerNative?: boolean } = {},\n) {\n const {\n userMethods,\n userLifetimes,\n userPageLifetimes,\n userOptions,\n restOptions,\n topLevelMethods,\n templateRefs,\n layoutHosts,\n propsAliases,\n propsDerivedKeys,\n userObservers,\n setupLifecycle,\n vueLifecycles,\n isPage,\n features,\n userOnLoad,\n userOnUnload,\n userOnShow,\n userOnHide,\n userOnReady,\n userOnSaveExitState,\n userOnPullDownRefresh,\n userOnReachBottom,\n userOnPageScroll,\n userOnRouteDone,\n userOnTabItemTap,\n userOnResize,\n userOnShareAppMessage,\n userOnShareTimeline,\n userOnAddToFavorites,\n applyExtraInstanceFields,\n } = prepareComponentOptions(mpOptions)\n\n const {\n enableOnPullDownRefresh,\n enableOnReachBottom,\n enableOnPageScroll,\n enableOnRouteDone,\n enableOnRouteDoneFallback,\n enableOnTabItemTap,\n enableOnResize,\n enableOnShareAppMessage,\n enableOnShareTimeline,\n enableOnAddToFavorites,\n enableOnSaveExitState,\n effectiveOnSaveExitState,\n effectiveOnPullDownRefresh,\n effectiveOnReachBottom,\n effectiveOnPageScroll,\n effectiveOnRouteDone,\n effectiveOnTabItemTap,\n effectiveOnResize,\n effectiveOnShareAppMessage,\n effectiveOnShareTimeline,\n effectiveOnAddToFavorites,\n } = resolveComponentFeatures({\n features,\n userOnSaveExitState,\n userOnPullDownRefresh,\n userOnReachBottom,\n userOnPageScroll,\n userOnRouteDone,\n userOnTabItemTap,\n userOnResize,\n userOnShareAppMessage,\n userOnShareTimeline,\n userOnAddToFavorites,\n })\n\n const hasHook = (target: InternalRuntimeState, name: string) => {\n const hooks = target[WEVU_HOOKS_KEY]\n if (!hooks) {\n return false\n }\n const entry = (hooks as any)[name]\n if (!entry) {\n return false\n }\n if (Array.isArray(entry)) {\n return entry.length > 0\n }\n return typeof entry === 'function'\n }\n\n // 自动对齐 Vue 3 的 expose:\n // - 若用户未提供 component-export 的 export(),默认返回 setup() 中 expose() 写入的 __wevuExposed\n // - 若用户同时提供 export() 与 expose(),则自动浅合并(export() 优先级更高)\n {\n const userExport = (restOptions as any).export\n ;(restOptions as any).export = function __wevu_export(this: InternalRuntimeState) {\n const exposed = (this as any)[WEVU_EXPOSED_KEY] ?? {}\n const base = typeof userExport === 'function' ? userExport.call(this) : {}\n\n if (base && typeof base === 'object' && !Array.isArray(base)) {\n return {\n ...exposed,\n ...base,\n }\n }\n\n // 若用户 export() 返回非对象(理论上不应发生),则保持原返回值;否则回退 exposed\n return base ?? exposed\n }\n }\n\n // 默认启用多 slot 以兼容微信小程序具名插槽写法;用户显式配置时保持原值\n const finalOptions = {\n multipleSlots: (userOptions as any).multipleSlots ?? true,\n ...(userOptions as any),\n }\n\n const { attachWevuPropKeys, directPropsDerivedKeys, syncWevuPropsFromInstance, syncWevuPropsFromValues, finalObservers } = createPropsSync({\n restOptions,\n propsAliases,\n propsDerivedKeys,\n userObservers,\n })\n\n const { finalMethods } = createComponentMethods({\n userMethods: {\n ...topLevelMethods,\n ...userMethods,\n },\n runtimeMethods: methods,\n })\n\n const pageLifecycleHooks = createPageLifecycleHooks({\n runtimeApp,\n watch,\n setup,\n userOnLoad,\n userOnUnload,\n userOnShow,\n userOnHide,\n userOnReady,\n isPage,\n enableOnSaveExitState,\n enableOnPullDownRefresh,\n enableOnReachBottom,\n enableOnPageScroll,\n enableOnRouteDone,\n enableOnRouteDoneFallback,\n enableOnTabItemTap,\n enableOnResize,\n enableOnShareAppMessage,\n enableOnShareTimeline,\n enableOnAddToFavorites,\n syncWevuPropsFromValues,\n effectiveOnSaveExitState,\n effectiveOnPullDownRefresh,\n effectiveOnReachBottom,\n effectiveOnPageScroll,\n effectiveOnRouteDone,\n effectiveOnTabItemTap,\n effectiveOnResize,\n effectiveOnShareAppMessage,\n effectiveOnShareTimeline,\n effectiveOnAddToFavorites,\n hasHook,\n })\n\n return registerComponentDefinition({\n runtimeApp,\n watch,\n setup,\n restOptions,\n pageLifecycleHooks,\n finalObservers,\n userLifetimes,\n userPageLifetimes,\n finalMethods,\n finalOptions,\n applyExtraInstanceFields,\n templateRefs,\n layoutHosts,\n attachWevuPropKeys,\n setupLifecycle,\n syncWevuPropsFromInstance,\n syncWevuPropsFromValues,\n directPropsDerivedKeys,\n isPage,\n vueLifecycles,\n getRuntimeOwnerLabel,\n registerNative: options.registerNative,\n })\n}\n"],"mappings":";;;;;;;;;;;;;AAcA,SAAgB,kBACd,YACA,SACA,OACA,OACA,WACA,UAAwC,CAAC,GACzC
|
|
1
|
+
{"version":3,"file":"component.mjs","names":[],"sources":["../../../../src/runtime/register/component.ts"],"sourcesContent":["import type { ComponentPropsOptions, ComputedDefinitions, DefineComponentOptions, InternalRuntimeState, MethodDefinitions, MiniProgramComponentRawOptions, RuntimeApp } from '../types'\nimport type { WatchMap } from './watch'\nimport { WEVU_EXPOSED_KEY, WEVU_HOOKS_KEY } from '@weapp-core/constants'\nimport { resolveComponentFeatures } from './component/features'\nimport { createPageLifecycleHooks } from './component/lifecycle'\nimport { createComponentMethods } from './component/methods'\nimport { getRuntimeOwnerLabel, prepareComponentOptions } from './component/options'\nimport { createPropsSync } from './component/props'\nimport { registerComponentDefinition } from './component/registerDefinition'\n\n/**\n * 注册组件入口(框架内部使用)。\n * @internal\n */\nexport function registerComponent<D extends object, C extends ComputedDefinitions, M extends MethodDefinitions>(\n runtimeApp: RuntimeApp<D, C, M>,\n methods: MethodDefinitions,\n watch: WatchMap | undefined,\n setup: DefineComponentOptions<ComponentPropsOptions, D, C, M>['setup'],\n mpOptions: MiniProgramComponentRawOptions,\n options: { registerNative?: boolean } = {},\n) {\n const {\n userMethods,\n userLifetimes,\n userPageLifetimes,\n userOptions,\n restOptions,\n topLevelMethods,\n templateRefs,\n layoutHosts,\n propsAliases,\n propsDerivedKeys,\n userObservers,\n setupLifecycle,\n vueLifecycles,\n isPage,\n features,\n userOnLoad,\n userOnUnload,\n userOnShow,\n userOnHide,\n userOnReady,\n userOnSaveExitState,\n userOnPullDownRefresh,\n userOnReachBottom,\n userOnPageScroll,\n userOnRouteDone,\n userOnTabItemTap,\n userOnResize,\n userOnShareAppMessage,\n userOnShareTimeline,\n userOnAddToFavorites,\n applyExtraInstanceFields,\n } = prepareComponentOptions(mpOptions)\n\n const {\n enableOnPullDownRefresh,\n enableOnReachBottom,\n enableOnPageScroll,\n enableOnRouteDone,\n enableOnRouteDoneFallback,\n enableOnTabItemTap,\n enableOnResize,\n enableOnShareAppMessage,\n enableOnShareTimeline,\n enableOnAddToFavorites,\n enableOnSaveExitState,\n effectiveOnSaveExitState,\n effectiveOnPullDownRefresh,\n effectiveOnReachBottom,\n effectiveOnPageScroll,\n effectiveOnRouteDone,\n effectiveOnTabItemTap,\n effectiveOnResize,\n effectiveOnShareAppMessage,\n effectiveOnShareTimeline,\n effectiveOnAddToFavorites,\n } = resolveComponentFeatures({\n features,\n userOnSaveExitState,\n userOnPullDownRefresh,\n userOnReachBottom,\n userOnPageScroll,\n userOnRouteDone,\n userOnTabItemTap,\n userOnResize,\n userOnShareAppMessage,\n userOnShareTimeline,\n userOnAddToFavorites,\n })\n\n const hasHook = (target: InternalRuntimeState, name: string) => {\n const hooks = target[WEVU_HOOKS_KEY]\n if (!hooks) {\n return false\n }\n const entry = (hooks as any)[name]\n if (!entry) {\n return false\n }\n if (Array.isArray(entry)) {\n return entry.length > 0\n }\n return typeof entry === 'function'\n }\n\n // 自动对齐 Vue 3 的 expose:\n // - 若用户未提供 component-export 的 export(),默认返回 setup() 中 expose() 写入的 __wevuExposed\n // - 若用户同时提供 export() 与 expose(),则自动浅合并(export() 优先级更高)\n {\n const userExport = (restOptions as any).export\n ;(restOptions as any).export = function __wevu_export(this: InternalRuntimeState) {\n const exposed = (this as any)[WEVU_EXPOSED_KEY] ?? {}\n const base = typeof userExport === 'function' ? userExport.call(this) : {}\n\n if (base && typeof base === 'object' && !Array.isArray(base)) {\n return {\n ...exposed,\n ...base,\n }\n }\n\n // 若用户 export() 返回非对象(理论上不应发生),则保持原返回值;否则回退 exposed\n return base ?? exposed\n }\n }\n\n // 默认启用多 slot 以兼容微信小程序具名插槽写法;用户显式配置时保持原值\n const finalOptions = {\n multipleSlots: (userOptions as any).multipleSlots ?? true,\n ...(userOptions as any),\n }\n\n const { attachWevuPropKeys, directPropsDerivedKeys, syncWevuPropsFromInstance, syncWevuPropsFromValues, finalObservers } = createPropsSync({\n restOptions,\n propsAliases,\n propsDerivedKeys,\n userObservers,\n })\n\n const { finalMethods } = createComponentMethods({\n userMethods: {\n ...topLevelMethods,\n ...userMethods,\n },\n runtimeMethods: methods,\n })\n\n const pageLifecycleHooks = createPageLifecycleHooks({\n runtimeApp,\n watch,\n setup,\n userOnLoad,\n userOnUnload,\n userOnShow,\n userOnHide,\n userOnReady,\n isPage,\n enableOnSaveExitState,\n enableOnPullDownRefresh,\n enableOnReachBottom,\n enableOnPageScroll,\n enableOnRouteDone,\n enableOnRouteDoneFallback,\n enableOnTabItemTap,\n enableOnResize,\n enableOnShareAppMessage,\n enableOnShareTimeline,\n enableOnAddToFavorites,\n syncWevuPropsFromValues,\n effectiveOnSaveExitState,\n effectiveOnPullDownRefresh,\n effectiveOnReachBottom,\n effectiveOnPageScroll,\n effectiveOnRouteDone,\n effectiveOnTabItemTap,\n effectiveOnResize,\n effectiveOnShareAppMessage,\n effectiveOnShareTimeline,\n effectiveOnAddToFavorites,\n hasHook,\n })\n\n return registerComponentDefinition({\n runtimeApp,\n watch,\n setup,\n restOptions,\n pageLifecycleHooks,\n finalObservers,\n userLifetimes,\n userPageLifetimes,\n finalMethods,\n finalOptions,\n applyExtraInstanceFields,\n templateRefs,\n layoutHosts,\n attachWevuPropKeys,\n setupLifecycle,\n syncWevuPropsFromInstance,\n syncWevuPropsFromValues,\n directPropsDerivedKeys,\n isPage,\n vueLifecycles,\n getRuntimeOwnerLabel,\n registerNative: options.registerNative,\n })\n}\n"],"mappings":";;;;;;;;;;;;;AAcA,SAAgB,kBACd,YACA,SACA,OACA,OACA,WACA,UAAwC,CAAC,GACzC;CACA,MAAM,EACJ,aACA,eACA,mBACA,aACA,aACA,iBACA,cACA,aACA,cACA,kBACA,eACA,gBACA,eACA,QACA,UACA,YACA,cACA,YACA,YACA,aACA,qBACA,uBACA,mBACA,kBACA,iBACA,kBACA,cACA,uBACA,qBACA,sBACA,6BACE,wBAAwB,SAAS;CAErC,MAAM,EACJ,yBACA,qBACA,oBACA,mBACA,2BACA,oBACA,gBACA,yBACA,uBACA,wBACA,uBACA,0BACA,4BACA,wBACA,uBACA,sBACA,uBACA,mBACA,4BACA,0BACA,8BACE,yBAAyB;EAC3B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,WAAW,QAA8B,SAAiB;EAC9D,MAAM,QAAQ,OAAO;EACrB,IAAI,CAAC,OACH,OAAO;EAET,MAAM,QAAS,MAAc;EAC7B,IAAI,CAAC,OACH,OAAO;EAET,IAAI,MAAM,QAAQ,KAAK,GACrB,OAAO,MAAM,SAAS;EAExB,OAAO,OAAO,UAAU;CAC1B;CAKA;EACE,MAAM,aAAc,YAAoB;EACvC,AAAC,YAAoB,SAAS,SAAS,gBAA0C;GAChF,MAAM,UAAW,KAAa,qBAAqB,CAAC;GACpD,MAAM,OAAO,OAAO,eAAe,aAAa,WAAW,KAAK,IAAI,IAAI,CAAC;GAEzE,IAAI,QAAQ,OAAO,SAAS,YAAY,CAAC,MAAM,QAAQ,IAAI,GACzD,OAAO;IACL,GAAG;IACH,GAAG;GACL;GAIF,OAAO,QAAQ;EACjB;CACF;CAGA,MAAM,eAAe;EACnB,eAAgB,YAAoB,iBAAiB;EACrD,GAAI;CACN;CAEA,MAAM,EAAE,oBAAoB,wBAAwB,2BAA2B,yBAAyB,mBAAmB,gBAAgB;EACzI;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,EAAE,iBAAiB,uBAAuB;EAC9C,aAAa;GACX,GAAG;GACH,GAAG;EACL;EACA,gBAAgB;CAClB,CAAC;CAED,MAAM,qBAAqB,yBAAyB;EAClD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,OAAO,4BAA4B;EACjC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,gBAAgB,QAAQ;CAC1B,CAAC;AACH"}
|
|
@@ -27,8 +27,7 @@ function normalizeResolvedScopeValue(value) {
|
|
|
27
27
|
return value;
|
|
28
28
|
}
|
|
29
29
|
function runInlineExpression(ctx, expr, event, inlineMap) {
|
|
30
|
-
|
|
31
|
-
const dataset = (_ref = (_dataset = event === null || event === void 0 || (_ref2 = event.currentTarget) === null || _ref2 === void 0 ? void 0 : _ref2.dataset) !== null && _dataset !== void 0 ? _dataset : event === null || event === void 0 || (_ref3 = event.target) === null || _ref3 === void 0 ? void 0 : _ref3.dataset) !== null && _ref !== void 0 ? _ref : {};
|
|
30
|
+
const dataset = (event?.currentTarget)?.dataset ?? (event?.target)?.dataset ?? {};
|
|
32
31
|
const inlineEvent = resolveInlineEventArg(event, dataset);
|
|
33
32
|
const inlineId = resolveDatasetEventValue(dataset, "wvInlineId", event);
|
|
34
33
|
if (typeof inlineId === "string" && inlineId && inlineMap) {
|
|
@@ -38,12 +37,12 @@ function runInlineExpression(ctx, expr, event, inlineMap) {
|
|
|
38
37
|
const keys = Array.isArray(entry.keys) ? entry.keys : [];
|
|
39
38
|
for (let i = 0; i < keys.length; i += 1) {
|
|
40
39
|
const key = keys[i];
|
|
41
|
-
scope[key] = dataset
|
|
40
|
+
scope[key] = dataset?.[`wvS${i}`];
|
|
42
41
|
}
|
|
43
42
|
const indexKeys = Array.isArray(entry.indexKeys) ? entry.indexKeys : [];
|
|
44
43
|
for (let i = 0; i < indexKeys.length; i += 1) {
|
|
45
44
|
const indexKey = indexKeys[i];
|
|
46
|
-
const indexValue = resolveDatasetIndex(dataset
|
|
45
|
+
const indexValue = resolveDatasetIndex(dataset?.[`wvI${i}`]);
|
|
47
46
|
if (indexValue !== void 0) scope[indexKey] = indexValue;
|
|
48
47
|
}
|
|
49
48
|
const scopeResolvers = Array.isArray(entry.scopeResolvers) ? entry.scopeResolvers : [];
|
|
@@ -55,11 +54,10 @@ function runInlineExpression(ctx, expr, event, inlineMap) {
|
|
|
55
54
|
if (typeof resolver === "function") resolved = resolver(ctx, scope, inlineEvent);
|
|
56
55
|
else if (resolver && typeof resolver === "object" && resolver.type === "for-item") {
|
|
57
56
|
const index = scope[resolver.indexKey];
|
|
58
|
-
|
|
59
|
-
resolved = list === null || list === void 0 ? void 0 : list[index];
|
|
57
|
+
resolved = getByPath(ctx, resolver.path)?.[index];
|
|
60
58
|
} else continue;
|
|
61
59
|
if (resolved !== void 0) scope[key] = normalizeResolvedScopeValue(resolved);
|
|
62
|
-
} catch
|
|
60
|
+
} catch {}
|
|
63
61
|
}
|
|
64
62
|
const result = entry.fn(ctx, scope, inlineEvent);
|
|
65
63
|
if (typeof result === "function") return result.call(ctx, inlineEvent);
|
|
@@ -74,16 +72,16 @@ function runInlineExpression(ctx, expr, event, inlineMap) {
|
|
|
74
72
|
if (Array.isArray(argsRaw)) args = argsRaw;
|
|
75
73
|
else if (typeof argsRaw === "string") try {
|
|
76
74
|
args = JSON.parse(argsRaw);
|
|
77
|
-
} catch
|
|
75
|
+
} catch {
|
|
78
76
|
try {
|
|
79
77
|
args = JSON.parse(decodeWxmlEntities(argsRaw));
|
|
80
|
-
} catch
|
|
78
|
+
} catch {
|
|
81
79
|
args = [];
|
|
82
80
|
}
|
|
83
81
|
}
|
|
84
82
|
if (!Array.isArray(args)) args = [];
|
|
85
83
|
const resolvedArgs = args.map((item) => item === "$event" ? inlineEvent : item);
|
|
86
|
-
const handler = ctx
|
|
84
|
+
const handler = ctx?.[handlerName];
|
|
87
85
|
if (typeof handler === "function") return handler.apply(ctx, resolvedArgs);
|
|
88
86
|
}
|
|
89
87
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline.mjs","names":[],"sources":["../../../../src/runtime/register/inline.ts"],"sourcesContent":["import { isRef } from '../../reactivity'\nimport { decodeWxmlEntities, resolveDatasetEventValue, resolveDatasetIndex } from '../inlineDataset'\n\nexport interface InlineExpressionEntry {\n keys: string[]\n indexKeys?: string[]\n scopeResolvers?: Array<InlineExpressionScopeResolver | ((ctx: any, scope: Record<string, any>, event: any) => any) | undefined>\n fn: (ctx: any, scope: Record<string, any>, event: any) => any\n}\n\ninterface InlineExpressionScopeResolver {\n type: 'for-item'\n path: string\n indexKey: string\n}\n\nexport type InlineExpressionMap = Record<string, InlineExpressionEntry>\n\nfunction shouldUseDetailPayload(dataset: Record<string, any>, event: any): boolean {\n const flag = resolveDatasetEventValue(dataset, 'wvEventDetail', event)\n return flag === true || flag === 1 || flag === '1' || flag === 'true'\n}\n\nfunction resolveInlineEventArg(event: any, dataset: Record<string, any>): any {\n if (!shouldUseDetailPayload(dataset, event)) {\n return event\n }\n if (!event || typeof event !== 'object' || !('detail' in event)) {\n return undefined\n }\n return (event as any).detail\n}\n\nfunction getByPath(target: any, path: string) {\n if (!path) {\n return undefined\n }\n const segments = path.split('.').filter(Boolean)\n let current = isRef(target) ? target.value : target\n for (const segment of segments) {\n if (isRef(current)) {\n current = current.value\n }\n if (current == null) {\n return undefined\n }\n current = current[segment]\n }\n if (isRef(current)) {\n return current.value\n }\n return current\n}\n\nfunction normalizeResolvedScopeValue(value: any) {\n return value\n}\n\nexport function runInlineExpression(\n ctx: any,\n expr: unknown,\n event: any,\n inlineMap?: InlineExpressionMap,\n) {\n const dataset = (event?.currentTarget as any)?.dataset ?? (event?.target as any)?.dataset ?? {}\n const inlineEvent = resolveInlineEventArg(event, dataset)\n const inlineId = resolveDatasetEventValue(dataset, 'wvInlineId', event)\n if (typeof inlineId === 'string' && inlineId && inlineMap) {\n const entry = inlineMap[inlineId]\n if (entry && typeof entry.fn === 'function') {\n const scope: Record<string, any> = {}\n const keys = Array.isArray(entry.keys) ? entry.keys : []\n for (let i = 0; i < keys.length; i += 1) {\n const key = keys[i]\n scope[key] = dataset?.[`wvS${i}`]\n }\n const indexKeys = Array.isArray(entry.indexKeys) ? entry.indexKeys : []\n for (let i = 0; i < indexKeys.length; i += 1) {\n const indexKey = indexKeys[i]\n const indexValue = resolveDatasetIndex(dataset?.[`wvI${i}`])\n if (indexValue !== undefined) {\n scope[indexKey] = indexValue\n }\n }\n const scopeResolvers = Array.isArray(entry.scopeResolvers) ? entry.scopeResolvers : []\n for (let i = 0; i < keys.length; i += 1) {\n const key = keys[i]\n const resolver = scopeResolvers[i]\n try {\n let resolved: any\n if (typeof resolver === 'function') {\n resolved = resolver(ctx, scope, inlineEvent)\n }\n else if (resolver && typeof resolver === 'object' && resolver.type === 'for-item') {\n const index = scope[resolver.indexKey]\n const list = getByPath(ctx, resolver.path)\n resolved = list?.[index]\n }\n else {\n continue\n }\n if (resolved !== undefined) {\n scope[key] = normalizeResolvedScopeValue(resolved)\n }\n }\n catch {\n // 解析失败时保持 dataset 快照回退。\n }\n }\n const result = entry.fn(ctx, scope, inlineEvent)\n if (typeof result === 'function') {\n return result.call(ctx, inlineEvent)\n }\n return result\n }\n }\n\n const datasetHandler = resolveDatasetEventValue(dataset, 'wvHandler', event)\n const handlerName = typeof expr === 'string' && expr\n ? expr\n : (typeof datasetHandler === 'string' ? datasetHandler : undefined)\n if (!handlerName) {\n return undefined\n }\n const argsRaw = resolveDatasetEventValue(dataset, 'wvArgs', event)\n let args: any[] = []\n if (Array.isArray(argsRaw)) {\n args = argsRaw\n }\n else if (typeof argsRaw === 'string') {\n try {\n args = JSON.parse(argsRaw)\n }\n catch {\n try {\n args = JSON.parse(decodeWxmlEntities(argsRaw))\n }\n catch {\n args = []\n }\n }\n }\n if (!Array.isArray(args)) {\n args = []\n }\n const resolvedArgs = args.map((item: any) => item === '$event' ? inlineEvent : item)\n const handler = (ctx as any)?.[handlerName]\n if (typeof handler === 'function') {\n return handler.apply(ctx, resolvedArgs)\n }\n return undefined\n}\n"],"mappings":";;;;AAkBA,SAAS,uBAAuB,SAA8B,OAAqB;CACjF,MAAM,OAAO,yBAAyB,SAAS,iBAAiB,KAAK;CACrE,OAAO,SAAS,QAAQ,SAAS,KAAK,SAAS,OAAO,SAAS;AACjE;AAEA,SAAS,sBAAsB,OAAY,SAAmC;CAC5E,IAAI,CAAC,uBAAuB,SAAS,KAAK,GACxC,OAAO;CAET,IAAI,CAAC,SAAS,OAAO,UAAU,YAAY,EAAE,YAAY,QACvD;CAEF,OAAQ,MAAc;AACxB;AAEA,SAAS,UAAU,QAAa,MAAc;CAC5C,IAAI,CAAC,MACH;CAEF,MAAM,WAAW,KAAK,MAAM,GAAG,CAAC,CAAC,OAAO,OAAO;CAC/C,IAAI,UAAU,MAAM,MAAM,IAAI,OAAO,QAAQ;CAC7C,KAAK,MAAM,WAAW,UAAU;EAC9B,IAAI,MAAM,OAAO,GACf,UAAU,QAAQ;EAEpB,IAAI,WAAW,MACb;EAEF,UAAU,QAAQ;CACpB;CACA,IAAI,MAAM,OAAO,GACf,OAAO,QAAQ;CAEjB,OAAO;AACT;AAEA,SAAS,4BAA4B,OAAY;CAC/C,OAAO;AACT;AAEA,SAAgB,oBACd,KACA,MACA,OACA,WACA
|
|
1
|
+
{"version":3,"file":"inline.mjs","names":[],"sources":["../../../../src/runtime/register/inline.ts"],"sourcesContent":["import { isRef } from '../../reactivity'\nimport { decodeWxmlEntities, resolveDatasetEventValue, resolveDatasetIndex } from '../inlineDataset'\n\nexport interface InlineExpressionEntry {\n keys: string[]\n indexKeys?: string[]\n scopeResolvers?: Array<InlineExpressionScopeResolver | ((ctx: any, scope: Record<string, any>, event: any) => any) | undefined>\n fn: (ctx: any, scope: Record<string, any>, event: any) => any\n}\n\ninterface InlineExpressionScopeResolver {\n type: 'for-item'\n path: string\n indexKey: string\n}\n\nexport type InlineExpressionMap = Record<string, InlineExpressionEntry>\n\nfunction shouldUseDetailPayload(dataset: Record<string, any>, event: any): boolean {\n const flag = resolveDatasetEventValue(dataset, 'wvEventDetail', event)\n return flag === true || flag === 1 || flag === '1' || flag === 'true'\n}\n\nfunction resolveInlineEventArg(event: any, dataset: Record<string, any>): any {\n if (!shouldUseDetailPayload(dataset, event)) {\n return event\n }\n if (!event || typeof event !== 'object' || !('detail' in event)) {\n return undefined\n }\n return (event as any).detail\n}\n\nfunction getByPath(target: any, path: string) {\n if (!path) {\n return undefined\n }\n const segments = path.split('.').filter(Boolean)\n let current = isRef(target) ? target.value : target\n for (const segment of segments) {\n if (isRef(current)) {\n current = current.value\n }\n if (current == null) {\n return undefined\n }\n current = current[segment]\n }\n if (isRef(current)) {\n return current.value\n }\n return current\n}\n\nfunction normalizeResolvedScopeValue(value: any) {\n return value\n}\n\nexport function runInlineExpression(\n ctx: any,\n expr: unknown,\n event: any,\n inlineMap?: InlineExpressionMap,\n) {\n const dataset = (event?.currentTarget as any)?.dataset ?? (event?.target as any)?.dataset ?? {}\n const inlineEvent = resolveInlineEventArg(event, dataset)\n const inlineId = resolveDatasetEventValue(dataset, 'wvInlineId', event)\n if (typeof inlineId === 'string' && inlineId && inlineMap) {\n const entry = inlineMap[inlineId]\n if (entry && typeof entry.fn === 'function') {\n const scope: Record<string, any> = {}\n const keys = Array.isArray(entry.keys) ? entry.keys : []\n for (let i = 0; i < keys.length; i += 1) {\n const key = keys[i]\n scope[key] = dataset?.[`wvS${i}`]\n }\n const indexKeys = Array.isArray(entry.indexKeys) ? entry.indexKeys : []\n for (let i = 0; i < indexKeys.length; i += 1) {\n const indexKey = indexKeys[i]\n const indexValue = resolveDatasetIndex(dataset?.[`wvI${i}`])\n if (indexValue !== undefined) {\n scope[indexKey] = indexValue\n }\n }\n const scopeResolvers = Array.isArray(entry.scopeResolvers) ? entry.scopeResolvers : []\n for (let i = 0; i < keys.length; i += 1) {\n const key = keys[i]\n const resolver = scopeResolvers[i]\n try {\n let resolved: any\n if (typeof resolver === 'function') {\n resolved = resolver(ctx, scope, inlineEvent)\n }\n else if (resolver && typeof resolver === 'object' && resolver.type === 'for-item') {\n const index = scope[resolver.indexKey]\n const list = getByPath(ctx, resolver.path)\n resolved = list?.[index]\n }\n else {\n continue\n }\n if (resolved !== undefined) {\n scope[key] = normalizeResolvedScopeValue(resolved)\n }\n }\n catch {\n // 解析失败时保持 dataset 快照回退。\n }\n }\n const result = entry.fn(ctx, scope, inlineEvent)\n if (typeof result === 'function') {\n return result.call(ctx, inlineEvent)\n }\n return result\n }\n }\n\n const datasetHandler = resolveDatasetEventValue(dataset, 'wvHandler', event)\n const handlerName = typeof expr === 'string' && expr\n ? expr\n : (typeof datasetHandler === 'string' ? datasetHandler : undefined)\n if (!handlerName) {\n return undefined\n }\n const argsRaw = resolveDatasetEventValue(dataset, 'wvArgs', event)\n let args: any[] = []\n if (Array.isArray(argsRaw)) {\n args = argsRaw\n }\n else if (typeof argsRaw === 'string') {\n try {\n args = JSON.parse(argsRaw)\n }\n catch {\n try {\n args = JSON.parse(decodeWxmlEntities(argsRaw))\n }\n catch {\n args = []\n }\n }\n }\n if (!Array.isArray(args)) {\n args = []\n }\n const resolvedArgs = args.map((item: any) => item === '$event' ? inlineEvent : item)\n const handler = (ctx as any)?.[handlerName]\n if (typeof handler === 'function') {\n return handler.apply(ctx, resolvedArgs)\n }\n return undefined\n}\n"],"mappings":"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"}
|