v-dict 2.0.2 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/react/index.cjs +2 -2
- package/dist/react/index.js +2 -2
- package/package.json +3 -4
- package/dist/create-promise.d.ts +0 -8
- package/dist/index.d.ts +0 -1
- package/dist/react/index.d.ts +0 -3
- package/dist/react/react-dict-manager.d.ts +0 -6
- package/dist/types/dict.d.ts +0 -69
- package/dist/types/index.d.ts +0 -3
- package/dist/types/merge.d.ts +0 -37
- package/dist/types/tool.d.ts +0 -11
- package/dist/util.d.ts +0 -24
- package/dist/vue/index.d.ts +0 -3
- package/dist/vue/vue-dict-manager.d.ts +0 -12
package/dist/react/index.cjs
CHANGED
|
@@ -266,11 +266,11 @@ function createDictManager(createDictManagerOptions = {}) {
|
|
|
266
266
|
emitChange(code);
|
|
267
267
|
return;
|
|
268
268
|
}
|
|
269
|
-
setClonedMap(
|
|
269
|
+
setClonedMap(/* @__PURE__ */ new Map());
|
|
270
270
|
}, []);
|
|
271
271
|
const getItem = react.useCallback((value) => {
|
|
272
272
|
return value !== null && value !== void 0 ? state.map[value] : null;
|
|
273
|
-
}, []);
|
|
273
|
+
}, [state]);
|
|
274
274
|
react.useEffect(() => {
|
|
275
275
|
if (!remote || immediate) {
|
|
276
276
|
if (clone) {
|
package/dist/react/index.js
CHANGED
|
@@ -137,11 +137,11 @@ function createDictManager(createDictManagerOptions = {}) {
|
|
|
137
137
|
emitChange(code);
|
|
138
138
|
return;
|
|
139
139
|
}
|
|
140
|
-
setClonedMap(
|
|
140
|
+
setClonedMap(/* @__PURE__ */ new Map());
|
|
141
141
|
}, []);
|
|
142
142
|
const getItem = useCallback((value) => {
|
|
143
143
|
return value !== null && value !== void 0 ? state.map[value] : null;
|
|
144
|
-
}, []);
|
|
144
|
+
}, [state]);
|
|
145
145
|
useEffect(() => {
|
|
146
146
|
if (!remote || immediate) {
|
|
147
147
|
if (clone) {
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "v-dict",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Vue3 & React Dict Manager",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
|
-
"url": "https://github.com/
|
|
8
|
+
"url": "https://github.com/rrryyi/v-dict"
|
|
9
9
|
},
|
|
10
10
|
"main": "dist/index.js",
|
|
11
11
|
"module": "dist/index.mjs",
|
|
@@ -57,7 +57,6 @@
|
|
|
57
57
|
"@types/react": "^18.3.12",
|
|
58
58
|
"@types/react-dom": "^18.3.1",
|
|
59
59
|
"tsup": "^8.0.1",
|
|
60
|
-
"typescript": "^5.7.3"
|
|
61
|
-
"vue": "^3.4.10"
|
|
60
|
+
"typescript": "^5.7.3"
|
|
62
61
|
}
|
|
63
62
|
}
|
package/dist/create-promise.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export type Resolve<T> = (value: T | PromiseLike<T>) => void;
|
|
2
|
-
export type Reject = (reason?: any) => void;
|
|
3
|
-
export type CreatePromiseReturn<T> = Promise<T> & {
|
|
4
|
-
resolve: Resolve<T>;
|
|
5
|
-
reject: Reject;
|
|
6
|
-
isPending: boolean;
|
|
7
|
-
};
|
|
8
|
-
export declare function createPromise<T = any>(executor?: (resolve: Resolve<T>, reject: Reject) => void): CreatePromiseReturn<T>;
|
package/dist/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './vue';
|
package/dist/react/index.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { CreateDictManagerOptions, DefineDict, DictMap, ExtraGetter, Fetch, Recordable } from '../types';
|
|
2
|
-
export declare function createDictManager<E extends ExtraGetter, F extends Fetch>(createDictManagerOptions?: CreateDictManagerOptions<E, F>): {
|
|
3
|
-
defineDict: DefineDict<E, F>;
|
|
4
|
-
clear: (code?: string) => void;
|
|
5
|
-
maps: Recordable<DictMap>;
|
|
6
|
-
};
|
package/dist/types/dict.d.ts
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import type { createPromise } from '../create-promise';
|
|
2
|
-
import type { Merge, MergeValues } from './merge';
|
|
3
|
-
import type { AnyFn, MaybeGetter, MaybePromise, Nil, OptionalRequired, Recordable, Simplify } from './tool';
|
|
4
|
-
export type DictValue = number | string;
|
|
5
|
-
export type DictItem = {
|
|
6
|
-
label: string;
|
|
7
|
-
value: DictValue;
|
|
8
|
-
};
|
|
9
|
-
export type DictItemRecord = DictItem & Recordable;
|
|
10
|
-
export type DictMap = Map<DictValue, DictItemRecord>;
|
|
11
|
-
export type LoadPromise = ReturnType<typeof createPromise<void>>;
|
|
12
|
-
export type Dict<K extends PropertyKey = PropertyKey, I extends Recordable = DictItem, O extends Recordable = Recordable> = {
|
|
13
|
-
list: I[];
|
|
14
|
-
E: {
|
|
15
|
-
[X in K]: X;
|
|
16
|
-
};
|
|
17
|
-
map: {
|
|
18
|
-
[X in K]: I;
|
|
19
|
-
};
|
|
20
|
-
loadPromise: LoadPromise;
|
|
21
|
-
load: (options?: O) => LoadPromise;
|
|
22
|
-
clear: () => void;
|
|
23
|
-
getItem: (value?: I['value'] | Nil) => I | Nil;
|
|
24
|
-
};
|
|
25
|
-
export type Fetch = (code: string, options: Recordable) => MaybePromise<DictItemRecord[]>;
|
|
26
|
-
type FetchOptions<F extends Fetch> = Parameters<F>[1] extends infer T ? T extends Nil ? {} : T : {};
|
|
27
|
-
export type ExtraGetter<D extends Dict<string> = Dict<string>> = (dict: D) => Recordable;
|
|
28
|
-
export interface CreateDictManagerOptions<E extends ExtraGetter, F extends Fetch> {
|
|
29
|
-
fetch?: F;
|
|
30
|
-
extra?: E;
|
|
31
|
-
transformer?: (value: DictValue) => DictValue;
|
|
32
|
-
itemTransformer?: (item: DictItemRecord) => any;
|
|
33
|
-
}
|
|
34
|
-
export type UseDictOptions = {
|
|
35
|
-
clone?: boolean;
|
|
36
|
-
immediate?: boolean;
|
|
37
|
-
refresh?: boolean;
|
|
38
|
-
} & Recordable;
|
|
39
|
-
type Options<F extends Fetch> = FetchOptions<F> & UseDictOptions;
|
|
40
|
-
type CreateDict<D extends Recordable<Recordable>, F extends Fetch> = Dict<keyof D, Simplify<Merge<[DictItem, MergeValues<D>]> extends infer Item ? Item extends never ? DictItem : Item extends Recordable ? OptionalRequired<Item, 'label' | 'value'> : DictItem : DictItem>, Simplify<Options<F>>>;
|
|
41
|
-
type _UseDict<E extends Recordable, D extends Recordable<Recordable>, F extends Fetch> = (options?: Simplify<Options<F>>) => CreateDict<D, F> & E;
|
|
42
|
-
export type UseDict<E extends Recordable, D extends Recordable<Recordable>, F extends Fetch> = _UseDict<E, D, F> & {
|
|
43
|
-
extend: (extendCode: string, extendOptions?: {
|
|
44
|
-
pickValues?: Simplify<keyof D>[];
|
|
45
|
-
omitValues?: Simplify<keyof D>[];
|
|
46
|
-
}) => UseDict<E, D, F>;
|
|
47
|
-
};
|
|
48
|
-
type Data<R extends boolean> = Recordable<(R extends true ? {
|
|
49
|
-
label?: string;
|
|
50
|
-
} : {
|
|
51
|
-
label: string;
|
|
52
|
-
}) & Recordable>;
|
|
53
|
-
export interface DefineDict<ME extends ExtraGetter, MF extends Fetch> {
|
|
54
|
-
<R extends boolean, F extends Fetch, D extends Data<R>, E extends ExtraGetter>(code: string, options?: MaybeGetter<{
|
|
55
|
-
remote?: R;
|
|
56
|
-
fetch?: F;
|
|
57
|
-
data?: D;
|
|
58
|
-
extra?: E;
|
|
59
|
-
transformer?: (value: DictValue) => DictValue;
|
|
60
|
-
itemTransformer?: (item: DictItemRecord) => any;
|
|
61
|
-
}>): UseDict<ReturnType<ME> & ReturnType<E>, D, F extends undefined ? MF : F>;
|
|
62
|
-
}
|
|
63
|
-
export type VDictItem<T extends AnyFn> = ReturnType<T> extends {
|
|
64
|
-
list: Array<infer R>;
|
|
65
|
-
} ? R : never;
|
|
66
|
-
export type VDictUnionValue<T extends AnyFn> = ReturnType<T> extends {
|
|
67
|
-
E: infer R;
|
|
68
|
-
} ? keyof R : never;
|
|
69
|
-
export {};
|
package/dist/types/index.d.ts
DELETED
package/dist/types/merge.d.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
type TupleUnionKeys<T> = T extends any ? keyof T : never;
|
|
2
|
-
type TupleAllKeys<T extends any[]> = TupleUnionKeys<T[number]>;
|
|
3
|
-
type TupleGetUnionType<T extends any[], K extends PropertyKey> = T extends [
|
|
4
|
-
infer First,
|
|
5
|
-
...infer Rest
|
|
6
|
-
] ? (K extends keyof First ? First[K] : undefined) | TupleGetUnionType<Rest, K> : never;
|
|
7
|
-
type Widen<T> = T extends string ? string : T extends number ? number : T extends boolean ? boolean : T;
|
|
8
|
-
type IsRequiredProperty<T, K extends keyof T> = {} extends Pick<T, K> ? false : true;
|
|
9
|
-
type IsAllRequired<T extends any[], K> = T extends [infer First, ...infer Rest] ? (K extends keyof First ? IsRequiredProperty<First, K> : false) extends true ? IsAllRequired<Rest, K> : false : true;
|
|
10
|
-
type TupleRequiredKeys<T extends any[]> = {
|
|
11
|
-
[K in TupleAllKeys<T>]: IsAllRequired<T, K> extends true ? K : never;
|
|
12
|
-
}[TupleAllKeys<T>];
|
|
13
|
-
export type Merge<T extends any[]> = {
|
|
14
|
-
[K in Exclude<TupleAllKeys<T>, TupleRequiredKeys<T>>]?: Widen<TupleGetUnionType<T, K>>;
|
|
15
|
-
} & {
|
|
16
|
-
[K in TupleRequiredKeys<T>]: Widen<TupleGetUnionType<T, K>>;
|
|
17
|
-
} extends infer O ? {
|
|
18
|
-
[P in keyof O]: O[P];
|
|
19
|
-
} : never;
|
|
20
|
-
type UnionKeys<T> = T extends any ? keyof T : never;
|
|
21
|
-
type UnionValueOf<T, K extends PropertyKey> = T extends any ? K extends keyof T ? T[K] : undefined : never;
|
|
22
|
-
type UnionIsAlwaysPresent<T, K extends PropertyKey> = [T] extends [infer U] ? U extends any ? K extends keyof U ? true : false : never : never;
|
|
23
|
-
type UnionRequiredKeys<T> = {
|
|
24
|
-
[K in UnionKeys<T>]: UnionIsAlwaysPresent<T, K> extends true ? K : never;
|
|
25
|
-
}[UnionKeys<T>];
|
|
26
|
-
type UnionOptionalKeys<T> = Exclude<UnionKeys<T>, UnionRequiredKeys<T>>;
|
|
27
|
-
export type MergeUnion<T> = {
|
|
28
|
-
[K in UnionOptionalKeys<T>]?: Widen<UnionValueOf<T, K>>;
|
|
29
|
-
} & {
|
|
30
|
-
[K in UnionRequiredKeys<T>]: Widen<UnionValueOf<T, K>>;
|
|
31
|
-
} extends infer O ? {
|
|
32
|
-
[P in keyof O]: O[P];
|
|
33
|
-
} : never;
|
|
34
|
-
export type MergeValues<T> = MergeUnion<{
|
|
35
|
-
[K in keyof T]: T[K];
|
|
36
|
-
}[keyof T]>;
|
|
37
|
-
export {};
|
package/dist/types/tool.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export type Recordable<T = any> = Record<string, T>;
|
|
2
|
-
export type Nil = undefined | null;
|
|
3
|
-
export type MaybePromise<T> = T | Promise<T>;
|
|
4
|
-
export type Simplify<T> = {
|
|
5
|
-
[KeyType in keyof T]: T[KeyType];
|
|
6
|
-
} & {};
|
|
7
|
-
export type OptionalRequired<T, K extends keyof T> = Partial<T> & Required<Pick<T, K>>;
|
|
8
|
-
export type Getter<T> = () => T;
|
|
9
|
-
export type MaybeGetter<T> = T | Getter<T>;
|
|
10
|
-
export type AnyFn<Return = any, Args extends unknown[] = any[]> = (...args: Args) => Return;
|
|
11
|
-
export type PlainObject<T = any> = Record<PropertyKey, any>;
|
package/dist/util.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { AnyFn, DictItemRecord, DictMap, DictValue, Merge, PlainObject, Recordable } from './types';
|
|
2
|
-
export declare const warn: (msg: string) => void;
|
|
3
|
-
export declare function isFunction(fn: unknown): fn is AnyFn;
|
|
4
|
-
export declare function clearObj(obj: Recordable): void;
|
|
5
|
-
export declare function mapToObj(map: DictMap, { obj, itemTransformer }?: {
|
|
6
|
-
obj?: Recordable<DictItemRecord>;
|
|
7
|
-
itemTransformer?: (item: DictItemRecord) => any;
|
|
8
|
-
}): Recordable<DictItemRecord>;
|
|
9
|
-
export declare function mapToList(map: DictMap, { list, itemTransformer }?: {
|
|
10
|
-
list?: DictItemRecord[];
|
|
11
|
-
itemTransformer?: (item: DictItemRecord) => any;
|
|
12
|
-
}): DictItemRecord[];
|
|
13
|
-
type MapOptions = {
|
|
14
|
-
map?: DictMap;
|
|
15
|
-
pickValues?: DictValue[];
|
|
16
|
-
omitValues?: DictValue[];
|
|
17
|
-
transformer?: (value: DictValue) => DictValue;
|
|
18
|
-
};
|
|
19
|
-
export declare function toMap(data: Recordable<DictItemRecord> | DictItemRecord[], { map, pickValues, omitValues, transformer }?: MapOptions): DictMap;
|
|
20
|
-
export declare const defineDictData: <T>(data: T) => T;
|
|
21
|
-
export declare function isPlainObject(obj: any): obj is PlainObject;
|
|
22
|
-
export declare function merge<T extends PlainObject, S extends PlainObject[]>(target: T, ...sources: S): Merge<[T, ...S]>;
|
|
23
|
-
export declare function cloneDeep<T>(value: T): T;
|
|
24
|
-
export {};
|
package/dist/vue/index.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { CreateDictManagerOptions, DefineDict, DictValue, ExtraGetter, Fetch } from '../types';
|
|
2
|
-
export declare function createDictManager<E extends ExtraGetter, F extends Fetch>(createDictManagerOptions?: CreateDictManagerOptions<E, F>): {
|
|
3
|
-
defineDict: DefineDict<E, F>;
|
|
4
|
-
clear: (code?: string) => void;
|
|
5
|
-
maps: {
|
|
6
|
-
readonly [x: string]: ReadonlyMap<DictValue, {
|
|
7
|
-
readonly [x: string]: any;
|
|
8
|
-
readonly label: string;
|
|
9
|
-
readonly value: DictValue;
|
|
10
|
-
}>;
|
|
11
|
-
};
|
|
12
|
-
};
|