wevu 6.16.5 → 6.16.6

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.
@@ -1,4 +1,4 @@
1
- import { A as track, C as effect, d as reactive, g as touchReactive, j as trigger, l as isReactive, n as isRef, r as markAsRef, w as effectScope, y as toRaw } from "./ref-BTTXccLL.mjs";
1
+ import { A as track, C as effect, d as reactive, g as touchReactive, j as trigger, l as isReactive, n as isRef, r as markAsRef, w as effectScope, y as toRaw } from "./ref-oJCdOWf7.mjs";
2
2
 
3
3
  //#region src/reactivity/computed.ts
4
4
  function computed(getterOrOptions) {
@@ -515,4 +515,4 @@ function storeToRefs(store) {
515
515
 
516
516
  //#endregion
517
517
  export { computed as i, defineStore as n, createStore as r, storeToRefs as t };
518
- //# sourceMappingURL=store-Dr0zE_9B.mjs.map
518
+ //# sourceMappingURL=store-BhOds5RF.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"store-Dr0zE_9B.mjs","names":[],"sources":["../../src/reactivity/computed.ts","../../src/store/actions.ts","../../src/store/utils.ts","../../src/store/base.ts","../../src/store/define/shared.ts","../../src/store/define/optionsStyle.ts","../../src/store/define/setupStyle.ts","../../src/store/manager.ts","../../src/store/define.ts","../../src/store/storeToRefs.ts"],"sourcesContent":["import type { ReactiveEffect } from './core'\nimport type { Ref } from './ref'\nimport { effect, track, trigger } from './core'\nimport { markAsRef } from './ref'\n\nexport type ComputedGetter<T> = () => T\nexport type ComputedSetter<T> = (value: T) => void\n\ninterface BaseComputedRef<T, S = T> extends Ref<T, S> {\n [key: symbol]: any\n}\n\nexport interface ComputedRef<T = any> extends BaseComputedRef<T> {\n readonly value: T\n}\n\nexport interface WritableComputedRef<T, S = T> extends BaseComputedRef<T, S> {\n value: T\n}\n\nexport interface WritableComputedOptions<T> {\n get: ComputedGetter<T>\n set: ComputedSetter<T>\n}\n\nexport function computed<T>(getter: ComputedGetter<T>): ComputedRef<T>\nexport function computed<T>(options: WritableComputedOptions<T>): WritableComputedRef<T>\nexport function computed<T>(\n getterOrOptions: ComputedGetter<T> | WritableComputedOptions<T>,\n): ComputedRef<T> | WritableComputedRef<T> {\n let getter: ComputedGetter<T>\n let setter: ComputedSetter<T>\n const onlyGetter = typeof getterOrOptions === 'function'\n if (onlyGetter) {\n getter = getterOrOptions as ComputedGetter<T>\n setter = () => {\n throw new Error('计算属性是只读的')\n }\n }\n else {\n getter = (getterOrOptions as WritableComputedOptions<T>).get\n setter = (getterOrOptions as WritableComputedOptions<T>).set\n }\n let value: T\n let dirty = true\n let runner: ReactiveEffect<T>\n const obj: any = {\n get value() {\n if (dirty) {\n value = runner()\n dirty = false\n }\n track(obj, 'value')\n return value\n },\n set value(newValue: T) {\n setter(newValue)\n },\n }\n markAsRef(obj)\n runner = effect(getter, {\n lazy: true,\n scheduler: () => {\n if (!dirty) {\n dirty = true\n trigger(obj, 'value')\n }\n },\n })\n return (onlyGetter ? obj as ComputedRef<T> : obj as WritableComputedRef<T>)\n}\n","import type { ActionSubscriber } from './types'\n\nexport function wrapAction<TStore extends Record<string, any>>(\n store: TStore,\n name: string,\n action: (...args: any[]) => any,\n actionSubs: Set<ActionSubscriber<TStore>>,\n) {\n return function wrapped(this: any, ...args: any[]) {\n const afterCbs: Array<(r: any) => void> = []\n const errorCbs: Array<(e: any) => void> = []\n const after = (cb: (r: any) => void) => afterCbs.push(cb)\n const onError = (cb: (e: any) => void) => errorCbs.push(cb)\n actionSubs.forEach((sub) => {\n try {\n sub({ name, store, args, after, onError })\n }\n catch {\n // 捕获订阅者回调内部的异常,避免单个监听器出错影响其他订阅和原始 action 执行链\n }\n })\n let res: any\n try {\n res = action.apply(store, args)\n }\n catch (e) {\n errorCbs.forEach(cb => cb(e))\n throw e\n }\n const finalize = (r: any) => {\n afterCbs.forEach(cb => cb(r))\n return r\n }\n if (res && typeof (res as Promise<any>).then === 'function') {\n return (res as Promise<any>).then(\n r => finalize(r),\n (e) => {\n errorCbs.forEach(cb => cb(e))\n return Promise.reject(e)\n },\n )\n }\n return finalize(res)\n }\n}\n","export function isObject(val: unknown): val is object {\n return typeof val === 'object' && val !== null\n}\n\nexport function isPlainObject(val: unknown): val is Record<string, any> {\n if (!isObject(val)) {\n return false\n }\n const proto = Object.getPrototypeOf(val)\n return proto === Object.prototype || proto === null\n}\n\nexport function mergeShallow(target: Record<string, any>, patch: Record<string, any>) {\n for (const k in patch) {\n target[k] = patch[k]\n }\n}\n\nexport function cloneDeep<T>(value: T): T {\n if (Array.isArray(value)) {\n return value.map(item => cloneDeep(item)) as T\n }\n if (isPlainObject(value)) {\n const result: Record<string, any> = {}\n for (const key in value) {\n result[key] = cloneDeep((value as any)[key])\n }\n return result as T\n }\n return value\n}\n\nexport function resetObject(target: Record<string, any>, snapshot: Record<string, any> | any[]) {\n if (Array.isArray(target) && Array.isArray(snapshot)) {\n target.length = 0\n snapshot.forEach((item, index) => {\n target[index] = cloneDeep(item)\n })\n return\n }\n if (!isObject(snapshot)) {\n return\n }\n for (const key in target) {\n if (!(key in snapshot)) {\n delete target[key]\n }\n }\n for (const key in snapshot) {\n const snapValue = (snapshot as any)[key]\n const currentValue = target[key]\n if (Array.isArray(snapValue) && Array.isArray(currentValue)) {\n resetObject(currentValue, snapValue)\n continue\n }\n if (isPlainObject(snapValue) && isPlainObject(currentValue)) {\n resetObject(currentValue, snapValue)\n continue\n }\n target[key] = cloneDeep(snapValue)\n }\n}\n","import type { ActionSubscriber, MutationType, SubscriptionCallback } from './types'\nimport { isObject, mergeShallow } from './utils'\n\nexport function createBaseApi<S extends Record<string, any>>(\n id: string,\n stateObj: S | undefined,\n notify: (type: MutationType) => void,\n resetImpl?: () => void,\n) {\n const api: any = {\n $id: id,\n }\n Object.defineProperty(api, '$state', {\n get() {\n return stateObj\n },\n set(v: any) {\n if (stateObj && isObject(v)) {\n mergeShallow(stateObj, v)\n notify('patch object')\n }\n },\n })\n api.$patch = (patch: Record<string, any> | ((state: S) => void)) => {\n if (!stateObj) {\n if (typeof patch === 'function') {\n patch(api as S)\n notify('patch function')\n }\n else {\n mergeShallow(api as any, patch)\n notify('patch object')\n }\n return\n }\n if (typeof patch === 'function') {\n patch(stateObj)\n notify('patch function')\n }\n else {\n mergeShallow(stateObj, patch)\n notify('patch object')\n }\n }\n if (resetImpl) {\n api.$reset = () => resetImpl()\n }\n const subs = new Set<SubscriptionCallback<S>>()\n api.$subscribe = (cb: SubscriptionCallback<S>, _opts?: { detached?: boolean }) => {\n subs.add(cb)\n return () => subs.delete(cb)\n }\n const actionSubs = new Set<ActionSubscriber<any>>()\n api.$onAction = (cb: ActionSubscriber<any>) => {\n actionSubs.add(cb)\n return () => actionSubs.delete(cb)\n }\n return { api, subs, actionSubs }\n}\n","import type { MutationType, SubscriptionCallback } from '../types'\nimport { isReactive, isRef, toRaw } from '../../reactivity'\nimport { cloneDeep } from '../utils'\n\nconst hasOwn = Object.prototype.hasOwnProperty\n\nexport function isTrackableRef(value: unknown) {\n return isRef(value) && hasOwn.call(value, 'dep')\n}\n\nexport function snapshotValue(value: unknown) {\n if (isReactive(value)) {\n return cloneDeep(toRaw(value as any))\n }\n if (isTrackableRef(value)) {\n return cloneDeep((value as any).value)\n }\n return cloneDeep(value)\n}\n\nexport function createSafeNotifier<S>(\n storeId: string,\n subs: Set<SubscriptionCallback<S>>,\n getState: () => S,\n) {\n let notifying = false\n return (type: MutationType) => {\n if (notifying) {\n return\n }\n notifying = true\n try {\n const state = getState()\n subs.forEach((cb) => {\n try {\n cb({ type, storeId }, state)\n }\n catch {}\n })\n }\n finally {\n notifying = false\n }\n }\n}\n","import { computed, effect, reactive, toRaw, touchReactive } from '../../reactivity'\nimport { wrapAction } from '../actions'\nimport { createBaseApi } from '../base'\nimport { cloneDeep, resetObject } from '../utils'\nimport { createSafeNotifier } from './shared'\n\nexport function createOptionsStyleStore(id: string, options: any, manager: any) {\n const rawState = options.state ? options.state() : {}\n const state = reactive(rawState)\n const initialSnapshot = cloneDeep(toRaw(rawState))\n let notify: (type: any) => void = () => {}\n const base = createBaseApi<typeof state>(id, state, t => notify(t), () => {\n resetObject(state as any, initialSnapshot)\n notify('patch object')\n })\n\n let isPatching = false\n const rawPatch = base.api.$patch\n base.api.$patch = (patch: Partial<typeof state> | ((nextState: typeof state) => void)) => {\n isPatching = true\n try {\n rawPatch(patch as any)\n }\n finally {\n isPatching = false\n }\n }\n if (typeof base.api.$reset === 'function') {\n const rawReset = base.api.$reset\n base.api.$reset = () => {\n isPatching = true\n try {\n rawReset()\n }\n finally {\n isPatching = false\n }\n }\n }\n\n notify = createSafeNotifier(id, base.subs, () => state as any)\n\n const store: Record<string, any> = {}\n for (const key of Object.getOwnPropertyNames(base.api)) {\n const d = Object.getOwnPropertyDescriptor(base.api, key)\n if (d) {\n if (key === '$state') {\n Object.defineProperty(store, key, {\n enumerable: d.enumerable,\n configurable: d.configurable,\n get() {\n return (base.api as any).$state\n },\n set(v: any) {\n isPatching = true\n try {\n ;(base.api as any).$state = v\n }\n finally {\n isPatching = false\n }\n },\n })\n }\n else {\n Object.defineProperty(store, key, d)\n }\n }\n }\n\n const getterDefs = options.getters ?? {}\n Object.keys(getterDefs).forEach((key) => {\n const getter = (getterDefs as any)[key]\n if (typeof getter === 'function') {\n const c = computed(() => getter.call(store, state))\n Object.defineProperty(store, key, {\n enumerable: true,\n configurable: true,\n get() {\n return c.value\n },\n })\n }\n })\n\n const actionDefs = options.actions ?? {}\n Object.keys(actionDefs).forEach((key) => {\n const act = (actionDefs as any)[key]\n if (typeof act === 'function') {\n const wrapped = wrapAction(store as any, key, (...args: any[]) => {\n return act.apply(store as any, args)\n }, base.actionSubs)\n store[key] = wrapped\n }\n })\n\n Object.keys(state).forEach((k) => {\n Object.defineProperty(store, k, {\n enumerable: true,\n configurable: true,\n get() {\n return (state as any)[k]\n },\n set(v: any) {\n ;(state as any)[k] = v\n },\n })\n })\n\n let initialized = false\n let dispatchingDirect = false\n effect(() => {\n touchReactive(state)\n if (!initialized) {\n initialized = true\n return\n }\n if (isPatching || dispatchingDirect) {\n return\n }\n dispatchingDirect = true\n try {\n notify('direct')\n }\n finally {\n dispatchingDirect = false\n }\n })\n\n const plugins = manager?._plugins ?? []\n for (const plugin of plugins) {\n try {\n plugin({ store })\n }\n catch {}\n }\n\n return store\n}\n","import { effect, isReactive, isRef, touchReactive } from '../../reactivity'\nimport { wrapAction } from '../actions'\nimport { createBaseApi } from '../base'\nimport { cloneDeep, resetObject } from '../utils'\nimport { createSafeNotifier, isTrackableRef, snapshotValue } from './shared'\n\nexport function createSetupStyleStore(id: string, setupFactory: () => Record<string, any>, manager: any) {\n const result = setupFactory()\n let notify: (type: any) => void = () => {}\n const initialSnapshot = new Map<string, any>()\n Object.keys(result).forEach((k) => {\n const val = (result as any)[k]\n if (typeof val === 'function' || k.startsWith('$')) {\n return\n }\n if (isRef(val) && !isTrackableRef(val)) {\n return\n }\n initialSnapshot.set(k, snapshotValue(val))\n })\n\n let instance: Record<string, any> = {}\n const resetImpl = () => {\n initialSnapshot.forEach((snapValue, key) => {\n const current = (instance as any)[key]\n if (isTrackableRef(current)) {\n current.value = cloneDeep(snapValue)\n return\n }\n if (isReactive(current)) {\n resetObject(current as any, snapValue)\n return\n }\n if (isRef(current)) {\n return\n }\n ;(instance as any)[key] = cloneDeep(snapValue)\n })\n notify('patch object')\n }\n\n const base = createBaseApi<any>(id, undefined, t => notify(t), resetImpl)\n let isPatching = false\n const rawPatch = base.api.$patch\n base.api.$patch = (patch: Record<string, any> | ((state: any) => void)) => {\n isPatching = true\n try {\n rawPatch(patch)\n }\n finally {\n isPatching = false\n }\n }\n if (typeof base.api.$reset === 'function') {\n const rawReset = base.api.$reset\n base.api.$reset = () => {\n isPatching = true\n try {\n rawReset()\n }\n finally {\n isPatching = false\n }\n }\n }\n\n instance = { ...result }\n notify = createSafeNotifier(id, base.subs, () => instance)\n\n // 将 setup 返回值与基础 API 合并,同时保留每个 getter/setter 的描述符,避免覆写访问器行为\n for (const key of Object.getOwnPropertyNames(base.api)) {\n const d = Object.getOwnPropertyDescriptor(base.api, key)\n if (d) {\n if (key === '$state') {\n Object.defineProperty(instance, key, {\n enumerable: d.enumerable,\n configurable: d.configurable,\n get() {\n return (base.api as any).$state\n },\n set(v: any) {\n isPatching = true\n try {\n ;(base.api as any).$state = v\n }\n finally {\n isPatching = false\n }\n },\n })\n }\n else {\n Object.defineProperty(instance, key, d)\n }\n }\n }\n\n const directSources: any[] = []\n Object.keys(result).forEach((k) => {\n const val = (result as any)[k]\n if (typeof val === 'function' && !k.startsWith('$')) {\n ;(instance as any)[k] = wrapAction(instance, k, val, base.actionSubs)\n return\n }\n if (isTrackableRef(val)) {\n directSources.push(val)\n return\n }\n if (isReactive(val)) {\n directSources.push(val)\n return\n }\n if (isRef(val)) {\n return\n }\n if (!k.startsWith('$')) {\n let innerValue = val\n Object.defineProperty(instance, k, {\n enumerable: true,\n configurable: true,\n get() {\n return innerValue\n },\n set(next: any) {\n innerValue = next\n if (!isPatching) {\n notify('direct')\n }\n },\n })\n }\n })\n\n let dispatchingDirect = false\n if (directSources.length > 0) {\n let initialized = false\n effect(() => {\n directSources.forEach((source) => {\n if (isTrackableRef(source)) {\n void source.value\n }\n else {\n touchReactive(source)\n }\n })\n if (!initialized) {\n initialized = true\n return\n }\n if (isPatching || dispatchingDirect) {\n return\n }\n dispatchingDirect = true\n try {\n notify('direct')\n }\n finally {\n dispatchingDirect = false\n }\n })\n }\n\n const plugins = manager?._plugins ?? []\n for (const plugin of plugins) {\n try {\n plugin({ store: instance })\n }\n catch {}\n }\n\n return instance\n}\n","import type { StoreManager } from './types'\n\n/**\n * @description 创建 store 管理器(插件与共享实例入口)\n */\nexport function createStore(): StoreManager {\n const manager: StoreManager = {\n _stores: new Map(),\n _plugins: [],\n install(_app: any) {\n // 小程序场景不需要注册全局插件入口,这里保留 API 但不执行任何操作\n },\n use(plugin: (context: { store: any }) => void) {\n if (typeof plugin === 'function') {\n manager._plugins.push(plugin)\n }\n return manager\n },\n }\n ;(createStore as any)._instance = manager\n return manager\n}\n","import type {\n ActionSubscriber,\n DefineStoreOptions,\n StoreGetters,\n StoreManager,\n StoreSubscribeOptions,\n SubscriptionCallback,\n} from './types'\nimport { effectScope } from '../reactivity'\nimport { createOptionsStyleStore } from './define/optionsStyle'\nimport { createSetupStyleStore } from './define/setupStyle'\nimport { createStore } from './manager'\n\ntype SetupDefinition<T> = () => T\n\n/**\n * @description 定义一个 setup 风格的 store\n */\nexport function defineStore<T extends Record<string, any>>(id: string, setup: SetupDefinition<T>): () => T & {\n $id: string\n $patch: (patch: Record<string, any> | ((state: any) => void)) => void\n $reset: () => void\n $subscribe: (cb: SubscriptionCallback<any>, opts?: StoreSubscribeOptions) => () => void\n $onAction: (cb: ActionSubscriber<any>) => () => void\n}\n/**\n * @description 定义一个 options 风格的 store\n */\nexport function defineStore<S extends Record<string, any>, G extends Record<string, any>, A extends Record<string, any>>(\n id: string,\n options: DefineStoreOptions<S, G, A>,\n): () => S & StoreGetters<G> & A & {\n $id: string\n $state: S\n $patch: (patch: Partial<S> | ((state: S) => void)) => void\n $reset: () => void\n $subscribe: (cb: SubscriptionCallback<S>, opts?: StoreSubscribeOptions) => () => void\n $onAction: (cb: ActionSubscriber<S & StoreGetters<G> & A>) => () => void\n}\nexport function defineStore(id: string, setupOrOptions: any) {\n let instance: any\n let created = false\n const manager = (createStore as any)._instance as StoreManager | undefined\n\n return function useStore(): any {\n if (created && instance) {\n return instance\n }\n created = true\n\n const storeScope = effectScope(true)\n instance = storeScope.run(() => {\n return typeof setupOrOptions === 'function'\n ? createSetupStyleStore(id, setupOrOptions, manager)\n : createOptionsStyleStore(id, setupOrOptions as DefineStoreOptions<any, any, any>, manager)\n })\n\n return instance\n }\n}\n","import type { Ref } from '../reactivity'\nimport { computed, isRef } from '../reactivity'\n\n/**\n * @description storeToRefs 返回类型推导\n */\nexport type StoreToRefsResult<T extends Record<string, any>> = {\n [K in keyof T]:\n T[K] extends (...args: any[]) => any\n ? T[K]\n : T[K] extends Ref<infer V>\n ? Ref<V>\n : Ref<T[K]>\n}\n\n/**\n * @description 将 store 状态转换为 Ref\n */\nexport function storeToRefs<T extends Record<string, any>>(store: T): StoreToRefsResult<T> {\n const result: Record<string, any> = {}\n for (const key in store) {\n const value = (store as any)[key]\n if (typeof value === 'function') {\n result[key] = value\n continue\n }\n if (isRef(value)) {\n result[key] = value\n }\n else {\n result[key] = computed({\n get: () => (store as any)[key],\n set: (v: any) => {\n ;(store as any)[key] = v\n },\n })\n }\n }\n return result as StoreToRefsResult<T>\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"store-BhOds5RF.mjs","names":[],"sources":["../../src/reactivity/computed.ts","../../src/store/actions.ts","../../src/store/utils.ts","../../src/store/base.ts","../../src/store/define/shared.ts","../../src/store/define/optionsStyle.ts","../../src/store/define/setupStyle.ts","../../src/store/manager.ts","../../src/store/define.ts","../../src/store/storeToRefs.ts"],"sourcesContent":["import type { ReactiveEffect } from './core'\nimport type { Ref } from './ref'\nimport { effect, track, trigger } from './core'\nimport { markAsRef } from './ref'\n\nexport type ComputedGetter<T> = () => T\nexport type ComputedSetter<T> = (value: T) => void\n\ninterface BaseComputedRef<T, S = T> extends Ref<T, S> {\n [key: symbol]: any\n}\n\nexport interface ComputedRef<T = any> extends BaseComputedRef<T> {\n readonly value: T\n}\n\nexport interface WritableComputedRef<T, S = T> extends BaseComputedRef<T, S> {\n value: T\n}\n\nexport interface WritableComputedOptions<T> {\n get: ComputedGetter<T>\n set: ComputedSetter<T>\n}\n\nexport function computed<T>(getter: ComputedGetter<T>): ComputedRef<T>\nexport function computed<T>(options: WritableComputedOptions<T>): WritableComputedRef<T>\nexport function computed<T>(\n getterOrOptions: ComputedGetter<T> | WritableComputedOptions<T>,\n): ComputedRef<T> | WritableComputedRef<T> {\n let getter: ComputedGetter<T>\n let setter: ComputedSetter<T>\n const onlyGetter = typeof getterOrOptions === 'function'\n if (onlyGetter) {\n getter = getterOrOptions as ComputedGetter<T>\n setter = () => {\n throw new Error('计算属性是只读的')\n }\n }\n else {\n getter = (getterOrOptions as WritableComputedOptions<T>).get\n setter = (getterOrOptions as WritableComputedOptions<T>).set\n }\n let value: T\n let dirty = true\n let runner: ReactiveEffect<T>\n const obj: any = {\n get value() {\n if (dirty) {\n value = runner()\n dirty = false\n }\n track(obj, 'value')\n return value\n },\n set value(newValue: T) {\n setter(newValue)\n },\n }\n markAsRef(obj)\n runner = effect(getter, {\n lazy: true,\n scheduler: () => {\n if (!dirty) {\n dirty = true\n trigger(obj, 'value')\n }\n },\n })\n return (onlyGetter ? obj as ComputedRef<T> : obj as WritableComputedRef<T>)\n}\n","import type { ActionSubscriber } from './types'\n\nexport function wrapAction<TStore extends Record<string, any>>(\n store: TStore,\n name: string,\n action: (...args: any[]) => any,\n actionSubs: Set<ActionSubscriber<TStore>>,\n) {\n return function wrapped(this: any, ...args: any[]) {\n const afterCbs: Array<(r: any) => void> = []\n const errorCbs: Array<(e: any) => void> = []\n const after = (cb: (r: any) => void) => afterCbs.push(cb)\n const onError = (cb: (e: any) => void) => errorCbs.push(cb)\n actionSubs.forEach((sub) => {\n try {\n sub({ name, store, args, after, onError })\n }\n catch {\n // 捕获订阅者回调内部的异常,避免单个监听器出错影响其他订阅和原始 action 执行链\n }\n })\n let res: any\n try {\n res = action.apply(store, args)\n }\n catch (e) {\n errorCbs.forEach(cb => cb(e))\n throw e\n }\n const finalize = (r: any) => {\n afterCbs.forEach(cb => cb(r))\n return r\n }\n if (res && typeof (res as Promise<any>).then === 'function') {\n return (res as Promise<any>).then(\n r => finalize(r),\n (e) => {\n errorCbs.forEach(cb => cb(e))\n return Promise.reject(e)\n },\n )\n }\n return finalize(res)\n }\n}\n","export function isObject(val: unknown): val is object {\n return typeof val === 'object' && val !== null\n}\n\nexport function isPlainObject(val: unknown): val is Record<string, any> {\n if (!isObject(val)) {\n return false\n }\n const proto = Object.getPrototypeOf(val)\n return proto === Object.prototype || proto === null\n}\n\nexport function mergeShallow(target: Record<string, any>, patch: Record<string, any>) {\n for (const k in patch) {\n target[k] = patch[k]\n }\n}\n\nexport function cloneDeep<T>(value: T): T {\n if (Array.isArray(value)) {\n return value.map(item => cloneDeep(item)) as T\n }\n if (isPlainObject(value)) {\n const result: Record<string, any> = {}\n for (const key in value) {\n result[key] = cloneDeep((value as any)[key])\n }\n return result as T\n }\n return value\n}\n\nexport function resetObject(target: Record<string, any>, snapshot: Record<string, any> | any[]) {\n if (Array.isArray(target) && Array.isArray(snapshot)) {\n target.length = 0\n snapshot.forEach((item, index) => {\n target[index] = cloneDeep(item)\n })\n return\n }\n if (!isObject(snapshot)) {\n return\n }\n for (const key in target) {\n if (!(key in snapshot)) {\n delete target[key]\n }\n }\n for (const key in snapshot) {\n const snapValue = (snapshot as any)[key]\n const currentValue = target[key]\n if (Array.isArray(snapValue) && Array.isArray(currentValue)) {\n resetObject(currentValue, snapValue)\n continue\n }\n if (isPlainObject(snapValue) && isPlainObject(currentValue)) {\n resetObject(currentValue, snapValue)\n continue\n }\n target[key] = cloneDeep(snapValue)\n }\n}\n","import type { ActionSubscriber, MutationType, SubscriptionCallback } from './types'\nimport { isObject, mergeShallow } from './utils'\n\nexport function createBaseApi<S extends Record<string, any>>(\n id: string,\n stateObj: S | undefined,\n notify: (type: MutationType) => void,\n resetImpl?: () => void,\n) {\n const api: any = {\n $id: id,\n }\n Object.defineProperty(api, '$state', {\n get() {\n return stateObj\n },\n set(v: any) {\n if (stateObj && isObject(v)) {\n mergeShallow(stateObj, v)\n notify('patch object')\n }\n },\n })\n api.$patch = (patch: Record<string, any> | ((state: S) => void)) => {\n if (!stateObj) {\n if (typeof patch === 'function') {\n patch(api as S)\n notify('patch function')\n }\n else {\n mergeShallow(api as any, patch)\n notify('patch object')\n }\n return\n }\n if (typeof patch === 'function') {\n patch(stateObj)\n notify('patch function')\n }\n else {\n mergeShallow(stateObj, patch)\n notify('patch object')\n }\n }\n if (resetImpl) {\n api.$reset = () => resetImpl()\n }\n const subs = new Set<SubscriptionCallback<S>>()\n api.$subscribe = (cb: SubscriptionCallback<S>, _opts?: { detached?: boolean }) => {\n subs.add(cb)\n return () => subs.delete(cb)\n }\n const actionSubs = new Set<ActionSubscriber<any>>()\n api.$onAction = (cb: ActionSubscriber<any>) => {\n actionSubs.add(cb)\n return () => actionSubs.delete(cb)\n }\n return { api, subs, actionSubs }\n}\n","import type { MutationType, SubscriptionCallback } from '../types'\nimport { isReactive, isRef, toRaw } from '../../reactivity'\nimport { cloneDeep } from '../utils'\n\nconst hasOwn = Object.prototype.hasOwnProperty\n\nexport function isTrackableRef(value: unknown) {\n return isRef(value) && hasOwn.call(value, 'dep')\n}\n\nexport function snapshotValue(value: unknown) {\n if (isReactive(value)) {\n return cloneDeep(toRaw(value as any))\n }\n if (isTrackableRef(value)) {\n return cloneDeep((value as any).value)\n }\n return cloneDeep(value)\n}\n\nexport function createSafeNotifier<S>(\n storeId: string,\n subs: Set<SubscriptionCallback<S>>,\n getState: () => S,\n) {\n let notifying = false\n return (type: MutationType) => {\n if (notifying) {\n return\n }\n notifying = true\n try {\n const state = getState()\n subs.forEach((cb) => {\n try {\n cb({ type, storeId }, state)\n }\n catch {}\n })\n }\n finally {\n notifying = false\n }\n }\n}\n","import { computed, effect, reactive, toRaw, touchReactive } from '../../reactivity'\nimport { wrapAction } from '../actions'\nimport { createBaseApi } from '../base'\nimport { cloneDeep, resetObject } from '../utils'\nimport { createSafeNotifier } from './shared'\n\nexport function createOptionsStyleStore(id: string, options: any, manager: any) {\n const rawState = options.state ? options.state() : {}\n const state = reactive(rawState)\n const initialSnapshot = cloneDeep(toRaw(rawState))\n let notify: (type: any) => void = () => {}\n const base = createBaseApi<typeof state>(id, state, t => notify(t), () => {\n resetObject(state as any, initialSnapshot)\n notify('patch object')\n })\n\n let isPatching = false\n const rawPatch = base.api.$patch\n base.api.$patch = (patch: Partial<typeof state> | ((nextState: typeof state) => void)) => {\n isPatching = true\n try {\n rawPatch(patch as any)\n }\n finally {\n isPatching = false\n }\n }\n if (typeof base.api.$reset === 'function') {\n const rawReset = base.api.$reset\n base.api.$reset = () => {\n isPatching = true\n try {\n rawReset()\n }\n finally {\n isPatching = false\n }\n }\n }\n\n notify = createSafeNotifier(id, base.subs, () => state as any)\n\n const store: Record<string, any> = {}\n for (const key of Object.getOwnPropertyNames(base.api)) {\n const d = Object.getOwnPropertyDescriptor(base.api, key)\n if (d) {\n if (key === '$state') {\n Object.defineProperty(store, key, {\n enumerable: d.enumerable,\n configurable: d.configurable,\n get() {\n return (base.api as any).$state\n },\n set(v: any) {\n isPatching = true\n try {\n ;(base.api as any).$state = v\n }\n finally {\n isPatching = false\n }\n },\n })\n }\n else {\n Object.defineProperty(store, key, d)\n }\n }\n }\n\n const getterDefs = options.getters ?? {}\n Object.keys(getterDefs).forEach((key) => {\n const getter = (getterDefs as any)[key]\n if (typeof getter === 'function') {\n const c = computed(() => getter.call(store, state))\n Object.defineProperty(store, key, {\n enumerable: true,\n configurable: true,\n get() {\n return c.value\n },\n })\n }\n })\n\n const actionDefs = options.actions ?? {}\n Object.keys(actionDefs).forEach((key) => {\n const act = (actionDefs as any)[key]\n if (typeof act === 'function') {\n const wrapped = wrapAction(store as any, key, (...args: any[]) => {\n return act.apply(store as any, args)\n }, base.actionSubs)\n store[key] = wrapped\n }\n })\n\n Object.keys(state).forEach((k) => {\n Object.defineProperty(store, k, {\n enumerable: true,\n configurable: true,\n get() {\n return (state as any)[k]\n },\n set(v: any) {\n ;(state as any)[k] = v\n },\n })\n })\n\n let initialized = false\n let dispatchingDirect = false\n effect(() => {\n touchReactive(state)\n if (!initialized) {\n initialized = true\n return\n }\n if (isPatching || dispatchingDirect) {\n return\n }\n dispatchingDirect = true\n try {\n notify('direct')\n }\n finally {\n dispatchingDirect = false\n }\n })\n\n const plugins = manager?._plugins ?? []\n for (const plugin of plugins) {\n try {\n plugin({ store })\n }\n catch {}\n }\n\n return store\n}\n","import { effect, isReactive, isRef, touchReactive } from '../../reactivity'\nimport { wrapAction } from '../actions'\nimport { createBaseApi } from '../base'\nimport { cloneDeep, resetObject } from '../utils'\nimport { createSafeNotifier, isTrackableRef, snapshotValue } from './shared'\n\nexport function createSetupStyleStore(id: string, setupFactory: () => Record<string, any>, manager: any) {\n const result = setupFactory()\n let notify: (type: any) => void = () => {}\n const initialSnapshot = new Map<string, any>()\n Object.keys(result).forEach((k) => {\n const val = (result as any)[k]\n if (typeof val === 'function' || k.startsWith('$')) {\n return\n }\n if (isRef(val) && !isTrackableRef(val)) {\n return\n }\n initialSnapshot.set(k, snapshotValue(val))\n })\n\n let instance: Record<string, any> = {}\n const resetImpl = () => {\n initialSnapshot.forEach((snapValue, key) => {\n const current = (instance as any)[key]\n if (isTrackableRef(current)) {\n current.value = cloneDeep(snapValue)\n return\n }\n if (isReactive(current)) {\n resetObject(current as any, snapValue)\n return\n }\n if (isRef(current)) {\n return\n }\n ;(instance as any)[key] = cloneDeep(snapValue)\n })\n notify('patch object')\n }\n\n const base = createBaseApi<any>(id, undefined, t => notify(t), resetImpl)\n let isPatching = false\n const rawPatch = base.api.$patch\n base.api.$patch = (patch: Record<string, any> | ((state: any) => void)) => {\n isPatching = true\n try {\n rawPatch(patch)\n }\n finally {\n isPatching = false\n }\n }\n if (typeof base.api.$reset === 'function') {\n const rawReset = base.api.$reset\n base.api.$reset = () => {\n isPatching = true\n try {\n rawReset()\n }\n finally {\n isPatching = false\n }\n }\n }\n\n instance = { ...result }\n notify = createSafeNotifier(id, base.subs, () => instance)\n\n // 将 setup 返回值与基础 API 合并,同时保留每个 getter/setter 的描述符,避免覆写访问器行为\n for (const key of Object.getOwnPropertyNames(base.api)) {\n const d = Object.getOwnPropertyDescriptor(base.api, key)\n if (d) {\n if (key === '$state') {\n Object.defineProperty(instance, key, {\n enumerable: d.enumerable,\n configurable: d.configurable,\n get() {\n return (base.api as any).$state\n },\n set(v: any) {\n isPatching = true\n try {\n ;(base.api as any).$state = v\n }\n finally {\n isPatching = false\n }\n },\n })\n }\n else {\n Object.defineProperty(instance, key, d)\n }\n }\n }\n\n const directSources: any[] = []\n Object.keys(result).forEach((k) => {\n const val = (result as any)[k]\n if (typeof val === 'function' && !k.startsWith('$')) {\n ;(instance as any)[k] = wrapAction(instance, k, val, base.actionSubs)\n return\n }\n if (isTrackableRef(val)) {\n directSources.push(val)\n return\n }\n if (isReactive(val)) {\n directSources.push(val)\n return\n }\n if (isRef(val)) {\n return\n }\n if (!k.startsWith('$')) {\n let innerValue = val\n Object.defineProperty(instance, k, {\n enumerable: true,\n configurable: true,\n get() {\n return innerValue\n },\n set(next: any) {\n innerValue = next\n if (!isPatching) {\n notify('direct')\n }\n },\n })\n }\n })\n\n let dispatchingDirect = false\n if (directSources.length > 0) {\n let initialized = false\n effect(() => {\n directSources.forEach((source) => {\n if (isTrackableRef(source)) {\n void source.value\n }\n else {\n touchReactive(source)\n }\n })\n if (!initialized) {\n initialized = true\n return\n }\n if (isPatching || dispatchingDirect) {\n return\n }\n dispatchingDirect = true\n try {\n notify('direct')\n }\n finally {\n dispatchingDirect = false\n }\n })\n }\n\n const plugins = manager?._plugins ?? []\n for (const plugin of plugins) {\n try {\n plugin({ store: instance })\n }\n catch {}\n }\n\n return instance\n}\n","import type { StoreManager } from './types'\n\n/**\n * @description 创建 store 管理器(插件与共享实例入口)\n */\nexport function createStore(): StoreManager {\n const manager: StoreManager = {\n _stores: new Map(),\n _plugins: [],\n install(_app: any) {\n // 小程序场景不需要注册全局插件入口,这里保留 API 但不执行任何操作\n },\n use(plugin: (context: { store: any }) => void) {\n if (typeof plugin === 'function') {\n manager._plugins.push(plugin)\n }\n return manager\n },\n }\n ;(createStore as any)._instance = manager\n return manager\n}\n","import type {\n ActionSubscriber,\n DefineStoreOptions,\n StoreGetters,\n StoreManager,\n StoreSubscribeOptions,\n SubscriptionCallback,\n} from './types'\nimport { effectScope } from '../reactivity'\nimport { createOptionsStyleStore } from './define/optionsStyle'\nimport { createSetupStyleStore } from './define/setupStyle'\nimport { createStore } from './manager'\n\ntype SetupDefinition<T> = () => T\n\n/**\n * @description 定义一个 setup 风格的 store\n */\nexport function defineStore<T extends Record<string, any>>(id: string, setup: SetupDefinition<T>): () => T & {\n $id: string\n $patch: (patch: Record<string, any> | ((state: any) => void)) => void\n $reset: () => void\n $subscribe: (cb: SubscriptionCallback<any>, opts?: StoreSubscribeOptions) => () => void\n $onAction: (cb: ActionSubscriber<any>) => () => void\n}\n/**\n * @description 定义一个 options 风格的 store\n */\nexport function defineStore<S extends Record<string, any>, G extends Record<string, any>, A extends Record<string, any>>(\n id: string,\n options: DefineStoreOptions<S, G, A>,\n): () => S & StoreGetters<G> & A & {\n $id: string\n $state: S\n $patch: (patch: Partial<S> | ((state: S) => void)) => void\n $reset: () => void\n $subscribe: (cb: SubscriptionCallback<S>, opts?: StoreSubscribeOptions) => () => void\n $onAction: (cb: ActionSubscriber<S & StoreGetters<G> & A>) => () => void\n}\nexport function defineStore(id: string, setupOrOptions: any) {\n let instance: any\n let created = false\n const manager = (createStore as any)._instance as StoreManager | undefined\n\n return function useStore(): any {\n if (created && instance) {\n return instance\n }\n created = true\n\n const storeScope = effectScope(true)\n instance = storeScope.run(() => {\n return typeof setupOrOptions === 'function'\n ? createSetupStyleStore(id, setupOrOptions, manager)\n : createOptionsStyleStore(id, setupOrOptions as DefineStoreOptions<any, any, any>, manager)\n })\n\n return instance\n }\n}\n","import type { Ref } from '../reactivity'\nimport { computed, isRef } from '../reactivity'\n\n/**\n * @description storeToRefs 返回类型推导\n */\nexport type StoreToRefsResult<T extends Record<string, any>> = {\n [K in keyof T]:\n T[K] extends (...args: any[]) => any\n ? T[K]\n : T[K] extends Ref<infer V>\n ? Ref<V>\n : Ref<T[K]>\n}\n\n/**\n * @description 将 store 状态转换为 Ref\n */\nexport function storeToRefs<T extends Record<string, any>>(store: T): StoreToRefsResult<T> {\n const result: Record<string, any> = {}\n for (const key in store) {\n const value = (store as any)[key]\n if (typeof value === 'function') {\n result[key] = value\n continue\n }\n if (isRef(value)) {\n result[key] = value\n }\n else {\n result[key] = computed({\n get: () => (store as any)[key],\n set: (v: any) => {\n ;(store as any)[key] = v\n },\n })\n }\n }\n return result as StoreToRefsResult<T>\n}\n"],"mappings":";;;AA2BA,SAAgB,SACd,iBACyC;CACzC,IAAI;CACJ,IAAI;CACJ,MAAM,aAAa,OAAO,oBAAoB;CAC9C,IAAI,YAAY;EACd,SAAS;EACT,eAAe;GACb,MAAM,IAAI,MAAM,WAAW;;QAG1B;EACH,SAAU,gBAA+C;EACzD,SAAU,gBAA+C;;CAE3D,IAAI;CACJ,IAAI,QAAQ;CACZ,IAAI;CACJ,MAAM,MAAW;EACf,IAAI,QAAQ;GACV,IAAI,OAAO;IACT,QAAQ,QAAQ;IAChB,QAAQ;;GAEV,MAAM,KAAK,QAAQ;GACnB,OAAO;;EAET,IAAI,MAAM,UAAa;GACrB,OAAO,SAAS;;EAEnB;CACD,UAAU,IAAI;CACd,SAAS,OAAO,QAAQ;EACtB,MAAM;EACN,iBAAiB;GACf,IAAI,CAAC,OAAO;IACV,QAAQ;IACR,QAAQ,KAAK,QAAQ;;;EAG1B,CAAC;CACF,OAAQ,aAAa,MAAwB;;;;;ACnE/C,SAAgB,WACd,OACA,MACA,QACA,YACA;CACA,OAAO,SAAS,QAAmB,GAAG,MAAa;EACjD,MAAM,WAAoC,EAAE;EAC5C,MAAM,WAAoC,EAAE;EAC5C,MAAM,SAAS,OAAyB,SAAS,KAAK,GAAG;EACzD,MAAM,WAAW,OAAyB,SAAS,KAAK,GAAG;EAC3D,WAAW,SAAS,QAAQ;GAC1B,IAAI;IACF,IAAI;KAAE;KAAM;KAAO;KAAM;KAAO;KAAS,CAAC;qBAEtC;IAGN;EACF,IAAI;EACJ,IAAI;GACF,MAAM,OAAO,MAAM,OAAO,KAAK;WAE1B,GAAG;GACR,SAAS,SAAQ,OAAM,GAAG,EAAE,CAAC;GAC7B,MAAM;;EAER,MAAM,YAAY,MAAW;GAC3B,SAAS,SAAQ,OAAM,GAAG,EAAE,CAAC;GAC7B,OAAO;;EAET,IAAI,OAAO,OAAQ,IAAqB,SAAS,YAC/C,OAAQ,IAAqB,MAC3B,MAAK,SAAS,EAAE,GACf,MAAM;GACL,SAAS,SAAQ,OAAM,GAAG,EAAE,CAAC;GAC7B,OAAO,QAAQ,OAAO,EAAE;IAE3B;EAEH,OAAO,SAAS,IAAI;;;;;;AC1CxB,SAAgB,SAAS,KAA6B;CACpD,OAAO,OAAO,QAAQ,YAAY,QAAQ;;AAG5C,SAAgB,cAAc,KAA0C;CACtE,IAAI,CAAC,SAAS,IAAI,EAChB,OAAO;CAET,MAAM,QAAQ,OAAO,eAAe,IAAI;CACxC,OAAO,UAAU,OAAO,aAAa,UAAU;;AAGjD,SAAgB,aAAa,QAA6B,OAA4B;CACpF,KAAK,MAAM,KAAK,OACd,OAAO,KAAK,MAAM;;AAItB,SAAgB,UAAa,OAAa;CACxC,IAAI,MAAM,QAAQ,MAAM,EACtB,OAAO,MAAM,KAAI,SAAQ,UAAU,KAAK,CAAC;CAE3C,IAAI,cAAc,MAAM,EAAE;EACxB,MAAM,SAA8B,EAAE;EACtC,KAAK,MAAM,OAAO,OAChB,OAAO,OAAO,UAAW,MAAc,KAAK;EAE9C,OAAO;;CAET,OAAO;;AAGT,SAAgB,YAAY,QAA6B,UAAuC;CAC9F,IAAI,MAAM,QAAQ,OAAO,IAAI,MAAM,QAAQ,SAAS,EAAE;EACpD,OAAO,SAAS;EAChB,SAAS,SAAS,MAAM,UAAU;GAChC,OAAO,SAAS,UAAU,KAAK;IAC/B;EACF;;CAEF,IAAI,CAAC,SAAS,SAAS,EACrB;CAEF,KAAK,MAAM,OAAO,QAChB,IAAI,EAAE,OAAO,WACX,OAAO,OAAO;CAGlB,KAAK,MAAM,OAAO,UAAU;EAC1B,MAAM,YAAa,SAAiB;EACpC,MAAM,eAAe,OAAO;EAC5B,IAAI,MAAM,QAAQ,UAAU,IAAI,MAAM,QAAQ,aAAa,EAAE;GAC3D,YAAY,cAAc,UAAU;GACpC;;EAEF,IAAI,cAAc,UAAU,IAAI,cAAc,aAAa,EAAE;GAC3D,YAAY,cAAc,UAAU;GACpC;;EAEF,OAAO,OAAO,UAAU,UAAU;;;;;;ACxDtC,SAAgB,cACd,IACA,UACA,QACA,WACA;CACA,MAAM,MAAW,EACf,KAAK,IACN;CACD,OAAO,eAAe,KAAK,UAAU;EACnC,MAAM;GACJ,OAAO;;EAET,IAAI,GAAQ;GACV,IAAI,YAAY,SAAS,EAAE,EAAE;IAC3B,aAAa,UAAU,EAAE;IACzB,OAAO,eAAe;;;EAG3B,CAAC;CACF,IAAI,UAAU,UAAsD;EAClE,IAAI,CAAC,UAAU;GACb,IAAI,OAAO,UAAU,YAAY;IAC/B,MAAM,IAAS;IACf,OAAO,iBAAiB;UAErB;IACH,aAAa,KAAY,MAAM;IAC/B,OAAO,eAAe;;GAExB;;EAEF,IAAI,OAAO,UAAU,YAAY;GAC/B,MAAM,SAAS;GACf,OAAO,iBAAiB;SAErB;GACH,aAAa,UAAU,MAAM;GAC7B,OAAO,eAAe;;;CAG1B,IAAI,WACF,IAAI,eAAe,WAAW;CAEhC,MAAM,uBAAO,IAAI,KAA8B;CAC/C,IAAI,cAAc,IAA6B,UAAmC;EAChF,KAAK,IAAI,GAAG;EACZ,aAAa,KAAK,OAAO,GAAG;;CAE9B,MAAM,6BAAa,IAAI,KAA4B;CACnD,IAAI,aAAa,OAA8B;EAC7C,WAAW,IAAI,GAAG;EAClB,aAAa,WAAW,OAAO,GAAG;;CAEpC,OAAO;EAAE;EAAK;EAAM;EAAY;;;;;ACrDlC,MAAM,SAAS,OAAO,UAAU;AAEhC,SAAgB,eAAe,OAAgB;CAC7C,OAAO,MAAM,MAAM,IAAI,OAAO,KAAK,OAAO,MAAM;;AAGlD,SAAgB,cAAc,OAAgB;CAC5C,IAAI,WAAW,MAAM,EACnB,OAAO,UAAU,MAAM,MAAa,CAAC;CAEvC,IAAI,eAAe,MAAM,EACvB,OAAO,UAAW,MAAc,MAAM;CAExC,OAAO,UAAU,MAAM;;AAGzB,SAAgB,mBACd,SACA,MACA,UACA;CACA,IAAI,YAAY;CAChB,QAAQ,SAAuB;EAC7B,IAAI,WACF;EAEF,YAAY;EACZ,IAAI;GACF,MAAM,QAAQ,UAAU;GACxB,KAAK,SAAS,OAAO;IACnB,IAAI;KACF,GAAG;MAAE;MAAM;MAAS,EAAE,MAAM;sBAExB;KACN;YAEI;GACN,YAAY;;;;;;;ACnClB,SAAgB,wBAAwB,IAAY,SAAc,SAAc;;CAC9E,MAAM,WAAW,QAAQ,QAAQ,QAAQ,OAAO,GAAG,EAAE;CACrD,MAAM,QAAQ,SAAS,SAAS;CAChC,MAAM,kBAAkB,UAAU,MAAM,SAAS,CAAC;CAClD,IAAI,eAAoC;CACxC,MAAM,OAAO,cAA4B,IAAI,QAAO,MAAK,OAAO,EAAE,QAAQ;EACxE,YAAY,OAAc,gBAAgB;EAC1C,OAAO,eAAe;GACtB;CAEF,IAAI,aAAa;CACjB,MAAM,WAAW,KAAK,IAAI;CAC1B,KAAK,IAAI,UAAU,UAAuE;EACxF,aAAa;EACb,IAAI;GACF,SAAS,MAAa;YAEhB;GACN,aAAa;;;CAGjB,IAAI,OAAO,KAAK,IAAI,WAAW,YAAY;EACzC,MAAM,WAAW,KAAK,IAAI;EAC1B,KAAK,IAAI,eAAe;GACtB,aAAa;GACb,IAAI;IACF,UAAU;aAEJ;IACN,aAAa;;;;CAKnB,SAAS,mBAAmB,IAAI,KAAK,YAAY,MAAa;CAE9D,MAAM,QAA6B,EAAE;CACrC,KAAK,MAAM,OAAO,OAAO,oBAAoB,KAAK,IAAI,EAAE;EACtD,MAAM,IAAI,OAAO,yBAAyB,KAAK,KAAK,IAAI;EACxD,IAAI,GACF,IAAI,QAAQ,UACV,OAAO,eAAe,OAAO,KAAK;GAChC,YAAY,EAAE;GACd,cAAc,EAAE;GAChB,MAAM;IACJ,OAAQ,KAAK,IAAY;;GAE3B,IAAI,GAAQ;IACV,aAAa;IACb,IAAI;KACD,AAAC,KAAK,IAAY,SAAS;cAEtB;KACN,aAAa;;;GAGlB,CAAC;OAGF,OAAO,eAAe,OAAO,KAAK,EAAE;;CAK1C,MAAM,iCAAa,QAAQ,sEAAW,EAAE;CACxC,OAAO,KAAK,WAAW,CAAC,SAAS,QAAQ;EACvC,MAAM,SAAU,WAAmB;EACnC,IAAI,OAAO,WAAW,YAAY;GAChC,MAAM,IAAI,eAAe,OAAO,KAAK,OAAO,MAAM,CAAC;GACnD,OAAO,eAAe,OAAO,KAAK;IAChC,YAAY;IACZ,cAAc;IACd,MAAM;KACJ,OAAO,EAAE;;IAEZ,CAAC;;GAEJ;CAEF,MAAM,iCAAa,QAAQ,sEAAW,EAAE;CACxC,OAAO,KAAK,WAAW,CAAC,SAAS,QAAQ;EACvC,MAAM,MAAO,WAAmB;EAChC,IAAI,OAAO,QAAQ,YAIjB,MAAM,OAHU,WAAW,OAAc,MAAM,GAAG,SAAgB;GAChE,OAAO,IAAI,MAAM,OAAc,KAAK;KACnC,KAAK,WACY;GAEtB;CAEF,OAAO,KAAK,MAAM,CAAC,SAAS,MAAM;EAChC,OAAO,eAAe,OAAO,GAAG;GAC9B,YAAY;GACZ,cAAc;GACd,MAAM;IACJ,OAAQ,MAAc;;GAExB,IAAI,GAAQ;IACT,AAAC,MAAc,KAAK;;GAExB,CAAC;GACF;CAEF,IAAI,cAAc;CAClB,IAAI,oBAAoB;CACxB,aAAa;EACX,cAAc,MAAM;EACpB,IAAI,CAAC,aAAa;GAChB,cAAc;GACd;;EAEF,IAAI,cAAc,mBAChB;EAEF,oBAAoB;EACpB,IAAI;GACF,OAAO,SAAS;YAEV;GACN,oBAAoB;;GAEtB;CAEF,MAAM,iFAAU,QAAS,yEAAY,EAAE;CACvC,KAAK,MAAM,UAAU,SACnB,IAAI;EACF,OAAO,EAAE,OAAO,CAAC;mBAEb;CAGR,OAAO;;;;;ACnIT,SAAgB,sBAAsB,IAAY,cAAyC,SAAc;;CACvG,MAAM,SAAS,cAAc;CAC7B,IAAI,eAAoC;CACxC,MAAM,kCAAkB,IAAI,KAAkB;CAC9C,OAAO,KAAK,OAAO,CAAC,SAAS,MAAM;EACjC,MAAM,MAAO,OAAe;EAC5B,IAAI,OAAO,QAAQ,cAAc,EAAE,WAAW,IAAI,EAChD;EAEF,IAAI,MAAM,IAAI,IAAI,CAAC,eAAe,IAAI,EACpC;EAEF,gBAAgB,IAAI,GAAG,cAAc,IAAI,CAAC;GAC1C;CAEF,IAAI,WAAgC,EAAE;CACtC,MAAM,kBAAkB;EACtB,gBAAgB,SAAS,WAAW,QAAQ;GAC1C,MAAM,UAAW,SAAiB;GAClC,IAAI,eAAe,QAAQ,EAAE;IAC3B,QAAQ,QAAQ,UAAU,UAAU;IACpC;;GAEF,IAAI,WAAW,QAAQ,EAAE;IACvB,YAAY,SAAgB,UAAU;IACtC;;GAEF,IAAI,MAAM,QAAQ,EAChB;GAED,AAAC,SAAiB,OAAO,UAAU,UAAU;IAC9C;EACF,OAAO,eAAe;;CAGxB,MAAM,OAAO,cAAmB,IAAI,SAAW,MAAK,OAAO,EAAE,EAAE,UAAU;CACzE,IAAI,aAAa;CACjB,MAAM,WAAW,KAAK,IAAI;CAC1B,KAAK,IAAI,UAAU,UAAwD;EACzE,aAAa;EACb,IAAI;GACF,SAAS,MAAM;YAET;GACN,aAAa;;;CAGjB,IAAI,OAAO,KAAK,IAAI,WAAW,YAAY;EACzC,MAAM,WAAW,KAAK,IAAI;EAC1B,KAAK,IAAI,eAAe;GACtB,aAAa;GACb,IAAI;IACF,UAAU;aAEJ;IACN,aAAa;;;;CAKnB,WAAW,EAAE,GAAG,QAAQ;CACxB,SAAS,mBAAmB,IAAI,KAAK,YAAY,SAAS;CAG1D,KAAK,MAAM,OAAO,OAAO,oBAAoB,KAAK,IAAI,EAAE;EACtD,MAAM,IAAI,OAAO,yBAAyB,KAAK,KAAK,IAAI;EACxD,IAAI,GACF,IAAI,QAAQ,UACV,OAAO,eAAe,UAAU,KAAK;GACnC,YAAY,EAAE;GACd,cAAc,EAAE;GAChB,MAAM;IACJ,OAAQ,KAAK,IAAY;;GAE3B,IAAI,GAAQ;IACV,aAAa;IACb,IAAI;KACD,AAAC,KAAK,IAAY,SAAS;cAEtB;KACN,aAAa;;;GAGlB,CAAC;OAGF,OAAO,eAAe,UAAU,KAAK,EAAE;;CAK7C,MAAM,gBAAuB,EAAE;CAC/B,OAAO,KAAK,OAAO,CAAC,SAAS,MAAM;EACjC,MAAM,MAAO,OAAe;EAC5B,IAAI,OAAO,QAAQ,cAAc,CAAC,EAAE,WAAW,IAAI,EAAE;GAClD,AAAC,SAAiB,KAAK,WAAW,UAAU,GAAG,KAAK,KAAK,WAAW;GACrE;;EAEF,IAAI,eAAe,IAAI,EAAE;GACvB,cAAc,KAAK,IAAI;GACvB;;EAEF,IAAI,WAAW,IAAI,EAAE;GACnB,cAAc,KAAK,IAAI;GACvB;;EAEF,IAAI,MAAM,IAAI,EACZ;EAEF,IAAI,CAAC,EAAE,WAAW,IAAI,EAAE;GACtB,IAAI,aAAa;GACjB,OAAO,eAAe,UAAU,GAAG;IACjC,YAAY;IACZ,cAAc;IACd,MAAM;KACJ,OAAO;;IAET,IAAI,MAAW;KACb,aAAa;KACb,IAAI,CAAC,YACH,OAAO,SAAS;;IAGrB,CAAC;;GAEJ;CAEF,IAAI,oBAAoB;CACxB,IAAI,cAAc,SAAS,GAAG;EAC5B,IAAI,cAAc;EAClB,aAAa;GACX,cAAc,SAAS,WAAW;IAChC,IAAI,eAAe,OAAO,EACxB,AAAK,OAAO;SAGZ,cAAc,OAAO;KAEvB;GACF,IAAI,CAAC,aAAa;IAChB,cAAc;IACd;;GAEF,IAAI,cAAc,mBAChB;GAEF,oBAAoB;GACpB,IAAI;IACF,OAAO,SAAS;aAEV;IACN,oBAAoB;;IAEtB;;CAGJ,MAAM,iFAAU,QAAS,yEAAY,EAAE;CACvC,KAAK,MAAM,UAAU,SACnB,IAAI;EACF,OAAO,EAAE,OAAO,UAAU,CAAC;mBAEvB;CAGR,OAAO;;;;;;;;ACrKT,SAAgB,cAA4B;CAC1C,MAAM,UAAwB;EAC5B,yBAAS,IAAI,KAAK;EAClB,UAAU,EAAE;EACZ,QAAQ,MAAW;EAGnB,IAAI,QAA2C;GAC7C,IAAI,OAAO,WAAW,YACpB,QAAQ,SAAS,KAAK,OAAO;GAE/B,OAAO;;EAEV;CACA,AAAC,YAAoB,YAAY;CAClC,OAAO;;;;;ACmBT,SAAgB,YAAY,IAAY,gBAAqB;CAC3D,IAAI;CACJ,IAAI,UAAU;CACd,MAAM,UAAW,YAAoB;CAErC,OAAO,SAAS,WAAgB;EAC9B,IAAI,WAAW,UACb,OAAO;EAET,UAAU;EAGV,WADmB,YAAY,KACV,CAAC,UAAU;GAC9B,OAAO,OAAO,mBAAmB,aAC7B,sBAAsB,IAAI,gBAAgB,QAAQ,GAClD,wBAAwB,IAAI,gBAAqD,QAAQ;IAC7F;EAEF,OAAO;;;;;;;;;ACvCX,SAAgB,YAA2C,OAAgC;CACzF,MAAM,SAA8B,EAAE;CACtC,KAAK,MAAM,OAAO,OAAO;EACvB,MAAM,QAAS,MAAc;EAC7B,IAAI,OAAO,UAAU,YAAY;GAC/B,OAAO,OAAO;GACd;;EAEF,IAAI,MAAM,MAAM,EACd,OAAO,OAAO;OAGd,OAAO,OAAO,SAAS;GACrB,WAAY,MAAc;GAC1B,MAAM,MAAW;IACd,AAAC,MAAc,OAAO;;GAE1B,CAAC;;CAGN,OAAO"}
@@ -1,3 +1,3 @@
1
- import { n as defineStore, r as createStore, t as storeToRefs } from "./store-Dr0zE_9B.mjs";
1
+ import { n as defineStore, r as createStore, t as storeToRefs } from "./store-BhOds5RF.mjs";
2
2
 
3
3
  export { createStore, defineStore, storeToRefs };
@@ -1,7 +1,7 @@
1
- import { $ as isNoSetData, A as createApp, B as waitForLayoutHost, C as usePageStack, Ct as shallowRef, D as createWevuComponent, E as useDisposables, Et as __reExport, F as resolveLayoutHost, G as runSetupFunction, H as mountRuntimeInstance, I as unregisterPageLayoutBridge, J as syncRuntimePageLayoutState, K as resolveRuntimePageLayoutName, L as unregisterRuntimeLayoutHosts, M as registerPageLayoutBridge, N as registerRuntimeLayoutHosts, O as createWevuScopedSlotComponent, P as resolveLayoutBridge, Q as setWevuDefaults, R as useLayoutBridge, S as useNavigationBarMetrics, St as isShallowRef, T as useElementIntersectionObserver, Tt as __exportAll, U as setRuntimeSetDataVisibility, V as registerApp, W as teardownRuntimeInstance, X as usePageLayout, Y as syncRuntimePageLayoutStateFromRuntime, Z as resetWevuDefaults, _ as useSelectorQuery, _t as onUnmounted, a as useModel, at as watchSyncEffect, b as getCurrentPageStackSnapshot, bt as toRef, c as useSlots, ct as callUpdateHooks, d as useUpdatePerformanceListener, dt as onBeforeUnmount, et as markNoSetData, f as normalizeClass, ft as onBeforeUpdate, g as useSelectorFields, gt as onServerPrefetch, h as useScrollOffset, ht as onMounted, i as useChangeModel, it as watchPostEffect, j as registerComponent, k as defineComponent, l as defineAppSetup, lt as onActivated, m as useBoundingClientRect, mt as onErrorCaptured, n as mergeModels, nt as watch, o as useAttrs, ot as getDeepWatchStrategy, p as normalizeStyle, pt as onDeactivated, q as setPageLayout, r as useBindModel, rt as watchEffect, s as useNativeInstance, st as setDeepWatchStrategy, t as useTemplateRef, tt as version, u as use, ut as onBeforeMount, v as useAsyncPullDownRefresh, vt as onUpdated, w as useIntersectionObserver, wt as triggerRef, x as getNavigationBarMetrics, xt as toRefs, y as usePageScrollThrottle, yt as traverse, z as useLayoutHosts } from "./src-D0NYA2AT.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-BTTXccLL.mjs";
3
- import { i as computed, n as defineStore, r as createStore, t as storeToRefs } from "./store-Dr0zE_9B.mjs";
4
- import { A as onLoad, B as onSaveExitState, C as setGlobalProvidedValue, D as onError, E as onDetached, F as onPullDownRefresh, G as onThemeChange, H as onShareTimeline, I as onReachBottom, K as onUnhandledRejection, L as onReady, M as onMoved, N as onPageNotFound, O as onHide, P as onPageScroll, Q as getCurrentSetupContext, R as onResize, T as onAttached, U as onShow, V as onShareAppMessage, W as onTabItemTap, X as callHookReturn, Y as callHookList, Z as getCurrentInstance, _ as provide, ct as isProxy, dt as shallowReadonly, et as setCurrentInstance, g as injectGlobal, h as inject, j as onMemoryWarning, k as onLaunch, lt as isReadonly, m as hasInjectionContext, n as useNativeRouter, q as onUnload, t as useNativePageRouter, tt as setCurrentSetupContext, ut as readonly, v as provideGlobal, w as onAddToFavorites, z as onRouteDone } from "./router-BZZnIx32.mjs";
1
+ import { $ as isNoSetData, A as createApp, B as waitForLayoutHost, C as usePageStack, Ct as shallowRef, D as createWevuComponent, E as useDisposables, Et as __reExport, F as resolveLayoutHost, G as runSetupFunction, H as mountRuntimeInstance, I as unregisterPageLayoutBridge, J as syncRuntimePageLayoutState, K as resolveRuntimePageLayoutName, L as unregisterRuntimeLayoutHosts, M as registerPageLayoutBridge, N as registerRuntimeLayoutHosts, O as createWevuScopedSlotComponent, P as resolveLayoutBridge, Q as setWevuDefaults, R as useLayoutBridge, S as useNavigationBarMetrics, St as isShallowRef, T as useElementIntersectionObserver, Tt as __exportAll, U as setRuntimeSetDataVisibility, V as registerApp, W as teardownRuntimeInstance, X as usePageLayout, Y as syncRuntimePageLayoutStateFromRuntime, Z as resetWevuDefaults, _ as useSelectorQuery, _t as onUnmounted, a as useModel, at as watchSyncEffect, b as getCurrentPageStackSnapshot, bt as toRef, c as useSlots, ct as callUpdateHooks, d as useUpdatePerformanceListener, dt as onBeforeUnmount, et as markNoSetData, f as normalizeClass, ft as onBeforeUpdate, g as useSelectorFields, gt as onServerPrefetch, h as useScrollOffset, ht as onMounted, i as useChangeModel, it as watchPostEffect, j as registerComponent, k as defineComponent, l as defineAppSetup, lt as onActivated, m as useBoundingClientRect, mt as onErrorCaptured, n as mergeModels, nt as watch, o as useAttrs, ot as getDeepWatchStrategy, p as normalizeStyle, pt as onDeactivated, q as setPageLayout, r as useBindModel, rt as watchEffect, s as useNativeInstance, st as setDeepWatchStrategy, t as useTemplateRef, tt as version, u as use, ut as onBeforeMount, v as useAsyncPullDownRefresh, vt as onUpdated, w as useIntersectionObserver, wt as triggerRef, x as getNavigationBarMetrics, xt as toRefs, y as usePageScrollThrottle, yt as traverse, z as useLayoutHosts } from "./src-C2BzhMY6.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-oJCdOWf7.mjs";
3
+ import { i as computed, n as defineStore, r as createStore, t as storeToRefs } from "./store-BhOds5RF.mjs";
4
+ 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, _t as readonly, at as getCurrentSetupContext, ct as setCurrentSetupContext, et as onUnload, g as injectGlobal, gt as isReadonly, h as inject, ht as isProxy, it as getCurrentInstance, j as onAddToFavorites, m as hasInjectionContext, n as useNativeRouter, nt as callHookList, q as onSaveExitState, rt as callHookReturn, st as setCurrentInstance, t as useNativePageRouter, v as provideGlobal, vt as shallowReadonly, z as onMoved } from "./router-CXNNN43P.mjs";
5
5
 
6
6
  export * from "@wevu/web-apis"
7
7
 
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- 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-Bs--7iY3.mjs";import{i as E,n as D,r as O,t as k}from"./store-B63-EIon.mjs";import{A,B as j,C as M,D as N,E as P,F,G as I,H as L,I as R,K as z,L as B,M as V,N as H,O as U,P as W,Q as G,R as K,T as q,U as J,V as Y,W as X,X as Z,Y as Q,Z as $,_ as ee,ct as te,dt as ne,et as re,g as ie,h as ae,j as oe,k as se,lt as ce,m as le,n as ue,q as de,t as fe,tt as pe,ut as me,v as he,w as ge,z as _e}from"./router-BtpVtHM4.mjs";import{$ as ve,A as ye,B as be,C as xe,Ct as Se,D as Ce,E as we,F as Te,G as Ee,H as De,I as Oe,J as ke,K as Ae,L as je,M as Me,N as Ne,O as Pe,P as Fe,Q as Ie,R as Le,S as Re,St as ze,T as Be,U as Ve,V as He,W as Ue,X as We,Y as Ge,Z as Ke,_ as qe,_t as Je,a as Ye,at as Xe,b as Ze,bt as Qe,c as $e,ct as et,d as tt,dt as nt,et as rt,f as it,ft as at,g as ot,gt as st,h as ct,ht as lt,i as ut,it as dt,j as ft,k as pt,l as mt,lt as ht,m as gt,mt as _t,n as vt,nt as yt,o as bt,ot as xt,p as St,pt as Ct,q as wt,r as Tt,rt as Et,s as Dt,st as Ot,t as kt,tt as At,u as jt,ut as Mt,v as Nt,vt as Pt,w as Ft,wt as It,x as Lt,xt as Rt,y as zt,yt as Bt,z as Vt}from"./src-CxXeEspc.mjs";export*from"@wevu/web-apis";export{c as addMutationRecorder,a as batch,Q as callHookList,Z as callHookReturn,et as callUpdateHooks,E as computed,ye as createApp,O as createStore,Ce as createWevuComponent,Pe as createWevuScopedSlotComponent,x as customRef,mt as defineAppSetup,pt as defineComponent,D as defineStore,e as effect,C as effectScope,o as endBatch,$ as getCurrentInstance,Ze as getCurrentPageStackSnapshot,n as getCurrentScope,G as getCurrentSetupContext,xt as getDeepWatchStrategy,Lt as getNavigationBarMetrics,b as getReactiveVersion,le as hasInjectionContext,ae as inject,ie as injectGlobal,ve as isNoSetData,te as isProxy,l as isRaw,g as isReactive,ce as isReadonly,_ as isRef,d as isShallowReactive,ze as isShallowRef,rt as markNoSetData,S as markRaw,vt as mergeModels,De as mountRuntimeInstance,r as nextTick,it as normalizeClass,St as normalizeStyle,ht as onActivated,ge as onAddToFavorites,q as onAttached,Mt as onBeforeMount,nt as onBeforeUnmount,at as onBeforeUpdate,Ct as onDeactivated,P as onDetached,N as onError,_t as onErrorCaptured,U as onHide,se as onLaunch,A as onLoad,oe as onMemoryWarning,lt as onMounted,V as onMoved,H as onPageNotFound,W as onPageScroll,F as onPullDownRefresh,R as onReachBottom,B as onReady,K as onResize,_e as onRouteDone,j as onSaveExitState,t as onScopeDispose,st as onServerPrefetch,Y as onShareAppMessage,L as onShareTimeline,J as onShow,X as onTabItemTap,I as onThemeChange,z as onUnhandledRejection,de as onUnload,Je as onUnmounted,Pt as onUpdated,p as prelinkReactiveTree,ee as provide,he as provideGlobal,u as reactive,me as readonly,m as ref,He as registerApp,ft as registerComponent,Me as registerPageLayoutBridge,Ne as registerRuntimeLayoutHosts,w as removeMutationRecorder,Ke as resetWevuDefaults,Fe as resolveLayoutBridge,Te as resolveLayoutHost,Ae as resolveRuntimePageLayoutName,Ee as runSetupFunction,re as setCurrentInstance,pe as setCurrentSetupContext,Ot as setDeepWatchStrategy,M as setGlobalProvidedValue,wt as setPageLayout,Ve as setRuntimeSetDataVisibility,Ie as setWevuDefaults,y as shallowReactive,ne as shallowReadonly,Se as shallowRef,i as startBatch,h as stop,k as storeToRefs,ke as syncRuntimePageLayoutState,Ge as syncRuntimePageLayoutStateFromRuntime,Ue as teardownRuntimeInstance,T as toRaw,Qe as toRef,Rt as toRefs,s as toValue,f as touchReactive,Bt as traverse,It as triggerRef,v as unref,Oe as unregisterPageLayoutBridge,je as unregisterRuntimeLayoutHosts,jt as use,Nt as useAsyncPullDownRefresh,bt as useAttrs,Tt as useBindModel,gt as useBoundingClientRect,ut as useChangeModel,we as useDisposables,Be as useElementIntersectionObserver,Ft as useIntersectionObserver,Le as useLayoutBridge,Vt as useLayoutHosts,Ye as useModel,Dt as useNativeInstance,fe as useNativePageRouter,ue as useNativeRouter,Re as useNavigationBarMetrics,We as usePageLayout,zt as usePageScrollThrottle,xe as usePageStack,ct as useScrollOffset,ot as useSelectorFields,qe as useSelectorQuery,$e as useSlots,kt as useTemplateRef,tt as useUpdatePerformanceListener,At as version,be as waitForLayoutHost,yt as watch,Et as watchEffect,dt as watchPostEffect,Xe as watchSyncEffect};
1
+ 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-B6CIXciv.mjs";import{i as E,n as D,r as O,t as k}from"./store-C-7rPMM3.mjs";import{$ as A,A as j,B as M,F as N,G as P,H as F,I,J as L,K as R,L as z,M as B,N as V,P as H,Q as U,R as W,U as G,V as K,W as q,X as J,Y,Z as X,_ as Z,_t as Q,at as $,ct as ee,et as te,g as ne,gt as re,h as ie,ht as ae,it as oe,j as se,m as ce,n as le,nt as ue,q as de,rt as fe,st as pe,t as me,v as he,vt as ge,z as _e}from"./router-Cm3FUnTw.mjs";import{$ as ve,A as ye,B as be,C as xe,Ct as Se,D as Ce,E as we,F as Te,G as Ee,H as De,I as Oe,J as ke,K as Ae,L as je,M as Me,N as Ne,O as Pe,P as Fe,Q as Ie,R as Le,S as Re,St as ze,T as Be,U as Ve,V as He,W as Ue,X as We,Y as Ge,Z as Ke,_ as qe,_t as Je,a as Ye,at as Xe,b as Ze,bt as Qe,c as $e,ct as et,d as tt,dt as nt,et as rt,f as it,ft as at,g as ot,gt as st,h as ct,ht as lt,i as ut,it as dt,j as ft,k as pt,l as mt,lt as ht,m as gt,mt as _t,n as vt,nt as yt,o as bt,ot as xt,p as St,pt as Ct,q as wt,r as Tt,rt as Et,s as Dt,st as Ot,t as kt,tt as At,u as jt,ut as Mt,v as Nt,vt as Pt,w as Ft,wt as It,x as Lt,xt as Rt,y as zt,yt as Bt,z as Vt}from"./src-BF-e4_0K.mjs";export*from"@wevu/web-apis";export{c as addMutationRecorder,a as batch,ue as callHookList,fe as callHookReturn,et as callUpdateHooks,E as computed,ye as createApp,O as createStore,Ce as createWevuComponent,Pe as createWevuScopedSlotComponent,x as customRef,mt as defineAppSetup,pt as defineComponent,D as defineStore,e as effect,C as effectScope,o as endBatch,oe as getCurrentInstance,Ze as getCurrentPageStackSnapshot,n as getCurrentScope,$ as getCurrentSetupContext,xt as getDeepWatchStrategy,Lt as getNavigationBarMetrics,b as getReactiveVersion,ce as hasInjectionContext,ie as inject,ne as injectGlobal,ve as isNoSetData,ae as isProxy,l as isRaw,g as isReactive,re as isReadonly,_ as isRef,d as isShallowReactive,ze as isShallowRef,rt as markNoSetData,S as markRaw,vt as mergeModels,De as mountRuntimeInstance,r as nextTick,it as normalizeClass,St as normalizeStyle,ht as onActivated,se as onAddToFavorites,B as onAttached,Mt as onBeforeMount,nt as onBeforeUnmount,at as onBeforeUpdate,Ct as onDeactivated,V as onDetached,H as onError,_t as onErrorCaptured,N as onHide,I as onLaunch,z as onLoad,W as onMemoryWarning,lt as onMounted,_e as onMoved,M as onPageNotFound,K as onPageScroll,F as onPullDownRefresh,G as onReachBottom,q as onReady,P as onResize,R as onRouteDone,de as onSaveExitState,t as onScopeDispose,st as onServerPrefetch,L as onShareAppMessage,Y as onShareTimeline,J as onShow,X as onTabItemTap,U as onThemeChange,A as onUnhandledRejection,te as onUnload,Je as onUnmounted,Pt as onUpdated,p as prelinkReactiveTree,Z as provide,he as provideGlobal,u as reactive,Q as readonly,m as ref,He as registerApp,ft as registerComponent,Me as registerPageLayoutBridge,Ne as registerRuntimeLayoutHosts,w as removeMutationRecorder,Ke as resetWevuDefaults,Fe as resolveLayoutBridge,Te as resolveLayoutHost,Ae as resolveRuntimePageLayoutName,Ee as runSetupFunction,pe as setCurrentInstance,ee as setCurrentSetupContext,Ot as setDeepWatchStrategy,j as setGlobalProvidedValue,wt as setPageLayout,Ve as setRuntimeSetDataVisibility,Ie as setWevuDefaults,y as shallowReactive,ge as shallowReadonly,Se as shallowRef,i as startBatch,h as stop,k as storeToRefs,ke as syncRuntimePageLayoutState,Ge as syncRuntimePageLayoutStateFromRuntime,Ue as teardownRuntimeInstance,T as toRaw,Qe as toRef,Rt as toRefs,s as toValue,f as touchReactive,Bt as traverse,It as triggerRef,v as unref,Oe as unregisterPageLayoutBridge,je as unregisterRuntimeLayoutHosts,jt as use,Nt as useAsyncPullDownRefresh,bt as useAttrs,Tt as useBindModel,gt as useBoundingClientRect,ut as useChangeModel,we as useDisposables,Be as useElementIntersectionObserver,Ft as useIntersectionObserver,Le as useLayoutBridge,Vt as useLayoutHosts,Ye as useModel,Dt as useNativeInstance,me as useNativePageRouter,le as useNativeRouter,Re as useNavigationBarMetrics,We as usePageLayout,zt as usePageScrollThrottle,xe as usePageStack,ct as useScrollOffset,ot as useSelectorFields,qe as useSelectorQuery,$e as useSlots,kt as useTemplateRef,tt as useUpdatePerformanceListener,At as version,be as waitForLayoutHost,yt as watch,Et as watchEffect,dt as watchPostEffect,Xe as watchSyncEffect};
@@ -0,0 +1 @@
1
+ const e=Promise.resolve(),t=new Set;let n=!1,r=!1;function i(){r=!1,n=!0;try{t.forEach(e=>e())}finally{t.clear(),n=!1}}function a(a){t.add(a),!n&&!r&&(r=!0,e.then(i))}function o(t){return t?e.then(t):e}function s(e){"@babel/helpers - typeof";return s=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},s(e)}function c(e,t){if(s(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(s(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function l(e){var t=c(e,`string`);return s(t)==`symbol`?t:t+``}function u(e,t,n){return(t=l(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const d=new WeakMap;let f=null;const p=[];let m=0;const h=new Set;function g(){m++}function ee(){for(;h.size;){let e=[...h];h.clear();for(let t of e)t()}}function te(){m!==0&&(m--,m===0&&ee())}function ne(e){g();try{return e()}finally{te()}}function _(e){let{deps:t}=e;for(let n=0;n<t.length;n++)t[n].delete(e);t.length=0}function v(e){var t;e.active&&(e.active=!1,_(e),(t=e.onStop)==null||t.call(e))}let y;var re=class{constructor(e=!1){if(this.detached=e,u(this,`active`,!0),u(this,`effects`,[]),u(this,`cleanups`,[]),u(this,`parent`,void 0),u(this,`scopes`,void 0),!e&&y){var t;this.parent=y,((t=y).scopes||(t.scopes=[])).push(this)}}run(e){if(!this.active)return;let t=y;y=this;try{return e()}finally{y=t}}stop(){var e;if(this.active){this.active=!1;for(let e of this.effects)v(e);this.effects.length=0;for(let e of this.cleanups)e();if(this.cleanups.length=0,this.scopes){for(let e of this.scopes)e.stop();this.scopes.length=0}if((e=this.parent)!=null&&e.scopes){let e=this.parent.scopes.indexOf(this);e>=0&&this.parent.scopes.splice(e,1)}this.parent=void 0}}};function ie(e=!1){return new re(e)}function ae(){return y}function oe(e){y!=null&&y.active&&y.cleanups.push(e)}function se(e){y!=null&&y.active&&y.effects.push(e)}function ce(e,t={}){let n=function(){if(!n.active||n._running)return e();_(n);try{return n._running=!0,p.push(n),f=n,e()}finally{var t;p.pop(),f=(t=p[p.length-1])==null?null:t,n._running=!1}};return n.deps=[],n.scheduler=t.scheduler,n.onStop=t.onStop,n.active=!0,n._running=!1,n._fn=e,n}function le(e,t={}){let n=ce(e,t);return se(n),t.lazy||n(),n}function b(e,t){if(!f)return;let n=d.get(e);n||(n=new Map,d.set(e,n));let r=n.get(t);r||(r=new Set,n.set(t,r)),r.has(f)||(r.add(f),f.deps.push(r))}function x(e){if(e.scheduler){e.scheduler();return}if(m>0){h.add(e);return}e()}function S(e,t){let n=d.get(e);if(!n)return;let r=n.get(t);if(!r)return;let i=new Set;r.forEach(e=>{e!==f&&i.add(e)}),i.forEach(x)}function C(e){f&&(e.has(f)||(e.add(f),f.deps.push(e)))}function w(e){new Set(e).forEach(x)}const T=new Set;function ue(e){T.add(e)}function de(e){T.delete(e)}const E=new WeakMap,D=new WeakMap,O=new WeakMap,k=new WeakMap,A=new WeakSet,j=new WeakMap,M=new WeakMap;function fe(e){let t=M.get(e);return t||(t=new Set,M.set(e,t)),t}function N(e,t){fe(e).add(t)}function P(e){var t;D.set(e,((t=D.get(e))==null?0:t)+1)}function pe(e){var t;return(t=D.get(e))==null?0:t}function F(e){let t=new Set,n=[e];for(let e=0;e<2e3&&n.length;e++){let e=n.pop(),r=k.get(e);if(r)for(let e of r.keys())t.has(e)||(t.add(e),P(e),n.push(e))}}function I(e){let t=k.get(e);if(!t){A.delete(e),O.delete(e);return}let n,r,i=0;for(let[e,a]of t){for(let t of a){if(i+=1,i>1)break;n=e,r=t}if(i>1)break}if(i===1&&n&&r){A.delete(e),O.set(e,{parent:n,key:r});return}A.add(e),O.delete(e)}function L(e,t,n){if(typeof n!=`string`){A.add(e),O.delete(e);return}if(T.size){var r;let n=(r=E.get(t))==null?t:r;N(n,t),N(n,e)}let i=k.get(e);i||(i=new Map,k.set(e,i));let a=i.get(t);a||(a=new Set,i.set(t,a)),a.add(n),I(e)}function R(e,t,n){let r=k.get(e);if(!r)return;let i=r.get(t);i&&(i.delete(n),i.size||r.delete(t),r.size||k.delete(e),I(e))}function z(e,t){if(t===e)return[];if(A.has(t))return;let n=[],r=t;for(let t=0;t<2e3;t++){if(r===e)return n.reverse();if(A.has(r))return;let t=O.get(r);if(!t||typeof t.key!=`string`)return;n.push(t.key),r=t.parent}}function B(e){return typeof e==`object`&&!!e}function V(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function me(e){return Object.prototype.toString.call(e).slice(8,-1)}function he(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 0;default:return 0}}function H(e){return e.__r_skip?0:he(me(e))}const U=Symbol(`wevu.version`);function W(e){if(!e)return!1;let t=e.charCodeAt(0);if(t<48||t>57)return!1;let n=Number(e);return Number.isInteger(n)&&n>=0&&String(n)===e}function G(e){var t;return(t=e==null?void 0:e.__r_raw)==null?e:t}const K=new WeakMap,q=new WeakMap,J=new WeakMap;function ge(e,t){let n=G(e);j.set(n,``),N(n,n);let r=t==null?void 0:t.shouldIncludeTopKey,i=typeof(t==null?void 0:t.maxDepth)==`number`?Math.max(0,Math.floor(t.maxDepth)):1/0,a=typeof(t==null?void 0:t.maxKeys)==`number`?Math.max(0,Math.floor(t.maxKeys)):1/0,o=new WeakSet,s=[{current:n,path:``,depth:0}],c=0;for(;s.length;){let e=s.pop();if(o.has(e.current)||(o.add(e.current),j.set(e.current,e.path),N(n,e.current),c+=1,c>=a)||e.depth>=i||Array.isArray(e.current))continue;let t=Object.entries(e.current);for(let[i,a]of t){if(e.path===``&&r&&!r(i)||!B(a)||a.__r_skip)continue;let t=G(a);if(E.has(t)||E.set(t,n),L(t,e.current,i),!A.has(t)){let n=e.path?`${e.path}.${i}`:i;j.set(t,n)}N(n,t),s.push({current:t,path:e.path?`${e.path}.${i}`:i,depth:e.depth+1})}}}function _e(e){let t=G(e),n=M.get(t);if(!n){j.delete(t);return}for(let e of n)O.delete(e),k.delete(e),j.delete(e),A.delete(e),E.delete(e),D.delete(e);M.delete(t)}function ve(e){b(G(e),U)}const ye={get(e,t,n){if(t===`__r_isReactive`)return!0;if(t===`__r_raw`)return e;let r=Reflect.get(e,t,n);return b(e,t),r},set(e,t,n,r){let i=Reflect.get(e,t,r),a=Reflect.set(e,t,n,r);return Object.is(i,n)||(S(e,t),S(e,U),P(e)),a},deleteProperty(e,t){let n=V(e,t),r=Reflect.deleteProperty(e,t);return n&&r&&(S(e,t),S(e,U),P(e)),r},ownKeys(e){return b(e,Symbol.iterator),b(e,U),Reflect.ownKeys(e)}};function be(e){if(!B(e)||e.__r_isReactive)return e;let t=J.get(e);if(t)return t;if(H(e)===0)return e;let n=new Proxy(e,ye);return J.set(e,n),q.set(n,e),D.has(e)||D.set(e,0),n}function xe(e){let t=G(e);return J.has(t)}function Se(e){return pe(G(e))}function Y(e,t,n){var r;if(!T.size||typeof t!=`string`||t.startsWith(`__r_`))return;let i=(r=E.get(e))==null?e:r,a=Array.isArray(e)&&(t===`length`||W(t))?`array`:`property`,o=z(i,e);if(!o){let r=new Set,o=k.get(e);if(o)for(let[e,t]of o){var s;let n=j.get(e),a=n?n.split(`.`,1)[0]:void 0,o=a||(s=z(i,e))==null?void 0:s[0];for(let e of t){var c;typeof e==`string`&&r.add((c=a==null?o:a)==null?e:c)}}else r.add(t);for(let e of T)e({root:i,kind:a,op:n,path:void 0,fallbackTopKeys:r.size?[...r]:void 0});return}let l=o.findIndex(e=>W(e));if(l!==-1){let e=o.slice(0,l).join(`.`)||void 0;for(let t of T)t({root:i,kind:`array`,op:n,path:e});return}let u=o.length?o.join(`.`):``,d=a===`array`?u||void 0:u?`${u}.${t}`:t;for(let e of T)e({root:i,kind:a,op:n,path:d})}const Ce={get(e,t,n){if(t===`__r_isReactive`)return!0;if(t===`__r_raw`)return e;let r=Reflect.get(e,t,n);if(b(e,t),B(r)){var i,a;if(r.__r_skip)return r;let n=(i=E.get(e))==null?e:i,o=(a=r==null?void 0:r.__r_raw)==null?r:a;E.has(o)||E.set(o,n),L(o,e,t);let s=j.get(e);if(T.size&&typeof t==`string`&&s!=null&&!A.has(o)){let e=s?`${s}.${t}`:t;j.set(o,e)}return X(r)}return r},set(e,t,n,r){let i=Array.isArray(e),a=i?e.length:0,o=Reflect.get(e,t,r),s=Reflect.set(e,t,n,r);if(!Object.is(o,n)){var c;let r=B(o)?(c=o==null?void 0:o.__r_raw)==null?o:c:void 0;if(r&&R(r,e,t),B(n)&&!n.__r_skip){var l,u;let r=(l=E.get(e))==null?e:l,i=(u=n==null?void 0:n.__r_raw)==null?n:u;E.has(i)||E.set(i,r),L(i,e,t);let a=j.get(e);if(T.size&&typeof t==`string`&&a!=null&&!A.has(i)){let e=a?`${a}.${t}`:t;j.set(i,e)}}S(e,t),i&&typeof t==`string`&&W(t)&&Number(t)>=a&&S(e,`length`),S(e,U),P(e),F(e);let s=E.get(e);s&&s!==e&&(S(s,U),P(s)),Y(e,t,`set`)}return s},deleteProperty(e,t){let n=V(e,t),r=n?e[t]:void 0,i=Reflect.deleteProperty(e,t);if(n&&i){var a;let n=B(r)?(a=r==null?void 0:r.__r_raw)==null?r:a:void 0;n&&R(n,e,t),S(e,t),S(e,U),P(e),F(e);let i=E.get(e);i&&i!==e&&(S(i,U),P(i)),Y(e,t,`delete`)}return i},ownKeys(e){return b(e,Symbol.iterator),b(e,U),Reflect.ownKeys(e)}};function X(e){if(!B(e)||e.__r_isReactive)return e;let t=K.get(e);if(t)return t;if(H(e)===0)return e;let n=new Proxy(e,Ce);return K.set(e,n),q.set(n,e),D.has(e)||D.set(e,0),E.has(e)||E.set(e,e),n}function we(e){return!!(e&&e.__r_isReactive)}function Te(e){return B(e)?X(e):e}function Z(e){return B(e)&&Object.defineProperty(e,`__r_skip`,{value:!0,configurable:!0,enumerable:!1,writable:!0}),e}function Ee(e){return B(e)&&`__r_skip`in e}const De=`__v_isRef`;function Q(e){try{Object.defineProperty(e,De,{value:!0,configurable:!0})}catch(t){e[De]=!0}return e}function $(e){return!!(e&&typeof e==`object`&&e.__v_isRef===!0)}var Oe=class{constructor(e){u(this,`_value`,void 0),u(this,`_rawValue`,void 0),u(this,`dep`,void 0),Q(this),this._rawValue=e,this._value=Te(e)}get value(){return this.dep||(this.dep=new Set),C(this.dep),this._value}set value(e){Object.is(e,this._rawValue)||(this._rawValue=e,this._value=Te(e),this.dep&&w(this.dep))}};function ke(e){return $(e)?e:Z(new Oe(e))}function Ae(e){return $(e)?e.value:e}function je(e){return typeof e==`function`?e():Ae(e)}var Me=class{constructor(e,t){u(this,`_getValue`,void 0),u(this,`_setValue`,void 0),u(this,`dep`,void 0),Q(this);let n=t,r=()=>{this.dep||(this.dep=new Set),C(this.dep)},i=()=>{this.dep&&w(this.dep)},a=e=>e===void 0&&n!==void 0?n:e;if(typeof e==`function`){let t=e(r,i);this._getValue=()=>a(t.get()),this._setValue=e=>t.set(e);return}let o=e;this._getValue=()=>(r(),a(o.get())),this._setValue=e=>{o.set(e),i()}}get value(){return this._getValue()}set value(e){this._setValue(e)}};function Ne(e,t){return Z(new Me(e,t))}export{b as A,le as C,oe as D,ae as E,w as M,o as N,g as O,a as P,ne as S,te as T,H as _,je as a,ue as b,Ee as c,X as d,xe as f,ve as g,ge as h,ke as i,S as j,v as k,we as l,_e as m,$ as n,Ae as o,be as p,Q as r,Se as s,Ne as t,Z as u,B as v,ie as w,de as x,G as y};
@@ -0,0 +1 @@
1
+ import{_ as e,l as t,n,r,v as i}from"./ref-B6CIXciv.mjs";import{WEVU_APP_PROVIDES_KEY as a,WEVU_HOOKS_KEY as o,WEVU_IS_APP_INSTANCE_KEY as s,WEVU_PAGE_SCROLL_HOOK_DEPTH_KEY as c,WEVU_PARENT_INSTANCE_KEY as l,WEVU_PROVIDES_KEY as u,WEVU_RUNTIME_APP_KEY as d}from"@weapp-core/constants";import{getMiniProgramPlatformByRuntimeGlobalKey as ee,getMiniProgramRuntimeCapabilities as te,getMiniProgramRuntimeGlobalKey as ne,getMiniProgramRuntimeGlobalKeys as re,getMiniProgramRuntimeHostConfigKey as ie,resolveMiniProgramPlatform as f,supportsMiniProgramRuntimeCapability as ae}from"@weapp-core/shared";function p(t){if(n(t)){let e=t,n=r({get value(){return e.value},set value(e){throw Error(`无法给只读 ref 赋值`)}});return Object.defineProperties(n,{__r_isReadonly:{value:!0,configurable:!0},__r_raw:{value:e,configurable:!0}}),n}return!i(t)||e(t)===0?t:new Proxy(t,{set(){throw Error(`无法在只读对象上设置属性`)},deleteProperty(){throw Error(`无法在只读对象上删除属性`)},defineProperty(){throw Error(`无法在只读对象上定义属性`)},get(e,t,n){return t===`__r_isReadonly`?!0:t===`__r_raw`?e:Reflect.get(e,t,n)}})}function oe(e){return p(e)}function se(e){return p(e)}function m(e){return!!(e&&e.__r_isReadonly)}function ce(e){return t(e)||m(e)}const le=[`switchTab`,`reLaunch`,`redirectTo`,`navigateTo`,`navigateBack`];function h(){if(!(typeof globalThis>`u`))return globalThis}function g(){var e;let t=h(),n=f((e=import.meta.env)==null?void 0:e.PLATFORM);if(n)return n;for(let e of re())if(t!=null&&t[e])return ee(e)}function _(){return te(g())}function v(e){return ae(g(),e)}function y(){if(!v(`globalPageStack`))return[];let e=globalThis.getCurrentPages;if(typeof e!=`function`)return[];try{let t=e();return Array.isArray(t)?t:[]}catch(e){return[]}}function ue(){let e=h(),t=ie(g()),n=e==null?void 0:e[t];return n&&typeof n==`object`?n:void 0}function b(e){var t;let n=h(),r=f(e==null?(t=import.meta.env)==null?void 0:t.PLATFORM:e);if(r){let e=ne(r);return n==null?void 0:n[e]}for(let e of re()){let t=n==null?void 0:n[e];if(t)return t}}function de(){if(!v(`globalRouterApi`))return;let e=b();if(!e)return;let t=Object.create(null);for(let n of le){let r=e[n];if(typeof r!=`function`)return;t[n]=(...t)=>r.apply(e,t)}return t}function fe(){var e;return(e=b())==null?h():e}let x,S;function C(){return x}function pe(e){x=e}function me(){return S}function he(e){S=e}function w(e){if(!x)throw Error(`${e}() 必须在 setup() 的同步阶段调用`);return x}function ge(e){return e[o]||(e[o]=Object.create(null)),e[o]}function _e(e,t){let n=_().shareTimelineRequiresShareAppMessage?e||t:e,r=[];return n&&r.push(`shareAppMessage`),t&&r.push(`shareTimeline`),r}function ve(e,t){let n=[{withShareTicket:!0,menus:t},{menus:t},t.includes(`shareTimeline`)?{withShareTicket:!0}:void 0,t.includes(`shareTimeline`)?{}:void 0,void 0];for(let t of n)try{t===void 0?e():e(t);return}catch(e){}}function T(e,t,n,{single:r=!1}={}){let i=ge(e);if(r)i[t]=n;else{var a;((a=i[t])==null?i[t]=[]:a).push(n)}}function E(e,t){var n,r;let i=(r=(n=e).__wevuShareHookBridges)==null?n.__wevuShareHookBridges=Object.create(null):r;if(typeof i[t]==`function`)return;let a=e[t],s=function(...e){var n;let r=this[o],i=r==null?void 0:r[t],s=this.__wevu,c=(n=s==null?void 0:s.proxy)==null?this:n,l;if(typeof i==`function`)try{l=i.apply(c,e)}catch(e){l=void 0}else if(Array.isArray(i))for(let t of i)try{l=t.apply(c,e)}catch(e){}if(l!==void 0)return l;if(typeof a==`function`)return a.apply(this,e)};i[t]=s,e[t]=s}function D(e){var t;if(!v(`pageShareMenu`))return;let n=b();if(!n||typeof n.showShareMenu!=`function`)return;let r=(t=e[o])==null?{}:t,i=typeof r.onShareAppMessage==`function`,a=typeof r.onShareTimeline==`function`;if(!i&&!a)return;let s=_e(i,a);s.length&&ve(n.showShareMenu.bind(n),s)}function O(e,t,n=[]){var r;let i=e[o];if(!i)return;let a=i[t];if(!a)return;let s=e.__wevu,c=(r=s==null?void 0:s.proxy)==null?e:r;if(Array.isArray(a))for(let e of a)try{e.apply(c,n)}catch(e){}else if(typeof a==`function`)try{a.apply(c,n)}catch(e){}}function ye(e,t){var n,r;let i=(r=(n=e).__wevuPageHookBridges)==null?n.__wevuPageHookBridges=Object.create(null):r;if(typeof i[t]==`function`)return;let a=e[t],o=function(...e){if(O(this,t,e),typeof a==`function`)return a.apply(this,e)};i[t]=o,e[t]=o}function be(e,t,n=[]){var r;let i=e[o];if(!i)return;let a=i[t];if(!a)return;let s=e.__wevu,c=(r=s==null?void 0:s.proxy)==null?e:r;if(typeof a==`function`)try{return a.apply(c,n)}catch(e){return}if(Array.isArray(a)){let e;for(let t of a)try{e=t.apply(c,n)}catch(e){}return e}}function k(e,t,n){T(w(e),e,t,n)}function xe(e){k(`onLaunch`,e)}function Se(e){k(`onPageNotFound`,e)}function Ce(e){k(`onUnhandledRejection`,e)}function we(e){k(`onThemeChange`,e)}function Te(e){k(`onMemoryWarning`,e)}function Ee(e){k(`onShow`,e)}function De(e){k(`onLoad`,e)}function Oe(e){k(`onHide`,e)}function ke(e){k(`onUnload`,e)}function Ae(e){k(`onReady`,e)}function je(e){k(`onPullDownRefresh`,e)}function Me(e){k(`onReachBottom`,e)}function Ne(e){let t=w(`onPageScroll`);T(t,`onPageScroll`,e),ye(t,`onPageScroll`)}function Pe(e){k(`onRouteDone`,e)}function Fe(e){k(`onTabItemTap`,e)}function Ie(e){k(`onResize`,e)}function Le(e){k(`onMoved`,e)}function Re(e){k(`onAttached`,e)}function ze(e){k(`onDetached`,e)}function Be(e){k(`onError`,e)}function Ve(e){k(`onSaveExitState`,e,{single:!0})}function He(e){let t=w(`onShareAppMessage`);T(t,`onShareAppMessage`,e,{single:!0}),E(t,`onShareAppMessage`),D(t)}function Ue(e){let t=w(`onShareTimeline`);T(t,`onShareTimeline`,e,{single:!0}),E(t,`onShareTimeline`),D(t)}function We(e){let t=w(`onAddToFavorites`);T(t,`onAddToFavorites`,e,{single:!0}),E(t,`onAddToFavorites`)}const A=new Map;function j(e,t){A.set(e,t)}function M(e){return A.has(e)}function N(e){return A.get(e)}function P(e){return!!(e&&typeof e==`object`&&e[s]===!0)}function F(e){return Object.create(e==null?null:e)}function I(e){if(!e)return F();let t=e[a];if(t&&typeof t==`object`)return t;let n=F();try{Object.defineProperty(e,a,{value:n,configurable:!0,enumerable:!1,writable:!1})}catch(t){e[a]=n}return n}function L(e,t){try{Object.defineProperty(e,u,{value:t,configurable:!0,enumerable:!1,writable:!0})}catch(n){e[u]=t}}function R(e){var t,n;let r=e[u];if(r&&typeof r==`object`)return r;let i=e[d],a=(t=(n=e[l])==null?void 0:n[u])==null?I(i):t,o=P(e)?I(i):F(a);return L(e,o),o}function Ge(e){return I(e)}function Ke(e,t,n){I(e)[t]=n,j(t,n)}function qe(e,t,n){var r;let i=I(t),a=(r=n==null?void 0:n[u])==null?i:r,o=P(e)?i:F(a);if(n)try{Object.defineProperty(e,l,{value:n,configurable:!0,enumerable:!1,writable:!0})}catch(t){e[l]=n}L(e,o)}function z(e,t){let n=Object.getPrototypeOf(e);for(;n;){if(n===t)return!0;n=Object.getPrototypeOf(n)}return!1}function Je(e,t){let n=R(e),r=R(t);if(!(n===r||z(n,r)||z(r,n))){Object.setPrototypeOf(r,n);try{Object.defineProperty(t,l,{value:e,configurable:!0,enumerable:!1,writable:!0})}catch(n){t[l]=e}}}let B=!1,V;function H(){return V}function Ye(e){V=e}function Xe(e){V===e&&(V=void 0)}function U(e,t){var n;e[c]=Number((n=e[c])==null?0:n)+1;try{return t()}finally{var r;let t=Number((r=e[c])==null?1:r)-1;t<=0?delete e[c]:e[c]=t}}function Ze(e){let t=e.options;if(t&&typeof t==`object`)return t;let n=y(),r=n[n.length-1],i=r&&typeof r==`object`?r.options:void 0;return i&&typeof i==`object`?i:{}}function Qe(){if(B)return;B=!0;let e=b();if(!(!e||typeof e!=`object`)){if(v(`pullDownRefreshApi`)){let t=e.startPullDownRefresh;typeof t==`function`&&(e.startPullDownRefresh=function(...e){let n=t.apply(this,e);return V&&O(V,`onPullDownRefresh`,[]),n})}if(v(`pageScrollApi`)){let t=e.pageScrollTo;typeof t==`function`&&(e.pageScrollTo=function(e,...n){let r=t.apply(this,[e,...n]);if(V){let t=V;U(t,()=>{O(t,`onPageScroll`,[e==null?{}:e])})}return r})}}}function $e(e){let{enableOnShareAppMessage:t,enableOnShareTimeline:n}=e;if(!t&&!n||!v(`pageShareMenu`))return;let r=b();if(!r||typeof r.showShareMenu!=`function`)return;let i=_().shareTimelineRequiresShareAppMessage?t||n:t;if(!i&&!n)return;let a=[];i&&a.push(`shareAppMessage`),n&&a.push(`shareTimeline`);let o=[{withShareTicket:!0,menus:a},{menus:a},n?{withShareTicket:!0}:void 0,n?{}:void 0,void 0];for(let e of o)try{e===void 0?r.showShareMenu():r.showShareMenu(e);break}catch(e){}}function et(){return!!C()}function tt(e,t){let n=C();n?(R(n)[e]=t,P(n)&&j(e,t)):j(e,t)}function nt(e,t){var n;let r=C();if(r){let t=R(r);if(e in t)return t[e]}if(M(e))return N(e);if(arguments.length>=2)return t;let i=(n=globalThis.console)==null?void 0:n.warn;typeof i==`function`&&i(`wevu.inject:未找到对应 key 的值:${String(e)}`)}function rt(e,t){j(e,t)}function it(e,t){if(M(e))return N(e);if(arguments.length>=2)return t;throw Error(`injectGlobal():未找到对应 key 的 provider:${String(e)}`)}function W(e){let t=[];for(let n of e.split(`/`))if(!(!n||n===`.`)){if(n===`..`){t.length>0&&t.pop();continue}t.push(n)}return t}function G(e,t){if(!e)return W(t).join(`/`);if(e.startsWith(`/`))return W(e).join(`/`);if(e.startsWith(`./`)||e.startsWith(`../`)){let n=W(t);n.length>0&&n.pop();for(let t of e.split(`/`))if(!(!t||t===`.`)){if(t===`..`){n.length>0&&n.pop();continue}n.push(t)}return n.join(`/`)}return W(e).join(`/`)}function K(e){return e?`/${e}`:`/`}const at=/(?:^|\/):/;function ot(e){return at.test(e)}const st=/\+/g;function ct(e){return decodeURIComponent(e.replace(st,` `))}function q(e){return encodeURIComponent(e)}function J(e,t,n){let r=e[t];if(r===void 0){e[t]=n;return}if(Array.isArray(r)){r.push(n);return}e[t]=[r,n]}function lt(e,t,n){let r=e[t];if(r===void 0){e[t]=n;return}if(Array.isArray(r)){r.push(n);return}e[t]=[r,n]}function ut(e){if(e!==void 0)return e===null?null:String(e)}function Y(e){let t={};for(let n of Object.keys(e)){let r=e[n];if(Array.isArray(r)){for(let e of r){let r=ut(e);r!==void 0&&J(t,n,r)}continue}let i=ut(r);i!==void 0&&J(t,n,i)}return t}function dt(e){if(e!=null)return String(e)}function ft(e){let t={};for(let n of Object.keys(e)){let r=e[n];if(Array.isArray(r)){for(let e of r){let r=dt(e);r!==void 0&&lt(t,n,r)}continue}let i=dt(r);i!==void 0&&lt(t,n,i)}return t}function X(e){return e?e.startsWith(`#`)?e:`#${e}`:``}function pt(e){let t=e.startsWith(`?`)?e.slice(1):e,n={};if(!t)return n;for(let e of t.split(`&`)){if(!e)continue;let t=e.indexOf(`=`),r=t>=0?e.slice(0,t):e;r&&J(n,ct(r),t>=0?ct(e.slice(t+1)):null)}return n}function Z(e={}){let t=Y(e),n=[];for(let e of Object.keys(t)){let r=q(e),i=t[e];if(Array.isArray(i)){for(let e of i)e===null?n.push(r):n.push(`${r}=${q(e)}`);continue}if(i===null){n.push(r);continue}n.push(`${r}=${q(i)}`)}return n.join(`&`)}const mt={parseQuery:pt,stringifyQuery:Z};function ht(e,t=mt){let n=e.indexOf(`#`),r=n>=0?e.slice(0,n):e,i=n>=0?X(e.slice(n+1)):``,a=r.indexOf(`?`);return a<0?{path:r,query:{},hash:i}:{path:r.slice(0,a),query:Y(t.parseQuery(r.slice(a+1))),hash:i}}function Q(e,t,n=``,r,i={},a=Z){let o=G(e,``),s=a(t),c=K(o),l=X(n),u=s?`${c}?${s}`:c,d={path:o,fullPath:l?`${u}${l}`:u,query:t,hash:l,params:i};return r!==void 0&&(d.name=r),d}function gt(e){return typeof(e==null?void 0:e.route)==`string`&&e.route.length>0||typeof(e==null?void 0:e.__route__)==`string`&&e.__route__.length>0}function _t(e){let t=y();if(Array.isArray(t)&&t.length>0){let e=t[t.length-1];if(gt(e))return e}let n=H();return gt(n)?n:e}function vt(e,t){var n;let r=_t(t);return r?Q(typeof r.route==`string`?r.route:typeof r.__route__==`string`?r.__route__:``,Y(e==null?(n=r.options)==null?{}:n:e),``,void 0,{}):Q(``,{})}const yt=[`switchTab`,`reLaunch`,`redirectTo`,`navigateTo`,`navigateBack`],bt=new WeakMap;function xt(e){return!e||typeof e!=`object`?!1:yt.every(t=>typeof e[t]==`function`)}function St(){return de()}function Ct(e){if(!(typeof e!=`string`||!e))return G(e,``)||void 0}function wt(e,t){let n=t===`pageRouter`?[e.route,e.__route__,e.is]:[e.is,e.route,e.__route__];for(let e of n){let t=Ct(e);if(t)return t}}function Tt(e,t){if(!t||!e.startsWith(`./`)&&!e.startsWith(`../`))return e;let{path:n,query:r,hash:i}=ht(e),a=K(G(n,t)),o=Z(r);return`${a}${o?`?${o}`:``}${i}`}function $(e,t){let n=t==null?``:t,r=bt.get(e),i=r==null?void 0:r.get(n);if(i)return i;let a=Object.create(null);for(let n of yt)a[n]=r=>{let i=e[n];if(n===`navigateBack`||!r||typeof r!=`object`)return i.call(e,r);let a=typeof r.url==`string`?Tt(r.url,t):r.url,o=a===r.url?r:{...r,url:a};return i.call(e,o)};let o=r==null?new Map:r;return o.set(n,a),bt.set(e,o),a}function Et(e,t,n){let r=me();if(!(r!=null&&r.instance))throw Error(`${n}() 必须在 setup() 的同步阶段调用`);let i=r.instance,a=wt(i,e),o=i[e];if(xt(o))return $(o,a);let s=i[t];if(xt(s))return $(s,a);let c=St();if(c)return $(c,a);throw Error(`当前运行环境不支持 Router,请升级宿主基础库或检查平台路由能力`)}function Dt(){return Et(`router`,`pageRouter`,`useNativeRouter`)}function Ot(){return Et(`pageRouter`,`router`,`useNativePageRouter`)}export{Ce as $,j as A,Se as B,Xe as C,qe as D,Je as E,Oe as F,Ie as G,je as H,xe as I,He as J,Pe as K,De as L,Re as M,ze as N,Ge as O,Be as P,we as Q,Te as R,H as S,U as T,Me as U,Ne as V,Ae as W,Ee as X,Ue as Y,Fe as Z,tt as _,oe as _t,vt as a,me as at,Qe as b,ft as c,he as ct,K as d,_ as dt,ke as et,ot as f,b as ft,it as g,m as gt,nt as h,ce as ht,ht as i,C as it,We as j,Ke as k,pt as l,ue as lt,et as m,v as mt,Dt as n,O as nt,X as o,T as ot,G as p,fe as pt,Ve as q,Q as r,be as rt,Y as s,pe as st,Ot as t,w as tt,Z as u,y as ut,rt as v,se as vt,Ze as w,$e as x,Ye as y,Le as z};
package/dist/router.mjs CHANGED
@@ -1 +1 @@
1
- import{d as e}from"./ref-Bs--7iY3.mjs";import{A as t,Q as n,U as r,a as i,c as a,d as o,f as s,g as c,i as l,l as u,n as d,o as f,p,r as m,s as h,t as g,u as _,ut as v,v as y,z as b}from"./router-BtpVtHM4.mjs";const x=/^:(\w+)(?:\([^)]*\))?([+*?])?$/;function S(e){var t;let n=x.exec(e);if(n)return{key:n[1],modifier:(t=n[2])==null?``:t}}function C(e){return e===void 0?[]:Array.isArray(e)?e:[e]}function w(e){return encodeURIComponent(e)}function T(e){try{return decodeURIComponent(e)}catch(t){return e}}function E(e,t,n){let r=[],i=new Set;for(let a of e.split(`/`)){if(!a)continue;let e=S(a);if(!e){r.push(a);continue}let o=C(t[e.key]);if(e.modifier===``){if(o.length!==1)throw Error(`Missing required param "${e.key}" for named route "${n}"`);i.add(e.key),r.push(w(o[0]));continue}if(e.modifier===`?`){if(o.length===0)continue;if(o.length>1)throw Error(`Param "${e.key}" for named route "${n}" must be a single value`);i.add(e.key),r.push(w(o[0]));continue}if(e.modifier===`+`){if(o.length===0)throw Error(`Missing required repeatable param "${e.key}" for named route "${n}"`);i.add(e.key);for(let e of o)r.push(w(e));continue}o.length>0&&i.add(e.key);for(let e of o)r.push(w(e))}return{path:r.join(`/`),consumedKeys:i}}function D(e){return e===void 0?!1:Array.isArray(e)?e.length>0:!0}function ee(e,t,n){let r=Object.keys(e).filter(e=>!t.has(e)).filter(t=>D(e[t]));if(r.length!==0)throw Error(`Unexpected params for named route "${n}": ${r.join(`, `)}`)}function te(e,t,n){let r=e.name;if(typeof r!=`string`||!r||e.path!==void 0||e.fullPath!==void 0)return e;let i=t.recordByName.get(r);if(!i)throw Error(`Named route "${r}" is not defined in createRouter({ routes | namedRoutes })`);let o=e.params?a(e.params):{},s=E(i.path,o,r);return n===`strict`&&ee(o,s.consumedKeys,r),{...e,path:s.path?`/${s.path}`:`/`,params:o}}function O(e){return e.split(`/`).filter(Boolean)}function ne(e){return[e.path,...e.aliasPaths]}function k(e,t){let n=[],r=new Set,i=e;for(;i&&!(r.has(i.name)||(r.add(i.name),n.unshift(i),!i.parentName));)i=t.recordByName.get(i.parentName);return n}function re(e){let t;for(let n of e)n.meta&&(t||(t={}),Object.assign(t,n.meta));return t}function A(e,t){let n=new Set;if(!t.has(e))return n;n.add(e);let r=!0;for(;r;){r=!1;for(let[e,i]of t.entries())!i.parentName||n.has(e)||n.has(i.parentName)&&(n.add(e),r=!0)}return n}function j(e){let t={};for(let[n,r]of e.entries())r.length!==0&&(t[n]=r.length===1?r[0]:r);return t}function M(e,t){let n=O(e),r=O(t),i=new Map,a=(e,t)=>{let n=i.get(e);if(n){n.push(t);return}i.set(e,[t])},o=e=>{let t=i.get(e);!t||t.length===0||(t.pop(),t.length===0&&i.delete(e))},s=(e,t,n)=>{for(let i=0;i<n;i+=1)a(e,T(r[t+i]));return()=>{for(let t=0;t<n;t+=1)o(e)}},c=(e,t)=>{if(e>=n.length)return t>=r.length;let i=n[e],l=S(i);if(!l)return t>=r.length||i!==r[t]?!1:c(e+1,t+1);if(l.modifier===``){if(t>=r.length)return!1;a(l.key,T(r[t]));let n=c(e+1,t+1);return n||o(l.key),n}if(l.modifier===`?`){if(t<r.length){if(a(l.key,T(r[t])),c(e+1,t+1))return!0;o(l.key)}return c(e+1,t)}let u=+(l.modifier===`+`),d=r.length-t;for(let n=d;n>=u;--n){let r=s(l.key,t,n);if(c(e+1,t+n))return!0;r()}return!1};if(c(0,0))return j(i)}function ie(e,t){if(e.name){let n=t.recordByName.get(e.name);if(n)return{record:n,matchedRecords:k(n,t)}}let n=t.nameByStaticPath.get(e.path);if(n){let r=t.recordByName.get(n);if(r)return{record:r,matchedRecords:k(r,t),matchedPath:e.path}}for(let n of t.recordByName.values())for(let r of ne(n)){if(!s(r))continue;let i=M(r,e.path);if(i)return{record:n,matchedRecords:k(n,t),matchedPath:r,params:i}}}function N(e){typeof console>`u`||typeof console.warn!=`function`||console.warn(`[wevu/router] ${e}`)}function ae(e){let t=p(e,``);return t?o(t):`/`}function oe(e,t=new Set){if(t.has(e))return!0;if(!Array.isArray(e.children)||e.children.length===0)return!1;let n=new Set(t);n.add(e);for(let t of e.children)if(oe(t,n))return!0;return!1}function se(e){let t=typeof e.name==`string`?e.name.trim():``;if(!t)throw Error(`Route name is required when adding a named route`);if(typeof e.path!=`string`||!e.path)throw Error(`Route path is required when adding named route "${t}"`);if(oe(e))throw Error(`Circular children reference detected when adding named route "${t}"`)}function ce(e){let t=new Map,n=[];for(let i of e){var r;let e=typeof i.route.name==`string`?i.route.name.trim():``;if(!e)continue;let a=(r=i.source)==null?`namedRoutes`:r,o=ae(i.route.path),s=t.get(e);s&&n.push(`"${e}" (${s.source}:${s.path} -> ${a}:${o})`),t.set(e,{source:a,path:o})}n.length!==0&&N(`duplicate route names detected, later entries override earlier ones: ${n.join(`, `)}`)}function le(e){return e?Array.isArray(e)?e:[e]:[]}function ue(e,t,n=`namedRoutes`){return typeof e.name==`string`&&e.name.trim()?e.name.trim():n===`routes`?t||`/`:``}function de(e,t){if(!e)return[];let n=Array.isArray(e)?e:[e],r=[];for(let e of n){if(typeof e!=`string`)continue;let n=p(e,``);!n||n===t||r.includes(n)||r.push(n)}return r}function fe(e,t,n=`namedRoutes`){let r=p(e.path,``);if(!r&&e.path!==`/`)return;let i=ue(e,r,n);if(i)return{name:i,path:r,aliasPaths:de(e.alias,r),parentName:t,meta:e.meta,beforeEnterGuards:le(e.beforeEnter),redirect:e.redirect}}function P(e,t){return!t||e.startsWith(`/`)?p(e,``):p(`${o(t)}/${e}`,``)}function pe(e){return e?Array.isArray(e)?e.filter(e=>typeof e==`string`&&e.length>0):typeof e==`string`&&e.length>0?[e]:[]:[]}function me(e){let t=[];for(let n of e)!n||t.includes(n)||t.push(n);return t}function he(e){if(e.length!==0)return e.length===1?o(e[0]):e.map(e=>o(e))}function F(e,t,n,r=[],i,a=`namedRoutes`,s=new Set){let c=[];for(let[l,u]of e.entries()){let e=`${a}[${l}]`;if(s.has(u)){N(`ignored route record at ${e}: detected circular children reference`);continue}if(typeof u.path!=`string`||!u.path){N(`ignored route record "${typeof(u==null?void 0:u.name)==`string`?u.name.trim():``}" at ${e}: route path is required`);continue}let d=P(u.path,t),f=ue(u,d,i);if(!f){N(`ignored route record at ${e}: route name is required`);continue}let p=[],m=new Map;for(let n of pe(u.alias)){let r=P(n,t);if(!r)continue;if(r===d){N(`ignored alias "${o(r)}" for route "${f}" at ${e}: alias is same as route path`);continue}let i=m.get(r);if(i){N(`ignored duplicate alias "${o(r)}" for route "${f}" at ${e}: already declared by "${i}"`);continue}m.set(r,n),p.push(r)}let h=u.path.startsWith(`/`)?[]:r.map(e=>P(u.path,e)).filter(Boolean).filter(e=>e!==d),g=me([...p,...h]),_={name:f,path:d?o(d):`/`,alias:he(g),meta:u.meta,beforeEnter:u.beforeEnter,redirect:u.redirect};if(c.push({route:_,parentName:n,source:i}),Array.isArray(u.children)&&u.children.length>0){let t=new Set(s);t.add(u),c.push(...F(u.children,d,f,g,i,`${e}.children`,t))}}return c}function I(e,t=`namedRoutes`){if(!e)return[];if(Array.isArray(e))return F(e,void 0,void 0,[],t,t);let n=[];for(let[r,i]of Object.entries(e)){let e=typeof r==`string`?r.trim():``;if(!e){N(`ignored route record at ${t}: route name is required`);continue}if(typeof i!=`string`||!i){N(`ignored route record "${e}" at ${t}: route path is required`);continue}n.push({route:{name:e,path:i},source:t})}return n}function ge(e){return[...I(e.routes,`routes`),...I(e.namedRoutes,`namedRoutes`)]}function L(e){let t=new Map;for(let[n,r]of e.entries()){!s(r.path)&&!t.has(r.path)&&t.set(r.path,n);for(let e of r.aliasPaths)!s(e)&&!t.has(e)&&t.set(e,n)}return t}function _e(e){let t=new Map;for(let n of e){let e=fe(n.route,n.parentName,n.source);e&&t.set(e.name,e)}return{recordByName:t,nameByStaticPath:L(t)}}function R(e){if(e)return{...e}}function ve(e){let t={name:e.name,path:e.path};return e.meta!==void 0&&(t.meta=R(e.meta)),Array.isArray(e.alias)?t.alias=Object.freeze(e.alias.slice()):e.alias!==void 0&&(t.alias=e.alias),Array.isArray(e.beforeEnter)?t.beforeEnter=Object.freeze(e.beforeEnter.slice()):e.beforeEnter!==void 0&&(t.beforeEnter=e.beforeEnter),e.redirect!==void 0&&(t.redirect=e.redirect),Object.freeze(t)}function ye(e,t,n,r,i,a){let s=Object.freeze(e.map(e=>o(e))),c=Object.freeze(t.map(ve));return Object.freeze({tabBarEntries:s,routes:c,namedRoutes:c,paramsMode:n,maxRedirects:r,parseQuery:i.parseQuery,stringifyQuery:i.stringifyQuery,rejectOnError:a})}function be(e,t){let n={name:e.name,path:o(e.path)},r=typeof t==`string`&&t?o(p(t,``)):void 0;return r&&r!==n.path&&(n.aliasPath=r),e.meta!==void 0&&(n.meta=R(e.meta)),n}function z(e){if(e)return e.map(e=>({name:e.name,path:e.path,aliasPath:e.aliasPath,meta:R(e.meta)}))}function B(e){let t={};for(let n of Object.keys(e)){let r=e[n];t[n]=Array.isArray(r)?r.slice():r}return t}function V(e){let t={};for(let n of Object.keys(e)){let r=e[n];t[n]=Array.isArray(r)?r.slice():r}return t}function xe(e){if(!e)return;let t={path:e.path,fullPath:e.fullPath,query:B(e.query),hash:e.hash,params:V(e.params)};return e.name!==void 0&&(t.name=e.name),e.meta!==void 0&&(t.meta=R(e.meta)),e.href!==void 0&&(t.href=e.href),e.matched!==void 0&&(t.matched=z(e.matched)),t}function Se(e){let t={path:e.path,fullPath:e.fullPath,query:B(e.query),hash:e.hash,params:V(e.params)};return e.name!==void 0&&(t.name=e.name),e.meta!==void 0&&(t.meta=R(e.meta)),e.href!==void 0&&(t.href=e.href),e.matched!==void 0&&(t.matched=z(e.matched)),t}function H(e){let t={path:e.path,fullPath:e.fullPath,query:B(e.query),hash:e.hash,params:V(e.params)};return e.meta!==void 0&&(t.meta=R(e.meta)),e.href!==void 0&&(t.href=e.href),e.matched!==void 0&&(t.matched=z(e.matched)),e.redirectedFrom!==void 0&&(t.redirectedFrom=xe(e.redirectedFrom)),e.name!==void 0&&(t.name=e.name),t}function U(e,t=_){let n=o(e.path),r=t(e.query);return r?`${n}?${r}`:n}function Ce(e){return Object.keys(e).length>0}const we=Symbol(`wevu.router.instance`);let Te;function Ee(e){Te=e,y(we,e)}function De(){var e;return(e=Te)==null?c(we,void 0):e}const W={unknown:1,aborted:4,cancelled:8,duplicated:16},Oe=/already|same|duplicat|重复/,ke=/cancel|取消/,Ae=/abort|interrupt|中断/;function je(e){if(typeof e==`string`)return e;if(e&&typeof e==`object`){let t=e.errMsg;if(typeof t==`string`)return t;if(e instanceof Error)return e.message}return``}function G(e){let t=je(e).toLowerCase();return Oe.test(t)?W.duplicated:ke.test(t)?W.cancelled:Ae.test(t)?W.aborted:W.unknown}function K(e,t,n,r){let i=je(r)||`Navigation failed`,a=Error(i);return a.__wevuNavigationFailure=!0,a.type=e,a.to=t,a.from=n,a.cause=r,a}function q(e,t){if(!e||typeof e!=`object`)return!1;let n=e;return n.__wevuNavigationFailure===!0?t===void 0?!0:n.type===t:!1}function Me(e){return!e||typeof e!=`object`?!1:`to`in e}function Ne(e){if(typeof e==`string`)return!0;if(!e||typeof e!=`object`)return!1;let t=e;return`path`in t||`fullPath`in t||`query`in t||`hash`in t||`name`in t||`params`in t}async function J(e,t,n){for(let r of e)try{let e=await r(t.to,t.from,t);if(q(e))return{status:`failure`,failure:e};if(e===!1)return{status:`failure`,failure:K(W.aborted,t.to,t.from,`Navigation aborted by guard`)};if(Me(e))return t.to?{status:`redirect`,target:n(e.to,t.to.path),replace:e.replace}:{status:`failure`,failure:K(W.aborted,t.to,t.from,`Redirect is not supported in back navigation guards`)};if(Ne(e))return t.to?{status:`redirect`,target:n(e,t.to.path)}:{status:`failure`,failure:K(W.aborted,t.to,t.from,`Redirect is not supported in back navigation guards`)}}catch(e){return{status:`failure`,failure:K(W.aborted,t.to,t.from,e)}}return{status:`continue`}}function Y(e,t,n,r){return new Promise(i=>{let a=!1,o=e=>{a||(a=!0,i(e))};try{let i=e({...t,success:()=>o(),fail:e=>{o(K(G(e),n,r,e))}});i&&typeof i.then==`function`&&i.then(()=>o(),e=>o(K(G(e),n,r,e)))}catch(e){o(K(G(e),n,r,e))}})}async function Pe(e,t){for(let n of e)try{await n(t.to,t.from,t.failure,t)}catch(e){}}async function Fe(e,t,n){for(let r of e)try{await r(t,n)}catch(e){}}function Ie(e){return!e||typeof e!=`object`?!1:typeof e.errMsg==`string`}function Le(e){return e.type===W.unknown||e.cause instanceof Error?!0:e.type===W.aborted&&e.cause!==void 0?!(typeof e.cause==`string`||Ie(e.cause)):!1}function X(e,t,n,r){return{mode:e,from:t,to:n,failure:r}}function Re(e){let{afterEachHooks:t,errorHandlers:n,nativeRouter:r,rejectOnError:i}=e;async function a(e){if(await Pe(t,{mode:e.mode,to:e.to,from:e.from,nativeRouter:r,failure:e.failure}),e.failure&&Le(e.failure)){var i;await Fe(n,(i=e.failure.cause)==null?e.failure:i,{mode:e.mode,to:e.to,from:e.from,nativeRouter:r,failure:e.failure})}}function o(e){return i&&Le(e)}async function s(e){if(await a(e),e.failure&&o(e.failure))throw e.failure;return e.failure}return{settleNavigationResult:s}}function ze(e,t){return K(W.duplicated,e,t,`Avoided redundant navigation to current location`)}function Be(e,t){return K(W.aborted,e,t,`switchTab does not support query parameters`)}function Z(e,t,n){return K(W.aborted,e,t,`Navigation redirected more than ${n} times`)}function Ve(e,t){return K(W.aborted,e,t,`Hash-only navigation is not supported in mini-program router`)}function He(e){return K(W.aborted,void 0,e,`Forward navigation is not supported in mini-program router`)}function Q(e,t){e.redirectedFrom=t.redirectedFrom?xe(t.redirectedFrom):Se(t)}async function Ue(e,t,n,r){let i=typeof e==`function`?await e(t,n):e;return Me(i)?{target:r(i.to,t.path),replace:i.replace}:{target:r(i,t.path),replace:!0}}async function We(e){let{mode:t,target:n,from:r,nativeRouter:i,routeResolveCodec:a,namedRouteLookup:s,beforeEachGuards:c,beforeResolveGuards:l,maxRedirects:u,tabBarPathSet:d,resolveWithCodec:f}=e,p=n,m=t,h=0;for(;;){var g;let e=d.has(p.path);if(U(p,a.stringifyQuery)===U(r,a.stringifyQuery)&&p.hash!==r.hash)return X(m,r,p,Ve(p,r));if(e?p.path===r.path:p.fullPath===r.fullPath)return X(m,r,p,ze(p,r));if(e&&Ce(p.query))return X(m,r,p,Be(p,r));let t=await J(c,{mode:m,to:p,from:r,nativeRouter:i},f);if(t.status===`failure`)return X(m,r,p,t.failure);if(t.status===`redirect`){let e=t.target,n=t.replace===!0?`replace`:t.replace===!1?`push`:m;if(e.fullPath!==p.fullPath||n!==m){if(Q(e,p),p=e,m=n,h+=1,h>u)return X(m,r,p,Z(p,r,u));continue}}let n=ie(p,s),_=(g=n==null?void 0:n.matchedRecords)==null?[]:g,v=!1;for(let e of _){if(e.redirect===void 0)continue;let t;try{t=await Ue(e.redirect,p,r,f)}catch(e){return X(m,r,p,K(W.aborted,p,r,e))}let n=t.replace===!1?`push`:`replace`,i=t.target;if(i.fullPath!==p.fullPath||n!==m){if(Q(i,p),p=i,m=n,h+=1,h>u)return X(m,r,p,Z(p,r,u));v=!0;break}}if(v)continue;let y=!1;for(let e of _){if(e.beforeEnterGuards.length===0)continue;let t=await J(new Set(e.beforeEnterGuards),{mode:m,to:p,from:r,nativeRouter:i},f);if(t.status===`failure`)return X(m,r,p,t.failure);if(t.status===`redirect`){let e=t.target,n=t.replace===!0?`replace`:t.replace===!1?`push`:m;if(e.fullPath!==p.fullPath||n!==m){if(Q(e,p),p=e,m=n,h+=1,h>u)return X(m,r,p,Z(p,r,u));y=!0;break}}}if(y)continue;let b=await J(l,{mode:m,to:p,from:r,nativeRouter:i},f);if(b.status===`failure`)return X(m,r,p,b.failure);if(b.status===`redirect`){let e=b.target,t=b.replace===!0?`replace`:b.replace===!1?`push`:m;if(e.fullPath!==p.fullPath||t!==m){if(Q(e,p),p=e,m=t,h+=1,h>u)return X(m,r,p,Z(p,r,u));continue}}if(e){let e=await Y(i.switchTab,{url:o(p.path)},p,r);return q(e)?X(m,r,p,e):X(m,r,p)}let x=await Y(m===`push`?i.navigateTo:i.redirectTo,{url:U(p,a.stringifyQuery)},p,r);return q(x)?X(m,r,p,x):X(m,r,p)}}function Ge(e){let{nativeRouter:t,route:n,routeResolveCodec:r,namedRouteLookup:i,beforeEachGuards:a,beforeResolveGuards:o,maxRedirects:s,tabBarPathSet:c,resolveWithCodec:l,settleNavigationResult:u}=e;async function d(e){let d=H(n),f;try{f=l(e,d.path)}catch(e){return u(X(`push`,d,void 0,K(W.unknown,void 0,d,e)))}return u(await We({mode:`push`,target:f,from:d,nativeRouter:t,routeResolveCodec:r,namedRouteLookup:i,beforeEachGuards:a,beforeResolveGuards:o,maxRedirects:s,tabBarPathSet:c,resolveWithCodec:l}))}async function f(e){let d=H(n),f;try{f=l(e,d.path)}catch(e){return u(X(`replace`,d,void 0,K(W.unknown,void 0,d,e)))}return u(await We({mode:`replace`,target:f,from:d,nativeRouter:t,routeResolveCodec:r,namedRouteLookup:i,beforeEachGuards:a,beforeResolveGuards:o,maxRedirects:s,tabBarPathSet:c,resolveWithCodec:l}))}async function p(e=1){let r=H(n),i=await J(a,{mode:`back`,from:r,nativeRouter:t},l);if(i.status===`failure`)return u(X(`back`,r,void 0,i.failure));if(i.status===`redirect`)return u(X(`back`,r,void 0,K(W.aborted,void 0,r,`Redirect is not supported in back navigation guards`)));let s=await J(o,{mode:`back`,from:r,nativeRouter:t},l);if(s.status===`failure`)return u(X(`back`,r,void 0,s.failure));if(s.status===`redirect`)return u(X(`back`,r,void 0,K(W.aborted,void 0,r,`Redirect is not supported in back navigation guards`)));let c=await Y(t.navigateBack,{delta:e},void 0,r);return u(q(c)?X(`back`,r,void 0,c):X(`back`,r))}async function m(e){if(e<0)return p(Math.abs(e));if(e===0)return;let t=H(n);return u(X(`back`,t,void 0,He(t)))}async function h(){return m(1)}return{push:d,replace:f,back:p,go:m,forward:h}}const Ke={parseQuery:u,stringifyQuery:_};function qe(e,t=``,n=Ke){var r,i,o,s;if(typeof e==`string`){let r=l(e,n);return m(p(r.path,t),r.query,r.hash,void 0,{},n.stringifyQuery)}let c=typeof e.fullPath==`string`?l(e.fullPath,n):void 0;return m(p((r=(i=e.path)==null?c==null?void 0:c.path:i)==null?t:r,t),e.query?h(e.query):(o=c==null?void 0:c.query)==null?{}:o,f((s=e.hash)==null?c==null?void 0:c.hash:s),typeof e.name==`string`?e.name:void 0,e.params?a(e.params):{},n.stringifyQuery)}function Je(e){let t={name:e.name,path:e.path?`/${e.path}`:`/`};return e.meta!==void 0&&(t.meta=R(e.meta)),e.aliasPaths.length===1?t.alias=o(e.aliasPaths[0]):e.aliasPaths.length>1&&(t.alias=e.aliasPaths.map(e=>o(e))),e.beforeEnterGuards.length===1?t.beforeEnter=e.beforeEnterGuards[0]:e.beforeEnterGuards.length>1&&(t.beforeEnter=e.beforeEnterGuards.slice()),e.redirect!==void 0&&(t.redirect=e.redirect),t}function Ye(e){let t=t=>e.recordByName.has(t),n=()=>Array.from(e.recordByName.values(),Je),r=((t,n)=>{let r=typeof t==`string`?n:t;if(!r)throw Error(`Route record is required when adding a child route`);se(r);let i=typeof t==`string`?t:void 0,a=i?e.recordByName.get(i):void 0;if(i&&!a)throw Error(`Parent route "${i}" is not defined in createRouter({ routes | namedRoutes })`);let s=F([r],a==null?void 0:a.path,i,a==null?void 0:a.aliasPaths,void 0,`addRoute`);if(s.length===0)throw Error(`Route name and path are required when adding a named route`);let c=[];for(let t of s){let n=fe(t.route,t.parentName);if(!n)continue;let r=e.recordByName.get(n.name);if(r){let t=A(r.name,e.recordByName);for(let n of t)e.recordByName.delete(n);N(`addRoute() replaced existing route "${n.name}" (${o(r.path)} -> ${o(n.path)}) and removed ${t.size-1} nested route(s)`)}e.recordByName.set(n.name,n),c.push(n)}return e.nameByStaticPath=L(e.recordByName),()=>{let t=!1;for(let n of c)e.recordByName.get(n.name)===n&&(e.recordByName.delete(n.name),t=!0);t&&(e.nameByStaticPath=L(e.recordByName))}});function i(t){let n=A(t,e.recordByName);if(n.size===0)return;let r=!1;for(let t of n)r=e.recordByName.delete(t)||r;r&&(e.nameByStaticPath=L(e.recordByName))}function a(){e.recordByName.clear(),e.nameByStaticPath.clear()}return{hasRoute:t,getRoutes:n,addRoute:r,removeRoute:i,clearRoutes:a}}function Xe(){if(!n())throw Error(`useRoute() 必须在 setup() 的同步阶段调用`);let a=i(),o=e({path:a.path,fullPath:a.fullPath,query:a.query,hash:a.hash,params:a.params,name:a.name});a.meta!==void 0&&(o.meta=a.meta);function s(e){let t=i(e);o.path=t.path,o.fullPath=t.fullPath,o.query=t.query,o.hash=t.hash,t.meta===void 0?delete o.meta:o.meta=t.meta,o.params=t.params,o.name=t.name}return t(e=>{s(e)}),r(()=>{s()}),b(()=>{s()}),v(o)}function $(){return d()}function Ze(){return g()}function Qe(e={}){var t,n,r,i,a,o;let s=$(),c=Xe(),l=new Set,d=new Set,f=new Set,m=new Set,h=(t=e.maxRedirects)==null?10:t,g=(n=e.paramsMode)==null?`loose`:n,v=(r=e.rejectOnError)==null?!0:r,y={parseQuery:(i=e.parseQuery)==null?u:i,stringifyQuery:(a=e.stringifyQuery)==null?_:a},b=Promise.resolve(),x=ge(e);ce(x);let S=_e(x),C=((o=e.tabBarEntries)==null?[]:o).map(e=>p(e,``)).filter(Boolean),w=new Set(C),T=Ye(S),E=ye(C,T.getRoutes(),g,h,y,v);function D(e,t){let n=qe(typeof e==`string`?e:te(e,S,g),t,y);n.href=n.fullPath;let r=ie(n,S);if(r){let e=r.record;n.name===void 0&&(n.name=e.name);let t=re(r.matchedRecords);t!==void 0&&(n.meta=R(t)),r.params&&Object.keys(n.params).length===0&&(n.params=V(r.params)),n.matched=r.matchedRecords.map((e,t,n)=>be(e,t===n.length-1?r.matchedPath:void 0))}else n.matched=[];return n}function ee(e){return D(e,c.path)}let O=Ge({nativeRouter:s,route:c,routeResolveCodec:y,namedRouteLookup:S,beforeEachGuards:l,beforeResolveGuards:d,maxRedirects:h,tabBarPathSet:w,resolveWithCodec:D,settleNavigationResult:Re({afterEachHooks:f,errorHandlers:m,nativeRouter:s,rejectOnError:v}).settleNavigationResult});function ne(e){return l.add(e),()=>{l.delete(e)}}function k(e){return d.add(e),()=>{d.delete(e)}}function A(e){return f.add(e),()=>{f.delete(e)}}function j(e){return m.add(e),()=>{m.delete(e)}}let M={nativeRouter:s,options:E,currentRoute:c,install(e){var t;Ee(M);let n=e==null||(t=e.config)==null?void 0:t.globalProperties;n&&(n.$router=M)},resolve:ee,isReady(){return b},push:O.push,replace:O.replace,back:O.back,go:O.go,forward:O.forward,hasRoute:T.hasRoute,getRoutes:T.getRoutes,addRoute:T.addRoute,removeRoute:T.removeRoute,clearRoutes:T.clearRoutes,beforeEach:ne,beforeResolve:k,afterEach:A,onError:j};return Ee(M),M}function $e(){let e=De();if(e)return e;throw Error(`useRouter() 未找到已创建的 router 实例。请先在 setup() 中调用 createRouter()。`)}export{W as NavigationFailureType,K as createNavigationFailure,Qe as createRouter,q as isNavigationFailure,u as parseQuery,qe as resolveRouteLocation,_ as stringifyQuery,Ze as useNativePageRouter,$ as useNativeRouter,Xe as useRoute,$e as useRouter};
1
+ import{d as e}from"./ref-B6CIXciv.mjs";import{K as t,L as n,W as r,X as i,_t as a,a as o,at as s,c,d as l,f as u,g as d,i as f,l as p,n as m,o as h,p as g,r as _,s as v,t as y,u as b,v as x}from"./router-Cm3FUnTw.mjs";const S=/^:(\w+)(?:\([^)]*\))?([+*?])?$/;function C(e){var t;let n=S.exec(e);if(n)return{key:n[1],modifier:(t=n[2])==null?``:t}}function ee(e){return e===void 0?[]:Array.isArray(e)?e:[e]}function w(e){return encodeURIComponent(e)}function T(e){try{return decodeURIComponent(e)}catch(t){return e}}function E(e,t,n){let r=[],i=new Set;for(let a of e.split(`/`)){if(!a)continue;let e=C(a);if(!e){r.push(a);continue}let o=ee(t[e.key]);if(e.modifier===``){if(o.length!==1)throw Error(`Missing required param "${e.key}" for named route "${n}"`);i.add(e.key),r.push(w(o[0]));continue}if(e.modifier===`?`){if(o.length===0)continue;if(o.length>1)throw Error(`Param "${e.key}" for named route "${n}" must be a single value`);i.add(e.key),r.push(w(o[0]));continue}if(e.modifier===`+`){if(o.length===0)throw Error(`Missing required repeatable param "${e.key}" for named route "${n}"`);i.add(e.key);for(let e of o)r.push(w(e));continue}o.length>0&&i.add(e.key);for(let e of o)r.push(w(e))}return{path:r.join(`/`),consumedKeys:i}}function te(e){return e===void 0?!1:Array.isArray(e)?e.length>0:!0}function D(e,t,n){let r=Object.keys(e).filter(e=>!t.has(e)).filter(t=>te(e[t]));if(r.length!==0)throw Error(`Unexpected params for named route "${n}": ${r.join(`, `)}`)}function ne(e,t,n){let r=e.name;if(typeof r!=`string`||!r||e.path!==void 0||e.fullPath!==void 0)return e;let i=t.recordByName.get(r);if(!i)throw Error(`Named route "${r}" is not defined in createRouter({ routes | namedRoutes })`);let a=e.params?c(e.params):{},o=E(i.path,a,r);return n===`strict`&&D(a,o.consumedKeys,r),{...e,path:o.path?`/${o.path}`:`/`,params:a}}function O(e){return e.split(`/`).filter(Boolean)}function re(e){return[e.path,...e.aliasPaths]}function k(e,t){let n=[],r=new Set,i=e;for(;i&&!(r.has(i.name)||(r.add(i.name),n.unshift(i),!i.parentName));)i=t.recordByName.get(i.parentName);return n}function ie(e){let t;for(let n of e)n.meta&&(t||(t={}),Object.assign(t,n.meta));return t}function A(e,t){let n=new Set;if(!t.has(e))return n;n.add(e);let r=!0;for(;r;){r=!1;for(let[e,i]of t.entries())!i.parentName||n.has(e)||n.has(i.parentName)&&(n.add(e),r=!0)}return n}function j(e){let t={};for(let[n,r]of e.entries())r.length!==0&&(t[n]=r.length===1?r[0]:r);return t}function ae(e,t){let n=O(e),r=O(t),i=new Map,a=(e,t)=>{let n=i.get(e);if(n){n.push(t);return}i.set(e,[t])},o=e=>{let t=i.get(e);!t||t.length===0||(t.pop(),t.length===0&&i.delete(e))},s=(e,t,n)=>{for(let i=0;i<n;i+=1)a(e,T(r[t+i]));return()=>{for(let t=0;t<n;t+=1)o(e)}},c=(e,t)=>{if(e>=n.length)return t>=r.length;let i=n[e],l=C(i);if(!l)return t>=r.length||i!==r[t]?!1:c(e+1,t+1);if(l.modifier===``){if(t>=r.length)return!1;a(l.key,T(r[t]));let n=c(e+1,t+1);return n||o(l.key),n}if(l.modifier===`?`){if(t<r.length){if(a(l.key,T(r[t])),c(e+1,t+1))return!0;o(l.key)}return c(e+1,t)}let u=+(l.modifier===`+`),d=r.length-t;for(let n=d;n>=u;--n){let r=s(l.key,t,n);if(c(e+1,t+n))return!0;r()}return!1};if(c(0,0))return j(i)}function M(e,t){if(e.name){let n=t.recordByName.get(e.name);if(n)return{record:n,matchedRecords:k(n,t)}}let n=t.nameByStaticPath.get(e.path);if(n){let r=t.recordByName.get(n);if(r)return{record:r,matchedRecords:k(r,t),matchedPath:e.path}}for(let n of t.recordByName.values())for(let r of re(n)){if(!u(r))continue;let i=ae(r,e.path);if(i)return{record:n,matchedRecords:k(n,t),matchedPath:r,params:i}}}function N(e){typeof console>`u`||typeof console.warn!=`function`||console.warn(`[wevu/router] ${e}`)}function oe(e){let t=g(e,``);return t?l(t):`/`}function se(e,t=new Set){if(t.has(e))return!0;if(!Array.isArray(e.children)||e.children.length===0)return!1;let n=new Set(t);n.add(e);for(let t of e.children)if(se(t,n))return!0;return!1}function ce(e){let t=typeof e.name==`string`?e.name.trim():``;if(!t)throw Error(`Route name is required when adding a named route`);if(typeof e.path!=`string`||!e.path)throw Error(`Route path is required when adding named route "${t}"`);if(se(e))throw Error(`Circular children reference detected when adding named route "${t}"`)}function le(e){let t=new Map,n=[];for(let i of e){var r;let e=typeof i.route.name==`string`?i.route.name.trim():``;if(!e)continue;let a=(r=i.source)==null?`namedRoutes`:r,o=oe(i.route.path),s=t.get(e);s&&n.push(`"${e}" (${s.source}:${s.path} -> ${a}:${o})`),t.set(e,{source:a,path:o})}n.length!==0&&N(`duplicate route names detected, later entries override earlier ones: ${n.join(`, `)}`)}function ue(e){return e?Array.isArray(e)?e:[e]:[]}function de(e,t,n=`namedRoutes`){return typeof e.name==`string`&&e.name.trim()?e.name.trim():n===`routes`?t||`/`:``}function fe(e,t){if(!e)return[];let n=Array.isArray(e)?e:[e],r=[];for(let e of n){if(typeof e!=`string`)continue;let n=g(e,``);!n||n===t||r.includes(n)||r.push(n)}return r}function pe(e,t,n=`namedRoutes`){let r=g(e.path,``);if(!r&&e.path!==`/`)return;let i=de(e,r,n);if(i)return{name:i,path:r,aliasPaths:fe(e.alias,r),parentName:t,meta:e.meta,beforeEnterGuards:ue(e.beforeEnter),redirect:e.redirect}}function P(e,t){return!t||e.startsWith(`/`)?g(e,``):g(`${l(t)}/${e}`,``)}function me(e){return e?Array.isArray(e)?e.filter(e=>typeof e==`string`&&e.length>0):typeof e==`string`&&e.length>0?[e]:[]:[]}function he(e){let t=[];for(let n of e)!n||t.includes(n)||t.push(n);return t}function ge(e){if(e.length!==0)return e.length===1?l(e[0]):e.map(e=>l(e))}function F(e,t,n,r=[],i,a=`namedRoutes`,o=new Set){let s=[];for(let[c,u]of e.entries()){let e=`${a}[${c}]`;if(o.has(u)){N(`ignored route record at ${e}: detected circular children reference`);continue}if(typeof u.path!=`string`||!u.path){N(`ignored route record "${typeof(u==null?void 0:u.name)==`string`?u.name.trim():``}" at ${e}: route path is required`);continue}let d=P(u.path,t),f=de(u,d,i);if(!f){N(`ignored route record at ${e}: route name is required`);continue}let p=[],m=new Map;for(let n of me(u.alias)){let r=P(n,t);if(!r)continue;if(r===d){N(`ignored alias "${l(r)}" for route "${f}" at ${e}: alias is same as route path`);continue}let i=m.get(r);if(i){N(`ignored duplicate alias "${l(r)}" for route "${f}" at ${e}: already declared by "${i}"`);continue}m.set(r,n),p.push(r)}let h=u.path.startsWith(`/`)?[]:r.map(e=>P(u.path,e)).filter(Boolean).filter(e=>e!==d),g=he([...p,...h]),_={name:f,path:d?l(d):`/`,alias:ge(g),meta:u.meta,beforeEnter:u.beforeEnter,redirect:u.redirect};if(s.push({route:_,parentName:n,source:i}),Array.isArray(u.children)&&u.children.length>0){let t=new Set(o);t.add(u),s.push(...F(u.children,d,f,g,i,`${e}.children`,t))}}return s}function I(e,t=`namedRoutes`){if(!e)return[];if(Array.isArray(e))return F(e,void 0,void 0,[],t,t);let n=[];for(let[r,i]of Object.entries(e)){let e=typeof r==`string`?r.trim():``;if(!e){N(`ignored route record at ${t}: route name is required`);continue}if(typeof i!=`string`||!i){N(`ignored route record "${e}" at ${t}: route path is required`);continue}n.push({route:{name:e,path:i},source:t})}return n}function _e(e){return[...I(e.routes,`routes`),...I(e.namedRoutes,`namedRoutes`)]}function L(e){let t=new Map;for(let[n,r]of e.entries()){!u(r.path)&&!t.has(r.path)&&t.set(r.path,n);for(let e of r.aliasPaths)!u(e)&&!t.has(e)&&t.set(e,n)}return t}function ve(e){let t=new Map;for(let n of e){let e=pe(n.route,n.parentName,n.source);e&&t.set(e.name,e)}return{recordByName:t,nameByStaticPath:L(t)}}function R(e){if(e)return{...e}}function ye(e){let t={name:e.name,path:e.path};return e.meta!==void 0&&(t.meta=R(e.meta)),Array.isArray(e.alias)?t.alias=Object.freeze(e.alias.slice()):e.alias!==void 0&&(t.alias=e.alias),Array.isArray(e.beforeEnter)?t.beforeEnter=Object.freeze(e.beforeEnter.slice()):e.beforeEnter!==void 0&&(t.beforeEnter=e.beforeEnter),e.redirect!==void 0&&(t.redirect=e.redirect),Object.freeze(t)}function be(e,t,n,r,i,a){let o=Object.freeze(e.map(e=>l(e))),s=Object.freeze(t.map(ye));return Object.freeze({tabBarEntries:o,routes:s,namedRoutes:s,paramsMode:n,maxRedirects:r,parseQuery:i.parseQuery,stringifyQuery:i.stringifyQuery,rejectOnError:a})}function xe(e,t){let n={name:e.name,path:l(e.path)},r=typeof t==`string`&&t?l(g(t,``)):void 0;return r&&r!==n.path&&(n.aliasPath=r),e.meta!==void 0&&(n.meta=R(e.meta)),n}function z(e){if(e)return e.map(e=>({name:e.name,path:e.path,aliasPath:e.aliasPath,meta:R(e.meta)}))}function B(e){let t={};for(let n of Object.keys(e)){let r=e[n];t[n]=Array.isArray(r)?r.slice():r}return t}function V(e){let t={};for(let n of Object.keys(e)){let r=e[n];t[n]=Array.isArray(r)?r.slice():r}return t}function Se(e){if(!e)return;let t={path:e.path,fullPath:e.fullPath,query:B(e.query),hash:e.hash,params:V(e.params)};return e.name!==void 0&&(t.name=e.name),e.meta!==void 0&&(t.meta=R(e.meta)),e.href!==void 0&&(t.href=e.href),e.matched!==void 0&&(t.matched=z(e.matched)),t}function Ce(e){let t={path:e.path,fullPath:e.fullPath,query:B(e.query),hash:e.hash,params:V(e.params)};return e.name!==void 0&&(t.name=e.name),e.meta!==void 0&&(t.meta=R(e.meta)),e.href!==void 0&&(t.href=e.href),e.matched!==void 0&&(t.matched=z(e.matched)),t}function H(e){let t={path:e.path,fullPath:e.fullPath,query:B(e.query),hash:e.hash,params:V(e.params)};return e.meta!==void 0&&(t.meta=R(e.meta)),e.href!==void 0&&(t.href=e.href),e.matched!==void 0&&(t.matched=z(e.matched)),e.redirectedFrom!==void 0&&(t.redirectedFrom=Se(e.redirectedFrom)),e.name!==void 0&&(t.name=e.name),t}function U(e,t=b){let n=l(e.path),r=t(e.query);return r?`${n}?${r}`:n}function we(e){return Object.keys(e).length>0}const Te=Symbol(`wevu.router.instance`);let Ee;function De(e){Ee=e,x(Te,e)}function Oe(){var e;return(e=Ee)==null?d(Te,void 0):e}const W={unknown:1,aborted:4,cancelled:8,duplicated:16},ke=/already|same|duplicat|重复/,Ae=/cancel|取消/,je=/abort|interrupt|中断/;function Me(e){if(typeof e==`string`)return e;if(e&&typeof e==`object`){let t=e.errMsg;if(typeof t==`string`)return t;if(e instanceof Error)return e.message}return``}function G(e){let t=Me(e).toLowerCase();return ke.test(t)?W.duplicated:Ae.test(t)?W.cancelled:je.test(t)?W.aborted:W.unknown}function K(e,t,n,r){let i=Me(r)||`Navigation failed`,a=Error(i);return a.__wevuNavigationFailure=!0,a.type=e,a.to=t,a.from=n,a.cause=r,a}function q(e,t){if(!e||typeof e!=`object`)return!1;let n=e;return n.__wevuNavigationFailure===!0?t===void 0?!0:n.type===t:!1}function Ne(e){return!e||typeof e!=`object`?!1:`to`in e}function Pe(e){if(typeof e==`string`)return!0;if(!e||typeof e!=`object`)return!1;let t=e;return`path`in t||`fullPath`in t||`query`in t||`hash`in t||`name`in t||`params`in t}async function J(e,t,n){for(let r of e)try{let e=await r(t.to,t.from,t);if(q(e))return{status:`failure`,failure:e};if(e===!1)return{status:`failure`,failure:K(W.aborted,t.to,t.from,`Navigation aborted by guard`)};if(Ne(e))return t.to?{status:`redirect`,target:n(e.to,t.to.path),replace:e.replace}:{status:`failure`,failure:K(W.aborted,t.to,t.from,`Redirect is not supported in back navigation guards`)};if(Pe(e))return t.to?{status:`redirect`,target:n(e,t.to.path)}:{status:`failure`,failure:K(W.aborted,t.to,t.from,`Redirect is not supported in back navigation guards`)}}catch(e){return{status:`failure`,failure:K(W.aborted,t.to,t.from,e)}}return{status:`continue`}}function Y(e,t,n,r){return new Promise(i=>{let a=!1,o=e=>{a||(a=!0,i(e))};try{let i=e({...t,success:()=>o(),fail:e=>{o(K(G(e),n,r,e))}});i&&typeof i.then==`function`&&i.then(()=>o(),e=>o(K(G(e),n,r,e)))}catch(e){o(K(G(e),n,r,e))}})}async function Fe(e,t){for(let n of e)try{await n(t.to,t.from,t.failure,t)}catch(e){}}async function Ie(e,t,n){for(let r of e)try{await r(t,n)}catch(e){}}function Le(e){return!e||typeof e!=`object`?!1:typeof e.errMsg==`string`}function X(e){return e.type===W.unknown||e.cause instanceof Error?!0:e.type===W.aborted&&e.cause!==void 0?!(typeof e.cause==`string`||Le(e.cause)):!1}function Z(e,t,n,r){return{mode:e,from:t,to:n,failure:r}}function Re(e){let{afterEachHooks:t,errorHandlers:n,nativeRouter:r,rejectOnError:i}=e;async function a(e){if(await Fe(t,{mode:e.mode,to:e.to,from:e.from,nativeRouter:r,failure:e.failure}),e.failure&&X(e.failure)){var i;await Ie(n,(i=e.failure.cause)==null?e.failure:i,{mode:e.mode,to:e.to,from:e.from,nativeRouter:r,failure:e.failure})}}function o(e){return i&&X(e)}async function s(e){if(await a(e),e.failure&&o(e.failure))throw e.failure;return e.failure}return{settleNavigationResult:s}}function ze(e,t){return K(W.duplicated,e,t,`Avoided redundant navigation to current location`)}function Be(e,t){return K(W.aborted,e,t,`switchTab does not support query parameters`)}function Q(e,t,n){return K(W.aborted,e,t,`Navigation redirected more than ${n} times`)}function Ve(e,t){return K(W.aborted,e,t,`Hash-only navigation is not supported in mini-program router`)}function He(e){return K(W.aborted,void 0,e,`Forward navigation is not supported in mini-program router`)}function $(e,t){e.redirectedFrom=t.redirectedFrom?Se(t.redirectedFrom):Ce(t)}async function Ue(e,t,n,r){let i=typeof e==`function`?await e(t,n):e;return Ne(i)?{target:r(i.to,t.path),replace:i.replace}:{target:r(i,t.path),replace:!0}}async function We(e){let{mode:t,target:n,from:r,nativeRouter:i,routeResolveCodec:a,namedRouteLookup:o,beforeEachGuards:s,beforeResolveGuards:c,maxRedirects:u,tabBarPathSet:d,resolveWithCodec:f}=e,p=n,m=t,h=0;for(;;){var g;let e=d.has(p.path);if(U(p,a.stringifyQuery)===U(r,a.stringifyQuery)&&p.hash!==r.hash)return Z(m,r,p,Ve(p,r));if(e?p.path===r.path:p.fullPath===r.fullPath)return Z(m,r,p,ze(p,r));if(e&&we(p.query))return Z(m,r,p,Be(p,r));let t=await J(s,{mode:m,to:p,from:r,nativeRouter:i},f);if(t.status===`failure`)return Z(m,r,p,t.failure);if(t.status===`redirect`){let e=t.target,n=t.replace===!0?`replace`:t.replace===!1?`push`:m;if(e.fullPath!==p.fullPath||n!==m){if($(e,p),p=e,m=n,h+=1,h>u)return Z(m,r,p,Q(p,r,u));continue}}let n=M(p,o),_=(g=n==null?void 0:n.matchedRecords)==null?[]:g,v=!1;for(let e of _){if(e.redirect===void 0)continue;let t;try{t=await Ue(e.redirect,p,r,f)}catch(e){return Z(m,r,p,K(W.aborted,p,r,e))}let n=t.replace===!1?`push`:`replace`,i=t.target;if(i.fullPath!==p.fullPath||n!==m){if($(i,p),p=i,m=n,h+=1,h>u)return Z(m,r,p,Q(p,r,u));v=!0;break}}if(v)continue;let y=!1;for(let e of _){if(e.beforeEnterGuards.length===0)continue;let t=await J(new Set(e.beforeEnterGuards),{mode:m,to:p,from:r,nativeRouter:i},f);if(t.status===`failure`)return Z(m,r,p,t.failure);if(t.status===`redirect`){let e=t.target,n=t.replace===!0?`replace`:t.replace===!1?`push`:m;if(e.fullPath!==p.fullPath||n!==m){if($(e,p),p=e,m=n,h+=1,h>u)return Z(m,r,p,Q(p,r,u));y=!0;break}}}if(y)continue;let b=await J(c,{mode:m,to:p,from:r,nativeRouter:i},f);if(b.status===`failure`)return Z(m,r,p,b.failure);if(b.status===`redirect`){let e=b.target,t=b.replace===!0?`replace`:b.replace===!1?`push`:m;if(e.fullPath!==p.fullPath||t!==m){if($(e,p),p=e,m=t,h+=1,h>u)return Z(m,r,p,Q(p,r,u));continue}}if(e){let e=await Y(i.switchTab,{url:l(p.path)},p,r);return q(e)?Z(m,r,p,e):Z(m,r,p)}let x=await Y(m===`push`?i.navigateTo:i.redirectTo,{url:U(p,a.stringifyQuery)},p,r);return q(x)?Z(m,r,p,x):Z(m,r,p)}}function Ge(e){let{nativeRouter:t,route:n,routeResolveCodec:r,namedRouteLookup:i,beforeEachGuards:a,beforeResolveGuards:o,maxRedirects:s,tabBarPathSet:c,resolveWithCodec:l,settleNavigationResult:u}=e;async function d(e){let d=H(n),f;try{f=l(e,d.path)}catch(e){return u(Z(`push`,d,void 0,K(W.unknown,void 0,d,e)))}return u(await We({mode:`push`,target:f,from:d,nativeRouter:t,routeResolveCodec:r,namedRouteLookup:i,beforeEachGuards:a,beforeResolveGuards:o,maxRedirects:s,tabBarPathSet:c,resolveWithCodec:l}))}async function f(e){let d=H(n),f;try{f=l(e,d.path)}catch(e){return u(Z(`replace`,d,void 0,K(W.unknown,void 0,d,e)))}return u(await We({mode:`replace`,target:f,from:d,nativeRouter:t,routeResolveCodec:r,namedRouteLookup:i,beforeEachGuards:a,beforeResolveGuards:o,maxRedirects:s,tabBarPathSet:c,resolveWithCodec:l}))}async function p(e=1){let r=H(n),i=await J(a,{mode:`back`,from:r,nativeRouter:t},l);if(i.status===`failure`)return u(Z(`back`,r,void 0,i.failure));if(i.status===`redirect`)return u(Z(`back`,r,void 0,K(W.aborted,void 0,r,`Redirect is not supported in back navigation guards`)));let s=await J(o,{mode:`back`,from:r,nativeRouter:t},l);if(s.status===`failure`)return u(Z(`back`,r,void 0,s.failure));if(s.status===`redirect`)return u(Z(`back`,r,void 0,K(W.aborted,void 0,r,`Redirect is not supported in back navigation guards`)));let c=await Y(t.navigateBack,{delta:e},void 0,r);return u(q(c)?Z(`back`,r,void 0,c):Z(`back`,r))}async function m(e){if(e<0)return p(Math.abs(e));if(e===0)return;let t=H(n);return u(Z(`back`,t,void 0,He(t)))}async function h(){return m(1)}return{push:d,replace:f,back:p,go:m,forward:h}}const Ke={parseQuery:p,stringifyQuery:b};function qe(e,t=``,n=Ke){var r,i,a,o;if(typeof e==`string`){let r=f(e,n);return _(g(r.path,t),r.query,r.hash,void 0,{},n.stringifyQuery)}let s=typeof e.fullPath==`string`?f(e.fullPath,n):void 0;return _(g((r=(i=e.path)==null?s==null?void 0:s.path:i)==null?t:r,t),e.query?v(e.query):(a=s==null?void 0:s.query)==null?{}:a,h((o=e.hash)==null?s==null?void 0:s.hash:o),typeof e.name==`string`?e.name:void 0,e.params?c(e.params):{},n.stringifyQuery)}function Je(e){let t={name:e.name,path:e.path?`/${e.path}`:`/`};return e.meta!==void 0&&(t.meta=R(e.meta)),e.aliasPaths.length===1?t.alias=l(e.aliasPaths[0]):e.aliasPaths.length>1&&(t.alias=e.aliasPaths.map(e=>l(e))),e.beforeEnterGuards.length===1?t.beforeEnter=e.beforeEnterGuards[0]:e.beforeEnterGuards.length>1&&(t.beforeEnter=e.beforeEnterGuards.slice()),e.redirect!==void 0&&(t.redirect=e.redirect),t}function Ye(e){let t=t=>e.recordByName.has(t),n=()=>Array.from(e.recordByName.values(),Je),r=((t,n)=>{let r=typeof t==`string`?n:t;if(!r)throw Error(`Route record is required when adding a child route`);ce(r);let i=typeof t==`string`?t:void 0,a=i?e.recordByName.get(i):void 0;if(i&&!a)throw Error(`Parent route "${i}" is not defined in createRouter({ routes | namedRoutes })`);let o=F([r],a==null?void 0:a.path,i,a==null?void 0:a.aliasPaths,void 0,`addRoute`);if(o.length===0)throw Error(`Route name and path are required when adding a named route`);let s=[];for(let t of o){let n=pe(t.route,t.parentName);if(!n)continue;let r=e.recordByName.get(n.name);if(r){let t=A(r.name,e.recordByName);for(let n of t)e.recordByName.delete(n);N(`addRoute() replaced existing route "${n.name}" (${l(r.path)} -> ${l(n.path)}) and removed ${t.size-1} nested route(s)`)}e.recordByName.set(n.name,n),s.push(n)}return e.nameByStaticPath=L(e.recordByName),()=>{let t=!1;for(let n of s)e.recordByName.get(n.name)===n&&(e.recordByName.delete(n.name),t=!0);t&&(e.nameByStaticPath=L(e.recordByName))}});function i(t){let n=A(t,e.recordByName);if(n.size===0)return;let r=!1;for(let t of n)r=e.recordByName.delete(t)||r;r&&(e.nameByStaticPath=L(e.recordByName))}function a(){e.recordByName.clear(),e.nameByStaticPath.clear()}return{hasRoute:t,getRoutes:n,addRoute:r,removeRoute:i,clearRoutes:a}}function Xe(){let c=s();if(!c)throw Error(`useRoute() 必须在 setup() 的同步阶段调用`);let l=c.instance,u=o(void 0,l),d=e({path:u.path,fullPath:u.fullPath,query:u.query,hash:u.hash,params:u.params,name:u.name});u.meta!==void 0&&(d.meta=u.meta);function f(e){let t=o(e,l);d.path=t.path,d.fullPath=t.fullPath,d.query=t.query,d.hash=t.hash,t.meta===void 0?delete d.meta:d.meta=t.meta,d.params=t.params,d.name=t.name}return n(e=>{f(e)}),r(()=>{f()}),i(()=>{f()}),t(()=>{f()}),a(d)}function Ze(){return m()}function Qe(){return y()}function $e(e={}){var t,n,r,i,a,o;let s=Ze(),c=Xe(),l=new Set,u=new Set,d=new Set,f=new Set,m=(t=e.maxRedirects)==null?10:t,h=(n=e.paramsMode)==null?`loose`:n,_=(r=e.rejectOnError)==null?!0:r,v={parseQuery:(i=e.parseQuery)==null?p:i,stringifyQuery:(a=e.stringifyQuery)==null?b:a},y=Promise.resolve(),x=_e(e);le(x);let S=ve(x),C=((o=e.tabBarEntries)==null?[]:o).map(e=>g(e,``)).filter(Boolean),ee=new Set(C),w=Ye(S),T=be(C,w.getRoutes(),h,m,v,_);function E(e,t){let n=qe(typeof e==`string`?e:ne(e,S,h),t,v);n.href=n.fullPath;let r=M(n,S);if(r){let e=r.record;n.name===void 0&&(n.name=e.name);let t=ie(r.matchedRecords);t!==void 0&&(n.meta=R(t)),r.params&&Object.keys(n.params).length===0&&(n.params=V(r.params)),n.matched=r.matchedRecords.map((e,t,n)=>xe(e,t===n.length-1?r.matchedPath:void 0))}else n.matched=[];return n}function te(e){return E(e,c.path)}let D=Ge({nativeRouter:s,route:c,routeResolveCodec:v,namedRouteLookup:S,beforeEachGuards:l,beforeResolveGuards:u,maxRedirects:m,tabBarPathSet:ee,resolveWithCodec:E,settleNavigationResult:Re({afterEachHooks:d,errorHandlers:f,nativeRouter:s,rejectOnError:_}).settleNavigationResult});function O(e){return l.add(e),()=>{l.delete(e)}}function re(e){return u.add(e),()=>{u.delete(e)}}function k(e){return d.add(e),()=>{d.delete(e)}}function A(e){return f.add(e),()=>{f.delete(e)}}let j={nativeRouter:s,options:T,currentRoute:c,install(e){var t;De(j);let n=e==null||(t=e.config)==null?void 0:t.globalProperties;n&&(n.$router=j)},resolve:te,isReady(){return y},push:D.push,replace:D.replace,back:D.back,go:D.go,forward:D.forward,hasRoute:w.hasRoute,getRoutes:w.getRoutes,addRoute:w.addRoute,removeRoute:w.removeRoute,clearRoutes:w.clearRoutes,beforeEach:O,beforeResolve:re,afterEach:k,onError:A};return De(j),j}function et(){let e=Oe();if(e)return e;throw Error(`useRouter() 未找到已创建的 router 实例。请先在 setup() 中调用 createRouter()。`)}export{W as NavigationFailureType,K as createNavigationFailure,$e as createRouter,q as isNavigationFailure,p as parseQuery,qe as resolveRouteLocation,b as stringifyQuery,Qe as useNativePageRouter,Ze as useNativeRouter,Xe as useRoute,et as useRouter};