wevu 6.16.37 → 6.16.40
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/dev/{base-CoF39as1.mjs → base-BPG0sDu-.mjs} +2 -2
- package/dist/dev/{base-CoF39as1.mjs.map → base-BPG0sDu-.mjs.map} +1 -1
- package/dist/dev/{computed-DBCuiNOA.mjs → computed-njo5yWBk.mjs} +2 -2
- package/dist/dev/{computed-DBCuiNOA.mjs.map → computed-njo5yWBk.mjs.map} +1 -1
- package/dist/dev/index.mjs +10 -10
- package/dist/dev/internal-reactivity.mjs +5 -5
- package/dist/dev/internal-runtime.mjs +3 -3
- package/dist/dev/internal-template.mjs +1 -1
- package/dist/dev/{ref-BoBfMdVt.mjs → ref-DJZWB2im.mjs} +5 -5
- package/dist/dev/{ref-BoBfMdVt.mjs.map → ref-DJZWB2im.mjs.map} +1 -1
- package/dist/dev/{router-C_io1Bpp.mjs → router-pDQKAVqU.mjs} +2 -2
- package/dist/dev/{router-C_io1Bpp.mjs.map → router-pDQKAVqU.mjs.map} +1 -1
- package/dist/dev/router.mjs +3 -3
- package/dist/dev/router.mjs.map +1 -1
- package/dist/dev/{src-YafqvC_l.mjs → src-HtRlku0K.mjs} +9 -9
- package/dist/dev/{store-BWZEkK8F.mjs → store-D_seGoEN.mjs} +3 -3
- package/dist/dev/{store-BWZEkK8F.mjs.map → store-D_seGoEN.mjs.map} +1 -1
- package/dist/dev/store.mjs +1 -1
- package/dist/dev/{template-BeuoC58i.mjs → template-D4K5xTD2.mjs} +2 -2
- package/dist/dev/{template-BeuoC58i.mjs.map → template-D4K5xTD2.mjs.map} +1 -1
- package/dist/dev/{templateRef-GsGuFvwE.mjs → templateRef-3tUik_sj.mjs} +7 -7
- package/dist/dev/{templateRef-GsGuFvwE.mjs.map → templateRef-3tUik_sj.mjs.map} +1 -1
- package/dist/dev/{toRefs-DrE7KHlW.mjs → toRefs-C9gCs6N3.mjs} +2 -2
- package/dist/dev/{toRefs-DrE7KHlW.mjs.map → toRefs-C9gCs6N3.mjs.map} +1 -1
- package/dist/dev/vue-demi.mjs +10 -10
- package/dist/dev/{watch-CqXsBjp3.mjs → watch-CJiD9u34.mjs} +3 -3
- package/dist/dev/{watch-CqXsBjp3.mjs.map → watch-CJiD9u34.mjs.map} +1 -1
- package/dist/index.mjs +1 -1
- package/dist/internal-runtime.mjs +1 -1
- package/dist/{templateRef-D5kOrMIX.mjs → templateRef-DH3fN9wZ.mjs} +1 -1
- package/dist/vue-demi.mjs +1 -1
- package/package.json +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { l as isReactive, n as isRef, t as customRef } from "./ref-
|
|
1
|
+
import { l as isReactive, n as isRef, t as customRef } from "./ref-DJZWB2im.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/reactivity/toRefs.ts
|
|
4
4
|
function toRef(object, key, defaultValue) {
|
|
@@ -39,4 +39,4 @@ function toRefs(object) {
|
|
|
39
39
|
|
|
40
40
|
//#endregion
|
|
41
41
|
export { toRefs as n, toRef as t };
|
|
42
|
-
//# sourceMappingURL=toRefs-
|
|
42
|
+
//# sourceMappingURL=toRefs-C9gCs6N3.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toRefs-
|
|
1
|
+
{"version":3,"file":"toRefs-C9gCs6N3.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"}
|
package/dist/dev/vue-demi.mjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { n as __reExport, t as __exportAll } from "./src-
|
|
2
|
-
import { C as effect, D as onScopeDispose, E as getCurrentScope, N as nextTick, O as startBatch, S as batch, T as endBatch, a as toValue, b as addMutationRecorder, c as isRaw, d as reactive, f as isShallowReactive, g as touchReactive, h as prelinkReactiveTree, i as ref, k as stop, l as isReactive, n as isRef, o as unref, p as shallowReactive, s as getReactiveVersion, t as customRef, u as markRaw, w as effectScope, x as removeMutationRecorder, y as toRaw } from "./ref-
|
|
3
|
-
import { t as computed } from "./computed-
|
|
4
|
-
import { S as shallowReadonly, b as isReadonly, c as getCurrentSetupContext, d as setCurrentSetupContext, n as callHookList, r as callHookReturn, s as getCurrentInstance, u as setCurrentInstance, x as readonly, y as isProxy } from "./base-
|
|
5
|
-
import { a as getDeepWatchStrategy, c as isShallowRef, i as watchSyncEffect, l as shallowRef, n as watchEffect, o as setDeepWatchStrategy, r as watchPostEffect, s as traverse, t as watch, u as triggerRef } from "./watch-
|
|
6
|
-
import { n as toRefs, t as toRef } from "./toRefs-
|
|
7
|
-
import { $ as onUnhandledRejection, A as setGlobalProvidedValue, B as onPageNotFound, F as onHide, G as onResize, H as onPullDownRefresh, I as onLaunch, J as onShareAppMessage, K as onRouteDone, L as onLoad, M as onAttached, N as onDetached, P as onError, Q as onThemeChange, R as onMemoryWarning, U as onReachBottom, V as onPageScroll, W as onReady, X as onShow, Y as onShareTimeline, Z as onTabItemTap, _ as provide, et as onUnload, g as injectGlobal, h as inject, j as onAddToFavorites, m as hasInjectionContext, n as useNativeRouter, q as onSaveExitState, t as useNativePageRouter, v as provideGlobal, z as onMoved } from "./router-
|
|
8
|
-
import { $ as version, A as registerPageLayoutBridge, B as mountRuntimeInstance, C as useElementIntersectionObserver, D as defineComponent, E as createWevuScopedSlotComponent, F as unregisterRuntimeLayoutHosts, G as setPageLayout, H as teardownRuntimeInstance, I as useLayoutBridge, J as usePageLayout, K as syncRuntimePageLayoutState, L as useLayoutHosts, M as resolveLayoutBridge, N as resolveLayoutHost, O as createApp, P as unregisterPageLayoutBridge, Q as markNoSetData, R as waitForLayoutHost, S as useIntersectionObserver, T as createWevuComponent, U as runSetupFunction, V as setRuntimeSetDataVisibility, W as resolveRuntimePageLayoutName, X as setWevuDefaults, Y as resetWevuDefaults, Z as isNoSetData, _ as usePageScrollThrottle, a as useModel, at as onDeactivated, b as useNavigationBarMetrics, c as useSlots, ct as onServerPrefetch, d as useUpdatePerformanceListener, et as callUpdateHooks, f as useBoundingClientRect, g as useAsyncPullDownRefresh, h as useSelectorQuery, i as useChangeModel, it as onBeforeUpdate, j as registerRuntimeLayoutHosts, k as registerComponent, l as defineAppSetup, lt as onUnmounted, m as useSelectorFields, n as mergeModels, nt as onBeforeMount, o as useAttrs, ot as onErrorCaptured, p as useScrollOffset, q as syncRuntimePageLayoutStateFromRuntime, r as useBindModel, rt as onBeforeUnmount, s as useNativeInstance, st as onMounted, t as useTemplateRef, tt as onActivated, u as use, ut as onUpdated, v as getCurrentPageStackSnapshot, w as useDisposables, x as usePageStack, y as getNavigationBarMetrics, z as registerApp } from "./templateRef-
|
|
9
|
-
import { n as normalizeStyle, r as resolvePropValue, t as normalizeClass } from "./template-
|
|
10
|
-
import { n as defineStore, r as createStore, t as storeToRefs } from "./store-
|
|
1
|
+
import { n as __reExport, t as __exportAll } from "./src-HtRlku0K.mjs";
|
|
2
|
+
import { C as effect, D as onScopeDispose, E as getCurrentScope, N as nextTick, O as startBatch, S as batch, T as endBatch, a as toValue, b as addMutationRecorder, c as isRaw, d as reactive, f as isShallowReactive, g as touchReactive, h as prelinkReactiveTree, i as ref, k as stop, l as isReactive, n as isRef, o as unref, p as shallowReactive, s as getReactiveVersion, t as customRef, u as markRaw, w as effectScope, x as removeMutationRecorder, y as toRaw } from "./ref-DJZWB2im.mjs";
|
|
3
|
+
import { t as computed } from "./computed-njo5yWBk.mjs";
|
|
4
|
+
import { S as shallowReadonly, b as isReadonly, c as getCurrentSetupContext, d as setCurrentSetupContext, n as callHookList, r as callHookReturn, s as getCurrentInstance, u as setCurrentInstance, x as readonly, y as isProxy } from "./base-BPG0sDu-.mjs";
|
|
5
|
+
import { a as getDeepWatchStrategy, c as isShallowRef, i as watchSyncEffect, l as shallowRef, n as watchEffect, o as setDeepWatchStrategy, r as watchPostEffect, s as traverse, t as watch, u as triggerRef } from "./watch-CJiD9u34.mjs";
|
|
6
|
+
import { n as toRefs, t as toRef } from "./toRefs-C9gCs6N3.mjs";
|
|
7
|
+
import { $ as onUnhandledRejection, A as setGlobalProvidedValue, B as onPageNotFound, F as onHide, G as onResize, H as onPullDownRefresh, I as onLaunch, J as onShareAppMessage, K as onRouteDone, L as onLoad, M as onAttached, N as onDetached, P as onError, Q as onThemeChange, R as onMemoryWarning, U as onReachBottom, V as onPageScroll, W as onReady, X as onShow, Y as onShareTimeline, Z as onTabItemTap, _ as provide, et as onUnload, g as injectGlobal, h as inject, j as onAddToFavorites, m as hasInjectionContext, n as useNativeRouter, q as onSaveExitState, t as useNativePageRouter, v as provideGlobal, z as onMoved } from "./router-pDQKAVqU.mjs";
|
|
8
|
+
import { $ as version, A as registerPageLayoutBridge, B as mountRuntimeInstance, C as useElementIntersectionObserver, D as defineComponent, E as createWevuScopedSlotComponent, F as unregisterRuntimeLayoutHosts, G as setPageLayout, H as teardownRuntimeInstance, I as useLayoutBridge, J as usePageLayout, K as syncRuntimePageLayoutState, L as useLayoutHosts, M as resolveLayoutBridge, N as resolveLayoutHost, O as createApp, P as unregisterPageLayoutBridge, Q as markNoSetData, R as waitForLayoutHost, S as useIntersectionObserver, T as createWevuComponent, U as runSetupFunction, V as setRuntimeSetDataVisibility, W as resolveRuntimePageLayoutName, X as setWevuDefaults, Y as resetWevuDefaults, Z as isNoSetData, _ as usePageScrollThrottle, a as useModel, at as onDeactivated, b as useNavigationBarMetrics, c as useSlots, ct as onServerPrefetch, d as useUpdatePerformanceListener, et as callUpdateHooks, f as useBoundingClientRect, g as useAsyncPullDownRefresh, h as useSelectorQuery, i as useChangeModel, it as onBeforeUpdate, j as registerRuntimeLayoutHosts, k as registerComponent, l as defineAppSetup, lt as onUnmounted, m as useSelectorFields, n as mergeModels, nt as onBeforeMount, o as useAttrs, ot as onErrorCaptured, p as useScrollOffset, q as syncRuntimePageLayoutStateFromRuntime, r as useBindModel, rt as onBeforeUnmount, s as useNativeInstance, st as onMounted, t as useTemplateRef, tt as onActivated, u as use, ut as onUpdated, v as getCurrentPageStackSnapshot, w as useDisposables, x as usePageStack, y as getNavigationBarMetrics, z as registerApp } from "./templateRef-3tUik_sj.mjs";
|
|
9
|
+
import { n as normalizeStyle, r as resolvePropValue, t as normalizeClass } from "./template-D4K5xTD2.mjs";
|
|
10
|
+
import { n as defineStore, r as createStore, t as storeToRefs } from "./store-D_seGoEN.mjs";
|
|
11
11
|
|
|
12
12
|
export * from "@wevu/web-apis"
|
|
13
13
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as effect, D as onScopeDispose, M as triggerEffects, N as nextTick, P as queueJob, g as touchReactive, k as stop, l as isReactive, n as isRef, t as customRef, v as isObject, y as toRaw } from "./ref-
|
|
2
|
-
import { s as getCurrentInstance, u as setCurrentInstance } from "./base-
|
|
1
|
+
import { C as effect, D as onScopeDispose, M as triggerEffects, N as nextTick, P as queueJob, g as touchReactive, k as stop, l as isReactive, n as isRef, t as customRef, v as isObject, y as toRaw } from "./ref-DJZWB2im.mjs";
|
|
2
|
+
import { s as getCurrentInstance, u as setCurrentInstance } from "./base-BPG0sDu-.mjs";
|
|
3
3
|
|
|
4
4
|
//#region src/reactivity/shallowRef.ts
|
|
5
5
|
/**
|
|
@@ -325,4 +325,4 @@ function watchSyncEffect(effectFn, options = {}) {
|
|
|
325
325
|
|
|
326
326
|
//#endregion
|
|
327
327
|
export { getDeepWatchStrategy as a, isShallowRef as c, watchSyncEffect as i, shallowRef as l, watchEffect as n, setDeepWatchStrategy as o, watchPostEffect as r, traverse as s, watch as t, triggerRef as u };
|
|
328
|
-
//# sourceMappingURL=watch-
|
|
328
|
+
//# sourceMappingURL=watch-CJiD9u34.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch-CqXsBjp3.mjs","names":[],"sources":["../../src/reactivity/shallowRef.ts","../../src/reactivity/traverse.ts","../../src/reactivity/watch/types.ts","../../src/reactivity/watch/helpers.ts","../../src/reactivity/watch.ts"],"sourcesContent":["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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"}
|
|
1
|
+
{"version":3,"file":"watch-CJiD9u34.mjs","names":[],"sources":["../../src/reactivity/shallowRef.ts","../../src/reactivity/traverse.ts","../../src/reactivity/watch/types.ts","../../src/reactivity/watch/helpers.ts","../../src/reactivity/watch.ts"],"sourcesContent":["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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"}
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./chunk-CenpyGzJ.mjs";import{C as e,D as t,E as n,N as r,O as i,S as a,T as o,a as s,b as c,c as l,d as u,f as d,g as f,h as p,i as m,k as h,l as g,n as _,o as v,p as y,s as b,t as x,u as S,w as C,x as w,y as T}from"./ref-CRwjgX_d.mjs";import{t as E}from"./computed-DdPJb4_M.mjs";import{S as D,b as O,c as k,d as A,n as j,r as M,s as N,u as P,x as F,y as I}from"./base-D-o2Hv6z.mjs";import{a as L,c as R,i as z,l as B,n as V,o as H,r as U,s as W,t as G,u as K}from"./watch-6_s3_f8q.mjs";import{n as q,t as J}from"./toRefs-COgMIEoC.mjs";import{$ as Y,A as X,B as Z,F as Q,G as $,H as ee,I as te,J as ne,K as re,L as ie,M as ae,N as oe,P as se,Q as ce,R as le,U as ue,V as de,W as fe,X as pe,Y as me,Z as he,_ as ge,et as _e,g as ve,h as ye,j as be,m as xe,n as Se,q as Ce,t as we,v as Te,z as Ee}from"./router-BiJKkvy7.mjs";import{$ as De,A as Oe,B as ke,C as Ae,D as je,E as Me,F as Ne,G as Pe,H as Fe,I as Ie,J as Le,K as Re,L as ze,M as Be,N as Ve,O as He,P as Ue,Q as We,R as Ge,S as Ke,T as qe,U as Je,V as Ye,W as Xe,X as Ze,Y as Qe,Z as $e,_ as et,a as tt,at as nt,b as rt,c as it,ct as at,d as ot,et as st,f as ct,g as lt,h as ut,i as dt,it as ft,j as pt,k as mt,l as ht,lt as gt,m as _t,n as vt,nt as yt,o as bt,ot as xt,p as St,q as Ct,r as wt,rt as Tt,s as Et,st as Dt,t as Ot,tt as kt,u as At,ut as jt,v as Mt,w as Nt,x as Pt,y as Ft,z as It}from"./templateRef-
|
|
1
|
+
import"./chunk-CenpyGzJ.mjs";import{C as e,D as t,E as n,N as r,O as i,S as a,T as o,a as s,b as c,c as l,d as u,f as d,g as f,h as p,i as m,k as h,l as g,n as _,o as v,p as y,s as b,t as x,u as S,w as C,x as w,y as T}from"./ref-CRwjgX_d.mjs";import{t as E}from"./computed-DdPJb4_M.mjs";import{S as D,b as O,c as k,d as A,n as j,r as M,s as N,u as P,x as F,y as I}from"./base-D-o2Hv6z.mjs";import{a as L,c as R,i as z,l as B,n as V,o as H,r as U,s as W,t as G,u as K}from"./watch-6_s3_f8q.mjs";import{n as q,t as J}from"./toRefs-COgMIEoC.mjs";import{$ as Y,A as X,B as Z,F as Q,G as $,H as ee,I as te,J as ne,K as re,L as ie,M as ae,N as oe,P as se,Q as ce,R as le,U as ue,V as de,W as fe,X as pe,Y as me,Z as he,_ as ge,et as _e,g as ve,h as ye,j as be,m as xe,n as Se,q as Ce,t as we,v as Te,z as Ee}from"./router-BiJKkvy7.mjs";import{$ as De,A as Oe,B as ke,C as Ae,D as je,E as Me,F as Ne,G as Pe,H as Fe,I as Ie,J as Le,K as Re,L as ze,M as Be,N as Ve,O as He,P as Ue,Q as We,R as Ge,S as Ke,T as qe,U as Je,V as Ye,W as Xe,X as Ze,Y as Qe,Z as $e,_ as et,a as tt,at as nt,b as rt,c as it,ct as at,d as ot,et as st,f as ct,g as lt,h as ut,i as dt,it as ft,j as pt,k as mt,l as ht,lt as gt,m as _t,n as vt,nt as yt,o as bt,ot as xt,p as St,q as Ct,r as wt,rt as Tt,s as Et,st as Dt,t as Ot,tt as kt,u as At,ut as jt,v as Mt,w as Nt,x as Pt,y as Ft,z as It}from"./templateRef-DH3fN9wZ.mjs";import{n as Lt,r as Rt,t as zt}from"./template-CFhlojaH.mjs";import{n as Bt,r as Vt,t as Ht}from"./store-B9C0AuaO.mjs";export*from"@wevu/web-apis";export{c as addMutationRecorder,a as batch,j as callHookList,M as callHookReturn,st as callUpdateHooks,E as computed,He as createApp,Vt as createStore,qe as createWevuComponent,Me as createWevuScopedSlotComponent,x as customRef,ht as defineAppSetup,je as defineComponent,Bt as defineStore,e as effect,C as effectScope,o as endBatch,N as getCurrentInstance,Mt as getCurrentPageStackSnapshot,n as getCurrentScope,k as getCurrentSetupContext,L as getDeepWatchStrategy,Ft as getNavigationBarMetrics,b as getReactiveVersion,xe as hasInjectionContext,ye as inject,ve as injectGlobal,$e as isNoSetData,I as isProxy,l as isRaw,g as isReactive,O as isReadonly,_ as isRef,d as isShallowReactive,R as isShallowRef,We as markNoSetData,S as markRaw,vt as mergeModels,ke as mountRuntimeInstance,r as nextTick,zt as normalizeClass,Lt as normalizeStyle,kt as onActivated,be as onAddToFavorites,ae as onAttached,yt as onBeforeMount,Tt as onBeforeUnmount,ft as onBeforeUpdate,nt as onDeactivated,oe as onDetached,se as onError,xt as onErrorCaptured,Q as onHide,te as onLaunch,ie as onLoad,le as onMemoryWarning,Dt as onMounted,Ee as onMoved,Z as onPageNotFound,de as onPageScroll,ee as onPullDownRefresh,ue as onReachBottom,fe as onReady,$ as onResize,re as onRouteDone,Ce as onSaveExitState,t as onScopeDispose,at as onServerPrefetch,ne as onShareAppMessage,me as onShareTimeline,pe as onShow,he as onTabItemTap,ce as onThemeChange,Y as onUnhandledRejection,_e as onUnload,gt as onUnmounted,jt as onUpdated,p as prelinkReactiveTree,ge as provide,Te as provideGlobal,u as reactive,F as readonly,m as ref,It as registerApp,mt as registerComponent,Oe as registerPageLayoutBridge,pt as registerRuntimeLayoutHosts,w as removeMutationRecorder,Qe as resetWevuDefaults,Be as resolveLayoutBridge,Ve as resolveLayoutHost,Rt as resolvePropValue,Xe as resolveRuntimePageLayoutName,Je as runSetupFunction,P as setCurrentInstance,A as setCurrentSetupContext,H as setDeepWatchStrategy,X as setGlobalProvidedValue,Pe as setPageLayout,Ye as setRuntimeSetDataVisibility,Ze as setWevuDefaults,y as shallowReactive,D as shallowReadonly,B as shallowRef,i as startBatch,h as stop,Ht as storeToRefs,Re as syncRuntimePageLayoutState,Ct as syncRuntimePageLayoutStateFromRuntime,Fe as teardownRuntimeInstance,T as toRaw,J as toRef,q as toRefs,s as toValue,f as touchReactive,W as traverse,K as triggerRef,v as unref,Ue as unregisterPageLayoutBridge,Ne as unregisterRuntimeLayoutHosts,At as use,lt as useAsyncPullDownRefresh,bt as useAttrs,wt as useBindModel,ct as useBoundingClientRect,dt as useChangeModel,Nt as useDisposables,Ae as useElementIntersectionObserver,Ke as useIntersectionObserver,Ie as useLayoutBridge,ze as useLayoutHosts,tt as useModel,Et as useNativeInstance,we as useNativePageRouter,Se as useNativeRouter,rt as useNavigationBarMetrics,Le as usePageLayout,et as usePageScrollThrottle,Pt as usePageStack,St as useScrollOffset,_t as useSelectorFields,ut as useSelectorQuery,it as useSlots,Ot as useTemplateRef,ot as useUpdatePerformanceListener,De as version,Ge as waitForLayoutHost,G as watch,V as watchEffect,U as watchPostEffect,z as watchSyncEffect};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e,d as t,n,r,s as i,u as a}from"./base-D-o2Hv6z.mjs";import{$ as o,A as s,B as c,F as l,G as u,H as d,I as f,J as p,K as m,L as h,M as g,N as _,P as v,Q as y,R as b,U as x,V as S,W as C,X as w,Y as T,Z as E,_ as D,et as O,g as k,h as A,j,m as M,n as N,q as P,t as F,v as I,z as L}from"./router-BiJKkvy7.mjs";import{$ as R,B as z,C as B,D as V,E as H,G as U,H as W,I as G,J as K,K as q,L as J,M as Y,N as X,O as Z,Q,R as $,S as ee,T as te,U as ne,V as re,W as ie,X as ae,Y as oe,Z as se,_ as ce,a as le,at as ue,b as de,c as fe,ct as pe,d as me,f as he,g as ge,h as _e,i as ve,it as ye,k as be,l as xe,lt as Se,m as Ce,n as we,nt as Te,o as Ee,ot as De,p as Oe,q as ke,r as Ae,rt as je,s as Me,st as Ne,t as Pe,tt as Fe,u as Ie,ut as Le,v as Re,w as ze,x as Be,y as Ve,z as He}from"./templateRef-
|
|
1
|
+
import{c as e,d as t,n,r,s as i,u as a}from"./base-D-o2Hv6z.mjs";import{$ as o,A as s,B as c,F as l,G as u,H as d,I as f,J as p,K as m,L as h,M as g,N as _,P as v,Q as y,R as b,U as x,V as S,W as C,X as w,Y as T,Z as E,_ as D,et as O,g as k,h as A,j,m as M,n as N,q as P,t as F,v as I,z as L}from"./router-BiJKkvy7.mjs";import{$ as R,B as z,C as B,D as V,E as H,G as U,H as W,I as G,J as K,K as q,L as J,M as Y,N as X,O as Z,Q,R as $,S as ee,T as te,U as ne,V as re,W as ie,X as ae,Y as oe,Z as se,_ as ce,a as le,at as ue,b as de,c as fe,ct as pe,d as me,f as he,g as ge,h as _e,i as ve,it as ye,k as be,l as xe,lt as Se,m as Ce,n as we,nt as Te,o as Ee,ot as De,p as Oe,q as ke,r as Ae,rt as je,s as Me,st as Ne,t as Pe,tt as Fe,u as Ie,ut as Le,v as Re,w as ze,x as Be,y as Ve,z as He}from"./templateRef-DH3fN9wZ.mjs";export{n as callHookList,r as callHookReturn,Z as createApp,te as createWevuComponent,H as createWevuScopedSlotComponent,xe as defineAppSetup,V as defineComponent,i as getCurrentInstance,Re as getCurrentPageStackSnapshot,e as getCurrentSetupContext,Ve as getNavigationBarMetrics,M as hasInjectionContext,A as inject,k as injectGlobal,se as isNoSetData,Q as markNoSetData,we as mergeModels,z as mountRuntimeInstance,Fe as onActivated,j as onAddToFavorites,g as onAttached,Te as onBeforeMount,je as onBeforeUnmount,ye as onBeforeUpdate,ue as onDeactivated,_ as onDetached,v as onError,De as onErrorCaptured,l as onHide,f as onLaunch,h as onLoad,b as onMemoryWarning,Ne as onMounted,L as onMoved,c as onPageNotFound,S as onPageScroll,d as onPullDownRefresh,x as onReachBottom,C as onReady,u as onResize,m as onRouteDone,P as onSaveExitState,pe as onServerPrefetch,p as onShareAppMessage,T as onShareTimeline,w as onShow,E as onTabItemTap,y as onThemeChange,o as onUnhandledRejection,O as onUnload,Se as onUnmounted,Le as onUpdated,D as provide,I as provideGlobal,He as registerApp,be as registerComponent,oe as resetWevuDefaults,Y as resolveLayoutBridge,X as resolveLayoutHost,ie as resolveRuntimePageLayoutName,ne as runSetupFunction,a as setCurrentInstance,t as setCurrentSetupContext,s as setGlobalProvidedValue,U as setPageLayout,re as setRuntimeSetDataVisibility,ae as setWevuDefaults,q as syncRuntimePageLayoutState,ke as syncRuntimePageLayoutStateFromRuntime,W as teardownRuntimeInstance,Ie as use,ge as useAsyncPullDownRefresh,Ee as useAttrs,Ae as useBindModel,he as useBoundingClientRect,ve as useChangeModel,ze as useDisposables,B as useElementIntersectionObserver,ee as useIntersectionObserver,G as useLayoutBridge,J as useLayoutHosts,le as useModel,Me as useNativeInstance,F as useNativePageRouter,N as useNativeRouter,de as useNavigationBarMetrics,K as usePageLayout,ce as usePageScrollThrottle,Be as usePageStack,Oe as useScrollOffset,Ce as useSelectorFields,_e as useSelectorQuery,fe as useSlots,Pe as useTemplateRef,me as useUpdatePerformanceListener,R as version,$ as waitForLayoutHost};
|