type-tls 2.5.0 → 2.7.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/index.d.ts +77 -52
- package/dist/type-tls.d.ts +38 -8
- package/doc/api/index.md +1 -1
- package/doc/api/type-tls.md +6 -6
- package/doc/api/type-tls.pickcontainsvalue.md +17 -0
- package/doc/api/type-tls.pickmethod.md +15 -0
- package/doc/api/type-tls.picknoncontainsvalue.md +17 -0
- package/doc/api/type-tls.picknonvalue.md +17 -0
- package/doc/api/type-tls.pickproperty.md +15 -0
- package/doc/api/type-tls.pickvalue.md +17 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,52 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* 判断 code 是否是有校的 js 标识符
|
|
3
|
+
* @param code - 标识符的字符串
|
|
4
|
+
*/
|
|
5
|
+
export declare function isIdentifier(code: string): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* 判断函数是否是箭头函数
|
|
8
|
+
* @param fun - 被判断的函数
|
|
9
|
+
*/
|
|
10
|
+
export declare function isArrowFunction(fun: Function): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* 判断函数是否是 async 异步函数
|
|
3
13
|
* @remarks
|
|
4
|
-
*
|
|
14
|
+
* 异步函数 不包含 异步生成器函数 AsyncGeneratorFunction
|
|
15
|
+
* @param fun - 被判断的函数
|
|
16
|
+
*/
|
|
17
|
+
export declare function isAsyncFunction(fun: Function): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* 判断函数是否是生成器函数
|
|
5
20
|
*
|
|
6
|
-
* @
|
|
21
|
+
* @remarks
|
|
22
|
+
* 生成器函数 不包含 异步生成器函数 AsyncGeneratorFunction
|
|
23
|
+
* @param fun - 被判断的函数
|
|
7
24
|
*/
|
|
25
|
+
export declare function isGeneratorFunction(fun: Function): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* 判断函数是否是异步生成器函数
|
|
28
|
+
* @param fun - 被判断的函数
|
|
29
|
+
*/
|
|
30
|
+
export declare function isAsyncGeneratorFunction(fun: Function): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* 判断是否是匿名函数
|
|
33
|
+
*
|
|
34
|
+
* @remarks
|
|
35
|
+
* 判断函数在被定义时是否是通过匿名函数来定义的。
|
|
36
|
+
* 匿名函数是指声明函数时没有写名字的函数。
|
|
37
|
+
* 注意:即使是匿名函数,函数对象上的 name 属性也可能是有值的,因为 js解析器 会自动将 函数表达式函数变量的名字作为匿名函数的名字,如下:
|
|
38
|
+
* ```ts
|
|
39
|
+
* var funName = function(){};
|
|
40
|
+
* ```
|
|
41
|
+
* 其中的匿名函数对象的 name 属性的值会是 `funName`
|
|
42
|
+
*
|
|
43
|
+
* 如果 函数对象上的 name 属性的值为 `""`,函数一定是匿名函数。
|
|
44
|
+
*/
|
|
45
|
+
export declare function isAnonymousFunction(fun: Function): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* 表示任意的函数类型
|
|
48
|
+
*/
|
|
49
|
+
export declare type AnyFunction = (...args: any) => any;
|
|
8
50
|
/**
|
|
9
51
|
* 判断目标是否是对象类型
|
|
10
52
|
*
|
|
@@ -202,6 +244,38 @@ export declare type KeyOfContainsValue<Target, Value> = {
|
|
|
202
244
|
export declare type KeyOfNonContainsValue<Target, Value> = {
|
|
203
245
|
[K in keyof Target]: Value extends Target[K] ? never : K;
|
|
204
246
|
}[keyof Target];
|
|
247
|
+
/**
|
|
248
|
+
* 从 T 中挑选出那些成员值为 Value 的类型的成员
|
|
249
|
+
*/
|
|
250
|
+
export declare type PickValue<Target, Value> = {
|
|
251
|
+
[P in KeyOfValue<Target, Value>]: Target[P];
|
|
252
|
+
};
|
|
253
|
+
/**
|
|
254
|
+
* 从 Target 中挑选出那些成员值不是 Value 的类型的成员
|
|
255
|
+
*/
|
|
256
|
+
export declare type PickNonValue<Target, Value> = {
|
|
257
|
+
[P in KeyOfNonValue<Target, Value>]: Target[P];
|
|
258
|
+
};
|
|
259
|
+
/**
|
|
260
|
+
* 从 Target 中挑选出那些成员值的类型包含 Value 类型的成员
|
|
261
|
+
*/
|
|
262
|
+
export declare type PickContainsValue<Target, Value> = {
|
|
263
|
+
[P in KeyOfContainsValue<Target, Value>]: Target[P];
|
|
264
|
+
};
|
|
265
|
+
/**
|
|
266
|
+
* 从 Target 中挑选出那些成员值的类型不包含 Value 类型的成员
|
|
267
|
+
*/
|
|
268
|
+
export declare type PickNonContainsValue<Target, Value> = {
|
|
269
|
+
[P in KeyOfNonContainsValue<Target, Value>]: Target[P];
|
|
270
|
+
};
|
|
271
|
+
/**
|
|
272
|
+
* 从 Target 中挑选出属性
|
|
273
|
+
*/
|
|
274
|
+
export declare type PickProperty<Target> = PickNonValue<Target, AnyFunction>;
|
|
275
|
+
/**
|
|
276
|
+
* 从 Target 中挑选出方法
|
|
277
|
+
*/
|
|
278
|
+
export declare type PickMethod<Target> = PickValue<Target, AnyFunction>;
|
|
205
279
|
/**
|
|
206
280
|
* 可将源类型 SourType 中的 类型 MatchType 替换为 新的类型 NewType
|
|
207
281
|
*/
|
|
@@ -400,55 +474,6 @@ export declare function extendTarget<C extends ClassType, E>(cla: C, ext: E & Th
|
|
|
400
474
|
* @returns 可以用于 扩展目标 的便利函数
|
|
401
475
|
*/
|
|
402
476
|
export declare function createExtendTarget<C extends ClassType>(cla: C): <E>(ext: E & ThisType<InstanceType<C> & E> & PrivateMemberOfExtend<C>) => ClassType<ConstructorParameters<C>, E & ThisType<InstanceType<C> & E>>;
|
|
403
|
-
/**
|
|
404
|
-
* 判断 code 是否是有校的 js 标识符
|
|
405
|
-
* @param code - 标识符的字符串
|
|
406
|
-
*/
|
|
407
|
-
export declare function isIdentifier(code: string): boolean;
|
|
408
|
-
/**
|
|
409
|
-
* 判断函数是否是箭头函数
|
|
410
|
-
* @param fun - 被判断的函数
|
|
411
|
-
*/
|
|
412
|
-
export declare function isArrowFunction(fun: Function): boolean;
|
|
413
|
-
/**
|
|
414
|
-
* 判断函数是否是 async 异步函数
|
|
415
|
-
* @remarks
|
|
416
|
-
* 异步函数 不包含 异步生成器函数 AsyncGeneratorFunction
|
|
417
|
-
* @param fun - 被判断的函数
|
|
418
|
-
*/
|
|
419
|
-
export declare function isAsyncFunction(fun: Function): boolean;
|
|
420
|
-
/**
|
|
421
|
-
* 判断函数是否是生成器函数
|
|
422
|
-
*
|
|
423
|
-
* @remarks
|
|
424
|
-
* 生成器函数 不包含 异步生成器函数 AsyncGeneratorFunction
|
|
425
|
-
* @param fun - 被判断的函数
|
|
426
|
-
*/
|
|
427
|
-
export declare function isGeneratorFunction(fun: Function): boolean;
|
|
428
|
-
/**
|
|
429
|
-
* 判断函数是否是异步生成器函数
|
|
430
|
-
* @param fun - 被判断的函数
|
|
431
|
-
*/
|
|
432
|
-
export declare function isAsyncGeneratorFunction(fun: Function): boolean;
|
|
433
|
-
/**
|
|
434
|
-
* 判断是否是匿名函数
|
|
435
|
-
*
|
|
436
|
-
* @remarks
|
|
437
|
-
* 判断函数在被定义时是否是通过匿名函数来定义的。
|
|
438
|
-
* 匿名函数是指声明函数时没有写名字的函数。
|
|
439
|
-
* 注意:即使是匿名函数,函数对象上的 name 属性也可能是有值的,因为 js解析器 会自动将 函数表达式函数变量的名字作为匿名函数的名字,如下:
|
|
440
|
-
* ```ts
|
|
441
|
-
* var funName = function(){};
|
|
442
|
-
* ```
|
|
443
|
-
* 其中的匿名函数对象的 name 属性的值会是 `funName`
|
|
444
|
-
*
|
|
445
|
-
* 如果 函数对象上的 name 属性的值为 `""`,函数一定是匿名函数。
|
|
446
|
-
*/
|
|
447
|
-
export declare function isAnonymousFunction(fun: Function): boolean;
|
|
448
|
-
/**
|
|
449
|
-
* 表示任意的函数类型
|
|
450
|
-
*/
|
|
451
|
-
export declare type AnyFunction = (...args: any) => any;
|
|
452
477
|
/**
|
|
453
478
|
* 获取对象的方法的某个参数的类型
|
|
454
479
|
*
|
package/dist/type-tls.d.ts
CHANGED
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 处理类型相关的工具
|
|
3
|
-
* @remarks
|
|
4
|
-
* type-tls 封装了与类型相关的工具,比如获取数据的类型 或 类型名字、判断数据的类型 等
|
|
5
|
-
*
|
|
6
|
-
* @packageDocumentation
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
1
|
/**
|
|
10
2
|
* 表示任意的函数类型
|
|
11
3
|
*/
|
|
@@ -568,6 +560,44 @@ export declare type Optional<T> = T | null | undefined;
|
|
|
568
560
|
*/
|
|
569
561
|
export declare type OptionalBoolean = Optional<boolean>;
|
|
570
562
|
|
|
563
|
+
/**
|
|
564
|
+
* 从 Target 中挑选出那些成员值的类型包含 Value 类型的成员
|
|
565
|
+
*/
|
|
566
|
+
export declare type PickContainsValue<Target, Value> = {
|
|
567
|
+
[P in KeyOfContainsValue<Target, Value>]: Target[P];
|
|
568
|
+
};
|
|
569
|
+
|
|
570
|
+
/**
|
|
571
|
+
* 从 Target 中挑选出方法
|
|
572
|
+
*/
|
|
573
|
+
export declare type PickMethod<Target> = PickValue<Target, AnyFunction>;
|
|
574
|
+
|
|
575
|
+
/**
|
|
576
|
+
* 从 Target 中挑选出那些成员值的类型不包含 Value 类型的成员
|
|
577
|
+
*/
|
|
578
|
+
export declare type PickNonContainsValue<Target, Value> = {
|
|
579
|
+
[P in KeyOfNonContainsValue<Target, Value>]: Target[P];
|
|
580
|
+
};
|
|
581
|
+
|
|
582
|
+
/**
|
|
583
|
+
* 从 Target 中挑选出那些成员值不是 Value 的类型的成员
|
|
584
|
+
*/
|
|
585
|
+
export declare type PickNonValue<Target, Value> = {
|
|
586
|
+
[P in KeyOfNonValue<Target, Value>]: Target[P];
|
|
587
|
+
};
|
|
588
|
+
|
|
589
|
+
/**
|
|
590
|
+
* 从 Target 中挑选出属性
|
|
591
|
+
*/
|
|
592
|
+
export declare type PickProperty<Target> = PickNonValue<Target, AnyFunction>;
|
|
593
|
+
|
|
594
|
+
/**
|
|
595
|
+
* 从 T 中挑选出那些成员值为 Value 的类型的成员
|
|
596
|
+
*/
|
|
597
|
+
export declare type PickValue<Target, Value> = {
|
|
598
|
+
[P in KeyOfValue<Target, Value>]: Target[P];
|
|
599
|
+
};
|
|
600
|
+
|
|
571
601
|
/**
|
|
572
602
|
* 用于定义扩展选项中的私有成员
|
|
573
603
|
*/
|
package/doc/api/index.md
CHANGED
package/doc/api/type-tls.md
CHANGED
|
@@ -4,12 +4,6 @@
|
|
|
4
4
|
|
|
5
5
|
## type-tls package
|
|
6
6
|
|
|
7
|
-
处理类型相关的工具
|
|
8
|
-
|
|
9
|
-
## Remarks
|
|
10
|
-
|
|
11
|
-
type-tls 封装了与类型相关的工具,比如获取数据的类型 或 类型名字、判断数据的类型 等
|
|
12
|
-
|
|
13
7
|
## Enumerations
|
|
14
8
|
|
|
15
9
|
| Enumeration | Description |
|
|
@@ -90,6 +84,12 @@ type-tls 封装了与类型相关的工具,比如获取数据的类型 或 类
|
|
|
90
84
|
| [MethodReturnType](./type-tls.methodreturntype.md) | 获取对象的方法的返回的类型 |
|
|
91
85
|
| [Optional](./type-tls.optional.md) | 将某个类型变为可选的类型 |
|
|
92
86
|
| [OptionalBoolean](./type-tls.optionalboolean.md) | 可选的布尔类型 |
|
|
87
|
+
| [PickContainsValue](./type-tls.pickcontainsvalue.md) | 从 Target 中挑选出那些成员值的类型包含 Value 类型的成员 |
|
|
88
|
+
| [PickMethod](./type-tls.pickmethod.md) | 从 Target 中挑选出方法 |
|
|
89
|
+
| [PickNonContainsValue](./type-tls.picknoncontainsvalue.md) | 从 Target 中挑选出那些成员值的类型不包含 Value 类型的成员 |
|
|
90
|
+
| [PickNonValue](./type-tls.picknonvalue.md) | 从 Target 中挑选出那些成员值不是 Value 的类型的成员 |
|
|
91
|
+
| [PickProperty](./type-tls.pickproperty.md) | 从 Target 中挑选出属性 |
|
|
92
|
+
| [PickValue](./type-tls.pickvalue.md) | 从 T 中挑选出那些成员值为 Value 的类型的成员 |
|
|
93
93
|
| [Replace](./type-tls.replace.md) | 可将源类型 SourType 中的 类型 MatchType 替换为 新的类型 NewType |
|
|
94
94
|
| [ReplaceNull](./type-tls.replacenull.md) | 可将源类型 SourType 中的 null 替换为 新的类型 NewType |
|
|
95
95
|
| [ReplaceUndefined](./type-tls.replaceundefined.md) | 可将源类型 SourType 中的 undefined 替换为 新的类型 NewType |
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [type-tls](./type-tls.md) > [PickContainsValue](./type-tls.pickcontainsvalue.md)
|
|
4
|
+
|
|
5
|
+
## PickContainsValue type
|
|
6
|
+
|
|
7
|
+
从 Target 中挑选出那些成员值的类型包含 Value 类型的成员
|
|
8
|
+
|
|
9
|
+
<b>Signature:</b>
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export declare type PickContainsValue<Target, Value> = {
|
|
13
|
+
[P in KeyOfContainsValue<Target, Value>]: Target[P];
|
|
14
|
+
};
|
|
15
|
+
```
|
|
16
|
+
<b>References:</b> [KeyOfContainsValue](./type-tls.keyofcontainsvalue.md)
|
|
17
|
+
|
|
@@ -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) > [PickMethod](./type-tls.pickmethod.md)
|
|
4
|
+
|
|
5
|
+
## PickMethod type
|
|
6
|
+
|
|
7
|
+
从 Target 中挑选出方法
|
|
8
|
+
|
|
9
|
+
<b>Signature:</b>
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export declare type PickMethod<Target> = PickValue<Target, AnyFunction>;
|
|
13
|
+
```
|
|
14
|
+
<b>References:</b> [PickValue](./type-tls.pickvalue.md)<!-- -->, [AnyFunction](./type-tls.anyfunction.md)
|
|
15
|
+
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [type-tls](./type-tls.md) > [PickNonContainsValue](./type-tls.picknoncontainsvalue.md)
|
|
4
|
+
|
|
5
|
+
## PickNonContainsValue type
|
|
6
|
+
|
|
7
|
+
从 Target 中挑选出那些成员值的类型不包含 Value 类型的成员
|
|
8
|
+
|
|
9
|
+
<b>Signature:</b>
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export declare type PickNonContainsValue<Target, Value> = {
|
|
13
|
+
[P in KeyOfNonContainsValue<Target, Value>]: Target[P];
|
|
14
|
+
};
|
|
15
|
+
```
|
|
16
|
+
<b>References:</b> [KeyOfNonContainsValue](./type-tls.keyofnoncontainsvalue.md)
|
|
17
|
+
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [type-tls](./type-tls.md) > [PickNonValue](./type-tls.picknonvalue.md)
|
|
4
|
+
|
|
5
|
+
## PickNonValue type
|
|
6
|
+
|
|
7
|
+
从 Target 中挑选出那些成员值不是 Value 的类型的成员
|
|
8
|
+
|
|
9
|
+
<b>Signature:</b>
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export declare type PickNonValue<Target, Value> = {
|
|
13
|
+
[P in KeyOfNonValue<Target, Value>]: Target[P];
|
|
14
|
+
};
|
|
15
|
+
```
|
|
16
|
+
<b>References:</b> [KeyOfNonValue](./type-tls.keyofnonvalue.md)
|
|
17
|
+
|
|
@@ -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) > [PickProperty](./type-tls.pickproperty.md)
|
|
4
|
+
|
|
5
|
+
## PickProperty type
|
|
6
|
+
|
|
7
|
+
从 Target 中挑选出属性
|
|
8
|
+
|
|
9
|
+
<b>Signature:</b>
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export declare type PickProperty<Target> = PickNonValue<Target, AnyFunction>;
|
|
13
|
+
```
|
|
14
|
+
<b>References:</b> [PickNonValue](./type-tls.picknonvalue.md)<!-- -->, [AnyFunction](./type-tls.anyfunction.md)
|
|
15
|
+
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [type-tls](./type-tls.md) > [PickValue](./type-tls.pickvalue.md)
|
|
4
|
+
|
|
5
|
+
## PickValue type
|
|
6
|
+
|
|
7
|
+
从 T 中挑选出那些成员值为 Value 的类型的成员
|
|
8
|
+
|
|
9
|
+
<b>Signature:</b>
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export declare type PickValue<Target, Value> = {
|
|
13
|
+
[P in KeyOfValue<Target, Value>]: Target[P];
|
|
14
|
+
};
|
|
15
|
+
```
|
|
16
|
+
<b>References:</b> [KeyOfValue](./type-tls.keyofvalue.md)
|
|
17
|
+
|