wevu 6.13.0 → 6.13.2

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.
@@ -0,0 +1,246 @@
1
+ import { AllowedComponentProps, ComponentCustomProps, ComponentOptionsMixin, ComputedOptions, DefineComponent, EmitsOptions, MethodOptions, ObjectDirective, PublicProps, Ref, ShallowRef, ShallowUnwrapRef, SlotsType, VNode, VNodeProps } from "vue";
2
+
3
+ //#region src/runtime/types/props/propTypes.d.ts
4
+ type PropMethod<T, TConstructor = any> = [T] extends [((...args: any) => any) | undefined] ? {
5
+ new (): TConstructor;
6
+ (): T;
7
+ readonly prototype: TConstructor;
8
+ } : never;
9
+ type PropConstructor<T = any> = {
10
+ new (...args: any[]): T & {};
11
+ } | {
12
+ (): T;
13
+ } | PropMethod<T>;
14
+ type PropType<T> = PropConstructor<T> | (PropConstructor<T> | null)[];
15
+ type Prop<T, D = T> = PropOptions<T, D> | PropType<T>;
16
+ type ComponentPropsOptions = Record<string, PropOptions<any> | PropType<any> | null>;
17
+ interface NativeTypeHint<T = any> {
18
+ readonly __wevuNativeType?: T;
19
+ }
20
+ type NativePropsOptions = Record<string, WechatMiniprogram.Component.AllProperty | NativeTypeHint<any>>;
21
+ type NativePropType<T = any, C extends WechatMiniprogram.Component.ShortProperty = StringConstructor> = C & NativeTypeHint<T>;
22
+ type NativeTypedProperty<T = any, P extends WechatMiniprogram.Component.AllProperty = WechatMiniprogram.Component.AllProperty> = P & NativeTypeHint<T>;
23
+ interface PropOptions<T = any, D = T> {
24
+ type?: PropType<T> | true | null;
25
+ optionalTypes?: Array<WechatMiniprogram.Component.ShortProperty | PropConstructor<any>>;
26
+ /**
27
+ * 默认值(对齐 Vue 的 `default`;会被赋给小程序 property 的 `value`)
28
+ */
29
+ default?: D | (() => D);
30
+ /**
31
+ * 小程序 `value` 的别名
32
+ */
33
+ value?: D | (() => D);
34
+ observer?: string | ((newVal: T, oldVal: T, changedPath: Array<string | number>) => void);
35
+ required?: boolean;
36
+ }
37
+ type HasDefault<T> = T extends {
38
+ default: infer D;
39
+ } ? D extends (() => undefined) | undefined ? false : true : T extends {
40
+ value: infer V;
41
+ } ? V extends (() => undefined) | undefined ? false : true : false;
42
+ type IsBooleanProp<T> = T extends {
43
+ type?: infer U;
44
+ } ? IsBooleanProp<U> : T extends readonly any[] ? true extends IsBooleanProp<T[number]> ? true : false : T extends BooleanConstructor ? true : false;
45
+ type RequiredKeys<T> = { [K in keyof T]: T[K] extends {
46
+ required: true;
47
+ } ? K : HasDefault<T[K]> extends true ? K : IsBooleanProp<T[K]> extends true ? K : never }[keyof T];
48
+ type OptionalKeys<T> = Exclude<keyof T, RequiredKeys<T>>;
49
+ type DefaultKeys<T> = { [K in keyof T]: HasDefault<T[K]> extends true ? K : IsBooleanProp<T[K]> extends true ? K : never }[keyof T];
50
+ type IfAny<T, Y, N> = 0 extends (1 & T) ? Y : N;
51
+ type InferPropType<O, NullAsAny = true> = [O] extends [null] ? NullAsAny extends true ? any : null : [O] extends [{
52
+ type: null | true;
53
+ }] ? any : [O] extends [ObjectConstructor | {
54
+ type: ObjectConstructor;
55
+ }] ? Record<string, any> : [O] extends [BooleanConstructor | {
56
+ type: BooleanConstructor;
57
+ }] ? boolean : [O] extends [DateConstructor | {
58
+ type: DateConstructor;
59
+ }] ? Date : [O] extends [(infer U)[] | {
60
+ type: (infer U)[];
61
+ }] ? U extends DateConstructor ? Date | InferPropType<U, false> : InferPropType<U, false> : [O] extends [Prop<infer V, infer D>] ? unknown extends V ? keyof V extends never ? IfAny<V, V, D> : V : V : O;
62
+ type IsUnion<T, U = T> = T extends any ? ([U] extends [T] ? false : true) : never;
63
+ type WidenLiteral<T> = T extends string ? string extends T ? string : IsUnion<T> extends true ? T : string : T extends number ? number extends T ? number : IsUnion<T> extends true ? T : number : T extends boolean ? boolean extends T ? boolean : IsUnion<T> extends true ? T : boolean : T;
64
+ type NativeInferByCtor<C> = C extends readonly any[] ? NativeInferByCtor<C[number]> : C extends StringConstructor ? string : C extends NumberConstructor ? number : C extends BooleanConstructor ? boolean : C extends DateConstructor ? Date : C extends ArrayConstructor ? any[] : C extends ObjectConstructor ? Record<string, any> : C extends null ? any : C extends PropConstructor<infer V> ? V : any;
65
+ type MergeNativeType<Base, V> = Base extends string ? Exclude<Extract<WidenLiteral<V>, string>, never> | (Extract<WidenLiteral<V>, string> extends never ? string : never) : Base extends number ? Exclude<Extract<WidenLiteral<V>, number>, never> | (Extract<WidenLiteral<V>, number> extends never ? number : never) : Base extends boolean ? Exclude<Extract<WidenLiteral<V>, boolean>, never> | (Extract<WidenLiteral<V>, boolean> extends never ? boolean : never) : Base;
66
+ type InferNativeByOption<O extends {
67
+ type?: any;
68
+ }> = O['type'] extends NativeTypeHint<infer THint> ? THint : O extends {
69
+ value: infer V;
70
+ } ? MergeNativeType<NativeInferByCtor<O['type']>, V> : NativeInferByCtor<O['type']>;
71
+ type InferNativePropType<O> = O extends NativeTypeHint<infer T> ? T : O extends {
72
+ type?: any;
73
+ } ? InferNativeByOption<O> : NativeInferByCtor<O>;
74
+ type InferNativeProps<P extends NativePropsOptions = NativePropsOptions> = { readonly [K in keyof P]?: InferNativePropType<P[K]> };
75
+ type InferProps<P extends ComponentPropsOptions = ComponentPropsOptions> = { [K in keyof Pick<P, RequiredKeys<P>>]: HasDefault<P[K]> extends true ? Exclude<InferPropType<P[K]>, undefined> : InferPropType<P[K]> } & { [K in keyof Pick<P, OptionalKeys<P>>]?: InferPropType<P[K]> };
76
+ type ExtractPropTypes<P extends ComponentPropsOptions = ComponentPropsOptions> = InferProps<P>;
77
+ type ExtractPublicPropTypes<P extends ComponentPropsOptions = ComponentPropsOptions> = InferProps<P>;
78
+ type ExtractDefaultPropTypes<P extends ComponentPropsOptions = ComponentPropsOptions> = { [K in keyof Pick<P, DefaultKeys<P>>]: InferPropType<P[K]> };
79
+ //#endregion
80
+ //#region src/reactivity/ref.d.ts
81
+ type Ref$2<T = any, S = T> = Ref$1<T, S>;
82
+ type ShallowRef$2<T = any> = ShallowRef$1<T>;
83
+ type MaybeRef<T = any> = T | Ref$2<T> | ShallowRef$2<T> | WritableComputedRef<T>;
84
+ type MaybeRefOrGetter<T = any> = MaybeRef<T> | ComputedRef<T> | (() => T);
85
+ declare function isRef(value: unknown): value is Ref$2<any>;
86
+ declare function ref<T = any>(): Ref$2<T | undefined>;
87
+ declare function ref<T>(value: T): Ref$2<T>;
88
+ declare function unref<T>(value: MaybeRef<T> | ComputedRef<T>): T;
89
+ declare function toValue<T>(source: MaybeRefOrGetter<T>): T;
90
+ /**
91
+ * 自定义 ref 工厂:用于创建可显式控制 track/trigger 的自定义 ref
92
+ */
93
+ type CustomRefFactory<T> = (track: () => void, trigger: () => void) => {
94
+ get: () => T;
95
+ set: (value: T) => void;
96
+ };
97
+ interface CustomRefOptions<T> {
98
+ get: () => T;
99
+ set: (value: T) => void;
100
+ }
101
+ type CustomRefSource<T> = CustomRefFactory<T> | CustomRefOptions<T>;
102
+ declare function customRef<T>(factory: CustomRefSource<T>, defaultValue?: T): Ref$2<T>;
103
+ //#endregion
104
+ //#region src/reactivity/computed.d.ts
105
+ type ComputedGetter<T> = () => T;
106
+ type ComputedSetter<T> = (value: T) => void;
107
+ interface BaseComputedRef<T, S = T> extends Ref$2<T, S> {
108
+ [key: symbol]: any;
109
+ }
110
+ interface ComputedRef<T = any> extends BaseComputedRef<T> {
111
+ readonly value: T;
112
+ }
113
+ interface WritableComputedRef<T, S = T> extends BaseComputedRef<T, S> {
114
+ value: T;
115
+ }
116
+ interface WritableComputedOptions<T> {
117
+ get: ComputedGetter<T>;
118
+ set: ComputedSetter<T>;
119
+ }
120
+ declare function computed<T>(getter: ComputedGetter<T>): ComputedRef<T>;
121
+ declare function computed<T>(options: WritableComputedOptions<T>): WritableComputedRef<T>;
122
+ //#endregion
123
+ //#region src/vue-types.d.ts
124
+ type Ref$1<T = any, S = T> = Ref<T, S>;
125
+ type ShallowRef$1<T = any, S = T> = ShallowRef<T, S>;
126
+ type AllowedComponentProps$1 = AllowedComponentProps;
127
+ type ComponentCustomProps$1 = ComponentCustomProps;
128
+ type ComponentOptionsMixin$1 = ComponentOptionsMixin;
129
+ type DefineComponent$1<PropsOrPropOptions = ComponentPropsOptions, RawBindings = Record<string, any>, D = Record<string, any>, C extends ComputedOptions = ComputedOptions, M extends MethodOptions = MethodOptions, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = EmitsOptions, EE extends string = string, PP = PublicProps, Props = (PropsOrPropOptions extends ComponentPropsOptions ? ExtractPropTypes<PropsOrPropOptions> : PropsOrPropOptions), Defaults = (PropsOrPropOptions extends ComponentPropsOptions ? ExtractDefaultPropTypes<PropsOrPropOptions> : {}), S extends SlotsType = SlotsType> = DefineComponent<PropsOrPropOptions, RawBindings, D, C, M, Mixin, Extends, E, EE, PP, Props, Defaults, S>;
130
+ type NativeComponent<Props = Record<string, any>> = new (...args: any[]) => InstanceType<DefineComponent$1<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Props, {}>>;
131
+ type ObjectDirective$1<HostElement = any, Value = any, Modifiers extends string = string, Arg = any> = ObjectDirective<HostElement, Value, Modifiers, Arg>;
132
+ type PublicProps$1 = PublicProps;
133
+ type ShallowUnwrapRef$1<T> = ShallowUnwrapRef<T>;
134
+ type VNode$1<HostNode = any, HostElement = any, ExtraProps = Record<string, any>> = VNode<HostNode, HostElement, ExtraProps>;
135
+ type VNodeProps$1 = VNodeProps;
136
+ //#endregion
137
+ //#region src/store/types.d.ts
138
+ /**
139
+ * @description Store 变更类型
140
+ */
141
+ type MutationType = 'patch object' | 'patch function' | 'direct';
142
+ /**
143
+ * @description Store 订阅回调签名
144
+ */
145
+ interface SubscriptionCallback<S = any> {
146
+ (mutation: {
147
+ type: MutationType;
148
+ storeId: string;
149
+ }, state: S): void;
150
+ }
151
+ /**
152
+ * @description Store 订阅选项
153
+ */
154
+ interface StoreSubscribeOptions {
155
+ /**
156
+ * @description 是否在卸载后仍保留订阅(适用于跨页面生命周期的订阅)
157
+ */
158
+ detached?: boolean;
159
+ }
160
+ /**
161
+ * @description Action 订阅回调上下文
162
+ */
163
+ interface ActionContext<TStore = any> {
164
+ name: string;
165
+ store: TStore;
166
+ args: any[];
167
+ after: (cb: (result: any) => void) => void;
168
+ onError: (cb: (error: any) => void) => void;
169
+ }
170
+ /**
171
+ * @description Action 订阅回调类型
172
+ */
173
+ interface ActionSubscriber<TStore = any> {
174
+ (context: ActionContext<TStore>): void;
175
+ }
176
+ /**
177
+ * @description Store 管理器(插件与共享实例)
178
+ */
179
+ interface StoreManager {
180
+ install: (app: any) => void;
181
+ _stores: Map<string, any>;
182
+ use: (plugin: (context: {
183
+ store: any;
184
+ }) => void) => StoreManager;
185
+ _plugins: Array<(context: {
186
+ store: any;
187
+ }) => void>;
188
+ }
189
+ /**
190
+ * @description Getter 定义集合
191
+ */
192
+ type GetterTree<S extends Record<string, any>> = Record<string, (state: S) => any>;
193
+ /**
194
+ * @description 从 Getter 定义中推导返回类型
195
+ */
196
+ type StoreGetters<G extends GetterTree<any>> = { [K in keyof G]: G[K] extends ((...args: any[]) => infer R) ? R : never };
197
+ /**
198
+ * @description defineStore(options) 的配置类型
199
+ */
200
+ interface DefineStoreOptions<S extends Record<string, any>, G extends GetterTree<S>, A extends Record<string, any>> {
201
+ state: () => S;
202
+ getters?: G & Record<string, (state: S) => any> & ThisType<S & StoreGetters<G> & A>;
203
+ actions?: A & ThisType<S & StoreGetters<G> & A>;
204
+ }
205
+ //#endregion
206
+ //#region src/store/define.d.ts
207
+ type SetupDefinition<T> = () => T;
208
+ /**
209
+ * @description 定义一个 setup 风格的 store
210
+ */
211
+ declare function defineStore<T extends Record<string, any>>(id: string, setup: SetupDefinition<T>): () => T & {
212
+ $id: string;
213
+ $patch: (patch: Record<string, any> | ((state: any) => void)) => void;
214
+ $reset: () => void;
215
+ $subscribe: (cb: SubscriptionCallback<any>, opts?: StoreSubscribeOptions) => () => void;
216
+ $onAction: (cb: ActionSubscriber<any>) => () => void;
217
+ };
218
+ /**
219
+ * @description 定义一个 options 风格的 store
220
+ */
221
+ declare function defineStore<S extends Record<string, any>, G extends Record<string, any>, A extends Record<string, any>>(id: string, options: DefineStoreOptions<S, G, A>): () => S & StoreGetters<G> & A & {
222
+ $id: string;
223
+ $state: S;
224
+ $patch: (patch: Partial<S> | ((state: S) => void)) => void;
225
+ $reset: () => void;
226
+ $subscribe: (cb: SubscriptionCallback<S>, opts?: StoreSubscribeOptions) => () => void;
227
+ $onAction: (cb: ActionSubscriber<S & StoreGetters<G> & A>) => () => void;
228
+ };
229
+ //#endregion
230
+ //#region src/store/manager.d.ts
231
+ /**
232
+ * @description 创建 store 管理器(插件与共享实例入口)
233
+ */
234
+ declare function createStore(): StoreManager;
235
+ //#endregion
236
+ //#region src/store/storeToRefs.d.ts
237
+ /**
238
+ * @description storeToRefs 返回类型推导
239
+ */
240
+ type StoreToRefsResult<T extends Record<string, any>> = { [K in keyof T]: T[K] extends ((...args: any[]) => any) ? T[K] : T[K] extends Ref$2<infer V> ? Ref$2<V> : Ref$2<T[K]> };
241
+ /**
242
+ * @description 将 store 状态转换为 Ref
243
+ */
244
+ declare function storeToRefs<T extends Record<string, any>>(store: T): StoreToRefsResult<T>;
245
+ //#endregion
246
+ export { PropOptions as $, CustomRefSource as A, ComponentPropsOptions as B, ComputedRef as C, computed as D, WritableComputedRef as E, customRef as F, InferNativeProps as G, ExtractPropTypes as H, isRef as I, NativePropType as J, InferPropType as K, ref as L, MaybeRefOrGetter as M, Ref$2 as N, CustomRefFactory as O, ShallowRef$2 as P, PropConstructor as Q, toValue as R, ComputedGetter as S, WritableComputedOptions as T, ExtractPublicPropTypes as U, ExtractDefaultPropTypes as V, InferNativePropType as W, NativeTypeHint as X, NativePropsOptions as Y, NativeTypedProperty as Z, ObjectDirective$1 as _, ActionContext as a, VNode$1 as b, MutationType as c, SubscriptionCallback as d, PropType as et, AllowedComponentProps$1 as f, NativeComponent as g, DefineComponent$1 as h, defineStore as i, MaybeRef as j, CustomRefOptions as k, StoreManager as l, ComponentOptionsMixin$1 as m, storeToRefs as n, ActionSubscriber as o, ComponentCustomProps$1 as p, InferProps as q, createStore as r, DefineStoreOptions as s, StoreToRefsResult as t, StoreSubscribeOptions as u, PublicProps$1 as v, ComputedSetter as w, VNodeProps$1 as x, ShallowUnwrapRef$1 as y, unref as z };