wevu 6.18.6 → 6.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/defineProperty.mjs +1 -0
- package/dist/_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/toPrimitive.mjs +1 -0
- package/dist/_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/toPropertyKey.mjs +1 -0
- package/dist/_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/typeof.mjs +1 -0
- package/dist/{rolldown-runtime-CenpyGzJ.mjs → _virtual/_rolldown/runtime.mjs} +1 -1
- package/dist/dev/_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/defineProperty.mjs +14 -0
- package/dist/dev/_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/toPrimitive.mjs +16 -0
- package/dist/dev/_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/toPropertyKey.mjs +11 -0
- package/dist/dev/_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/typeof.mjs +12 -0
- package/dist/dev/{rolldown-runtime-BUUfjzRC.mjs → _virtual/_rolldown/runtime.mjs} +1 -1
- package/dist/dev/index.mjs +49 -10
- package/dist/dev/internal-reactivity.mjs +15 -5
- package/dist/dev/internal-runtime.mjs +32 -4
- package/dist/dev/internal-template.mjs +1 -1
- package/dist/dev/package.mjs +6 -0
- package/dist/dev/package.mjs.map +1 -0
- package/dist/dev/reactivity/computed.mjs +49 -0
- package/dist/dev/reactivity/computed.mjs.map +1 -0
- package/dist/dev/reactivity/core.mjs +184 -0
- package/dist/dev/reactivity/core.mjs.map +1 -0
- package/dist/dev/reactivity/reactive/mutation.mjs +12 -0
- package/dist/dev/reactivity/reactive/mutation.mjs.map +1 -0
- package/dist/dev/{computed-BxRsUJgi.mjs → reactivity/reactive/patch.mjs} +6 -48
- package/dist/dev/reactivity/reactive/patch.mjs.map +1 -0
- package/dist/dev/reactivity/reactive/patchState.mjs +138 -0
- package/dist/dev/reactivity/reactive/patchState.mjs.map +1 -0
- package/dist/dev/reactivity/reactive/shallow.mjs +77 -0
- package/dist/dev/reactivity/reactive/shallow.mjs.map +1 -0
- package/dist/dev/reactivity/reactive/shared.mjs +40 -0
- package/dist/dev/reactivity/reactive/shared.mjs.map +1 -0
- package/dist/dev/reactivity/reactive/state.mjs +8 -0
- package/dist/dev/reactivity/reactive/state.mjs.map +1 -0
- package/dist/dev/reactivity/reactive.mjs +212 -0
- package/dist/dev/reactivity/reactive.mjs.map +1 -0
- package/dist/dev/reactivity/readonly.mjs +69 -0
- package/dist/dev/reactivity/readonly.mjs.map +1 -0
- package/dist/dev/reactivity/ref.mjs +97 -0
- package/dist/dev/reactivity/ref.mjs.map +1 -0
- package/dist/dev/reactivity/shallowRef.mjs +71 -0
- package/dist/dev/reactivity/shallowRef.mjs.map +1 -0
- package/dist/dev/{toRefs-D06VmFK2.mjs → reactivity/toRefs.mjs} +4 -3
- package/dist/dev/reactivity/toRefs.mjs.map +1 -0
- package/dist/dev/reactivity/traverse.mjs +40 -0
- package/dist/dev/reactivity/traverse.mjs.map +1 -0
- package/dist/dev/reactivity/watch/helpers.mjs +78 -0
- package/dist/dev/reactivity/watch/helpers.mjs.map +1 -0
- package/dist/dev/reactivity/watch/types.mjs +20 -0
- package/dist/dev/reactivity/watch/types.mjs.map +1 -0
- package/dist/dev/reactivity/watch.mjs +167 -0
- package/dist/dev/reactivity/watch.mjs.map +1 -0
- package/dist/dev/router/backNavigation.mjs +32 -0
- package/dist/dev/router/backNavigation.mjs.map +1 -0
- package/dist/dev/router/createRouter.mjs +176 -0
- package/dist/dev/router/createRouter.mjs.map +1 -0
- package/dist/dev/router/instance.mjs +17 -0
- package/dist/dev/router/instance.mjs.map +1 -0
- package/dist/dev/router/navigationApi.mjs +94 -0
- package/dist/dev/router/navigationApi.mjs.map +1 -0
- package/dist/dev/router/navigationCore.mjs +139 -0
- package/dist/dev/router/navigationCore.mjs.map +1 -0
- package/dist/dev/router/navigationResult.mjs +54 -0
- package/dist/dev/router/navigationResult.mjs.map +1 -0
- package/dist/dev/router/navigationTarget.mjs +121 -0
- package/dist/dev/router/navigationTarget.mjs.map +1 -0
- package/dist/dev/router/navigationTargetHelpers.mjs +38 -0
- package/dist/dev/router/navigationTargetHelpers.mjs.map +1 -0
- package/dist/dev/router/resolve.mjs +22 -0
- package/dist/dev/router/resolve.mjs.map +1 -0
- package/dist/dev/router/routeRegistry.mjs +78 -0
- package/dist/dev/router/routeRegistry.mjs.map +1 -0
- package/dist/dev/router/routeSync.mjs +72 -0
- package/dist/dev/router/routeSync.mjs.map +1 -0
- package/dist/dev/router/types.mjs +11 -0
- package/dist/dev/router/types.mjs.map +1 -0
- package/dist/dev/router/useRoute.mjs +106 -0
- package/dist/dev/router/useRoute.mjs.map +1 -0
- package/dist/dev/router/useRouter.mjs +15 -0
- package/dist/dev/router/useRouter.mjs.map +1 -0
- package/dist/dev/router.mjs +9 -1316
- package/dist/dev/routerInternal/location.mjs +66 -0
- package/dist/dev/routerInternal/location.mjs.map +1 -0
- package/dist/dev/routerInternal/matching.mjs +149 -0
- package/dist/dev/routerInternal/matching.mjs.map +1 -0
- package/dist/dev/routerInternal/params.mjs +95 -0
- package/dist/dev/routerInternal/params.mjs.map +1 -0
- package/dist/dev/routerInternal/path.mjs +42 -0
- package/dist/dev/routerInternal/path.mjs.map +1 -0
- package/dist/dev/routerInternal/query.mjs +113 -0
- package/dist/dev/routerInternal/query.mjs.map +1 -0
- package/dist/dev/routerInternal/records.mjs +172 -0
- package/dist/dev/routerInternal/records.mjs.map +1 -0
- package/dist/dev/routerInternal/recordsWarnings.mjs +49 -0
- package/dist/dev/routerInternal/recordsWarnings.mjs.map +1 -0
- package/dist/dev/routerInternal/snapshots.mjs +126 -0
- package/dist/dev/routerInternal/snapshots.mjs.map +1 -0
- package/dist/dev/runtime/app/computed.mjs +68 -0
- package/dist/dev/runtime/app/computed.mjs.map +1 -0
- package/dist/dev/runtime/app/context.mjs +275 -0
- package/dist/dev/runtime/app/context.mjs.map +1 -0
- package/dist/dev/runtime/app/diagnostics.mjs +34 -0
- package/dist/dev/runtime/app/diagnostics.mjs.map +1 -0
- package/dist/dev/runtime/app/mount.mjs +269 -0
- package/dist/dev/runtime/app/mount.mjs.map +1 -0
- package/dist/dev/runtime/app/pending.mjs +14 -0
- package/dist/dev/runtime/app/pending.mjs.map +1 -0
- package/dist/dev/runtime/app/setData/patchScheduler.mjs +158 -0
- package/dist/dev/runtime/app/setData/patchScheduler.mjs.map +1 -0
- package/dist/dev/runtime/app/setData/payload.mjs +161 -0
- package/dist/dev/runtime/app/setData/payload.mjs.map +1 -0
- package/dist/dev/runtime/app/setData/scheduler.mjs +313 -0
- package/dist/dev/runtime/app/setData/scheduler.mjs.map +1 -0
- package/dist/dev/runtime/app/setData/snapshot.mjs +129 -0
- package/dist/dev/runtime/app/setData/snapshot.mjs.map +1 -0
- package/dist/dev/runtime/app/setDataOptions.mjs +73 -0
- package/dist/dev/runtime/app/setDataOptions.mjs.map +1 -0
- package/dist/dev/runtime/app.mjs +93 -0
- package/dist/dev/runtime/app.mjs.map +1 -0
- package/dist/dev/runtime/bindModel.mjs +92 -0
- package/dist/dev/runtime/bindModel.mjs.map +1 -0
- package/dist/dev/runtime/defaults.mjs +61 -0
- package/dist/dev/runtime/defaults.mjs.map +1 -0
- package/dist/dev/runtime/define/initialComputed.mjs +125 -0
- package/dist/dev/runtime/define/initialComputed.mjs.map +1 -0
- package/dist/dev/runtime/define/options.mjs +169 -0
- package/dist/dev/runtime/define/options.mjs.map +1 -0
- package/dist/dev/runtime/define/optionsApi.mjs +48 -0
- package/dist/dev/runtime/define/optionsApi.mjs.map +1 -0
- package/dist/dev/runtime/define/props.mjs +194 -0
- package/dist/dev/runtime/define/props.mjs.map +1 -0
- package/dist/dev/runtime/define/scopedSlotOptions.mjs +313 -0
- package/dist/dev/runtime/define/scopedSlotOptions.mjs.map +1 -0
- package/dist/dev/runtime/define/setupResult.mjs +78 -0
- package/dist/dev/runtime/define/setupResult.mjs.map +1 -0
- package/dist/dev/runtime/define.mjs +140 -0
- package/dist/dev/runtime/define.mjs.map +1 -0
- package/dist/dev/runtime/diff.mjs +193 -0
- package/dist/dev/runtime/diff.mjs.map +1 -0
- package/dist/dev/runtime/disposables.mjs +81 -0
- package/dist/dev/runtime/disposables.mjs.map +1 -0
- package/dist/dev/runtime/elementIntersectionObserver.mjs +80 -0
- package/dist/dev/runtime/elementIntersectionObserver.mjs.map +1 -0
- package/dist/dev/runtime/emit.mjs +36 -0
- package/dist/dev/runtime/emit.mjs.map +1 -0
- package/dist/dev/{base-CYkvI7w8.mjs → runtime/hooks/base.mjs} +3 -140
- package/dist/dev/runtime/hooks/base.mjs.map +1 -0
- package/dist/dev/runtime/hooks/register.mjs +92 -0
- package/dist/dev/runtime/hooks/register.mjs.map +1 -0
- package/dist/dev/runtime/hooks/vue.mjs +81 -0
- package/dist/dev/runtime/hooks/vue.mjs.map +1 -0
- package/dist/dev/runtime/internal.mjs +18 -0
- package/dist/dev/runtime/internal.mjs.map +1 -0
- package/dist/dev/runtime/intersectionObserver.mjs +46 -0
- package/dist/dev/runtime/intersectionObserver.mjs.map +1 -0
- package/dist/dev/runtime/layoutBridge.mjs +303 -0
- package/dist/dev/runtime/layoutBridge.mjs.map +1 -0
- package/dist/dev/runtime/layoutComponentMatcher.mjs +11 -0
- package/dist/dev/runtime/layoutComponentMatcher.mjs.map +1 -0
- package/dist/dev/runtime/nativeBridge.mjs +21 -0
- package/dist/dev/runtime/nativeBridge.mjs.map +1 -0
- package/dist/dev/runtime/noSetData.mjs +18 -0
- package/dist/dev/runtime/noSetData.mjs.map +1 -0
- package/dist/dev/runtime/pageEnvironment.mjs +100 -0
- package/dist/dev/runtime/pageEnvironment.mjs.map +1 -0
- package/dist/dev/runtime/pageLayout.mjs +71 -0
- package/dist/dev/runtime/pageLayout.mjs.map +1 -0
- package/dist/dev/runtime/pageScroll.mjs +110 -0
- package/dist/dev/runtime/pageScroll.mjs.map +1 -0
- package/dist/dev/runtime/platform.mjs +77 -0
- package/dist/dev/runtime/platform.mjs.map +1 -0
- package/dist/dev/runtime/provide.mjs +71 -0
- package/dist/dev/runtime/provide.mjs.map +1 -0
- package/dist/dev/runtime/provideContext.mjs +101 -0
- package/dist/dev/runtime/provideContext.mjs.map +1 -0
- package/dist/dev/runtime/provideStore.mjs +18 -0
- package/dist/dev/runtime/provideStore.mjs.map +1 -0
- package/dist/dev/runtime/pullDownRefresh.mjs +24 -0
- package/dist/dev/runtime/pullDownRefresh.mjs.map +1 -0
- package/dist/dev/runtime/register/app.mjs +159 -0
- package/dist/dev/runtime/register/app.mjs.map +1 -0
- package/dist/dev/runtime/register/component/features.mjs +43 -0
- package/dist/dev/runtime/register/component/features.mjs.map +1 -0
- package/dist/dev/runtime/register/component/lifecycle/optionalHooks.mjs +64 -0
- package/dist/dev/runtime/register/component/lifecycle/optionalHooks.mjs.map +1 -0
- package/dist/dev/runtime/register/component/lifecycle/platform.mjs +95 -0
- package/dist/dev/runtime/register/component/lifecycle/platform.mjs.map +1 -0
- package/dist/dev/runtime/register/component/lifecycle.mjs +122 -0
- package/dist/dev/runtime/register/component/lifecycle.mjs.map +1 -0
- package/dist/dev/runtime/register/component/methods.mjs +80 -0
- package/dist/dev/runtime/register/component/methods.mjs.map +1 -0
- package/dist/dev/runtime/register/component/options.mjs +204 -0
- package/dist/dev/runtime/register/component/options.mjs.map +1 -0
- package/dist/dev/runtime/register/component/props.mjs +218 -0
- package/dist/dev/runtime/register/component/props.mjs.map +1 -0
- package/dist/dev/runtime/register/component/registerDefinition.mjs +290 -0
- package/dist/dev/runtime/register/component/registerDefinition.mjs.map +1 -0
- package/dist/dev/runtime/register/component.mjs +128 -0
- package/dist/dev/runtime/register/component.mjs.map +1 -0
- package/dist/dev/runtime/register/inline.mjs +145 -0
- package/dist/dev/runtime/register/inline.mjs.map +1 -0
- package/dist/dev/runtime/register/runtimeInstance/methodBridge.mjs +53 -0
- package/dist/dev/runtime/register/runtimeInstance/methodBridge.mjs.map +1 -0
- package/dist/dev/runtime/register/runtimeInstance/provideContext.mjs +34 -0
- package/dist/dev/runtime/register/runtimeInstance/provideContext.mjs.map +1 -0
- package/dist/dev/runtime/register/runtimeInstance/setupContext.mjs +230 -0
- package/dist/dev/runtime/register/runtimeInstance/setupContext.mjs.map +1 -0
- package/dist/dev/runtime/register/runtimeInstance/setupPhase.mjs +164 -0
- package/dist/dev/runtime/register/runtimeInstance/setupPhase.mjs.map +1 -0
- package/dist/dev/runtime/register/runtimeInstance/utils.mjs +122 -0
- package/dist/dev/runtime/register/runtimeInstance/utils.mjs.map +1 -0
- package/dist/dev/runtime/register/runtimeInstance.mjs +438 -0
- package/dist/dev/runtime/register/runtimeInstance.mjs.map +1 -0
- package/dist/dev/runtime/register/setDataFrequencyWarning.mjs +95 -0
- package/dist/dev/runtime/register/setDataFrequencyWarning.mjs.map +1 -0
- package/dist/dev/runtime/register/setup.mjs +22 -0
- package/dist/dev/runtime/register/setup.mjs.map +1 -0
- package/dist/dev/runtime/register/snapshot.mjs +17 -0
- package/dist/dev/runtime/register/snapshot.mjs.map +1 -0
- package/dist/dev/runtime/register/watch.mjs +57 -0
- package/dist/dev/runtime/register/watch.mjs.map +1 -0
- package/dist/dev/runtime/scopedSlots.mjs +115 -0
- package/dist/dev/runtime/scopedSlots.mjs.map +1 -0
- package/dist/dev/runtime/selectorQuery.mjs +49 -0
- package/dist/dev/runtime/selectorQuery.mjs.map +1 -0
- package/dist/dev/runtime/setupTracking.mjs +59 -0
- package/dist/dev/runtime/setupTracking.mjs.map +1 -0
- package/dist/dev/{template-n_iVr0ey.mjs → runtime/template.mjs} +7 -4
- package/dist/dev/runtime/template.mjs.map +1 -0
- package/dist/dev/runtime/templateRefs/helpers.mjs +254 -0
- package/dist/dev/runtime/templateRefs/helpers.mjs.map +1 -0
- package/dist/dev/runtime/templateRefs.mjs +162 -0
- package/dist/dev/runtime/templateRefs.mjs.map +1 -0
- package/dist/dev/runtime/uniAppHost.mjs +119 -0
- package/dist/dev/runtime/uniAppHost.mjs.map +1 -0
- package/dist/dev/runtime/updatePerformance.mjs +41 -0
- package/dist/dev/runtime/updatePerformance.mjs.map +1 -0
- package/dist/dev/runtime/use.mjs +25 -0
- package/dist/dev/runtime/use.mjs.map +1 -0
- package/dist/dev/runtime/vueCompat/context.mjs +25 -0
- package/dist/dev/runtime/vueCompat/context.mjs.map +1 -0
- package/dist/dev/runtime/vueCompat/model.mjs +118 -0
- package/dist/dev/runtime/vueCompat/model.mjs.map +1 -0
- package/dist/dev/runtime/vueCompat/router.mjs +124 -0
- package/dist/dev/runtime/vueCompat/router.mjs.map +1 -0
- package/dist/dev/runtime/vueCompat/templateRef.mjs +37 -0
- package/dist/dev/runtime/vueCompat/templateRef.mjs.map +1 -0
- package/dist/dev/scheduler.mjs +75 -0
- package/dist/dev/scheduler.mjs.map +1 -0
- package/dist/dev/store/actions.mjs +40 -0
- package/dist/dev/store/actions.mjs.map +1 -0
- package/dist/dev/store/base.mjs +56 -0
- package/dist/dev/store/base.mjs.map +1 -0
- package/dist/dev/store/define/optionsStyle.mjs +125 -0
- package/dist/dev/store/define/optionsStyle.mjs.map +1 -0
- package/dist/dev/store/define/setupStyle.mjs +145 -0
- package/dist/dev/store/define/setupStyle.mjs.map +1 -0
- package/dist/dev/store/define/shared.mjs +38 -0
- package/dist/dev/store/define/shared.mjs.map +1 -0
- package/dist/dev/store/define.mjs +23 -0
- package/dist/dev/store/define.mjs.map +1 -0
- package/dist/dev/store/manager.mjs +21 -0
- package/dist/dev/store/manager.mjs.map +1 -0
- package/dist/dev/store/storeToRefs.mjs +29 -0
- package/dist/dev/store/storeToRefs.mjs.map +1 -0
- package/dist/dev/store/utils.mjs +49 -0
- package/dist/dev/store/utils.mjs.map +1 -0
- package/dist/dev/store.mjs +3 -1
- package/dist/dev/utils.mjs +16 -0
- package/dist/dev/utils.mjs.map +1 -0
- package/dist/dev/version.mjs +8 -0
- package/dist/dev/version.mjs.map +1 -0
- package/dist/dev/vue-demi.mjs +49 -11
- package/dist/dev/vue-demi.mjs.map +1 -1
- package/dist/index.d.mts +71 -7
- package/dist/index.mjs +1 -1
- package/dist/internal-reactivity.d.mts +16 -2
- package/dist/internal-reactivity.mjs +1 -1
- package/dist/internal-runtime.d.mts +35 -2
- package/dist/internal-runtime.mjs +1 -1
- package/dist/internal-template.d.mts +1 -1
- package/dist/internal-template.mjs +1 -1
- package/dist/jsx-runtime.d.mts +1 -1
- package/dist/macros/shared.d.mts +81 -0
- package/dist/macros.d.mts +70 -0
- package/dist/package.mjs +1 -0
- package/dist/reactivity/computed.d.mts +21 -0
- package/dist/reactivity/computed.mjs +1 -0
- package/dist/reactivity/core.d.mts +34 -0
- package/dist/reactivity/core.mjs +1 -0
- package/dist/reactivity/index.d.mts +15 -0
- package/dist/reactivity/reactive/mutation.d.mts +21 -0
- package/dist/reactivity/reactive/mutation.mjs +1 -0
- package/dist/reactivity/reactive/patch.d.mts +18 -0
- package/dist/reactivity/reactive/patch.mjs +1 -0
- package/dist/reactivity/reactive/patchState.mjs +1 -0
- package/dist/reactivity/reactive/shallow.d.mts +22 -0
- package/dist/reactivity/reactive/shallow.mjs +1 -0
- package/dist/reactivity/reactive/shared.d.mts +4 -0
- package/dist/reactivity/reactive/shared.mjs +1 -0
- package/dist/reactivity/reactive/state.mjs +1 -0
- package/dist/reactivity/reactive.d.mts +41 -0
- package/dist/reactivity/reactive.mjs +1 -0
- package/dist/reactivity/readonly.d.mts +27 -0
- package/dist/reactivity/readonly.mjs +1 -0
- package/dist/reactivity/ref.d.mts +27 -0
- package/dist/reactivity/ref.mjs +1 -0
- package/dist/reactivity/shallowRef.d.mts +19 -0
- package/dist/reactivity/shallowRef.mjs +1 -0
- package/dist/reactivity/toRefs.d.mts +43 -0
- package/dist/reactivity/toRefs.mjs +1 -0
- package/dist/reactivity/traverse.d.mts +8 -0
- package/dist/reactivity/traverse.mjs +1 -0
- package/dist/reactivity/watch/helpers.mjs +1 -0
- package/dist/reactivity/watch/types.d.mts +43 -0
- package/dist/reactivity/watch/types.mjs +1 -0
- package/dist/reactivity/watch.d.mts +21 -0
- package/dist/reactivity/watch.mjs +1 -0
- package/dist/router/backNavigation.mjs +1 -0
- package/dist/router/createRouter.d.mts +8 -0
- package/dist/router/createRouter.mjs +1 -0
- package/dist/router/instance.mjs +1 -0
- package/dist/router/navigationApi.mjs +1 -0
- package/dist/router/navigationCore.d.mts +6 -0
- package/dist/router/navigationCore.mjs +1 -0
- package/dist/router/navigationResult.mjs +1 -0
- package/dist/router/navigationTarget.mjs +1 -0
- package/dist/router/navigationTargetHelpers.mjs +1 -0
- package/dist/router/resolve.d.mts +6 -0
- package/dist/router/resolve.mjs +1 -0
- package/dist/router/routeRegistry.mjs +1 -0
- package/dist/router/routeSync.d.mts +1 -0
- package/dist/router/routeSync.mjs +1 -0
- package/dist/router/types.d.mts +163 -0
- package/dist/router/types.mjs +1 -0
- package/dist/router/useRoute.d.mts +19 -0
- package/dist/router/useRoute.mjs +1 -0
- package/dist/router/useRouter.d.mts +8 -0
- package/dist/router/useRouter.mjs +1 -0
- package/dist/router.d.mts +9 -204
- package/dist/router.mjs +1 -1
- package/dist/routerInternal/location.mjs +1 -0
- package/dist/routerInternal/matching.mjs +1 -0
- package/dist/routerInternal/params.mjs +1 -0
- package/dist/routerInternal/path.mjs +1 -0
- package/dist/routerInternal/query.d.mts +7 -0
- package/dist/routerInternal/query.mjs +1 -0
- package/dist/routerInternal/records.mjs +1 -0
- package/dist/routerInternal/recordsWarnings.mjs +1 -0
- package/dist/routerInternal/snapshots.mjs +1 -0
- package/dist/routerInternal/types.d.mts +9 -0
- package/dist/runtime/app/computed.mjs +1 -0
- package/dist/runtime/app/context.mjs +1 -0
- package/dist/runtime/app/diagnostics.mjs +1 -0
- package/dist/runtime/app/mount.mjs +1 -0
- package/dist/runtime/app/pending.d.mts +10 -0
- package/dist/runtime/app/pending.mjs +1 -0
- package/dist/runtime/app/setData/patchScheduler.mjs +1 -0
- package/dist/runtime/app/setData/payload.mjs +1 -0
- package/dist/runtime/app/setData/scheduler.mjs +1 -0
- package/dist/runtime/app/setData/snapshot.mjs +1 -0
- package/dist/runtime/app/setDataOptions.mjs +1 -0
- package/dist/runtime/app.d.mts +8 -0
- package/dist/runtime/app.mjs +1 -0
- package/dist/runtime/bindModel.mjs +1 -0
- package/dist/runtime/defaults.d.mts +11 -0
- package/dist/runtime/defaults.mjs +1 -0
- package/dist/runtime/define/initialComputed.mjs +1 -0
- package/dist/runtime/define/options.mjs +1 -0
- package/dist/runtime/define/optionsApi.mjs +1 -0
- package/dist/runtime/define/props.mjs +1 -0
- package/dist/runtime/define/scopedSlotOptions.mjs +1 -0
- package/dist/runtime/define/setupResult.mjs +1 -0
- package/dist/runtime/define.d.mts +105 -0
- package/dist/runtime/define.mjs +1 -0
- package/dist/runtime/diff.mjs +1 -0
- package/dist/runtime/disposables.d.mts +31 -0
- package/dist/runtime/disposables.mjs +1 -0
- package/dist/runtime/elementIntersectionObserver.d.mts +26 -0
- package/dist/runtime/elementIntersectionObserver.mjs +1 -0
- package/dist/runtime/emit.mjs +1 -0
- package/dist/runtime/hooks/base.d.mts +27 -0
- package/dist/runtime/hooks/base.mjs +1 -0
- package/dist/runtime/hooks/register.d.mts +30 -0
- package/dist/runtime/hooks/register.mjs +1 -0
- package/dist/runtime/hooks/vue.d.mts +53 -0
- package/dist/runtime/hooks/vue.mjs +1 -0
- package/dist/runtime/hooks.d.mts +4 -0
- package/dist/runtime/index.d.mts +47 -0
- package/dist/runtime/internal.mjs +1 -0
- package/dist/runtime/intersectionObserver.d.mts +14 -0
- package/dist/runtime/intersectionObserver.mjs +1 -0
- package/dist/runtime/layoutBridge.d.mts +59 -0
- package/dist/runtime/layoutBridge.mjs +1 -0
- package/dist/runtime/layoutComponentMatcher.mjs +1 -0
- package/dist/runtime/nativeBridge.mjs +1 -0
- package/dist/runtime/noSetData.d.mts +5 -0
- package/dist/runtime/noSetData.mjs +1 -0
- package/dist/runtime/pageEnvironment.d.mts +50 -0
- package/dist/runtime/pageEnvironment.mjs +1 -0
- package/dist/runtime/pageLayout.d.mts +26 -0
- package/dist/runtime/pageLayout.mjs +1 -0
- package/dist/runtime/pageScroll.d.mts +29 -0
- package/dist/runtime/pageScroll.mjs +1 -0
- package/dist/runtime/platform.mjs +1 -0
- package/dist/runtime/provide.d.mts +59 -0
- package/dist/runtime/provide.mjs +1 -0
- package/dist/runtime/provideContext.mjs +1 -0
- package/dist/runtime/provideStore.d.mts +7 -0
- package/dist/runtime/provideStore.mjs +1 -0
- package/dist/runtime/pullDownRefresh.d.mts +12 -0
- package/dist/runtime/pullDownRefresh.mjs +1 -0
- package/dist/runtime/register/app.d.mts +14 -0
- package/dist/runtime/register/app.mjs +1 -0
- package/dist/runtime/register/component/features.mjs +1 -0
- package/dist/runtime/register/component/lifecycle/optionalHooks.mjs +1 -0
- package/dist/runtime/register/component/lifecycle/platform.mjs +1 -0
- package/dist/runtime/register/component/lifecycle.mjs +1 -0
- package/dist/runtime/register/component/methods.mjs +1 -0
- package/dist/runtime/register/component/options.mjs +1 -0
- package/dist/runtime/register/component/props.mjs +1 -0
- package/dist/runtime/register/component/registerDefinition.mjs +1 -0
- package/dist/runtime/register/component.d.mts +15 -0
- package/dist/runtime/register/component.mjs +1 -0
- package/dist/runtime/register/inline.d.mts +15 -0
- package/dist/runtime/register/inline.mjs +1 -0
- package/dist/runtime/register/runtimeInstance/methodBridge.mjs +1 -0
- package/dist/runtime/register/runtimeInstance/provideContext.mjs +1 -0
- package/dist/runtime/register/runtimeInstance/setupContext.mjs +1 -0
- package/dist/runtime/register/runtimeInstance/setupPhase.mjs +1 -0
- package/dist/runtime/register/runtimeInstance/utils.mjs +1 -0
- package/dist/runtime/register/runtimeInstance.d.mts +26 -0
- package/dist/runtime/register/runtimeInstance.mjs +1 -0
- package/dist/runtime/register/setDataFrequencyWarning.mjs +1 -0
- package/dist/runtime/register/setup.d.mts +11 -0
- package/dist/runtime/register/setup.mjs +1 -0
- package/dist/runtime/register/snapshot.mjs +1 -0
- package/dist/runtime/register/watch.d.mts +12 -0
- package/dist/runtime/register/watch.mjs +1 -0
- package/dist/runtime/register.d.mts +5 -0
- package/dist/runtime/scopedSlots.mjs +1 -0
- package/dist/runtime/selectorQuery.d.mts +54 -0
- package/dist/runtime/selectorQuery.mjs +1 -0
- package/dist/runtime/setupTracking.mjs +1 -0
- package/dist/{template-DE8e5dj_.d.mts → runtime/template.d.mts} +1 -1
- package/dist/runtime/template.mjs +1 -0
- package/dist/runtime/templateRefTypes.d.mts +7 -0
- package/dist/runtime/templateRefs/helpers.mjs +1 -0
- package/dist/runtime/templateRefs.d.mts +11 -0
- package/dist/runtime/templateRefs.mjs +1 -0
- package/dist/runtime/types/core.d.mts +35 -0
- package/dist/runtime/types/miniprogram.d.mts +80 -0
- package/dist/runtime/types/miniprogramHost.d.mts +44 -0
- package/dist/runtime/types/miniprogramHostSources.d.mts +112 -0
- package/dist/runtime/types/options.d.mts +136 -0
- package/dist/runtime/types/props/propTypes.d.mts +79 -0
- package/dist/runtime/types/props/router.d.mts +51 -0
- package/dist/runtime/types/props/setup.d.mts +96 -0
- package/dist/runtime/types/props.d.mts +4 -0
- package/dist/runtime/types/runtime.d.mts +59 -0
- package/dist/runtime/types/setData.d.mts +220 -0
- package/dist/runtime/types.d.mts +28 -0
- package/dist/runtime/uniAppHost.d.mts +8 -0
- package/dist/runtime/uniAppHost.mjs +1 -0
- package/dist/runtime/updatePerformance.d.mts +13 -0
- package/dist/runtime/updatePerformance.mjs +1 -0
- package/dist/runtime/use.d.mts +13 -0
- package/dist/runtime/use.mjs +1 -0
- package/dist/runtime/vueCompat/context.d.mts +8 -0
- package/dist/runtime/vueCompat/context.mjs +1 -0
- package/dist/runtime/vueCompat/model.d.mts +30 -0
- package/dist/runtime/vueCompat/model.mjs +1 -0
- package/dist/runtime/vueCompat/router.d.mts +28 -0
- package/dist/runtime/vueCompat/router.mjs +1 -0
- package/dist/runtime/vueCompat/templateRef.d.mts +9 -0
- package/dist/runtime/vueCompat/templateRef.mjs +1 -0
- package/dist/runtime/vueCompat.d.mts +5 -0
- package/dist/scheduler.d.mts +4 -0
- package/dist/scheduler.mjs +1 -0
- package/dist/store/actions.mjs +1 -0
- package/dist/store/base.mjs +1 -0
- package/dist/store/define/optionsStyle.mjs +1 -0
- package/dist/store/define/setupStyle.mjs +1 -0
- package/dist/store/define/shared.mjs +1 -0
- package/dist/store/define.d.mts +26 -0
- package/dist/store/define.mjs +1 -0
- package/dist/store/manager.d.mts +8 -0
- package/dist/store/manager.mjs +1 -0
- package/dist/store/storeToRefs.d.mts +13 -0
- package/dist/store/storeToRefs.mjs +1 -0
- package/dist/store/types.d.mts +70 -0
- package/dist/store/utils.mjs +1 -0
- package/dist/store.d.mts +4 -1
- package/dist/store.mjs +1 -1
- package/dist/utils.mjs +1 -0
- package/dist/version.d.mts +4 -0
- package/dist/version.mjs +1 -0
- package/dist/vue-augment.d.mts +6 -0
- package/dist/vue-demi.d.mts +67 -7
- package/dist/vue-demi.mjs +1 -1
- package/dist/vue-types.d.mts +18 -0
- package/dist/weappIntrinsicElements/base.d.mts +22 -0
- package/dist/weappIntrinsicElements/elements/ad-custom.d.mts +13 -0
- package/dist/weappIntrinsicElements/elements/ad.d.mts +16 -0
- package/dist/weappIntrinsicElements/elements/audio.d.mts +20 -0
- package/dist/weappIntrinsicElements/elements/block.d.mts +8 -0
- package/dist/weappIntrinsicElements/elements/button.d.mts +40 -0
- package/dist/weappIntrinsicElements/elements/camera.d.mts +18 -0
- package/dist/weappIntrinsicElements/elements/canvas.d.mts +18 -0
- package/dist/weappIntrinsicElements/elements/checkbox-group.d.mts +13 -0
- package/dist/weappIntrinsicElements/elements/checkbox.d.mts +13 -0
- package/dist/weappIntrinsicElements/elements/cover-image.d.mts +10 -0
- package/dist/weappIntrinsicElements/elements/cover-view.d.mts +10 -0
- package/dist/weappIntrinsicElements/elements/editor.d.mts +22 -0
- package/dist/weappIntrinsicElements/elements/form.d.mts +16 -0
- package/dist/weappIntrinsicElements/elements/functional-page-navigator.d.mts +15 -0
- package/dist/weappIntrinsicElements/elements/icon.d.mts +12 -0
- package/dist/weappIntrinsicElements/elements/image.d.mts +18 -0
- package/dist/weappIntrinsicElements/elements/import.d.mts +10 -0
- package/dist/weappIntrinsicElements/elements/include.d.mts +10 -0
- package/dist/weappIntrinsicElements/elements/input.d.mts +47 -0
- package/dist/weappIntrinsicElements/elements/keyboard-accessory.d.mts +8 -0
- package/dist/weappIntrinsicElements/elements/label.d.mts +10 -0
- package/dist/weappIntrinsicElements/elements/live-player.d.mts +35 -0
- package/dist/weappIntrinsicElements/elements/live-pusher.d.mts +57 -0
- package/dist/weappIntrinsicElements/elements/map.d.mts +105 -0
- package/dist/weappIntrinsicElements/elements/match-media.d.mts +16 -0
- package/dist/weappIntrinsicElements/elements/movable-area.d.mts +26 -0
- package/dist/weappIntrinsicElements/elements/movable-view.d.mts +26 -0
- package/dist/weappIntrinsicElements/elements/navigation-bar.d.mts +15 -0
- package/dist/weappIntrinsicElements/elements/navigator.d.mts +25 -0
- package/dist/weappIntrinsicElements/elements/official-account.d.mts +13 -0
- package/dist/weappIntrinsicElements/elements/open-data.d.mts +15 -0
- package/dist/weappIntrinsicElements/elements/page-container.d.mts +25 -0
- package/dist/weappIntrinsicElements/elements/page-meta.d.mts +23 -0
- package/dist/weappIntrinsicElements/elements/picker-view-column.d.mts +18 -0
- package/dist/weappIntrinsicElements/elements/picker-view.d.mts +18 -0
- package/dist/weappIntrinsicElements/elements/picker.d.mts +23 -0
- package/dist/weappIntrinsicElements/elements/progress.d.mts +21 -0
- package/dist/weappIntrinsicElements/elements/radio-group.d.mts +13 -0
- package/dist/weappIntrinsicElements/elements/radio.d.mts +13 -0
- package/dist/weappIntrinsicElements/elements/rich-text.d.mts +17 -0
- package/dist/weappIntrinsicElements/elements/scroll-view.d.mts +68 -0
- package/dist/weappIntrinsicElements/elements/share-element.d.mts +18 -0
- package/dist/weappIntrinsicElements/elements/slider.d.mts +23 -0
- package/dist/weappIntrinsicElements/elements/slot.d.mts +10 -0
- package/dist/weappIntrinsicElements/elements/swiper-item.d.mts +42 -0
- package/dist/weappIntrinsicElements/elements/swiper.d.mts +42 -0
- package/dist/weappIntrinsicElements/elements/switch.d.mts +14 -0
- package/dist/weappIntrinsicElements/elements/template.d.mts +12 -0
- package/dist/weappIntrinsicElements/elements/text.d.mts +15 -0
- package/dist/weappIntrinsicElements/elements/textarea.d.mts +40 -0
- package/dist/weappIntrinsicElements/elements/video.d.mts +71 -0
- package/dist/weappIntrinsicElements/elements/view.d.mts +13 -0
- package/dist/weappIntrinsicElements/elements/voip-room.d.mts +14 -0
- package/dist/weappIntrinsicElements/elements/web-view.d.mts +13 -0
- package/dist/weappIntrinsicElements.d.mts +153 -0
- package/package.json +6 -6
- package/dist/base-BxKbbKVO.mjs +0 -1
- package/dist/computed-Xoi9XEUx.mjs +0 -1
- package/dist/dev/base-CYkvI7w8.mjs.map +0 -1
- package/dist/dev/computed-BxRsUJgi.mjs.map +0 -1
- package/dist/dev/ref-DRZC3Kc5.mjs +0 -695
- package/dist/dev/ref-DRZC3Kc5.mjs.map +0 -1
- package/dist/dev/router-DjGhTM7A.mjs +0 -739
- package/dist/dev/router-DjGhTM7A.mjs.map +0 -1
- package/dist/dev/router.mjs.map +0 -1
- package/dist/dev/store-HNsiQJ4d.mjs +0 -479
- package/dist/dev/store-HNsiQJ4d.mjs.map +0 -1
- package/dist/dev/template-n_iVr0ey.mjs.map +0 -1
- package/dist/dev/templateRef-Dyo45y5v.mjs +0 -6436
- package/dist/dev/templateRef-Dyo45y5v.mjs.map +0 -1
- package/dist/dev/toRefs-D06VmFK2.mjs.map +0 -1
- package/dist/dev/watch-jrgL5ald.mjs +0 -445
- package/dist/dev/watch-jrgL5ald.mjs.map +0 -1
- package/dist/index-BiHILcmb.d.mts +0 -1215
- package/dist/index-CCET_bCY.d.mts +0 -111
- package/dist/ref-D37CknuD.mjs +0 -1
- package/dist/router-DJOmKqXb.mjs +0 -1
- package/dist/store-eHrHBQiv.mjs +0 -1
- package/dist/template-CNzlwH-E.mjs +0 -1
- package/dist/templateRef-L_qeTIeS.mjs +0 -1
- package/dist/toRefs-CoytPyo0.mjs +0 -1
- package/dist/traverse-B4Ez44Gd.d.mts +0 -108
- package/dist/vue-types-B3N60cGV.d.mts +0 -757
- package/dist/watch-Bbd-gmEg.mjs +0 -1
- package/dist/weappIntrinsicElements-BgDtC53_.d.mts +0 -1257
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toRefs-D06VmFK2.mjs","names":[],"sources":["../../src/reactivity/toRefs.ts"],"sourcesContent":["import type { Ref } from './ref'\nimport { isReactive } from './reactive'\nimport { customRef, isRef } from './ref'\n\n/**\n * 为源响应式对象的单个属性创建 ref,可读可写并与原属性保持同步。\n *\n * @param object 源响应式对象\n * @param key 属性名\n * @returns 指向该属性的 ref\n *\n * @example\n * ```ts\n * const state = reactive({ foo: 1 })\n * const fooRef = toRef(state, 'foo')\n *\n * fooRef.value++\n * console.log(state.foo) // 2\n * ```\n */\nexport function toRef<T extends object, K extends keyof T>(\n object: T,\n key: K,\n): ToRef<T[K]>\nexport function toRef<T extends object, K extends keyof T>(\n object: T,\n key: K,\n defaultValue: T[K],\n): ToRef<T[K]>\nexport function toRef<T extends object, K extends keyof T>(\n object: T,\n key: K,\n defaultValue?: T[K],\n): ToRef<T[K]> {\n const value = object[key]\n\n if (isRef(value)) {\n return value as ToRef<T[K]>\n }\n\n return customRef<T[K]>((track, trigger) => ({\n get() {\n track()\n return object[key]\n },\n set(newValue) {\n ;(object as any)[key] = newValue\n trigger()\n },\n }), defaultValue) as ToRef<T[K]>\n}\n\n/**\n * 将一个响应式对象转换成“同结构的普通对象”,其中每个字段都是指向原对象对应属性的 ref。\n *\n * @param object 待转换的响应式对象\n * @returns 包含若干 ref 的普通对象\n *\n * @example\n * ```ts\n * const state = reactive({ foo: 1, bar: 2 })\n * const stateAsRefs = toRefs(state)\n *\n * stateAsRefs.foo.value++ // 2\n * state.foo // 2\n * ```\n */\nexport function toRefs<T extends object>(object: T): ToRefs<T> {\n if (!isReactive(object)) {\n // eslint-disable-next-line no-console -- 保持与 Vue 类似的非响应式输入警告\n console.warn('toRefs() 需要响应式对象,但收到的是普通对象。')\n }\n\n const result: any = Array.isArray(object) ? Array.from({ length: object.length }) : {}\n\n for (const key in object) {\n result[key] = toRef(object, key)\n }\n\n return result\n}\n\n/**\n * toRefs 返回值的类型辅助\n */\ntype ToRef<T> = T extends Ref<any> ? T : Ref<T>\n\nexport type ToRefs<T extends object> = {\n [K in keyof T]: ToRef<T[K]>\n}\n"],"mappings":";;;AA6BA,SAAgB,MACd,QACA,KACA,cACa;CACb,MAAM,QAAQ,OAAO;CAErB,IAAI,MAAM,KAAK,GACb,OAAO;CAGT,OAAO,WAAiB,OAAO,aAAa;EAC1C,MAAM;GACJ,MAAM;GACN,OAAO,OAAO;EAChB;EACA,IAAI,UAAU;GACX,AAAC,OAAe,OAAO;GACxB,QAAQ;EACV;CACF,IAAI,YAAY;AAClB;;;;;;;;;;;;;;;;AAiBA,SAAgB,OAAyB,QAAsB;CAC7D,IAAI,CAAC,WAAW,MAAM,GAEpB,QAAQ,KAAK,6BAA6B;CAG5C,MAAM,SAAc,MAAM,QAAQ,MAAM,IAAI,MAAM,KAAK,EAAE,QAAQ,OAAO,OAAO,CAAC,IAAI,CAAC;CAErF,KAAK,MAAM,OAAO,QAChB,OAAO,OAAO,MAAM,QAAQ,GAAG;CAGjC,OAAO;AACT"}
|
|
@@ -1,445 +0,0 @@
|
|
|
1
|
-
import { B as trigger, E as rawVersionMap, I as onScopeDispose, M as effect, R as stop, V as triggerEffects, _ as isObject, f as rawMap, g as hasOwn, h as getTargetType, l as isReactive, m as VERSION_KEY, n as isRef, p as shallowReactiveMap, t as customRef, v as toRaw, y as bumpRawVersion, z as track } from "./ref-DRZC3Kc5.mjs";
|
|
2
|
-
import { i as touchReactive } from "./computed-BxRsUJgi.mjs";
|
|
3
|
-
import { s as getCurrentInstance, u as setCurrentInstance } from "./base-CYkvI7w8.mjs";
|
|
4
|
-
|
|
5
|
-
//#region src/scheduler.ts
|
|
6
|
-
const resolvedPromise = Promise.resolve();
|
|
7
|
-
const jobQueue = /* @__PURE__ */ new Set();
|
|
8
|
-
const deferredJobQueue = /* @__PURE__ */ new Set();
|
|
9
|
-
let isFlushing = false;
|
|
10
|
-
let isFlushPending = false;
|
|
11
|
-
let flushedJobs;
|
|
12
|
-
function flushJobs() {
|
|
13
|
-
isFlushPending = false;
|
|
14
|
-
isFlushing = true;
|
|
15
|
-
flushedJobs = /* @__PURE__ */ new Set();
|
|
16
|
-
try {
|
|
17
|
-
jobQueue.forEach((job) => {
|
|
18
|
-
flushedJobs === null || flushedJobs === void 0 || flushedJobs.add(job);
|
|
19
|
-
job();
|
|
20
|
-
});
|
|
21
|
-
} finally {
|
|
22
|
-
jobQueue.clear();
|
|
23
|
-
flushedJobs = void 0;
|
|
24
|
-
isFlushing = false;
|
|
25
|
-
if (deferredJobQueue.size) {
|
|
26
|
-
deferredJobQueue.forEach((job) => jobQueue.add(job));
|
|
27
|
-
deferredJobQueue.clear();
|
|
28
|
-
if (!isFlushPending) {
|
|
29
|
-
isFlushPending = true;
|
|
30
|
-
resolvedPromise.then(flushJobs);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
function queueJob(job) {
|
|
36
|
-
if (isFlushing && (flushedJobs === null || flushedJobs === void 0 ? void 0 : flushedJobs.has(job))) {
|
|
37
|
-
deferredJobQueue.add(job);
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
jobQueue.add(job);
|
|
41
|
-
if (!isFlushing && !isFlushPending) {
|
|
42
|
-
isFlushPending = true;
|
|
43
|
-
resolvedPromise.then(flushJobs);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
function nextTick(fn) {
|
|
47
|
-
return fn ? resolvedPromise.then(fn) : resolvedPromise;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
//#endregion
|
|
51
|
-
//#region src/reactivity/reactive/shallow.ts
|
|
52
|
-
const shallowHandlers = {
|
|
53
|
-
get(target, key, receiver) {
|
|
54
|
-
if (key === "__r_isReactive") return true;
|
|
55
|
-
if (key === "__r_raw") return target;
|
|
56
|
-
const res = Reflect.get(target, key, receiver);
|
|
57
|
-
track(target, key);
|
|
58
|
-
return res;
|
|
59
|
-
},
|
|
60
|
-
set(target, key, value, receiver) {
|
|
61
|
-
const oldValue = Reflect.get(target, key, receiver);
|
|
62
|
-
const result = Reflect.set(target, key, value, receiver);
|
|
63
|
-
if (!Object.is(oldValue, value)) {
|
|
64
|
-
trigger(target, key);
|
|
65
|
-
trigger(target, VERSION_KEY);
|
|
66
|
-
bumpRawVersion(target);
|
|
67
|
-
}
|
|
68
|
-
return result;
|
|
69
|
-
},
|
|
70
|
-
deleteProperty(target, key) {
|
|
71
|
-
const hadKey = hasOwn(target, key);
|
|
72
|
-
const result = Reflect.deleteProperty(target, key);
|
|
73
|
-
if (hadKey && result) {
|
|
74
|
-
trigger(target, key);
|
|
75
|
-
trigger(target, VERSION_KEY);
|
|
76
|
-
bumpRawVersion(target);
|
|
77
|
-
}
|
|
78
|
-
return result;
|
|
79
|
-
},
|
|
80
|
-
ownKeys(target) {
|
|
81
|
-
track(target, Symbol.iterator);
|
|
82
|
-
track(target, VERSION_KEY);
|
|
83
|
-
return Reflect.ownKeys(target);
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
/**
|
|
87
|
-
* 创建一个浅层响应式代理:仅跟踪第一层属性变更,不深度递归嵌套对象。
|
|
88
|
-
*
|
|
89
|
-
* @param target 待转换的对象
|
|
90
|
-
* @returns 浅层响应式代理
|
|
91
|
-
*
|
|
92
|
-
* @example
|
|
93
|
-
* ```ts
|
|
94
|
-
* const state = shallowReactive({ nested: { count: 0 } })
|
|
95
|
-
*
|
|
96
|
-
* state.nested.count++ // 不会触发 effect(嵌套对象未深度代理)
|
|
97
|
-
* state.nested = { count: 1 } // 会触发 effect(顶层属性变更)
|
|
98
|
-
* ```
|
|
99
|
-
*/
|
|
100
|
-
function shallowReactive(target) {
|
|
101
|
-
if (!isObject(target)) return target;
|
|
102
|
-
if (target["__r_isReactive"]) return target;
|
|
103
|
-
const existingProxy = shallowReactiveMap.get(target);
|
|
104
|
-
if (existingProxy) return existingProxy;
|
|
105
|
-
if (getTargetType(target) === 0) return target;
|
|
106
|
-
const proxy = new Proxy(target, shallowHandlers);
|
|
107
|
-
shallowReactiveMap.set(target, proxy);
|
|
108
|
-
rawMap.set(proxy, target);
|
|
109
|
-
if (!rawVersionMap.has(target)) rawVersionMap.set(target, 0);
|
|
110
|
-
return proxy;
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* 判断一个值是否为 shallowReactive 创建的浅层响应式对象
|
|
114
|
-
*/
|
|
115
|
-
function isShallowReactive(value) {
|
|
116
|
-
const raw = toRaw(value);
|
|
117
|
-
return shallowReactiveMap.has(raw);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
//#endregion
|
|
121
|
-
//#region src/reactivity/shallowRef.ts
|
|
122
|
-
/**
|
|
123
|
-
* 创建一个“浅层” ref:它只在 .value 被整体替换时触发依赖,不会对内部对象做深层响应式处理。
|
|
124
|
-
*
|
|
125
|
-
* @param value 初始值
|
|
126
|
-
* @param defaultValue 传递给 customRef 的默认值,可用于兜底
|
|
127
|
-
* @returns 仅跟踪自身 .value 变更的浅层 ref
|
|
128
|
-
*
|
|
129
|
-
* @example
|
|
130
|
-
* ```ts
|
|
131
|
-
* const state = shallowRef({ count: 0 })
|
|
132
|
-
* state.value = { count: 1 } // 会触发依赖
|
|
133
|
-
* state.value.count++ // 不会触发依赖(内部属性未被深度代理)
|
|
134
|
-
* ```
|
|
135
|
-
*/
|
|
136
|
-
function shallowRef(value, defaultValue) {
|
|
137
|
-
return customRef((track, trigger) => ({
|
|
138
|
-
get() {
|
|
139
|
-
track();
|
|
140
|
-
return value;
|
|
141
|
-
},
|
|
142
|
-
set(newValue) {
|
|
143
|
-
if (Object.is(value, newValue)) return;
|
|
144
|
-
value = newValue;
|
|
145
|
-
trigger();
|
|
146
|
-
}
|
|
147
|
-
}), defaultValue);
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* 判断传入值是否为浅层 ref。
|
|
151
|
-
*
|
|
152
|
-
* @param r 待判断的值
|
|
153
|
-
* @returns 若为浅层 ref 则返回 true
|
|
154
|
-
*/
|
|
155
|
-
function isShallowRef(r) {
|
|
156
|
-
return isRef(r) && typeof r.value !== "function";
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* 主动触发一次浅层 ref 的更新(无需深度比较)。
|
|
160
|
-
*
|
|
161
|
-
* @param ref 需要触发的 ref
|
|
162
|
-
*/
|
|
163
|
-
function triggerRef(ref) {
|
|
164
|
-
if (isRef(ref)) {
|
|
165
|
-
const dep = ref.dep;
|
|
166
|
-
if (dep) {
|
|
167
|
-
triggerEffects(dep);
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
ref.value = ref.value;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
//#endregion
|
|
175
|
-
//#region src/reactivity/traverse.ts
|
|
176
|
-
/**
|
|
177
|
-
* 深度遍历工具(框架内部依赖收集使用)。
|
|
178
|
-
* @internal
|
|
179
|
-
*/
|
|
180
|
-
function traverse(value, depth = Infinity, seen = /* @__PURE__ */ new Map()) {
|
|
181
|
-
if (depth <= 0 || !isObject(value)) return value;
|
|
182
|
-
if (isRef(value)) {
|
|
183
|
-
traverse(value.value, depth - 1, seen);
|
|
184
|
-
return value;
|
|
185
|
-
}
|
|
186
|
-
if (value["__r_skip"]) return value;
|
|
187
|
-
const existingDepth = seen.get(value);
|
|
188
|
-
if (existingDepth !== void 0 && existingDepth >= depth) return value;
|
|
189
|
-
seen.set(value, depth);
|
|
190
|
-
const nextDepth = depth - 1;
|
|
191
|
-
if (Array.isArray(value)) {
|
|
192
|
-
value.forEach((item) => traverse(item, nextDepth, seen));
|
|
193
|
-
return value;
|
|
194
|
-
}
|
|
195
|
-
if (value instanceof Map) {
|
|
196
|
-
value.forEach((item) => traverse(item, nextDepth, seen));
|
|
197
|
-
return value;
|
|
198
|
-
}
|
|
199
|
-
if (value instanceof Set) {
|
|
200
|
-
value.forEach((item) => traverse(item, nextDepth, seen));
|
|
201
|
-
return value;
|
|
202
|
-
}
|
|
203
|
-
const target = isReactive(value) && depth !== Infinity ? toRaw(value) : value;
|
|
204
|
-
for (const key in target) traverse(value[key], nextDepth, seen);
|
|
205
|
-
return value;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
//#endregion
|
|
209
|
-
//#region src/reactivity/watch/types.ts
|
|
210
|
-
let __deepWatchStrategy = "version";
|
|
211
|
-
/**
|
|
212
|
-
* 设置深度 watch 内部策略(测试/框架内部使用)。
|
|
213
|
-
* @internal
|
|
214
|
-
*/
|
|
215
|
-
function setDeepWatchStrategy(strategy) {
|
|
216
|
-
__deepWatchStrategy = strategy;
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* 获取深度 watch 内部策略(测试/框架内部使用)。
|
|
220
|
-
* @internal
|
|
221
|
-
*/
|
|
222
|
-
function getDeepWatchStrategy() {
|
|
223
|
-
return __deepWatchStrategy;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
//#endregion
|
|
227
|
-
//#region src/reactivity/watch/helpers.ts
|
|
228
|
-
function resolveWatchSource(item) {
|
|
229
|
-
if (typeof item === "function") return item();
|
|
230
|
-
if (isRef(item)) return item.value;
|
|
231
|
-
if (isReactive(item)) return item;
|
|
232
|
-
throw new Error("无效的 watch 源");
|
|
233
|
-
}
|
|
234
|
-
function createWatchGetter(source) {
|
|
235
|
-
const isReactiveSource = isReactive(source);
|
|
236
|
-
const isMultiSource = Array.isArray(source) && !isReactiveSource;
|
|
237
|
-
let getter;
|
|
238
|
-
if (isMultiSource) {
|
|
239
|
-
const sources = source;
|
|
240
|
-
getter = () => sources.map((item) => resolveWatchSource(item));
|
|
241
|
-
} else if (typeof source === "function") getter = source;
|
|
242
|
-
else if (isRef(source)) getter = () => source.value;
|
|
243
|
-
else if (isReactiveSource) getter = () => source;
|
|
244
|
-
else throw new Error("无效的 watch 源");
|
|
245
|
-
return {
|
|
246
|
-
getter,
|
|
247
|
-
isMultiSource,
|
|
248
|
-
isReactiveSource
|
|
249
|
-
};
|
|
250
|
-
}
|
|
251
|
-
function applyDeepWatchGetter(getter, source, isMultiSource, isReactiveSource, deepOption) {
|
|
252
|
-
const deepDefault = isMultiSource ? source.some((item) => isReactive(item)) : isReactiveSource;
|
|
253
|
-
const deep = deepOption !== null && deepOption !== void 0 ? deepOption : deepDefault;
|
|
254
|
-
if (!(deep === true || typeof deep === "number")) return getter;
|
|
255
|
-
const depth = typeof deep === "number" ? deep : deep ? Infinity : 0;
|
|
256
|
-
return () => {
|
|
257
|
-
const value = getter();
|
|
258
|
-
const strategy = getDeepWatchStrategy();
|
|
259
|
-
if (isMultiSource && Array.isArray(value)) return value.map((item) => {
|
|
260
|
-
if (strategy === "version" && isReactive(item)) {
|
|
261
|
-
touchReactive(item);
|
|
262
|
-
return item;
|
|
263
|
-
}
|
|
264
|
-
return traverse(item, depth);
|
|
265
|
-
});
|
|
266
|
-
if (strategy === "version" && isReactive(value)) {
|
|
267
|
-
touchReactive(value);
|
|
268
|
-
return value;
|
|
269
|
-
}
|
|
270
|
-
return traverse(value, depth);
|
|
271
|
-
};
|
|
272
|
-
}
|
|
273
|
-
function dispatchScheduledJob(job, flush, isFirstRun, scheduler) {
|
|
274
|
-
if (scheduler) {
|
|
275
|
-
scheduler(job, isFirstRun);
|
|
276
|
-
return;
|
|
277
|
-
}
|
|
278
|
-
if (flush === "sync") {
|
|
279
|
-
job();
|
|
280
|
-
return;
|
|
281
|
-
}
|
|
282
|
-
if (flush === "post") {
|
|
283
|
-
nextTick(() => queueJob(job));
|
|
284
|
-
return;
|
|
285
|
-
}
|
|
286
|
-
if (isFirstRun) job();
|
|
287
|
-
else queueJob(job);
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
//#endregion
|
|
291
|
-
//#region src/reactivity/watch.ts
|
|
292
|
-
function watch(source, cb, options = {}) {
|
|
293
|
-
var _options$flush;
|
|
294
|
-
const ownerInstance = getCurrentInstance();
|
|
295
|
-
const watchGetterContext = createWatchGetter(source);
|
|
296
|
-
const getter = applyDeepWatchGetter(watchGetterContext.getter, source, watchGetterContext.isMultiSource, watchGetterContext.isReactiveSource, options.deep);
|
|
297
|
-
let cleanup;
|
|
298
|
-
const onCleanup = (fn) => {
|
|
299
|
-
cleanup = fn;
|
|
300
|
-
};
|
|
301
|
-
let oldValue;
|
|
302
|
-
let runner;
|
|
303
|
-
let paused = false;
|
|
304
|
-
let pauseToken = 0;
|
|
305
|
-
let scheduledToken = pauseToken;
|
|
306
|
-
let stopHandle;
|
|
307
|
-
const cbWithOnce = options.once ? (value, oldVal, cleanupRegister) => {
|
|
308
|
-
cb(value, oldVal, cleanupRegister);
|
|
309
|
-
stopHandle();
|
|
310
|
-
} : cb;
|
|
311
|
-
const flush = (_options$flush = options.flush) !== null && _options$flush !== void 0 ? _options$flush : "pre";
|
|
312
|
-
const runJob = (token) => {
|
|
313
|
-
if (!runner.active || paused || token !== pauseToken) return;
|
|
314
|
-
const newValue = runner();
|
|
315
|
-
cleanup === null || cleanup === void 0 || cleanup();
|
|
316
|
-
const previousInstance = getCurrentInstance();
|
|
317
|
-
setCurrentInstance(ownerInstance);
|
|
318
|
-
try {
|
|
319
|
-
cbWithOnce(newValue, oldValue, onCleanup);
|
|
320
|
-
} finally {
|
|
321
|
-
setCurrentInstance(previousInstance);
|
|
322
|
-
}
|
|
323
|
-
oldValue = newValue;
|
|
324
|
-
};
|
|
325
|
-
const scheduledJob = () => runJob(scheduledToken);
|
|
326
|
-
const scheduleJob = (isFirstRun) => {
|
|
327
|
-
scheduledToken = pauseToken;
|
|
328
|
-
dispatchScheduledJob(scheduledJob, flush, isFirstRun, options.scheduler);
|
|
329
|
-
};
|
|
330
|
-
runner = effect(() => getter(), {
|
|
331
|
-
scheduler: () => {
|
|
332
|
-
if (paused) return;
|
|
333
|
-
scheduleJob(false);
|
|
334
|
-
},
|
|
335
|
-
lazy: true
|
|
336
|
-
});
|
|
337
|
-
const doStop = () => {
|
|
338
|
-
cleanup === null || cleanup === void 0 || cleanup();
|
|
339
|
-
cleanup = void 0;
|
|
340
|
-
stop(runner);
|
|
341
|
-
};
|
|
342
|
-
stopHandle = doStop;
|
|
343
|
-
stopHandle.stop = doStop;
|
|
344
|
-
stopHandle.pause = () => {
|
|
345
|
-
if (!paused) {
|
|
346
|
-
paused = true;
|
|
347
|
-
pauseToken += 1;
|
|
348
|
-
}
|
|
349
|
-
};
|
|
350
|
-
stopHandle.resume = () => {
|
|
351
|
-
if (!paused || !runner.active) return;
|
|
352
|
-
paused = false;
|
|
353
|
-
oldValue = runner();
|
|
354
|
-
};
|
|
355
|
-
if (options.immediate) runJob(pauseToken);
|
|
356
|
-
else oldValue = runner();
|
|
357
|
-
onScopeDispose(stopHandle);
|
|
358
|
-
return stopHandle;
|
|
359
|
-
}
|
|
360
|
-
/**
|
|
361
|
-
* watchEffect 注册一个响应式副作用,可选清理函数。
|
|
362
|
-
* 副作用会立即执行,并在依赖变化时重新运行。
|
|
363
|
-
*/
|
|
364
|
-
function watchEffect(effectFn, options = {}) {
|
|
365
|
-
var _options$flush2;
|
|
366
|
-
const ownerInstance = getCurrentInstance();
|
|
367
|
-
let cleanup;
|
|
368
|
-
const onCleanup = (fn) => {
|
|
369
|
-
cleanup = fn;
|
|
370
|
-
};
|
|
371
|
-
let runner;
|
|
372
|
-
let paused = false;
|
|
373
|
-
let pauseToken = 0;
|
|
374
|
-
let scheduledToken = pauseToken;
|
|
375
|
-
const flush = (_options$flush2 = options.flush) !== null && _options$flush2 !== void 0 ? _options$flush2 : "pre";
|
|
376
|
-
const runJob = (token) => {
|
|
377
|
-
if (!runner.active || paused || token !== pauseToken) return;
|
|
378
|
-
runner();
|
|
379
|
-
};
|
|
380
|
-
const scheduledJob = () => runJob(scheduledToken);
|
|
381
|
-
const scheduleJob = (isFirstRun) => {
|
|
382
|
-
scheduledToken = pauseToken;
|
|
383
|
-
dispatchScheduledJob(scheduledJob, flush, isFirstRun);
|
|
384
|
-
};
|
|
385
|
-
runner = effect(() => {
|
|
386
|
-
cleanup === null || cleanup === void 0 || cleanup();
|
|
387
|
-
cleanup = void 0;
|
|
388
|
-
const previousInstance = getCurrentInstance();
|
|
389
|
-
setCurrentInstance(ownerInstance);
|
|
390
|
-
try {
|
|
391
|
-
effectFn(onCleanup);
|
|
392
|
-
} finally {
|
|
393
|
-
setCurrentInstance(previousInstance);
|
|
394
|
-
}
|
|
395
|
-
}, {
|
|
396
|
-
lazy: true,
|
|
397
|
-
scheduler: () => {
|
|
398
|
-
if (paused) return;
|
|
399
|
-
scheduleJob(false);
|
|
400
|
-
}
|
|
401
|
-
});
|
|
402
|
-
scheduleJob(true);
|
|
403
|
-
const doStop = () => {
|
|
404
|
-
cleanup === null || cleanup === void 0 || cleanup();
|
|
405
|
-
cleanup = void 0;
|
|
406
|
-
stop(runner);
|
|
407
|
-
};
|
|
408
|
-
const stopHandle = doStop;
|
|
409
|
-
stopHandle.stop = doStop;
|
|
410
|
-
stopHandle.pause = () => {
|
|
411
|
-
if (!paused) {
|
|
412
|
-
paused = true;
|
|
413
|
-
pauseToken += 1;
|
|
414
|
-
}
|
|
415
|
-
};
|
|
416
|
-
stopHandle.resume = () => {
|
|
417
|
-
if (!paused || !runner.active) return;
|
|
418
|
-
paused = false;
|
|
419
|
-
scheduleJob(true);
|
|
420
|
-
};
|
|
421
|
-
onScopeDispose(stopHandle);
|
|
422
|
-
return stopHandle;
|
|
423
|
-
}
|
|
424
|
-
/**
|
|
425
|
-
* 以后置刷新的方式运行副作用,与 Vue 的 `watchPostEffect()` 兼容。
|
|
426
|
-
*/
|
|
427
|
-
function watchPostEffect(effectFn, options = {}) {
|
|
428
|
-
return watchEffect(effectFn, {
|
|
429
|
-
...options,
|
|
430
|
-
flush: "post"
|
|
431
|
-
});
|
|
432
|
-
}
|
|
433
|
-
/**
|
|
434
|
-
* 以同步刷新的方式运行副作用,与 Vue 的 `watchSyncEffect()` 兼容。
|
|
435
|
-
*/
|
|
436
|
-
function watchSyncEffect(effectFn, options = {}) {
|
|
437
|
-
return watchEffect(effectFn, {
|
|
438
|
-
...options,
|
|
439
|
-
flush: "sync"
|
|
440
|
-
});
|
|
441
|
-
}
|
|
442
|
-
|
|
443
|
-
//#endregion
|
|
444
|
-
export { getDeepWatchStrategy as a, isShallowRef as c, isShallowReactive as d, shallowReactive as f, watchSyncEffect as i, shallowRef as l, queueJob as m, watchEffect as n, setDeepWatchStrategy as o, nextTick as p, watchPostEffect as r, traverse as s, watch as t, triggerRef as u };
|
|
445
|
-
//# sourceMappingURL=watch-jrgL5ald.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"watch-jrgL5ald.mjs","names":[],"sources":["../../src/scheduler.ts","../../src/reactivity/reactive/shallow.ts","../../src/reactivity/shallowRef.ts","../../src/reactivity/traverse.ts","../../src/reactivity/watch/types.ts","../../src/reactivity/watch/helpers.ts","../../src/reactivity/watch.ts"],"sourcesContent":["const resolvedPromise: Promise<void> = Promise.resolve()\n\ntype Job = () => void\n\nconst jobQueue = new Set<Job>()\nconst deferredJobQueue = new Set<Job>()\nlet isFlushing = false\nlet isFlushPending = false\nlet flushedJobs: Set<Job> | undefined\n\nfunction flushJobs() {\n isFlushPending = false\n isFlushing = true\n flushedJobs = new Set()\n try {\n jobQueue.forEach((job) => {\n flushedJobs?.add(job)\n job()\n })\n }\n finally {\n jobQueue.clear()\n flushedJobs = undefined\n isFlushing = false\n if (deferredJobQueue.size) {\n deferredJobQueue.forEach(job => jobQueue.add(job))\n deferredJobQueue.clear()\n if (!isFlushPending) {\n isFlushPending = true\n resolvedPromise.then(flushJobs)\n }\n }\n }\n}\n\nexport function queueJob(job: Job) {\n if (isFlushing && flushedJobs?.has(job)) {\n deferredJobQueue.add(job)\n return\n }\n jobQueue.add(job)\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true\n resolvedPromise.then(flushJobs)\n }\n}\n\nexport function nextTick<T>(fn?: () => T): Promise<T> {\n return fn ? resolvedPromise.then(fn) : (resolvedPromise as unknown as Promise<T>)\n}\n","import { track, trigger } from '../core'\nimport { bumpRawVersion, rawVersionMap } from './patchState'\nimport { getTargetType, hasOwn, isObject, ReactiveFlags, TargetType, toRaw, VERSION_KEY } from './shared'\nimport { rawMap, shallowReactiveMap } from './state'\n\nconst shallowHandlers: ProxyHandler<any> = {\n get(target, key, receiver) {\n if (key === ReactiveFlags.IS_REACTIVE) {\n return true\n }\n if (key === ReactiveFlags.RAW) {\n return target\n }\n const res = Reflect.get(target, key, receiver)\n track(target, key)\n // 浅层模式:不对嵌套对象做自动响应式转换\n return res\n },\n set(target, key, value, receiver) {\n const oldValue = Reflect.get(target, key, receiver)\n const result = Reflect.set(target, key, value, receiver)\n if (!Object.is(oldValue, value)) {\n trigger(target, key)\n // 浅层同样维护通用版本号\n trigger(target, VERSION_KEY)\n bumpRawVersion(target)\n }\n return result\n },\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key)\n const result = Reflect.deleteProperty(target, key)\n if (hadKey && result) {\n trigger(target, key)\n // 删除时也同步通用版本号\n trigger(target, VERSION_KEY)\n bumpRawVersion(target)\n }\n return result\n },\n ownKeys(target) {\n track(target, Symbol.iterator)\n // 遍历时订阅通用版本号\n track(target, VERSION_KEY)\n return Reflect.ownKeys(target)\n },\n}\n\n/**\n * 创建一个浅层响应式代理:仅跟踪第一层属性变更,不深度递归嵌套对象。\n *\n * @param target 待转换的对象\n * @returns 浅层响应式代理\n *\n * @example\n * ```ts\n * const state = shallowReactive({ nested: { count: 0 } })\n *\n * state.nested.count++ // 不会触发 effect(嵌套对象未深度代理)\n * state.nested = { count: 1 } // 会触发 effect(顶层属性变更)\n * ```\n */\nexport function shallowReactive<T extends object>(target: T): T {\n if (!isObject(target)) {\n return target\n }\n if ((target as any)[ReactiveFlags.IS_REACTIVE]) {\n return target\n }\n const existingProxy = shallowReactiveMap.get(target)\n if (existingProxy) {\n return existingProxy\n }\n if (getTargetType(target) === TargetType.INVALID) {\n return target\n }\n const proxy = new Proxy(target, shallowHandlers)\n shallowReactiveMap.set(target, proxy)\n rawMap.set(proxy, target)\n if (!rawVersionMap.has(target)) {\n rawVersionMap.set(target, 0)\n }\n // 浅层响应式不初始化根映射,避免误导深度版本追踪\n return proxy\n}\n\n/**\n * 判断一个值是否为 shallowReactive 创建的浅层响应式对象\n */\nexport function isShallowReactive(value: unknown): boolean {\n const raw = toRaw(value as any)\n return shallowReactiveMap.has(raw)\n}\n","import type { Ref } from './ref'\nimport { triggerEffects } from './core'\nimport { customRef, isRef } from './ref'\n\nexport function shallowRef<T>(value: T): Ref<T>\nexport function shallowRef<T>(value: T, defaultValue: T): Ref<T>\n/**\n * 创建一个“浅层” ref:它只在 .value 被整体替换时触发依赖,不会对内部对象做深层响应式处理。\n *\n * @param value 初始值\n * @param defaultValue 传递给 customRef 的默认值,可用于兜底\n * @returns 仅跟踪自身 .value 变更的浅层 ref\n *\n * @example\n * ```ts\n * const state = shallowRef({ count: 0 })\n * state.value = { count: 1 } // 会触发依赖\n * state.value.count++ // 不会触发依赖(内部属性未被深度代理)\n * ```\n */\nexport function shallowRef<T>(value: T, defaultValue?: T): Ref<T> {\n return customRef<T>(\n (track, trigger) => ({\n get() {\n track()\n return value\n },\n set(newValue: T) {\n if (Object.is(value, newValue)) {\n return\n }\n value = newValue\n trigger()\n },\n }),\n defaultValue,\n ) as Ref<T>\n}\n\n/**\n * 判断传入值是否为浅层 ref。\n *\n * @param r 待判断的值\n * @returns 若为浅层 ref 则返回 true\n */\nexport function isShallowRef(r: any): r is Ref<any> {\n // 目前凡是用 customRef 创建的 ref 都视为“浅层”,因为不会递归包装内部属性\n return isRef(r) && typeof r.value !== 'function'\n}\n\n/**\n * 主动触发一次浅层 ref 的更新(无需深度比较)。\n *\n * @param ref 需要触发的 ref\n */\nexport function triggerRef<T>(ref: Ref<T>) {\n // 若未来有专用 trigger 机制可替换,此处作为兼容 API 的占位实现\n if (isRef(ref)) {\n const dep = (ref as any).dep\n if (dep) {\n triggerEffects(dep)\n return\n }\n // 通过重新赋值自身触发依赖\n const value = ref.value\n ref.value = value\n }\n}\n","import { isObject, isReactive, toRaw } from './reactive'\nimport { ReactiveFlags } from './reactive/shared'\nimport { isRef } from './ref'\n\n/**\n * 深度遍历工具(框架内部依赖收集使用)。\n * @internal\n */\nexport function traverse(value: any, depth: number = Infinity, seen = new Map<object, number>()): any {\n if (depth <= 0 || !isObject(value)) {\n return value\n }\n if (isRef(value)) {\n traverse(value.value, depth - 1, seen)\n return value\n }\n if ((value as any)[ReactiveFlags.SKIP]) {\n return value\n }\n const existingDepth = seen.get(value)\n if (existingDepth !== undefined && existingDepth >= depth) {\n return value\n }\n seen.set(value, depth)\n const nextDepth = depth - 1\n if (Array.isArray(value)) {\n value.forEach(item => traverse(item, nextDepth, seen))\n return value\n }\n if (value instanceof Map) {\n value.forEach(item => traverse(item, nextDepth, seen))\n return value\n }\n if (value instanceof Set) {\n value.forEach(item => traverse(item, nextDepth, seen))\n return value\n }\n const target = isReactive(value) && depth !== Infinity ? toRaw(value) : value\n for (const key in target as any) {\n traverse((value as any)[key], nextDepth, seen)\n }\n return value\n}\n","import type { ComputedRef } from '../computed'\nimport type { Ref } from '../ref'\n\nexport type OnCleanup = (cleanupFn: () => void) => void\nexport type WatchEffect = (onCleanup: OnCleanup) => void\nexport type WatchSource<T = any> = Ref<T> | ComputedRef<T> | (() => T)\nexport type WatchCallback<V = any, OV = any> = (value: V, oldValue: OV, onCleanup: OnCleanup) => void\nexport type WatchScheduler = (job: () => void, isFirstRun: boolean) => void\nexport type MaybeUndefined<T, Immediate> = Immediate extends true ? T | undefined : T\nexport type MultiWatchSources = (WatchSource<unknown> | object)[]\nexport type MapSources<T, Immediate> = {\n [K in keyof T]: T[K] extends WatchSource<infer V>\n ? MaybeUndefined<V, Immediate>\n : T[K] extends object\n ? MaybeUndefined<T[K], Immediate>\n : never\n}\nexport type WatchSourceValue<S> = S extends WatchSource<infer V>\n ? V\n : S extends object\n ? S\n : never\nexport type WatchSources<T = any>\n = | WatchSource<T>\n | ReadonlyArray<WatchSource<unknown> | object>\n | (T extends object ? T : never)\ntype IsTuple<T extends ReadonlyArray<any>> = number extends T['length'] ? false : true\nexport type WatchMultiSources<T extends ReadonlyArray<WatchSource<unknown> | object>> = IsTuple<T> extends true\n ? { [K in keyof T]: WatchSourceValue<T[K]> }\n : Array<WatchSourceValue<T[number]>>\n\nexport interface WatchEffectOptions {\n flush?: 'pre' | 'post' | 'sync'\n}\n\nexport interface WatchOptions<Immediate extends boolean = false> extends WatchEffectOptions {\n immediate?: Immediate\n deep?: boolean | number\n once?: boolean\n scheduler?: WatchScheduler\n}\n\nexport interface WatchStopHandle {\n (): void\n stop: () => void\n pause: () => void\n resume: () => void\n}\n\nexport type DeepWatchStrategy = 'version' | 'traverse'\n\nlet __deepWatchStrategy: DeepWatchStrategy = 'version'\n\n/**\n * 设置深度 watch 内部策略(测试/框架内部使用)。\n * @internal\n */\nexport function setDeepWatchStrategy(strategy: DeepWatchStrategy) {\n __deepWatchStrategy = strategy\n}\n\n/**\n * 获取深度 watch 内部策略(测试/框架内部使用)。\n * @internal\n */\nexport function getDeepWatchStrategy(): DeepWatchStrategy {\n return __deepWatchStrategy\n}\n","import type { Ref } from '../ref'\nimport type { WatchScheduler, WatchSource, WatchSources } from './types'\nimport { nextTick } from '../../scheduler'\nimport { queueJob } from '../core'\nimport { isReactive, touchReactive } from '../reactive'\nimport { isRef } from '../ref'\nimport { traverse } from '../traverse'\nimport { getDeepWatchStrategy } from './types'\n\ninterface WatchGetterContext {\n getter: () => any\n isMultiSource: boolean\n isReactiveSource: boolean\n}\n\nfunction resolveWatchSource(item: WatchSource<any> | object) {\n if (typeof item === 'function') {\n return (item as () => any)()\n }\n if (isRef(item)) {\n return (item as Ref<any>).value\n }\n if (isReactive(item)) {\n return item\n }\n throw new Error('无效的 watch 源')\n}\n\nexport function createWatchGetter(source: WatchSources<any>): WatchGetterContext {\n const isReactiveSource = isReactive(source)\n const isMultiSource = Array.isArray(source) && !isReactiveSource\n let getter: () => any\n\n if (isMultiSource) {\n const sources = source as ReadonlyArray<WatchSource<any> | object>\n getter = () => sources.map(item => resolveWatchSource(item))\n }\n else if (typeof source === 'function') {\n getter = source as () => any\n }\n else if (isRef(source)) {\n getter = () => (source as Ref<any>).value\n }\n else if (isReactiveSource) {\n getter = () => source as any\n }\n else {\n throw new Error('无效的 watch 源')\n }\n\n return {\n getter,\n isMultiSource,\n isReactiveSource,\n }\n}\n\nexport function applyDeepWatchGetter(\n getter: () => any,\n source: WatchSources<any>,\n isMultiSource: boolean,\n isReactiveSource: boolean,\n deepOption: boolean | number | undefined,\n) {\n const deepDefault = isMultiSource\n ? (source as ReadonlyArray<WatchSource<any> | object>).some(item => isReactive(item))\n : isReactiveSource\n const deep = deepOption ?? deepDefault\n const shouldDeep = deep === true || typeof deep === 'number'\n if (!shouldDeep) {\n return getter\n }\n const depth = typeof deep === 'number' ? deep : (deep ? Infinity : 0)\n return () => {\n const value = getter()\n const strategy = getDeepWatchStrategy()\n if (isMultiSource && Array.isArray(value)) {\n return value.map((item) => {\n if (strategy === 'version' && isReactive(item)) {\n touchReactive(item as any)\n return item\n }\n return traverse(item, depth)\n })\n }\n if (strategy === 'version' && isReactive(value)) {\n touchReactive(value as any)\n return value\n }\n return traverse(value, depth)\n }\n}\n\nexport function dispatchScheduledJob(\n job: () => void,\n flush: 'pre' | 'post' | 'sync',\n isFirstRun: boolean,\n scheduler?: WatchScheduler,\n) {\n if (scheduler) {\n scheduler(job, isFirstRun)\n return\n }\n if (flush === 'sync') {\n job()\n return\n }\n if (flush === 'post') {\n nextTick(() => queueJob(job))\n return\n }\n if (isFirstRun) {\n job()\n }\n else {\n queueJob(job)\n }\n}\n","import type { ReactiveEffect } from './core'\nimport type {\n MapSources,\n MaybeUndefined,\n MultiWatchSources,\n OnCleanup,\n WatchCallback,\n WatchEffect,\n WatchEffectOptions,\n WatchOptions,\n WatchSource,\n WatchSources,\n WatchStopHandle,\n} from './watch/types'\nimport { getCurrentInstance, setCurrentInstance } from '../runtime/hooks'\nimport { effect, onScopeDispose, stop } from './core'\nimport { applyDeepWatchGetter, createWatchGetter, dispatchScheduledJob } from './watch/helpers'\n\nexport type {\n DeepWatchStrategy,\n MapSources,\n MaybeUndefined,\n MultiWatchSources,\n OnCleanup,\n WatchCallback,\n WatchEffect,\n WatchEffectOptions,\n WatchMultiSources,\n WatchOptions,\n WatchScheduler,\n WatchSource,\n WatchSources,\n WatchSourceValue,\n WatchStopHandle,\n} from './watch/types'\nexport { getDeepWatchStrategy, setDeepWatchStrategy } from './watch/types'\n\nexport function watch<T, Immediate extends Readonly<boolean> = false>(\n source: WatchSource<T>,\n cb: WatchCallback<T, MaybeUndefined<T, Immediate>>,\n options?: WatchOptions<Immediate>,\n): WatchStopHandle\nexport function watch<T extends object, Immediate extends Readonly<boolean> = false>(\n source: T extends ReadonlyArray<any> ? never : T,\n cb: WatchCallback<T, MaybeUndefined<T, Immediate>>,\n options?: WatchOptions<Immediate>,\n): WatchStopHandle\nexport function watch<T extends Readonly<MultiWatchSources>, Immediate extends Readonly<boolean> = false>(\n source: readonly [...T] | T,\n cb: WatchCallback<MapSources<T, false>, MapSources<T, Immediate>>,\n options?: WatchOptions<Immediate>,\n): WatchStopHandle\nexport function watch<T extends MultiWatchSources, Immediate extends Readonly<boolean> = false>(\n source: [...T],\n cb: WatchCallback<MapSources<T, false>, MapSources<T, Immediate>>,\n options?: WatchOptions<Immediate>,\n): WatchStopHandle\nexport function watch(\n source: WatchSources<any>,\n cb: WatchCallback,\n options: WatchOptions = {},\n): WatchStopHandle {\n const ownerInstance = getCurrentInstance()\n const watchGetterContext = createWatchGetter(source)\n const getter = applyDeepWatchGetter(\n watchGetterContext.getter,\n source,\n watchGetterContext.isMultiSource,\n watchGetterContext.isReactiveSource,\n options.deep,\n )\n\n let cleanup: (() => void) | undefined\n const onCleanup: OnCleanup = (fn) => {\n cleanup = fn\n }\n\n let oldValue: any\n let runner: ReactiveEffect<any>\n let paused = false\n let pauseToken = 0\n let scheduledToken = pauseToken\n let stopHandle: WatchStopHandle\n const cbWithOnce: WatchCallback = options.once\n ? (value, oldVal, cleanupRegister) => {\n cb(value, oldVal, cleanupRegister)\n stopHandle()\n }\n : cb\n const flush = options.flush ?? 'pre'\n\n const runJob = (token: number) => {\n if (!runner.active || paused || token !== pauseToken) {\n return\n }\n const newValue = runner()\n cleanup?.()\n const previousInstance = getCurrentInstance()\n setCurrentInstance(ownerInstance)\n try {\n cbWithOnce(newValue, oldValue, onCleanup)\n }\n finally {\n setCurrentInstance(previousInstance)\n }\n oldValue = newValue\n }\n const scheduledJob = () => runJob(scheduledToken)\n\n const scheduleJob = (isFirstRun: boolean) => {\n scheduledToken = pauseToken\n dispatchScheduledJob(scheduledJob, flush, isFirstRun, options.scheduler)\n }\n\n runner = effect(() => getter(), {\n scheduler: () => {\n if (paused) {\n return\n }\n scheduleJob(false)\n },\n lazy: true,\n })\n\n const doStop = () => {\n cleanup?.()\n cleanup = undefined\n stop(runner)\n }\n stopHandle = doStop as WatchStopHandle\n stopHandle.stop = doStop\n stopHandle.pause = () => {\n if (!paused) {\n paused = true\n pauseToken += 1\n }\n }\n stopHandle.resume = () => {\n if (!paused || !runner.active) {\n return\n }\n paused = false\n oldValue = runner()\n }\n\n if (options.immediate) {\n runJob(pauseToken)\n }\n else {\n oldValue = runner()\n }\n onScopeDispose(stopHandle)\n return stopHandle\n}\n\n/**\n * watchEffect 注册一个响应式副作用,可选清理函数。\n * 副作用会立即执行,并在依赖变化时重新运行。\n */\nexport function watchEffect(\n effectFn: WatchEffect,\n options: WatchEffectOptions = {},\n): WatchStopHandle {\n const ownerInstance = getCurrentInstance()\n let cleanup: (() => void) | undefined\n const onCleanup: OnCleanup = (fn) => {\n cleanup = fn\n }\n let runner: ReactiveEffect\n let paused = false\n let pauseToken = 0\n let scheduledToken = pauseToken\n const flush = options.flush ?? 'pre'\n\n const runJob = (token: number) => {\n if (!runner.active || paused || token !== pauseToken) {\n return\n }\n runner()\n }\n const scheduledJob = () => runJob(scheduledToken)\n\n const scheduleJob = (isFirstRun: boolean) => {\n scheduledToken = pauseToken\n dispatchScheduledJob(scheduledJob, flush, isFirstRun)\n }\n\n runner = effect(\n () => {\n cleanup?.()\n cleanup = undefined\n const previousInstance = getCurrentInstance()\n setCurrentInstance(ownerInstance)\n try {\n effectFn(onCleanup)\n }\n finally {\n setCurrentInstance(previousInstance)\n }\n },\n {\n lazy: true,\n scheduler: () => {\n if (paused) {\n return\n }\n scheduleJob(false)\n },\n },\n )\n scheduleJob(true)\n\n const doStop = () => {\n cleanup?.()\n cleanup = undefined\n stop(runner)\n }\n const stopHandle = doStop as WatchStopHandle\n stopHandle.stop = doStop\n stopHandle.pause = () => {\n if (!paused) {\n paused = true\n pauseToken += 1\n }\n }\n stopHandle.resume = () => {\n if (!paused || !runner.active) {\n return\n }\n paused = false\n scheduleJob(true)\n }\n onScopeDispose(stopHandle)\n return stopHandle\n}\n\n/**\n * 以后置刷新的方式运行副作用,与 Vue 的 `watchPostEffect()` 兼容。\n */\nexport function watchPostEffect(\n effectFn: WatchEffect,\n options: Omit<WatchEffectOptions, 'flush'> = {},\n): WatchStopHandle {\n return watchEffect(effectFn, {\n ...options,\n flush: 'post',\n })\n}\n\n/**\n * 以同步刷新的方式运行副作用,与 Vue 的 `watchSyncEffect()` 兼容。\n */\nexport function watchSyncEffect(\n effectFn: WatchEffect,\n options: Omit<WatchEffectOptions, 'flush'> = {},\n): WatchStopHandle {\n return watchEffect(effectFn, {\n ...options,\n flush: 'sync',\n })\n}\n"],"mappings":"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"}
|