type-tls 2.4.4 → 2.4.5
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/index.d.ts +35 -0
- package/dist/type-tls.d.ts +39 -0
- package/doc/api/type-tls.arrayitemtype.md +13 -0
- package/doc/api/type-tls.keyofcontainsvalue.md +15 -0
- package/doc/api/type-tls.keyofnoncontainsvalue.md +15 -0
- package/doc/api/type-tls.keyofnonvalue.md +15 -0
- package/doc/api/type-tls.md +4 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -168,10 +168,40 @@ export declare type Optional<T> = T | null | undefined;
|
|
|
168
168
|
export declare type OptionalBoolean = Optional<boolean>;
|
|
169
169
|
/**
|
|
170
170
|
* 获取值类型为指定类型的所有 key
|
|
171
|
+
*
|
|
172
|
+
* @typeParam Target - 目标对象
|
|
173
|
+
* @typeParam Value - 要获取的key的对应值的类型
|
|
171
174
|
*/
|
|
172
175
|
export declare type KeyOfValue<Target, Value> = {
|
|
173
176
|
[K in keyof Target]: Target[K] extends Value ? K : never;
|
|
174
177
|
}[keyof Target];
|
|
178
|
+
/**
|
|
179
|
+
* 获取值类型不是指定类型的所有 key
|
|
180
|
+
*
|
|
181
|
+
* @typeParam Target - 目标对象
|
|
182
|
+
* @typeParam Value - 被排除的值的类型
|
|
183
|
+
*/
|
|
184
|
+
export declare type KeyOfNonValue<Target, Value> = {
|
|
185
|
+
[K in keyof Target]: Target[K] extends Value ? never : K;
|
|
186
|
+
}[keyof Target];
|
|
187
|
+
/**
|
|
188
|
+
* 获取值类型包含指定类型的所有 key
|
|
189
|
+
*
|
|
190
|
+
* @typeParam Target - 目标对象
|
|
191
|
+
* @typeParam Value - 要获取的key的对应值应包含的类型
|
|
192
|
+
*/
|
|
193
|
+
export declare type KeyOfContainsValue<Target, Value> = {
|
|
194
|
+
[K in keyof Target]: Value extends Target[K] ? K : never;
|
|
195
|
+
}[keyof Target];
|
|
196
|
+
/**
|
|
197
|
+
* 获取值类型不应包含指定类型的所有 key
|
|
198
|
+
*
|
|
199
|
+
* @typeParam Target - 目标对象
|
|
200
|
+
* @typeParam Value - 不应包含的值的类型
|
|
201
|
+
*/
|
|
202
|
+
export declare type KeyOfNonContainsValue<Target, Value> = {
|
|
203
|
+
[K in keyof Target]: Value extends Target[K] ? never : K;
|
|
204
|
+
}[keyof Target];
|
|
175
205
|
/**
|
|
176
206
|
* 可将源类型 SourType 中的 类型 MatchType 替换为 新的类型 NewType
|
|
177
207
|
*/
|
|
@@ -434,6 +464,11 @@ export declare type MethodParams<Obj, Method extends keyof Obj, ParamIndex exten
|
|
|
434
464
|
* @typeParam Method - 对象方法的名字
|
|
435
465
|
*/
|
|
436
466
|
export declare type MethodReturnType<Obj, Method extends keyof Obj> = Obj[Method] extends AnyFunction ? ReturnType<Obj[Method]> : never;
|
|
467
|
+
/**
|
|
468
|
+
* 获取数组元素的类型
|
|
469
|
+
* @typeParam Arr 数组
|
|
470
|
+
*/
|
|
471
|
+
export declare type ArrayItemType<Arr> = Arr extends (infer Item)[] ? Item : never;
|
|
437
472
|
/**
|
|
438
473
|
* 获取 Promise 解决的类型的值
|
|
439
474
|
* @remarks
|
package/dist/type-tls.d.ts
CHANGED
|
@@ -11,6 +11,12 @@
|
|
|
11
11
|
*/
|
|
12
12
|
export declare type AnyFunction = (...args: any) => any;
|
|
13
13
|
|
|
14
|
+
/**
|
|
15
|
+
* 获取数组元素的类型
|
|
16
|
+
* @typeParam Arr 数组
|
|
17
|
+
*/
|
|
18
|
+
export declare type ArrayItemType<Arr> = Arr extends (infer Item)[] ? Item : never;
|
|
19
|
+
|
|
14
20
|
/**
|
|
15
21
|
* 类的类型、构造函数的类型
|
|
16
22
|
*
|
|
@@ -320,8 +326,41 @@ export declare function isIterator(target: any): boolean;
|
|
|
320
326
|
*/
|
|
321
327
|
export declare function isObject(target: any): boolean;
|
|
322
328
|
|
|
329
|
+
/**
|
|
330
|
+
* 获取值类型包含指定类型的所有 key
|
|
331
|
+
*
|
|
332
|
+
* @typeParam Target - 目标对象
|
|
333
|
+
* @typeParam Value - 要获取的key的对应值应包含的类型
|
|
334
|
+
*/
|
|
335
|
+
export declare type KeyOfContainsValue<Target, Value> = {
|
|
336
|
+
[K in keyof Target]: Value extends Target[K] ? K : never;
|
|
337
|
+
}[keyof Target];
|
|
338
|
+
|
|
339
|
+
/**
|
|
340
|
+
* 获取值类型不应包含指定类型的所有 key
|
|
341
|
+
*
|
|
342
|
+
* @typeParam Target - 目标对象
|
|
343
|
+
* @typeParam Value - 不应包含的值的类型
|
|
344
|
+
*/
|
|
345
|
+
export declare type KeyOfNonContainsValue<Target, Value> = {
|
|
346
|
+
[K in keyof Target]: Value extends Target[K] ? never : K;
|
|
347
|
+
}[keyof Target];
|
|
348
|
+
|
|
349
|
+
/**
|
|
350
|
+
* 获取值类型不是指定类型的所有 key
|
|
351
|
+
*
|
|
352
|
+
* @typeParam Target - 目标对象
|
|
353
|
+
* @typeParam Value - 被排除的值的类型
|
|
354
|
+
*/
|
|
355
|
+
export declare type KeyOfNonValue<Target, Value> = {
|
|
356
|
+
[K in keyof Target]: Target[K] extends Value ? never : K;
|
|
357
|
+
}[keyof Target];
|
|
358
|
+
|
|
323
359
|
/**
|
|
324
360
|
* 获取值类型为指定类型的所有 key
|
|
361
|
+
*
|
|
362
|
+
* @typeParam Target - 目标对象
|
|
363
|
+
* @typeParam Value - 要获取的key的对应值的类型
|
|
325
364
|
*/
|
|
326
365
|
export declare type KeyOfValue<Target, Value> = {
|
|
327
366
|
[K in keyof Target]: Target[K] extends Value ? K : never;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [type-tls](./type-tls.md) > [ArrayItemType](./type-tls.arrayitemtype.md)
|
|
4
|
+
|
|
5
|
+
## ArrayItemType type
|
|
6
|
+
|
|
7
|
+
获取数组元素的类型
|
|
8
|
+
|
|
9
|
+
<b>Signature:</b>
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export declare type ArrayItemType<Arr> = Arr extends (infer Item)[] ? Item : never;
|
|
13
|
+
```
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [type-tls](./type-tls.md) > [KeyOfContainsValue](./type-tls.keyofcontainsvalue.md)
|
|
4
|
+
|
|
5
|
+
## KeyOfContainsValue type
|
|
6
|
+
|
|
7
|
+
获取值类型包含指定类型的所有 key
|
|
8
|
+
|
|
9
|
+
<b>Signature:</b>
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export declare type KeyOfContainsValue<Target, Value> = {
|
|
13
|
+
[K in keyof Target]: Value extends Target[K] ? K : never;
|
|
14
|
+
}[keyof Target];
|
|
15
|
+
```
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [type-tls](./type-tls.md) > [KeyOfNonContainsValue](./type-tls.keyofnoncontainsvalue.md)
|
|
4
|
+
|
|
5
|
+
## KeyOfNonContainsValue type
|
|
6
|
+
|
|
7
|
+
获取值类型不应包含指定类型的所有 key
|
|
8
|
+
|
|
9
|
+
<b>Signature:</b>
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export declare type KeyOfNonContainsValue<Target, Value> = {
|
|
13
|
+
[K in keyof Target]: Value extends Target[K] ? never : K;
|
|
14
|
+
}[keyof Target];
|
|
15
|
+
```
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [type-tls](./type-tls.md) > [KeyOfNonValue](./type-tls.keyofnonvalue.md)
|
|
4
|
+
|
|
5
|
+
## KeyOfNonValue type
|
|
6
|
+
|
|
7
|
+
获取值类型不是指定类型的所有 key
|
|
8
|
+
|
|
9
|
+
<b>Signature:</b>
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export declare type KeyOfNonValue<Target, Value> = {
|
|
13
|
+
[K in keyof Target]: Target[K] extends Value ? never : K;
|
|
14
|
+
}[keyof Target];
|
|
15
|
+
```
|
package/doc/api/type-tls.md
CHANGED
|
@@ -57,8 +57,12 @@ type-tls 封装了与类型相关的工具,比如获取数据的类型 或 类
|
|
|
57
57
|
| Type Alias | Description |
|
|
58
58
|
| --- | --- |
|
|
59
59
|
| [AnyFunction](./type-tls.anyfunction.md) | 表示任意的函数类型 |
|
|
60
|
+
| [ArrayItemType](./type-tls.arrayitemtype.md) | 获取数组元素的类型 |
|
|
60
61
|
| [ExactType](./type-tls.exacttype.md) | 精确类型 |
|
|
61
62
|
| [ExactTypeName](./type-tls.exacttypename.md) | 精确类型的字符串表示 |
|
|
63
|
+
| [KeyOfContainsValue](./type-tls.keyofcontainsvalue.md) | 获取值类型包含指定类型的所有 key |
|
|
64
|
+
| [KeyOfNonContainsValue](./type-tls.keyofnoncontainsvalue.md) | 获取值类型不应包含指定类型的所有 key |
|
|
65
|
+
| [KeyOfNonValue](./type-tls.keyofnonvalue.md) | 获取值类型不是指定类型的所有 key |
|
|
62
66
|
| [KeyOfValue](./type-tls.keyofvalue.md) | 获取值类型为指定类型的所有 key |
|
|
63
67
|
| [LooseType](./type-tls.loosetype.md) | 宽松的类型 |
|
|
64
68
|
| [LooseTypeName](./type-tls.loosetypename.md) | 宽松类型的字符串表示 |
|