wevu 7.2.2 → 7.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +18 -16
- 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/useRoute.mjs +12 -19
- package/dist/dev/router/useRoute.mjs.map +1 -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 +21 -32
- package/dist/dev/runtime/hooks/base.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/platform.mjs +8 -9
- 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 +18 -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 +6 -13
- 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/useRoute.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/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/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
package/dist/dev/runtime/css.mjs
CHANGED
|
@@ -11,8 +11,7 @@ function stringifyCssVars(values) {
|
|
|
11
11
|
* 读取当前 SFC 的 CSS Modules 映射。
|
|
12
12
|
*/
|
|
13
13
|
function useCssModule(name = "$style") {
|
|
14
|
-
const
|
|
15
|
-
const resolved = modules === null || modules === void 0 ? void 0 : modules[name];
|
|
14
|
+
const resolved = assertInSetup("useCssModule")[WEVU_CSS_MODULES_KEY]?.[name];
|
|
16
15
|
if (!resolved || typeof resolved !== "object") throw new Error(`useCssModule() 找不到名为 ${JSON.stringify(name)} 的 CSS Module`);
|
|
17
16
|
return resolved;
|
|
18
17
|
}
|
|
@@ -23,12 +22,9 @@ function useCssModule(name = "$style") {
|
|
|
23
22
|
function useCssVars(getter) {
|
|
24
23
|
const instance = assertInSetup("useCssVars");
|
|
25
24
|
const runtime = instance.__wevu;
|
|
26
|
-
const style = computed(() =>
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
});
|
|
30
|
-
if ((runtime === null || runtime === void 0 ? void 0 : runtime.state) && typeof runtime.state === "object") runtime.state[WEVU_CSS_VARS_STYLE_KEY] = style;
|
|
31
|
-
if ((runtime === null || runtime === void 0 ? void 0 : runtime.setupState) && typeof runtime.setupState === "object") runtime.setupState[WEVU_CSS_VARS_STYLE_KEY] = style;
|
|
25
|
+
const style = computed(() => stringifyCssVars(getter(runtime?.proxy ?? instance)));
|
|
26
|
+
if (runtime?.state && typeof runtime.state === "object") runtime.state[WEVU_CSS_VARS_STYLE_KEY] = style;
|
|
27
|
+
if (runtime?.setupState && typeof runtime.setupState === "object") runtime.setupState[WEVU_CSS_VARS_STYLE_KEY] = style;
|
|
32
28
|
return style;
|
|
33
29
|
}
|
|
34
30
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css.mjs","names":[],"sources":["../../../src/runtime/css.ts"],"sourcesContent":["import type { ComputedRef } from '../reactivity'\nimport { WEVU_CSS_MODULES_KEY, WEVU_CSS_VARS_STYLE_KEY } from '@weapp-core/constants'\nimport { computed, unref } from '../reactivity'\nimport { assertInSetup } from './hooks/base'\n\nfunction stringifyCssVars(values: Record<string, unknown>) {\n return Object.entries(values)\n .map(([key, value]) => `--${key}:${value == null ? '' : String(unref(value as any))}`)\n .join(';')\n}\n\n/**\n * 读取当前 SFC 的 CSS Modules 映射。\n */\nexport function useCssModule(name = '$style'): Record<string, string> {\n const instance = assertInSetup('useCssModule') as Record<string, any>\n const modules = instance[WEVU_CSS_MODULES_KEY]\n const resolved = modules?.[name]\n if (!resolved || typeof resolved !== 'object') {\n throw new Error(`useCssModule() 找不到名为 ${JSON.stringify(name)} 的 CSS Module`)\n }\n return resolved\n}\n\n/**\n * 注册编译器生成的响应式 CSS 变量。\n * @internal\n */\nexport function useCssVars(getter: (context: Record<string, any>) => Record<string, unknown>): ComputedRef<string> {\n const instance = assertInSetup('useCssVars') as Record<string, any>\n const runtime = instance.__wevu\n const style = computed(() => stringifyCssVars(getter(runtime?.proxy ?? instance)))\n if (runtime?.state && typeof runtime.state === 'object') {\n runtime.state[WEVU_CSS_VARS_STYLE_KEY] = style\n }\n if (runtime?.setupState && typeof runtime.setupState === 'object') {\n runtime.setupState[WEVU_CSS_VARS_STYLE_KEY] = style\n }\n return style\n}\n"],"mappings":";;;;;;AAKA,SAAS,iBAAiB,QAAiC;CACzD,OAAO,OAAO,QAAQ,MAAM,CAAC,CAC1B,KAAK,CAAC,KAAK,WAAW,KAAK,IAAI,GAAG,SAAS,OAAO,KAAK,OAAO,MAAM,KAAY,CAAC,GAAG,CAAC,CACrF,KAAK,GAAG;AACb;;;;AAKA,SAAgB,aAAa,OAAO,UAAkC;
|
|
1
|
+
{"version":3,"file":"css.mjs","names":[],"sources":["../../../src/runtime/css.ts"],"sourcesContent":["import type { ComputedRef } from '../reactivity'\nimport { WEVU_CSS_MODULES_KEY, WEVU_CSS_VARS_STYLE_KEY } from '@weapp-core/constants'\nimport { computed, unref } from '../reactivity'\nimport { assertInSetup } from './hooks/base'\n\nfunction stringifyCssVars(values: Record<string, unknown>) {\n return Object.entries(values)\n .map(([key, value]) => `--${key}:${value == null ? '' : String(unref(value as any))}`)\n .join(';')\n}\n\n/**\n * 读取当前 SFC 的 CSS Modules 映射。\n */\nexport function useCssModule(name = '$style'): Record<string, string> {\n const instance = assertInSetup('useCssModule') as Record<string, any>\n const modules = instance[WEVU_CSS_MODULES_KEY]\n const resolved = modules?.[name]\n if (!resolved || typeof resolved !== 'object') {\n throw new Error(`useCssModule() 找不到名为 ${JSON.stringify(name)} 的 CSS Module`)\n }\n return resolved\n}\n\n/**\n * 注册编译器生成的响应式 CSS 变量。\n * @internal\n */\nexport function useCssVars(getter: (context: Record<string, any>) => Record<string, unknown>): ComputedRef<string> {\n const instance = assertInSetup('useCssVars') as Record<string, any>\n const runtime = instance.__wevu\n const style = computed(() => stringifyCssVars(getter(runtime?.proxy ?? instance)))\n if (runtime?.state && typeof runtime.state === 'object') {\n runtime.state[WEVU_CSS_VARS_STYLE_KEY] = style\n }\n if (runtime?.setupState && typeof runtime.setupState === 'object') {\n runtime.setupState[WEVU_CSS_VARS_STYLE_KEY] = style\n }\n return style\n}\n"],"mappings":";;;;;;AAKA,SAAS,iBAAiB,QAAiC;CACzD,OAAO,OAAO,QAAQ,MAAM,CAAC,CAC1B,KAAK,CAAC,KAAK,WAAW,KAAK,IAAI,GAAG,SAAS,OAAO,KAAK,OAAO,MAAM,KAAY,CAAC,GAAG,CAAC,CACrF,KAAK,GAAG;AACb;;;;AAKA,SAAgB,aAAa,OAAO,UAAkC;CAGpE,MAAM,WAFW,cAAc,cACR,CAAC,CAAC,qBACD,GAAG;CAC3B,IAAI,CAAC,YAAY,OAAO,aAAa,UACnC,MAAM,IAAI,MAAM,wBAAwB,KAAK,UAAU,IAAI,EAAE,cAAc;CAE7E,OAAO;AACT;;;;;AAMA,SAAgB,WAAW,QAAwF;CACjH,MAAM,WAAW,cAAc,YAAY;CAC3C,MAAM,UAAU,SAAS;CACzB,MAAM,QAAQ,eAAe,iBAAiB,OAAO,SAAS,SAAS,QAAQ,CAAC,CAAC;CACjF,IAAI,SAAS,SAAS,OAAO,QAAQ,UAAU,UAC7C,QAAQ,MAAM,2BAA2B;CAE3C,IAAI,SAAS,cAAc,OAAO,QAAQ,eAAe,UACvD,QAAQ,WAAW,2BAA2B;CAEhD,OAAO;AACT"}
|
|
@@ -15,14 +15,14 @@ function mergeDefaults(defaults, options) {
|
|
|
15
15
|
const defaultSetData = getPlainRecord(defaults.setData);
|
|
16
16
|
const optionSetData = getPlainRecord(options.setData);
|
|
17
17
|
if (defaultSetData || optionSetData) merged.setData = {
|
|
18
|
-
...defaultSetData
|
|
19
|
-
...optionSetData
|
|
18
|
+
...defaultSetData ?? {},
|
|
19
|
+
...optionSetData ?? {}
|
|
20
20
|
};
|
|
21
21
|
const defaultOptions = getPlainRecord(defaults.options);
|
|
22
22
|
const optionOptions = getPlainRecord(options.options);
|
|
23
23
|
if (defaultOptions || optionOptions) merged.options = {
|
|
24
|
-
...defaultOptions
|
|
25
|
-
...optionOptions
|
|
24
|
+
...defaultOptions ?? {},
|
|
25
|
+
...optionOptions ?? {}
|
|
26
26
|
};
|
|
27
27
|
return merged;
|
|
28
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.mjs","names":[],"sources":["../../../src/runtime/defaults.ts"],"sourcesContent":["import type { CreateAppOptions, DefineComponentOptions } from './types'\n\nexport type WevuDefaultsScope = 'app' | 'component'\n\nexport const INTERNAL_DEFAULTS_SCOPE_KEY = '__wevuDefaultsScope'\n\nexport interface WevuDefaults {\n app?: Partial<CreateAppOptions<any, any, any>>\n component?: Partial<DefineComponentOptions<any, any, any, any>>\n}\n\nlet currentDefaults: WevuDefaults = {}\n\nfunction getPlainRecord(value: unknown): Record<string, any> | undefined {\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n return undefined\n }\n return value as Record<string, any>\n}\n\nfunction mergeDefaults<T extends Record<string, any>>(\n defaults?: Partial<T>,\n options?: Partial<T>,\n) {\n if (!defaults) {\n return options\n }\n if (!options) {\n return defaults\n }\n\n const merged = {\n ...(defaults as Record<string, any>),\n ...(options as Record<string, any>),\n }\n\n const defaultSetData = getPlainRecord((defaults as any).setData)\n const optionSetData = getPlainRecord((options as any).setData)\n if (defaultSetData || optionSetData) {\n merged.setData = {\n ...(defaultSetData ?? {}),\n ...(optionSetData ?? {}),\n }\n }\n\n const defaultOptions = getPlainRecord((defaults as any).options)\n const optionOptions = getPlainRecord((options as any).options)\n if (defaultOptions || optionOptions) {\n merged.options = {\n ...(defaultOptions ?? {}),\n ...(optionOptions ?? {}),\n }\n }\n\n return merged as Partial<T>\n}\n\nfunction mergeWithDefaults<T extends Record<string, any>>(\n defaults: Partial<T> | undefined,\n options: T,\n): T {\n return mergeDefaults(defaults, options) as T\n}\n\nfunction mergeWevuDefaults(base: WevuDefaults, next: WevuDefaults): WevuDefaults {\n return {\n app: mergeDefaults(base.app, next.app),\n component: mergeDefaults(base.component, next.component),\n }\n}\n\nexport function setWevuDefaults(next: WevuDefaults) {\n currentDefaults = mergeWevuDefaults(currentDefaults, next)\n}\n\nexport function resetWevuDefaults() {\n currentDefaults = {}\n}\n\n/**\n * 读取当前默认配置(框架内部使用)。\n * @internal\n */\nexport function resolveWevuDefaults() {\n return currentDefaults\n}\n\n/**\n * 将默认配置应用到 App 选项(框架内部使用)。\n * @internal\n */\nexport function applyWevuAppDefaults<T extends CreateAppOptions<any, any, any>>(options: T): T {\n return mergeWithDefaults(currentDefaults.app as Partial<T> | undefined, options)\n}\n\n/**\n * 将默认配置应用到组件选项(框架内部使用)。\n * @internal\n */\nexport function applyWevuComponentDefaults<T extends DefineComponentOptions<any, any, any, any>>(options: T): T {\n return mergeWithDefaults(currentDefaults.component as Partial<T> | undefined, options)\n}\n"],"mappings":";AAIA,MAAa,8BAA8B;AAO3C,IAAI,kBAAgC,CAAC;AAErC,SAAS,eAAe,OAAiD;CACvE,IAAI,CAAC,SAAS,OAAO,UAAU,YAAY,MAAM,QAAQ,KAAK,GAC5D;CAEF,OAAO;AACT;AAEA,SAAS,cACP,UACA,SACA;CACA,IAAI,CAAC,UACH,OAAO;CAET,IAAI,CAAC,SACH,OAAO;CAGT,MAAM,SAAS;EACb,GAAI;EACJ,GAAI;CACN;CAEA,MAAM,iBAAiB,eAAgB,SAAiB,OAAO;CAC/D,MAAM,gBAAgB,eAAgB,QAAgB,OAAO;CAC7D,IAAI,kBAAkB,eACpB,OAAO,UAAU;EACf,GAAI,
|
|
1
|
+
{"version":3,"file":"defaults.mjs","names":[],"sources":["../../../src/runtime/defaults.ts"],"sourcesContent":["import type { CreateAppOptions, DefineComponentOptions } from './types'\n\nexport type WevuDefaultsScope = 'app' | 'component'\n\nexport const INTERNAL_DEFAULTS_SCOPE_KEY = '__wevuDefaultsScope'\n\nexport interface WevuDefaults {\n app?: Partial<CreateAppOptions<any, any, any>>\n component?: Partial<DefineComponentOptions<any, any, any, any>>\n}\n\nlet currentDefaults: WevuDefaults = {}\n\nfunction getPlainRecord(value: unknown): Record<string, any> | undefined {\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n return undefined\n }\n return value as Record<string, any>\n}\n\nfunction mergeDefaults<T extends Record<string, any>>(\n defaults?: Partial<T>,\n options?: Partial<T>,\n) {\n if (!defaults) {\n return options\n }\n if (!options) {\n return defaults\n }\n\n const merged = {\n ...(defaults as Record<string, any>),\n ...(options as Record<string, any>),\n }\n\n const defaultSetData = getPlainRecord((defaults as any).setData)\n const optionSetData = getPlainRecord((options as any).setData)\n if (defaultSetData || optionSetData) {\n merged.setData = {\n ...(defaultSetData ?? {}),\n ...(optionSetData ?? {}),\n }\n }\n\n const defaultOptions = getPlainRecord((defaults as any).options)\n const optionOptions = getPlainRecord((options as any).options)\n if (defaultOptions || optionOptions) {\n merged.options = {\n ...(defaultOptions ?? {}),\n ...(optionOptions ?? {}),\n }\n }\n\n return merged as Partial<T>\n}\n\nfunction mergeWithDefaults<T extends Record<string, any>>(\n defaults: Partial<T> | undefined,\n options: T,\n): T {\n return mergeDefaults(defaults, options) as T\n}\n\nfunction mergeWevuDefaults(base: WevuDefaults, next: WevuDefaults): WevuDefaults {\n return {\n app: mergeDefaults(base.app, next.app),\n component: mergeDefaults(base.component, next.component),\n }\n}\n\nexport function setWevuDefaults(next: WevuDefaults) {\n currentDefaults = mergeWevuDefaults(currentDefaults, next)\n}\n\nexport function resetWevuDefaults() {\n currentDefaults = {}\n}\n\n/**\n * 读取当前默认配置(框架内部使用)。\n * @internal\n */\nexport function resolveWevuDefaults() {\n return currentDefaults\n}\n\n/**\n * 将默认配置应用到 App 选项(框架内部使用)。\n * @internal\n */\nexport function applyWevuAppDefaults<T extends CreateAppOptions<any, any, any>>(options: T): T {\n return mergeWithDefaults(currentDefaults.app as Partial<T> | undefined, options)\n}\n\n/**\n * 将默认配置应用到组件选项(框架内部使用)。\n * @internal\n */\nexport function applyWevuComponentDefaults<T extends DefineComponentOptions<any, any, any, any>>(options: T): T {\n return mergeWithDefaults(currentDefaults.component as Partial<T> | undefined, options)\n}\n"],"mappings":";AAIA,MAAa,8BAA8B;AAO3C,IAAI,kBAAgC,CAAC;AAErC,SAAS,eAAe,OAAiD;CACvE,IAAI,CAAC,SAAS,OAAO,UAAU,YAAY,MAAM,QAAQ,KAAK,GAC5D;CAEF,OAAO;AACT;AAEA,SAAS,cACP,UACA,SACA;CACA,IAAI,CAAC,UACH,OAAO;CAET,IAAI,CAAC,SACH,OAAO;CAGT,MAAM,SAAS;EACb,GAAI;EACJ,GAAI;CACN;CAEA,MAAM,iBAAiB,eAAgB,SAAiB,OAAO;CAC/D,MAAM,gBAAgB,eAAgB,QAAgB,OAAO;CAC7D,IAAI,kBAAkB,eACpB,OAAO,UAAU;EACf,GAAI,kBAAkB,CAAC;EACvB,GAAI,iBAAiB,CAAC;CACxB;CAGF,MAAM,iBAAiB,eAAgB,SAAiB,OAAO;CAC/D,MAAM,gBAAgB,eAAgB,QAAgB,OAAO;CAC7D,IAAI,kBAAkB,eACpB,OAAO,UAAU;EACf,GAAI,kBAAkB,CAAC;EACvB,GAAI,iBAAiB,CAAC;CACxB;CAGF,OAAO;AACT;AAEA,SAAS,kBACP,UACA,SACG;CACH,OAAO,cAAc,UAAU,OAAO;AACxC;AAEA,SAAS,kBAAkB,MAAoB,MAAkC;CAC/E,OAAO;EACL,KAAK,cAAc,KAAK,KAAK,KAAK,GAAG;EACrC,WAAW,cAAc,KAAK,WAAW,KAAK,SAAS;CACzD;AACF;AAEA,SAAgB,gBAAgB,MAAoB;CAClD,kBAAkB,kBAAkB,iBAAiB,IAAI;AAC3D;AAEA,SAAgB,oBAAoB;CAClC,kBAAkB,CAAC;AACrB;;;;;AAcA,SAAgB,qBAAgE,SAAe;CAC7F,OAAO,kBAAkB,gBAAgB,KAA+B,OAAO;AACjF;;;;;AAMA,SAAgB,2BAAiF,SAAe;CAC9G,OAAO,kBAAkB,gBAAgB,WAAqC,OAAO;AACvF"}
|
|
@@ -7,7 +7,7 @@ import { WEVU_SLOT_OWNER_ID_KEY } from "@weapp-core/constants";
|
|
|
7
7
|
var InitialComputedBailout = class extends Error {};
|
|
8
8
|
function resolveComputedGetter(definition) {
|
|
9
9
|
if (typeof definition === "function") return definition;
|
|
10
|
-
const getter = definition
|
|
10
|
+
const getter = definition?.get;
|
|
11
11
|
return typeof getter === "function" ? getter : void 0;
|
|
12
12
|
}
|
|
13
13
|
function isCompilerGeneratedTemplateComputedKey(key) {
|
|
@@ -17,7 +17,7 @@ function canResolveInitialTemplateComputed(key, getter) {
|
|
|
17
17
|
if (!key.startsWith("__wv_bind_")) return false;
|
|
18
18
|
try {
|
|
19
19
|
return !/\bthis\b/.test(Function.prototype.toString.call(getter));
|
|
20
|
-
} catch
|
|
20
|
+
} catch {
|
|
21
21
|
return false;
|
|
22
22
|
}
|
|
23
23
|
}
|
|
@@ -27,9 +27,9 @@ function resolveRuntimeBindingPlaceholder(key) {
|
|
|
27
27
|
if (key.startsWith("__wv_cls_") || key.startsWith("__wv_style_")) return "";
|
|
28
28
|
}
|
|
29
29
|
function resolveRuntimeBindingPlaceholderData(data, setData) {
|
|
30
|
-
const pickKeys = Array.isArray(setData
|
|
30
|
+
const pickKeys = Array.isArray(setData?.pick) ? setData.pick : [];
|
|
31
31
|
if (!pickKeys.length) return;
|
|
32
|
-
const omitKeys = new Set(Array.isArray(setData
|
|
32
|
+
const omitKeys = new Set(Array.isArray(setData?.omit) ? setData.omit : []);
|
|
33
33
|
const resolved = {};
|
|
34
34
|
for (const key of pickKeys) {
|
|
35
35
|
if (omitKeys.has(key) || hasOwn(data, key)) continue;
|
|
@@ -73,7 +73,7 @@ function resolveInitialComputedData(options) {
|
|
|
73
73
|
ok: true,
|
|
74
74
|
value
|
|
75
75
|
};
|
|
76
|
-
} catch
|
|
76
|
+
} catch {
|
|
77
77
|
return { ok: false };
|
|
78
78
|
} finally {
|
|
79
79
|
resolving.delete(key);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialComputed.mjs","names":[],"sources":["../../../../src/runtime/define/initialComputed.ts"],"sourcesContent":["import type { WritableComputedOptions } from '../../reactivity'\nimport type { ComputedDefinitions, SetDataSnapshotOptions } from '../types'\nimport { WEVU_SLOT_OWNER_ID_KEY } from '@weapp-core/constants'\nimport { hasOwn } from '../../utils'\nimport { resolveSetDataOptions } from '../app/setDataOptions'\nimport { toPlain } from '../diff'\n\nclass InitialComputedBailout extends Error {}\n\nfunction resolveComputedGetter(definition: unknown): ((...args: any[]) => unknown) | undefined {\n if (typeof definition === 'function') {\n return definition as (...args: any[]) => unknown\n }\n const getter = (definition as WritableComputedOptions<any> | undefined)?.get\n return typeof getter === 'function' ? getter : undefined\n}\n\nfunction isCompilerGeneratedTemplateComputedKey(key: string) {\n return key.startsWith('__wv_bind_')\n || key.startsWith('__wv_cls_')\n || key.startsWith('__wv_style_')\n}\n\nfunction canResolveInitialTemplateComputed(key: string, getter: (...args: any[]) => unknown) {\n if (!key.startsWith('__wv_bind_')) {\n return false\n }\n try {\n return !/\\bthis\\b/.test(Function.prototype.toString.call(getter))\n }\n catch {\n return false\n }\n}\n\nfunction resolveRuntimeBindingPlaceholder(key: string) {\n if (key === WEVU_SLOT_OWNER_ID_KEY) {\n return ''\n }\n if (key.startsWith('__wv_bind_')) {\n return null\n }\n if (key.startsWith('__wv_cls_') || key.startsWith('__wv_style_')) {\n return ''\n }\n}\n\nfunction resolveRuntimeBindingPlaceholderData(\n data: Record<string, any>,\n setData: SetDataSnapshotOptions | undefined,\n) {\n const pickKeys = Array.isArray(setData?.pick) ? setData.pick : []\n if (!pickKeys.length) {\n return undefined\n }\n const omitKeys = new Set(Array.isArray(setData?.omit) ? setData.omit : [])\n const resolved: Record<string, any> = {}\n for (const key of pickKeys) {\n if (omitKeys.has(key) || hasOwn(data, key)) {\n continue\n }\n const placeholder = resolveRuntimeBindingPlaceholder(key)\n if (placeholder !== undefined) {\n resolved[key] = placeholder\n }\n }\n return Object.keys(resolved).length ? resolved : undefined\n}\n\nexport function resolveInitialComputedData(options: {\n data: Record<string, any>\n computed: ComputedDefinitions | undefined\n methods?: Record<string, any>\n setData: SetDataSnapshotOptions | undefined\n}) {\n const {\n data,\n computed,\n methods,\n setData,\n } = options\n const computedKeys = computed ? Object.keys(computed) : []\n if (!computedKeys.length) {\n return undefined\n }\n\n const {\n includeComputed,\n shouldIncludeKey,\n toPlainMaxDepth,\n toPlainMaxKeys,\n includeFunctions,\n functionPaths,\n } = resolveSetDataOptions(setData)\n if (!includeComputed) {\n return undefined\n }\n\n const resolved: Record<string, any> = {}\n const resolving = new Set<string>()\n let proxy!: Record<string, any>\n const resolveComputedValue = (key: string): { ok: true, value: any } | { ok: false } => {\n if (hasOwn(data, key) || !shouldIncludeKey(key)) {\n return { ok: false }\n }\n if (hasOwn(resolved, key)) {\n return { ok: true, value: resolved[key] }\n }\n if (resolving.has(key)) {\n return { ok: false }\n }\n const getter = resolveComputedGetter((computed as ComputedDefinitions)[key])\n if (!getter) {\n return { ok: false }\n }\n resolving.add(key)\n try {\n const rawValue = getter.call(proxy)\n if (rawValue === undefined) {\n return { ok: false }\n }\n const value = toPlain(rawValue, new WeakMap(), {\n maxDepth: toPlainMaxDepth,\n maxKeys: toPlainMaxKeys,\n includeFunctions,\n functionPaths,\n _path: key,\n })\n if (value === undefined) {\n return { ok: false }\n }\n resolved[key] = value\n return { ok: true, value }\n }\n catch {\n return { ok: false }\n }\n finally {\n resolving.delete(key)\n }\n }\n\n proxy = new Proxy(data, {\n get(target, key, receiver) {\n if (typeof key === 'string') {\n if (key === 'data' || key === '$state') {\n return data\n }\n if (key === 'props' || key === '$props' || key === '$attrs') {\n throw new InitialComputedBailout()\n }\n if (hasOwn(data, key)) {\n return Reflect.get(target, key, receiver)\n }\n if (methods && hasOwn(methods, key)) {\n const method = methods[key]\n return typeof method === 'function' ? method.bind(proxy) : method\n }\n if (computed && hasOwn(computed, key)) {\n const computedValue = resolveComputedValue(key)\n if (computedValue.ok) {\n return computedValue.value\n }\n throw new InitialComputedBailout()\n }\n throw new InitialComputedBailout()\n }\n return Reflect.get(target, key, receiver)\n },\n has(target, key) {\n return Reflect.has(target, key)\n || (typeof key === 'string' && Boolean(\n computed && hasOwn(computed, key),\n ))\n },\n })\n\n for (const key of computedKeys) {\n const getter = resolveComputedGetter((computed as ComputedDefinitions)[key])\n if (isCompilerGeneratedTemplateComputedKey(key) && (!getter || !canResolveInitialTemplateComputed(key, getter))) {\n continue\n }\n resolveComputedValue(key)\n }\n\n return Object.keys(resolved).length ? resolved : undefined\n}\n\nexport function resolveNativeInitialData(\n data: unknown,\n computed: ComputedDefinitions | undefined,\n setData: SetDataSnapshotOptions | undefined,\n methods?: Record<string, any>,\n) {\n if (!data || typeof data !== 'object') {\n return data\n }\n const initialComputedData = resolveInitialComputedData({\n data: data as Record<string, any>,\n computed,\n methods,\n setData,\n })\n const runtimeBindingPlaceholderData = resolveRuntimeBindingPlaceholderData(data as Record<string, any>, setData)\n return initialComputedData || runtimeBindingPlaceholderData\n ? {\n ...(data as Record<string, any>),\n ...runtimeBindingPlaceholderData,\n ...initialComputedData,\n }\n : data\n}\n"],"mappings":";;;;;;AAOA,IAAM,yBAAN,cAAqC,MAAM,CAAC;AAE5C,SAAS,sBAAsB,YAAgE;CAC7F,IAAI,OAAO,eAAe,YACxB,OAAO;CAET,MAAM,
|
|
1
|
+
{"version":3,"file":"initialComputed.mjs","names":[],"sources":["../../../../src/runtime/define/initialComputed.ts"],"sourcesContent":["import type { WritableComputedOptions } from '../../reactivity'\nimport type { ComputedDefinitions, SetDataSnapshotOptions } from '../types'\nimport { WEVU_SLOT_OWNER_ID_KEY } from '@weapp-core/constants'\nimport { hasOwn } from '../../utils'\nimport { resolveSetDataOptions } from '../app/setDataOptions'\nimport { toPlain } from '../diff'\n\nclass InitialComputedBailout extends Error {}\n\nfunction resolveComputedGetter(definition: unknown): ((...args: any[]) => unknown) | undefined {\n if (typeof definition === 'function') {\n return definition as (...args: any[]) => unknown\n }\n const getter = (definition as WritableComputedOptions<any> | undefined)?.get\n return typeof getter === 'function' ? getter : undefined\n}\n\nfunction isCompilerGeneratedTemplateComputedKey(key: string) {\n return key.startsWith('__wv_bind_')\n || key.startsWith('__wv_cls_')\n || key.startsWith('__wv_style_')\n}\n\nfunction canResolveInitialTemplateComputed(key: string, getter: (...args: any[]) => unknown) {\n if (!key.startsWith('__wv_bind_')) {\n return false\n }\n try {\n return !/\\bthis\\b/.test(Function.prototype.toString.call(getter))\n }\n catch {\n return false\n }\n}\n\nfunction resolveRuntimeBindingPlaceholder(key: string) {\n if (key === WEVU_SLOT_OWNER_ID_KEY) {\n return ''\n }\n if (key.startsWith('__wv_bind_')) {\n return null\n }\n if (key.startsWith('__wv_cls_') || key.startsWith('__wv_style_')) {\n return ''\n }\n}\n\nfunction resolveRuntimeBindingPlaceholderData(\n data: Record<string, any>,\n setData: SetDataSnapshotOptions | undefined,\n) {\n const pickKeys = Array.isArray(setData?.pick) ? setData.pick : []\n if (!pickKeys.length) {\n return undefined\n }\n const omitKeys = new Set(Array.isArray(setData?.omit) ? setData.omit : [])\n const resolved: Record<string, any> = {}\n for (const key of pickKeys) {\n if (omitKeys.has(key) || hasOwn(data, key)) {\n continue\n }\n const placeholder = resolveRuntimeBindingPlaceholder(key)\n if (placeholder !== undefined) {\n resolved[key] = placeholder\n }\n }\n return Object.keys(resolved).length ? resolved : undefined\n}\n\nexport function resolveInitialComputedData(options: {\n data: Record<string, any>\n computed: ComputedDefinitions | undefined\n methods?: Record<string, any>\n setData: SetDataSnapshotOptions | undefined\n}) {\n const {\n data,\n computed,\n methods,\n setData,\n } = options\n const computedKeys = computed ? Object.keys(computed) : []\n if (!computedKeys.length) {\n return undefined\n }\n\n const {\n includeComputed,\n shouldIncludeKey,\n toPlainMaxDepth,\n toPlainMaxKeys,\n includeFunctions,\n functionPaths,\n } = resolveSetDataOptions(setData)\n if (!includeComputed) {\n return undefined\n }\n\n const resolved: Record<string, any> = {}\n const resolving = new Set<string>()\n let proxy!: Record<string, any>\n const resolveComputedValue = (key: string): { ok: true, value: any } | { ok: false } => {\n if (hasOwn(data, key) || !shouldIncludeKey(key)) {\n return { ok: false }\n }\n if (hasOwn(resolved, key)) {\n return { ok: true, value: resolved[key] }\n }\n if (resolving.has(key)) {\n return { ok: false }\n }\n const getter = resolveComputedGetter((computed as ComputedDefinitions)[key])\n if (!getter) {\n return { ok: false }\n }\n resolving.add(key)\n try {\n const rawValue = getter.call(proxy)\n if (rawValue === undefined) {\n return { ok: false }\n }\n const value = toPlain(rawValue, new WeakMap(), {\n maxDepth: toPlainMaxDepth,\n maxKeys: toPlainMaxKeys,\n includeFunctions,\n functionPaths,\n _path: key,\n })\n if (value === undefined) {\n return { ok: false }\n }\n resolved[key] = value\n return { ok: true, value }\n }\n catch {\n return { ok: false }\n }\n finally {\n resolving.delete(key)\n }\n }\n\n proxy = new Proxy(data, {\n get(target, key, receiver) {\n if (typeof key === 'string') {\n if (key === 'data' || key === '$state') {\n return data\n }\n if (key === 'props' || key === '$props' || key === '$attrs') {\n throw new InitialComputedBailout()\n }\n if (hasOwn(data, key)) {\n return Reflect.get(target, key, receiver)\n }\n if (methods && hasOwn(methods, key)) {\n const method = methods[key]\n return typeof method === 'function' ? method.bind(proxy) : method\n }\n if (computed && hasOwn(computed, key)) {\n const computedValue = resolveComputedValue(key)\n if (computedValue.ok) {\n return computedValue.value\n }\n throw new InitialComputedBailout()\n }\n throw new InitialComputedBailout()\n }\n return Reflect.get(target, key, receiver)\n },\n has(target, key) {\n return Reflect.has(target, key)\n || (typeof key === 'string' && Boolean(\n computed && hasOwn(computed, key),\n ))\n },\n })\n\n for (const key of computedKeys) {\n const getter = resolveComputedGetter((computed as ComputedDefinitions)[key])\n if (isCompilerGeneratedTemplateComputedKey(key) && (!getter || !canResolveInitialTemplateComputed(key, getter))) {\n continue\n }\n resolveComputedValue(key)\n }\n\n return Object.keys(resolved).length ? resolved : undefined\n}\n\nexport function resolveNativeInitialData(\n data: unknown,\n computed: ComputedDefinitions | undefined,\n setData: SetDataSnapshotOptions | undefined,\n methods?: Record<string, any>,\n) {\n if (!data || typeof data !== 'object') {\n return data\n }\n const initialComputedData = resolveInitialComputedData({\n data: data as Record<string, any>,\n computed,\n methods,\n setData,\n })\n const runtimeBindingPlaceholderData = resolveRuntimeBindingPlaceholderData(data as Record<string, any>, setData)\n return initialComputedData || runtimeBindingPlaceholderData\n ? {\n ...(data as Record<string, any>),\n ...runtimeBindingPlaceholderData,\n ...initialComputedData,\n }\n : data\n}\n"],"mappings":"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"}
|
|
@@ -74,12 +74,11 @@ function mergeData(parent, child) {
|
|
|
74
74
|
if (parent === void 0) return child;
|
|
75
75
|
if (child === void 0) return parent;
|
|
76
76
|
return function mergedOptionData() {
|
|
77
|
-
var _asRecord, _asRecord2;
|
|
78
77
|
const parentData = typeof parent === "function" ? parent.call(this) : parent;
|
|
79
78
|
const childData = typeof child === "function" ? child.call(this) : child;
|
|
80
79
|
return {
|
|
81
|
-
...
|
|
82
|
-
...
|
|
80
|
+
...asRecord(parentData) ?? {},
|
|
81
|
+
...asRecord(childData) ?? {}
|
|
83
82
|
};
|
|
84
83
|
};
|
|
85
84
|
}
|
|
@@ -98,15 +97,14 @@ function mergeWatchDescriptor(parent, child) {
|
|
|
98
97
|
const parentRecord = asRecord(parent);
|
|
99
98
|
const childRecord = asRecord(child);
|
|
100
99
|
return {
|
|
101
|
-
...parentRecord
|
|
102
|
-
...childRecord
|
|
100
|
+
...parentRecord ?? {},
|
|
101
|
+
...childRecord ?? {},
|
|
103
102
|
handler(...args) {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
return (_resolveWatchHandler2 = resolveWatchHandler(child, this)) === null || _resolveWatchHandler2 === void 0 ? void 0 : _resolveWatchHandler2.apply(this, args);
|
|
103
|
+
resolveWatchHandler(parent, this)?.apply(this, args);
|
|
104
|
+
return resolveWatchHandler(child, this)?.apply(this, args);
|
|
107
105
|
},
|
|
108
|
-
immediate: Boolean(
|
|
109
|
-
deep: Boolean(
|
|
106
|
+
immediate: Boolean(parentRecord?.immediate || childRecord?.immediate),
|
|
107
|
+
deep: Boolean(parentRecord?.deep || childRecord?.deep)
|
|
110
108
|
};
|
|
111
109
|
}
|
|
112
110
|
function mergeWatch(parent, child) {
|
|
@@ -134,8 +132,8 @@ function mergeOptions(parent, child) {
|
|
|
134
132
|
const parentRecord = asRecord(parent[key]);
|
|
135
133
|
const childRecord = asRecord(child[key]);
|
|
136
134
|
if (parentRecord || childRecord) merged[key] = {
|
|
137
|
-
...parentRecord
|
|
138
|
-
...childRecord
|
|
135
|
+
...parentRecord ?? {},
|
|
136
|
+
...childRecord ?? {}
|
|
139
137
|
};
|
|
140
138
|
}
|
|
141
139
|
merged.data = mergeData(parent.data, child.data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.mjs","names":[],"sources":["../../../../src/runtime/define/options.ts"],"sourcesContent":["import type { DefineComponentOptions } from '../types'\n\ntype ComponentOptions = DefineComponentOptions<any, any, any, any, any>\ntype OptionRecord = Record<string, any>\n\nconst OBJECT_OPTION_KEYS = [\n 'components',\n 'computed',\n 'directives',\n 'inject',\n 'methods',\n 'props',\n 'provide',\n] as const\n\nconst HOOK_OPTION_KEYS = new Set([\n 'activated',\n 'attached',\n 'beforeCreate',\n 'beforeDestroy',\n 'beforeMount',\n 'beforeUnmount',\n 'beforeUpdate',\n 'created',\n 'deactivated',\n 'destroyed',\n 'detached',\n 'errorCaptured',\n 'hide',\n 'mounted',\n 'moved',\n 'onAddToFavorites',\n 'onHide',\n 'onLoad',\n 'onPageScroll',\n 'onPullDownRefresh',\n 'onReachBottom',\n 'onReady',\n 'onResize',\n 'onRouteDone',\n 'onSaveExitState',\n 'onShareAppMessage',\n 'onShareTimeline',\n 'onShow',\n 'onTabItemTap',\n 'onUnload',\n 'ready',\n 'renderTracked',\n 'renderTriggered',\n 'serverPrefetch',\n 'show',\n 'unmounted',\n 'updated',\n])\n\nfunction asRecord(value: unknown): OptionRecord | undefined {\n return value && typeof value === 'object' && !Array.isArray(value)\n ? value as OptionRecord\n : undefined\n}\n\nfunction mergeHook(parent: unknown, child: unknown) {\n if (typeof parent !== 'function') {\n return child\n }\n if (typeof child !== 'function') {\n return parent\n }\n return function mergedOptionHook(this: unknown, ...args: unknown[]) {\n parent.apply(this, args)\n return child.apply(this, args)\n }\n}\n\nfunction mergeHookRecord(parent: unknown, child: unknown) {\n const parentRecord = asRecord(parent)\n const childRecord = asRecord(child)\n if (!parentRecord) {\n return childRecord\n }\n if (!childRecord) {\n return parentRecord\n }\n const merged = { ...parentRecord, ...childRecord }\n for (const key of new Set([...Object.keys(parentRecord), ...Object.keys(childRecord)])) {\n merged[key] = mergeHook(parentRecord[key], childRecord[key])\n }\n return merged\n}\n\nfunction mergeData(parent: unknown, child: unknown) {\n if (parent === undefined) {\n return child\n }\n if (child === undefined) {\n return parent\n }\n return function mergedOptionData(this: unknown) {\n const parentData = typeof parent === 'function' ? parent.call(this) : parent\n const childData = typeof child === 'function' ? child.call(this) : child\n return {\n ...(asRecord(parentData) ?? {}),\n ...(asRecord(childData) ?? {}),\n }\n }\n}\n\nfunction resolveWatchHandler(descriptor: unknown, context: OptionRecord): ((...args: unknown[]) => unknown) | undefined {\n if (typeof descriptor === 'function') {\n return descriptor as (...args: unknown[]) => unknown\n }\n if (typeof descriptor === 'string') {\n const method = context[descriptor]\n return typeof method === 'function' ? method : undefined\n }\n const record = asRecord(descriptor)\n return record ? resolveWatchHandler(record.handler, context) : undefined\n}\n\nfunction mergeWatchDescriptor(parent: unknown, child: unknown) {\n if (parent === undefined) {\n return child\n }\n if (child === undefined) {\n return parent\n }\n const parentRecord = asRecord(parent)\n const childRecord = asRecord(child)\n return {\n ...(parentRecord ?? {}),\n ...(childRecord ?? {}),\n handler(this: OptionRecord, ...args: unknown[]) {\n resolveWatchHandler(parent, this)?.apply(this, args)\n return resolveWatchHandler(child, this)?.apply(this, args)\n },\n immediate: Boolean(parentRecord?.immediate || childRecord?.immediate),\n deep: Boolean(parentRecord?.deep || childRecord?.deep),\n }\n}\n\nfunction mergeWatch(parent: unknown, child: unknown) {\n const parentRecord = asRecord(parent)\n const childRecord = asRecord(child)\n if (!parentRecord) {\n return childRecord\n }\n if (!childRecord) {\n return parentRecord\n }\n const merged = { ...parentRecord, ...childRecord }\n for (const key of new Set([...Object.keys(parentRecord), ...Object.keys(childRecord)])) {\n merged[key] = mergeWatchDescriptor(parentRecord[key], childRecord[key])\n }\n return merged\n}\n\nfunction mergeArray(parent: unknown, child: unknown) {\n const values = [\n ...(Array.isArray(parent) ? parent : []),\n ...(Array.isArray(child) ? child : []),\n ]\n return [...new Set(values)]\n}\n\nfunction mergeOptions(parent: OptionRecord, child: OptionRecord) {\n const merged: OptionRecord = { ...parent, ...child }\n\n for (const key of OBJECT_OPTION_KEYS) {\n const parentRecord = asRecord(parent[key])\n const childRecord = asRecord(child[key])\n if (parentRecord || childRecord) {\n merged[key] = { ...(parentRecord ?? {}), ...(childRecord ?? {}) }\n }\n }\n\n merged.data = mergeData(parent.data, child.data)\n merged.watch = mergeWatch(parent.watch, child.watch)\n merged.lifetimes = mergeHookRecord(parent.lifetimes, child.lifetimes)\n merged.pageLifetimes = mergeHookRecord(parent.pageLifetimes, child.pageLifetimes)\n\n for (const key of new Set([...Object.keys(parent), ...Object.keys(child)])) {\n if (HOOK_OPTION_KEYS.has(key)) {\n merged[key] = mergeHook(parent[key], child[key])\n }\n }\n\n if (Array.isArray(parent.emits) || Array.isArray(child.emits)) {\n merged.emits = mergeArray(parent.emits, child.emits)\n }\n if (Array.isArray(parent.expose) || Array.isArray(child.expose)) {\n merged.expose = mergeArray(parent.expose, child.expose)\n }\n return merged\n}\n\nfunction appendOptions(target: OptionRecord, source: unknown, seen: WeakSet<object>) {\n const sourceRecord = asRecord(source)\n if (!sourceRecord || seen.has(sourceRecord)) {\n return target\n }\n seen.add(sourceRecord)\n\n let merged = target\n merged = appendOptions(merged, sourceRecord.extends, seen)\n if (Array.isArray(sourceRecord.mixins)) {\n for (const mixin of sourceRecord.mixins) {\n merged = appendOptions(merged, mixin, seen)\n }\n }\n\n const {\n extends: _extends,\n mixins: _mixins,\n ...ownOptions\n } = sourceRecord\n return mergeOptions(merged, ownOptions)\n}\n\n/**\n * 将 Vue Options API 的 extends/mixins 展开为单一组件选项。\n */\nexport function resolveVueComponentOptions<T extends ComponentOptions>(options: T): T {\n return appendOptions({}, options, new WeakSet()) as T\n}\n"],"mappings":";AAKA,MAAM,qBAAqB;CACzB;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,MAAM,mCAAmB,IAAI,IAAI;CAC/B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AAED,SAAS,SAAS,OAA0C;CAC1D,OAAO,SAAS,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK,IAC7D,QACA;AACN;AAEA,SAAS,UAAU,QAAiB,OAAgB;CAClD,IAAI,OAAO,WAAW,YACpB,OAAO;CAET,IAAI,OAAO,UAAU,YACnB,OAAO;CAET,OAAO,SAAS,iBAAgC,GAAG,MAAiB;EAClE,OAAO,MAAM,MAAM,IAAI;EACvB,OAAO,MAAM,MAAM,MAAM,IAAI;CAC/B;AACF;AAEA,SAAS,gBAAgB,QAAiB,OAAgB;CACxD,MAAM,eAAe,SAAS,MAAM;CACpC,MAAM,cAAc,SAAS,KAAK;CAClC,IAAI,CAAC,cACH,OAAO;CAET,IAAI,CAAC,aACH,OAAO;CAET,MAAM,SAAS;EAAE,GAAG;EAAc,GAAG;CAAY;CACjD,KAAK,MAAM,uBAAO,IAAI,IAAI,CAAC,GAAG,OAAO,KAAK,YAAY,GAAG,GAAG,OAAO,KAAK,WAAW,CAAC,CAAC,GACnF,OAAO,OAAO,UAAU,aAAa,MAAM,YAAY,IAAI;CAE7D,OAAO;AACT;AAEA,SAAS,UAAU,QAAiB,OAAgB;CAClD,IAAI,WAAW,QACb,OAAO;CAET,IAAI,UAAU,QACZ,OAAO;CAET,OAAO,SAAS,mBAAgC
|
|
1
|
+
{"version":3,"file":"options.mjs","names":[],"sources":["../../../../src/runtime/define/options.ts"],"sourcesContent":["import type { DefineComponentOptions } from '../types'\n\ntype ComponentOptions = DefineComponentOptions<any, any, any, any, any>\ntype OptionRecord = Record<string, any>\n\nconst OBJECT_OPTION_KEYS = [\n 'components',\n 'computed',\n 'directives',\n 'inject',\n 'methods',\n 'props',\n 'provide',\n] as const\n\nconst HOOK_OPTION_KEYS = new Set([\n 'activated',\n 'attached',\n 'beforeCreate',\n 'beforeDestroy',\n 'beforeMount',\n 'beforeUnmount',\n 'beforeUpdate',\n 'created',\n 'deactivated',\n 'destroyed',\n 'detached',\n 'errorCaptured',\n 'hide',\n 'mounted',\n 'moved',\n 'onAddToFavorites',\n 'onHide',\n 'onLoad',\n 'onPageScroll',\n 'onPullDownRefresh',\n 'onReachBottom',\n 'onReady',\n 'onResize',\n 'onRouteDone',\n 'onSaveExitState',\n 'onShareAppMessage',\n 'onShareTimeline',\n 'onShow',\n 'onTabItemTap',\n 'onUnload',\n 'ready',\n 'renderTracked',\n 'renderTriggered',\n 'serverPrefetch',\n 'show',\n 'unmounted',\n 'updated',\n])\n\nfunction asRecord(value: unknown): OptionRecord | undefined {\n return value && typeof value === 'object' && !Array.isArray(value)\n ? value as OptionRecord\n : undefined\n}\n\nfunction mergeHook(parent: unknown, child: unknown) {\n if (typeof parent !== 'function') {\n return child\n }\n if (typeof child !== 'function') {\n return parent\n }\n return function mergedOptionHook(this: unknown, ...args: unknown[]) {\n parent.apply(this, args)\n return child.apply(this, args)\n }\n}\n\nfunction mergeHookRecord(parent: unknown, child: unknown) {\n const parentRecord = asRecord(parent)\n const childRecord = asRecord(child)\n if (!parentRecord) {\n return childRecord\n }\n if (!childRecord) {\n return parentRecord\n }\n const merged = { ...parentRecord, ...childRecord }\n for (const key of new Set([...Object.keys(parentRecord), ...Object.keys(childRecord)])) {\n merged[key] = mergeHook(parentRecord[key], childRecord[key])\n }\n return merged\n}\n\nfunction mergeData(parent: unknown, child: unknown) {\n if (parent === undefined) {\n return child\n }\n if (child === undefined) {\n return parent\n }\n return function mergedOptionData(this: unknown) {\n const parentData = typeof parent === 'function' ? parent.call(this) : parent\n const childData = typeof child === 'function' ? child.call(this) : child\n return {\n ...(asRecord(parentData) ?? {}),\n ...(asRecord(childData) ?? {}),\n }\n }\n}\n\nfunction resolveWatchHandler(descriptor: unknown, context: OptionRecord): ((...args: unknown[]) => unknown) | undefined {\n if (typeof descriptor === 'function') {\n return descriptor as (...args: unknown[]) => unknown\n }\n if (typeof descriptor === 'string') {\n const method = context[descriptor]\n return typeof method === 'function' ? method : undefined\n }\n const record = asRecord(descriptor)\n return record ? resolveWatchHandler(record.handler, context) : undefined\n}\n\nfunction mergeWatchDescriptor(parent: unknown, child: unknown) {\n if (parent === undefined) {\n return child\n }\n if (child === undefined) {\n return parent\n }\n const parentRecord = asRecord(parent)\n const childRecord = asRecord(child)\n return {\n ...(parentRecord ?? {}),\n ...(childRecord ?? {}),\n handler(this: OptionRecord, ...args: unknown[]) {\n resolveWatchHandler(parent, this)?.apply(this, args)\n return resolveWatchHandler(child, this)?.apply(this, args)\n },\n immediate: Boolean(parentRecord?.immediate || childRecord?.immediate),\n deep: Boolean(parentRecord?.deep || childRecord?.deep),\n }\n}\n\nfunction mergeWatch(parent: unknown, child: unknown) {\n const parentRecord = asRecord(parent)\n const childRecord = asRecord(child)\n if (!parentRecord) {\n return childRecord\n }\n if (!childRecord) {\n return parentRecord\n }\n const merged = { ...parentRecord, ...childRecord }\n for (const key of new Set([...Object.keys(parentRecord), ...Object.keys(childRecord)])) {\n merged[key] = mergeWatchDescriptor(parentRecord[key], childRecord[key])\n }\n return merged\n}\n\nfunction mergeArray(parent: unknown, child: unknown) {\n const values = [\n ...(Array.isArray(parent) ? parent : []),\n ...(Array.isArray(child) ? child : []),\n ]\n return [...new Set(values)]\n}\n\nfunction mergeOptions(parent: OptionRecord, child: OptionRecord) {\n const merged: OptionRecord = { ...parent, ...child }\n\n for (const key of OBJECT_OPTION_KEYS) {\n const parentRecord = asRecord(parent[key])\n const childRecord = asRecord(child[key])\n if (parentRecord || childRecord) {\n merged[key] = { ...(parentRecord ?? {}), ...(childRecord ?? {}) }\n }\n }\n\n merged.data = mergeData(parent.data, child.data)\n merged.watch = mergeWatch(parent.watch, child.watch)\n merged.lifetimes = mergeHookRecord(parent.lifetimes, child.lifetimes)\n merged.pageLifetimes = mergeHookRecord(parent.pageLifetimes, child.pageLifetimes)\n\n for (const key of new Set([...Object.keys(parent), ...Object.keys(child)])) {\n if (HOOK_OPTION_KEYS.has(key)) {\n merged[key] = mergeHook(parent[key], child[key])\n }\n }\n\n if (Array.isArray(parent.emits) || Array.isArray(child.emits)) {\n merged.emits = mergeArray(parent.emits, child.emits)\n }\n if (Array.isArray(parent.expose) || Array.isArray(child.expose)) {\n merged.expose = mergeArray(parent.expose, child.expose)\n }\n return merged\n}\n\nfunction appendOptions(target: OptionRecord, source: unknown, seen: WeakSet<object>) {\n const sourceRecord = asRecord(source)\n if (!sourceRecord || seen.has(sourceRecord)) {\n return target\n }\n seen.add(sourceRecord)\n\n let merged = target\n merged = appendOptions(merged, sourceRecord.extends, seen)\n if (Array.isArray(sourceRecord.mixins)) {\n for (const mixin of sourceRecord.mixins) {\n merged = appendOptions(merged, mixin, seen)\n }\n }\n\n const {\n extends: _extends,\n mixins: _mixins,\n ...ownOptions\n } = sourceRecord\n return mergeOptions(merged, ownOptions)\n}\n\n/**\n * 将 Vue Options API 的 extends/mixins 展开为单一组件选项。\n */\nexport function resolveVueComponentOptions<T extends ComponentOptions>(options: T): T {\n return appendOptions({}, options, new WeakSet()) as T\n}\n"],"mappings":"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"}
|
|
@@ -62,7 +62,7 @@ function applyNullableTransportOptions(target, definition, allowNullPropInput) {
|
|
|
62
62
|
const candidates = collectNativePropertyTypeCandidates(definitionRecord ? [definitionRecord.type, definitionRecord.optionalTypes] : definition);
|
|
63
63
|
const explicitlyNullable = candidates.includes(null);
|
|
64
64
|
const acceptsMultipleNativeTypes = candidates.filter((candidate) => candidate !== null).length > 1;
|
|
65
|
-
const acceptsMissingInput =
|
|
65
|
+
const acceptsMissingInput = definitionRecord?.required !== true;
|
|
66
66
|
if (!explicitlyNullable && !acceptsMultipleNativeTypes && !acceptsMissingInput) return;
|
|
67
67
|
if (!explicitlyNullable) preserveImplicitNativeDefault(target);
|
|
68
68
|
target.type = null;
|
|
@@ -117,15 +117,14 @@ function normalizeVueProps(props, allowNullPropInput) {
|
|
|
117
117
|
return properties;
|
|
118
118
|
}
|
|
119
119
|
function normalizeProps(baseOptions, props, explicitProperties) {
|
|
120
|
-
|
|
121
|
-
const allowNullPropInput = Boolean((_ALLOW_NULL_PROP_INPU = baseOptions[ALLOW_NULL_PROP_INPUT_KEY]) !== null && _ALLOW_NULL_PROP_INPU !== void 0 ? _ALLOW_NULL_PROP_INPU : baseOptions[PUBLIC_ALLOW_NULL_PROP_INPUT_KEY]);
|
|
120
|
+
const allowNullPropInput = Boolean(baseOptions[ALLOW_NULL_PROP_INPUT_KEY] ?? baseOptions[PUBLIC_ALLOW_NULL_PROP_INPUT_KEY]);
|
|
122
121
|
const { [ALLOW_NULL_PROP_INPUT_KEY]: _ignoredAllowNullPropInput, [PUBLIC_ALLOW_NULL_PROP_INPUT_KEY]: _ignoredPublicAllowNullPropInput, ...normalizedBaseOptions } = baseOptions;
|
|
123
122
|
const baseProperties = baseOptions.properties;
|
|
124
123
|
const normalizedBaseProperties = baseProperties && typeof baseProperties === "object" && Object.keys(baseProperties).length > 0 ? baseProperties : void 0;
|
|
125
|
-
const resolvedExplicit = explicitProperties
|
|
124
|
+
const resolvedExplicit = explicitProperties ?? normalizedBaseProperties;
|
|
126
125
|
const shouldAttachInternalProps = Boolean(props || resolvedExplicit);
|
|
127
126
|
const attachInternalProps = (source) => {
|
|
128
|
-
const next = { ...source
|
|
127
|
+
const next = { ...source ?? {} };
|
|
129
128
|
if (!shouldAttachInternalProps) return next;
|
|
130
129
|
if (!hasOwn(next, WEVU_SLOT_OWNER_ID_PROP)) next[WEVU_SLOT_OWNER_ID_PROP] = {
|
|
131
130
|
type: String,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"props.mjs","names":[],"sources":["../../../../src/runtime/define/props.ts"],"sourcesContent":["import type {\n ComponentPropsOptions,\n MiniProgramComponentPropertyOption,\n MiniProgramComponentShortProperty,\n} from '../types'\nimport {\n WEVU_SLOT_NAMES_PROP,\n WEVU_SLOT_OWNER_ID_PROP,\n WEVU_SLOT_SCOPE_KEY,\n} from '@weapp-core/constants'\nimport { hasOwn } from '../../utils'\n\nconst ALLOW_NULL_PROP_INPUT_KEY = '__wevu_allowNullPropInput'\nconst PUBLIC_ALLOW_NULL_PROP_INPUT_KEY = 'allowNullPropInput'\n\ntype NormalizedNativePropertyType = MiniProgramComponentShortProperty | FunctionConstructor | null\n\nconst NATIVE_PROPERTY_TYPE_MAP = new Map<unknown, NormalizedNativePropertyType>([\n [String, String],\n [Number, Number],\n [Boolean, Boolean],\n [Object, Object],\n [Array, Array],\n [Function, Function],\n ['String', String],\n ['Number', Number],\n ['Boolean', Boolean],\n ['Object', Object],\n ['Array', Array],\n ['Function', Function],\n [null, null],\n ['null', null],\n ['Null', null],\n])\n\nfunction toNativePropertyType(candidate: unknown) {\n return NATIVE_PROPERTY_TYPE_MAP.get(candidate)\n}\n\nfunction collectNativePropertyTypeCandidates(\n raw: unknown,\n normalized: NormalizedNativePropertyType[] = [],\n) {\n if (Array.isArray(raw)) {\n for (const item of raw) {\n collectNativePropertyTypeCandidates(item, normalized)\n }\n return normalized\n }\n const mapped = toNativePropertyType(raw)\n if (mapped !== undefined && !normalized.includes(mapped)) {\n normalized.push(mapped)\n }\n return normalized\n}\n\nfunction normalizeTypeCandidates(raw: unknown) {\n if (raw === undefined) {\n return []\n }\n const normalized = collectNativePropertyTypeCandidates(raw)\n const requiredNativeTypes = normalized.filter((item): item is Exclude<NormalizedNativePropertyType, null> => item !== null)\n if (requiredNativeTypes.length > 0) {\n return requiredNativeTypes\n }\n return [null]\n}\n\nfunction applyTypeOptions(target: Record<string, unknown>, rawType: unknown) {\n const candidates = normalizeTypeCandidates(rawType)\n if (candidates.length === 0) {\n return\n }\n\n target.type = candidates[0]\n if (candidates.length > 1) {\n const optionalTypes: NormalizedNativePropertyType[] = []\n for (const candidate of candidates.slice(1)) {\n if (!optionalTypes.includes(candidate)) {\n optionalTypes.push(candidate)\n }\n }\n if (optionalTypes.length > 0) {\n target.optionalTypes = optionalTypes\n }\n }\n}\n\nfunction preserveImplicitNativeDefault(target: Record<string, unknown>) {\n if (hasOwn(target, 'value')) {\n return\n }\n if (target.type === String) {\n target.value = ''\n }\n else if (target.type === Number) {\n target.value = 0\n }\n else if (target.type === Boolean) {\n target.value = false\n }\n else if (target.type === Array) {\n target.value = []\n }\n}\n\nfunction applyNullableTransportOptions(\n target: Record<string, unknown>,\n definition: unknown,\n allowNullPropInput: boolean,\n) {\n if (!allowNullPropInput || target.type === null) {\n return\n }\n const definitionRecord = definition && typeof definition === 'object' && !Array.isArray(definition)\n ? (definition as Record<string, unknown>)\n : undefined\n const candidates = collectNativePropertyTypeCandidates(\n definitionRecord\n ? [definitionRecord.type, definitionRecord.optionalTypes]\n : definition,\n )\n const explicitlyNullable = candidates.includes(null)\n const nativeTypes = candidates.filter(candidate => candidate !== null)\n const acceptsMultipleNativeTypes = nativeTypes.length > 1\n const acceptsMissingInput = definitionRecord?.required !== true\n // glass-easel 会先按主 type 校验并转换,optionalTypes 无法保护合法的联合值与空值传输。\n if (!explicitlyNullable && !acceptsMultipleNativeTypes && !acceptsMissingInput) {\n return\n }\n\n // 显式声明的 null 必须保持可观察;其余降级场景则保留原主类型的宿主隐式默认值。\n if (!explicitlyNullable) {\n preserveImplicitNativeDefault(target)\n }\n target.type = null\n delete target.optionalTypes\n}\n\nfunction normalizeVueProps(\n props: ComponentPropsOptions | undefined,\n allowNullPropInput: boolean,\n) {\n const properties: Record<string, any> = {}\n if (!props) {\n return properties\n }\n\n Object.entries(props).forEach(([key, definition]) => {\n if (definition === undefined) {\n return\n }\n if (definition === null) {\n properties[key] = { type: null }\n return\n }\n if (Array.isArray(definition) || typeof definition === 'function') {\n const propOptions: Record<string, unknown> = {}\n applyTypeOptions(propOptions, definition)\n if (!hasOwn(propOptions, 'type')) {\n propOptions.type = null\n }\n applyNullableTransportOptions(propOptions, definition, allowNullPropInput)\n properties[key] = propOptions\n return\n }\n if (typeof definition === 'object') {\n // 在 Vue <script setup> 中,defineModel() 会生成空的 modifiers props。\n if (key.endsWith('Modifiers') && Object.keys(definition).length === 0) {\n properties[key] = { type: Object, value: {} }\n return\n }\n const propOptions: Record<string, unknown> = {}\n if ('type' in definition && definition.type !== undefined) {\n applyTypeOptions(propOptions, (definition as any).type)\n }\n if (Array.isArray((definition as any).optionalTypes)) {\n const optionalTypes = (definition as any).optionalTypes.map((item: unknown) => toNativePropertyType(item)).filter((item: unknown): item is Exclude<NormalizedNativePropertyType, null> => item !== undefined && item !== null)\n if (optionalTypes.length > 0) {\n const existingOptionalTypes = Array.isArray(propOptions.optionalTypes)\n ? propOptions.optionalTypes as NormalizedNativePropertyType[]\n : []\n for (const optionalType of optionalTypes) {\n if (optionalType === propOptions.type) {\n continue\n }\n if (!existingOptionalTypes.includes(optionalType)) {\n existingOptionalTypes.push(optionalType)\n }\n }\n if (existingOptionalTypes.length > 0) {\n propOptions.optionalTypes = existingOptionalTypes\n }\n }\n }\n if ('observer' in definition && (typeof (definition as any).observer === 'function' || typeof (definition as any).observer === 'string')) {\n propOptions.observer = (definition as any).observer\n }\n const defaultValue = 'default' in definition ? (definition as any).default : (definition as any).value\n if (defaultValue !== undefined) {\n propOptions.value = typeof defaultValue === 'function' ? (defaultValue as any)() : defaultValue\n }\n if (!hasOwn(propOptions, 'type')) {\n propOptions.type = null\n }\n applyNullableTransportOptions(propOptions, definition, allowNullPropInput)\n properties[key] = propOptions\n }\n })\n\n return properties\n}\n\nexport function normalizeProps(\n baseOptions: Record<string, any>,\n props?: ComponentPropsOptions,\n explicitProperties?: MiniProgramComponentPropertyOption,\n) {\n const allowNullPropInput = Boolean(\n (baseOptions as any)[ALLOW_NULL_PROP_INPUT_KEY]\n ?? (baseOptions as any)[PUBLIC_ALLOW_NULL_PROP_INPUT_KEY],\n )\n const {\n [ALLOW_NULL_PROP_INPUT_KEY]: _ignoredAllowNullPropInput,\n [PUBLIC_ALLOW_NULL_PROP_INPUT_KEY]: _ignoredPublicAllowNullPropInput,\n ...normalizedBaseOptions\n } = baseOptions\n const baseProperties = (baseOptions as any).properties\n const normalizedBaseProperties = baseProperties && typeof baseProperties === 'object' && Object.keys(baseProperties).length > 0\n ? (baseProperties as any)\n : undefined\n const resolvedExplicit = explicitProperties\n ?? normalizedBaseProperties\n const shouldAttachInternalProps = Boolean(props || resolvedExplicit)\n const attachInternalProps = (source?: Record<string, any>) => {\n const next = { ...(source ?? {}) }\n if (!shouldAttachInternalProps) {\n return next\n }\n if (!hasOwn(next, WEVU_SLOT_OWNER_ID_PROP)) {\n next[WEVU_SLOT_OWNER_ID_PROP] = { type: String, value: '' }\n }\n if (!hasOwn(next, WEVU_SLOT_SCOPE_KEY)) {\n next[WEVU_SLOT_SCOPE_KEY] = { type: null, value: null }\n }\n if (!hasOwn(next, WEVU_SLOT_NAMES_PROP)) {\n next[WEVU_SLOT_NAMES_PROP] = { type: null, value: null }\n }\n return next\n }\n\n if (resolvedExplicit) {\n const {\n properties: _ignored,\n ...rest\n } = normalizedBaseOptions\n const normalizedExplicitProperties = resolvedExplicit\n const normalizedVueProps = normalizeVueProps(props, allowNullPropInput)\n return {\n ...rest,\n properties: attachInternalProps({\n ...normalizedVueProps,\n ...normalizedExplicitProperties,\n }),\n }\n }\n\n return {\n ...normalizedBaseOptions,\n properties: attachInternalProps(normalizeVueProps(props, allowNullPropInput)),\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"props.mjs","names":[],"sources":["../../../../src/runtime/define/props.ts"],"sourcesContent":["import type {\n ComponentPropsOptions,\n MiniProgramComponentPropertyOption,\n MiniProgramComponentShortProperty,\n} from '../types'\nimport {\n WEVU_SLOT_NAMES_PROP,\n WEVU_SLOT_OWNER_ID_PROP,\n WEVU_SLOT_SCOPE_KEY,\n} from '@weapp-core/constants'\nimport { hasOwn } from '../../utils'\n\nconst ALLOW_NULL_PROP_INPUT_KEY = '__wevu_allowNullPropInput'\nconst PUBLIC_ALLOW_NULL_PROP_INPUT_KEY = 'allowNullPropInput'\n\ntype NormalizedNativePropertyType = MiniProgramComponentShortProperty | FunctionConstructor | null\n\nconst NATIVE_PROPERTY_TYPE_MAP = new Map<unknown, NormalizedNativePropertyType>([\n [String, String],\n [Number, Number],\n [Boolean, Boolean],\n [Object, Object],\n [Array, Array],\n [Function, Function],\n ['String', String],\n ['Number', Number],\n ['Boolean', Boolean],\n ['Object', Object],\n ['Array', Array],\n ['Function', Function],\n [null, null],\n ['null', null],\n ['Null', null],\n])\n\nfunction toNativePropertyType(candidate: unknown) {\n return NATIVE_PROPERTY_TYPE_MAP.get(candidate)\n}\n\nfunction collectNativePropertyTypeCandidates(\n raw: unknown,\n normalized: NormalizedNativePropertyType[] = [],\n) {\n if (Array.isArray(raw)) {\n for (const item of raw) {\n collectNativePropertyTypeCandidates(item, normalized)\n }\n return normalized\n }\n const mapped = toNativePropertyType(raw)\n if (mapped !== undefined && !normalized.includes(mapped)) {\n normalized.push(mapped)\n }\n return normalized\n}\n\nfunction normalizeTypeCandidates(raw: unknown) {\n if (raw === undefined) {\n return []\n }\n const normalized = collectNativePropertyTypeCandidates(raw)\n const requiredNativeTypes = normalized.filter((item): item is Exclude<NormalizedNativePropertyType, null> => item !== null)\n if (requiredNativeTypes.length > 0) {\n return requiredNativeTypes\n }\n return [null]\n}\n\nfunction applyTypeOptions(target: Record<string, unknown>, rawType: unknown) {\n const candidates = normalizeTypeCandidates(rawType)\n if (candidates.length === 0) {\n return\n }\n\n target.type = candidates[0]\n if (candidates.length > 1) {\n const optionalTypes: NormalizedNativePropertyType[] = []\n for (const candidate of candidates.slice(1)) {\n if (!optionalTypes.includes(candidate)) {\n optionalTypes.push(candidate)\n }\n }\n if (optionalTypes.length > 0) {\n target.optionalTypes = optionalTypes\n }\n }\n}\n\nfunction preserveImplicitNativeDefault(target: Record<string, unknown>) {\n if (hasOwn(target, 'value')) {\n return\n }\n if (target.type === String) {\n target.value = ''\n }\n else if (target.type === Number) {\n target.value = 0\n }\n else if (target.type === Boolean) {\n target.value = false\n }\n else if (target.type === Array) {\n target.value = []\n }\n}\n\nfunction applyNullableTransportOptions(\n target: Record<string, unknown>,\n definition: unknown,\n allowNullPropInput: boolean,\n) {\n if (!allowNullPropInput || target.type === null) {\n return\n }\n const definitionRecord = definition && typeof definition === 'object' && !Array.isArray(definition)\n ? (definition as Record<string, unknown>)\n : undefined\n const candidates = collectNativePropertyTypeCandidates(\n definitionRecord\n ? [definitionRecord.type, definitionRecord.optionalTypes]\n : definition,\n )\n const explicitlyNullable = candidates.includes(null)\n const nativeTypes = candidates.filter(candidate => candidate !== null)\n const acceptsMultipleNativeTypes = nativeTypes.length > 1\n const acceptsMissingInput = definitionRecord?.required !== true\n // glass-easel 会先按主 type 校验并转换,optionalTypes 无法保护合法的联合值与空值传输。\n if (!explicitlyNullable && !acceptsMultipleNativeTypes && !acceptsMissingInput) {\n return\n }\n\n // 显式声明的 null 必须保持可观察;其余降级场景则保留原主类型的宿主隐式默认值。\n if (!explicitlyNullable) {\n preserveImplicitNativeDefault(target)\n }\n target.type = null\n delete target.optionalTypes\n}\n\nfunction normalizeVueProps(\n props: ComponentPropsOptions | undefined,\n allowNullPropInput: boolean,\n) {\n const properties: Record<string, any> = {}\n if (!props) {\n return properties\n }\n\n Object.entries(props).forEach(([key, definition]) => {\n if (definition === undefined) {\n return\n }\n if (definition === null) {\n properties[key] = { type: null }\n return\n }\n if (Array.isArray(definition) || typeof definition === 'function') {\n const propOptions: Record<string, unknown> = {}\n applyTypeOptions(propOptions, definition)\n if (!hasOwn(propOptions, 'type')) {\n propOptions.type = null\n }\n applyNullableTransportOptions(propOptions, definition, allowNullPropInput)\n properties[key] = propOptions\n return\n }\n if (typeof definition === 'object') {\n // 在 Vue <script setup> 中,defineModel() 会生成空的 modifiers props。\n if (key.endsWith('Modifiers') && Object.keys(definition).length === 0) {\n properties[key] = { type: Object, value: {} }\n return\n }\n const propOptions: Record<string, unknown> = {}\n if ('type' in definition && definition.type !== undefined) {\n applyTypeOptions(propOptions, (definition as any).type)\n }\n if (Array.isArray((definition as any).optionalTypes)) {\n const optionalTypes = (definition as any).optionalTypes.map((item: unknown) => toNativePropertyType(item)).filter((item: unknown): item is Exclude<NormalizedNativePropertyType, null> => item !== undefined && item !== null)\n if (optionalTypes.length > 0) {\n const existingOptionalTypes = Array.isArray(propOptions.optionalTypes)\n ? propOptions.optionalTypes as NormalizedNativePropertyType[]\n : []\n for (const optionalType of optionalTypes) {\n if (optionalType === propOptions.type) {\n continue\n }\n if (!existingOptionalTypes.includes(optionalType)) {\n existingOptionalTypes.push(optionalType)\n }\n }\n if (existingOptionalTypes.length > 0) {\n propOptions.optionalTypes = existingOptionalTypes\n }\n }\n }\n if ('observer' in definition && (typeof (definition as any).observer === 'function' || typeof (definition as any).observer === 'string')) {\n propOptions.observer = (definition as any).observer\n }\n const defaultValue = 'default' in definition ? (definition as any).default : (definition as any).value\n if (defaultValue !== undefined) {\n propOptions.value = typeof defaultValue === 'function' ? (defaultValue as any)() : defaultValue\n }\n if (!hasOwn(propOptions, 'type')) {\n propOptions.type = null\n }\n applyNullableTransportOptions(propOptions, definition, allowNullPropInput)\n properties[key] = propOptions\n }\n })\n\n return properties\n}\n\nexport function normalizeProps(\n baseOptions: Record<string, any>,\n props?: ComponentPropsOptions,\n explicitProperties?: MiniProgramComponentPropertyOption,\n) {\n const allowNullPropInput = Boolean(\n (baseOptions as any)[ALLOW_NULL_PROP_INPUT_KEY]\n ?? (baseOptions as any)[PUBLIC_ALLOW_NULL_PROP_INPUT_KEY],\n )\n const {\n [ALLOW_NULL_PROP_INPUT_KEY]: _ignoredAllowNullPropInput,\n [PUBLIC_ALLOW_NULL_PROP_INPUT_KEY]: _ignoredPublicAllowNullPropInput,\n ...normalizedBaseOptions\n } = baseOptions\n const baseProperties = (baseOptions as any).properties\n const normalizedBaseProperties = baseProperties && typeof baseProperties === 'object' && Object.keys(baseProperties).length > 0\n ? (baseProperties as any)\n : undefined\n const resolvedExplicit = explicitProperties\n ?? normalizedBaseProperties\n const shouldAttachInternalProps = Boolean(props || resolvedExplicit)\n const attachInternalProps = (source?: Record<string, any>) => {\n const next = { ...(source ?? {}) }\n if (!shouldAttachInternalProps) {\n return next\n }\n if (!hasOwn(next, WEVU_SLOT_OWNER_ID_PROP)) {\n next[WEVU_SLOT_OWNER_ID_PROP] = { type: String, value: '' }\n }\n if (!hasOwn(next, WEVU_SLOT_SCOPE_KEY)) {\n next[WEVU_SLOT_SCOPE_KEY] = { type: null, value: null }\n }\n if (!hasOwn(next, WEVU_SLOT_NAMES_PROP)) {\n next[WEVU_SLOT_NAMES_PROP] = { type: null, value: null }\n }\n return next\n }\n\n if (resolvedExplicit) {\n const {\n properties: _ignored,\n ...rest\n } = normalizedBaseOptions\n const normalizedExplicitProperties = resolvedExplicit\n const normalizedVueProps = normalizeVueProps(props, allowNullPropInput)\n return {\n ...rest,\n properties: attachInternalProps({\n ...normalizedVueProps,\n ...normalizedExplicitProperties,\n }),\n }\n }\n\n return {\n ...normalizedBaseOptions,\n properties: attachInternalProps(normalizeVueProps(props, allowNullPropInput)),\n }\n}\n"],"mappings":"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"}
|