@aiszlab/relax 2.0.7 → 2.0.8-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/types/index.d.ts +1 -0
- package/dist/types/value-of.d.ts +21 -0
- package/package.json +1 -1
package/dist/types/index.d.ts
CHANGED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 获取数据元素的类型
|
|
3
|
+
*/
|
|
4
|
+
type ValueOfArray<T extends readonly unknown[]> = T extends readonly (infer V)[] ? V : never;
|
|
5
|
+
/**
|
|
6
|
+
* 获取对象的值类型
|
|
7
|
+
*/
|
|
8
|
+
type ValueOfObject<T extends Record<string, unknown>> = T extends Record<string, infer V> ? V : never;
|
|
9
|
+
/**
|
|
10
|
+
* 获取`Set`的值类型
|
|
11
|
+
*/
|
|
12
|
+
type ValueOfSet<T extends Set<unknown>> = T extends Set<infer V> ? V : never;
|
|
13
|
+
/**
|
|
14
|
+
* 获取`Map`的值类型
|
|
15
|
+
*/
|
|
16
|
+
type ValueOfMap<T extends Map<unknown, unknown>> = T extends Map<unknown, infer V> ? V : never;
|
|
17
|
+
/**
|
|
18
|
+
* 统一获取值的类型方法
|
|
19
|
+
*/
|
|
20
|
+
export type ValueOf<T> = T extends readonly unknown[] ? ValueOfArray<T> : T extends Record<string, unknown> ? ValueOfObject<T> : T extends Set<unknown> ? ValueOfSet<T> : T extends Map<unknown, unknown> ? ValueOfMap<T> : never;
|
|
21
|
+
export {};
|