type-tls 2.2.1 → 2.3.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/base.d.ts +184 -0
- package/dist/extend.d.ts +64 -0
- package/dist/function.d.ts +49 -0
- package/dist/index.d.ts +5 -184
- package/dist/member.d.ts +16 -0
- package/dist/mixin.d.ts +96 -0
- package/dist/tsdoc-metadata.json +1 -1
- package/dist/type-tls.d.ts +245 -3
- package/dist/type-tls.es.js +92 -1
- package/dist/type-tls.iife.js +1 -1
- package/dist/type-tls.umd.js +1 -1
- package/doc/index.md +1 -1
- package/doc/type-tls.anyfunction.md +13 -0
- package/doc/type-tls.classtype._new_.md +22 -0
- package/doc/type-tls.classtype.md +20 -0
- package/doc/type-tls.createdefinemixin.md +23 -0
- package/doc/type-tls.createextendtarget.md +30 -0
- package/doc/type-tls.createmixintarget.md +30 -0
- package/doc/type-tls.createtargetextend.md +30 -0
- package/doc/type-tls.createtargetmixin.md +30 -0
- package/doc/type-tls.defineextend.md +31 -0
- package/doc/type-tls.definemixin.md +31 -0
- package/doc/type-tls.extendtarget.md +31 -0
- package/doc/type-tls.isanonymousfunction.md +35 -0
- package/doc/type-tls.isarrowfunction.md +24 -0
- package/doc/type-tls.isasyncfunction.md +28 -0
- package/doc/type-tls.isasyncgeneratorfunction.md +24 -0
- package/doc/type-tls.isgeneratorfunction.md +28 -0
- package/doc/type-tls.isidentifier.md +24 -0
- package/doc/type-tls.md +27 -6
- package/doc/type-tls.methodparams.md +15 -0
- package/doc/type-tls.methodreturntype.md +15 -0
- package/doc/type-tls.mixin_4.md +33 -0
- package/doc/type-tls.mixintarget.md +31 -0
- package/doc/type-tls.targetextend.md +31 -0
- package/doc/type-tls.targetmixin.md +31 -0
- package/package.json +5 -3
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [type-tls](./type-tls.md) > [defineMixin](./type-tls.definemixin.md)
|
|
4
|
+
|
|
5
|
+
## defineMixin() function
|
|
6
|
+
|
|
7
|
+
定义混合的类型便利函数
|
|
8
|
+
|
|
9
|
+
<b>Signature:</b>
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export declare function defineMixin<T, M>(target: T, mixin: M & ThisType<T & M>): M & ThisType<T & M>;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
| Parameter | Type | Description |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| target | T | 混合的目标,用作 this 的类型 |
|
|
20
|
+
| mixin | M & ThisType<T & M> | 混合对象,会自动更改其this的类型 |
|
|
21
|
+
|
|
22
|
+
<b>Returns:</b>
|
|
23
|
+
|
|
24
|
+
M & ThisType<T & M>
|
|
25
|
+
|
|
26
|
+
返回注入了 this 类型的 mixin 对象本身
|
|
27
|
+
|
|
28
|
+
## Remarks
|
|
29
|
+
|
|
30
|
+
它会更改 mixin 中方法的this指向为 target & mixin,不会真的执行混合操作
|
|
31
|
+
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [type-tls](./type-tls.md) > [extendTarget](./type-tls.extendtarget.md)
|
|
4
|
+
|
|
5
|
+
## extendTarget() function
|
|
6
|
+
|
|
7
|
+
扩展目标
|
|
8
|
+
|
|
9
|
+
<b>Signature:</b>
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export declare function extendTarget<C extends ClassType, E>(cla: C, ext: E & ThisType<InstanceType<C> & E>): ClassType<ConstructorParameters<C>, E & ThisType<InstanceType<C> & E>>;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
| Parameter | Type | Description |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| cla | C | 扩展的目标,也用作 this 的类型 |
|
|
20
|
+
| ext | E & ThisType<InstanceType<C> & E> | 扩展对象,会自动更改其this的类型 |
|
|
21
|
+
|
|
22
|
+
<b>Returns:</b>
|
|
23
|
+
|
|
24
|
+
[ClassType](./type-tls.classtype.md)<!-- --><ConstructorParameters<C>, E & ThisType<InstanceType<C> & E>>
|
|
25
|
+
|
|
26
|
+
返回扩展后的 cla 对象
|
|
27
|
+
|
|
28
|
+
## Remarks
|
|
29
|
+
|
|
30
|
+
会执行对 CEarth 类的扩展操作。 与 [targetExtend()](./type-tls.targetextend.md) 的区别仅仅是返回类型不一样。
|
|
31
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [type-tls](./type-tls.md) > [isAnonymousFunction](./type-tls.isanonymousfunction.md)
|
|
4
|
+
|
|
5
|
+
## isAnonymousFunction() function
|
|
6
|
+
|
|
7
|
+
判断是否是匿名函数
|
|
8
|
+
|
|
9
|
+
<b>Signature:</b>
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export declare function isAnonymousFunction(fun: Function): boolean;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
| Parameter | Type | Description |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| fun | Function | |
|
|
20
|
+
|
|
21
|
+
<b>Returns:</b>
|
|
22
|
+
|
|
23
|
+
boolean
|
|
24
|
+
|
|
25
|
+
## Remarks
|
|
26
|
+
|
|
27
|
+
判断函数在被定义时是否是通过匿名函数来定义的。 匿名函数是指声明函数时没有写名字的函数。 注意:即使是匿名函数,函数对象上的 name 属性也可能是有值的,因为 js解析器 会自动将 函数表达式函数变量的名字作为匿名函数的名字,如下:
|
|
28
|
+
|
|
29
|
+
```ts
|
|
30
|
+
var funName = function(){};
|
|
31
|
+
```
|
|
32
|
+
其中的匿名函数对象的 name 属性的值会是 `funName`
|
|
33
|
+
|
|
34
|
+
如果 函数对象上的 name 属性的值为 `""`<!-- -->,函数一定是匿名函数。
|
|
35
|
+
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [type-tls](./type-tls.md) > [isArrowFunction](./type-tls.isarrowfunction.md)
|
|
4
|
+
|
|
5
|
+
## isArrowFunction() function
|
|
6
|
+
|
|
7
|
+
判断函数是否是箭头函数
|
|
8
|
+
|
|
9
|
+
<b>Signature:</b>
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export declare function isArrowFunction(fun: Function): boolean;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
| Parameter | Type | Description |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| fun | Function | 被判断的函数 |
|
|
20
|
+
|
|
21
|
+
<b>Returns:</b>
|
|
22
|
+
|
|
23
|
+
boolean
|
|
24
|
+
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [type-tls](./type-tls.md) > [isAsyncFunction](./type-tls.isasyncfunction.md)
|
|
4
|
+
|
|
5
|
+
## isAsyncFunction() function
|
|
6
|
+
|
|
7
|
+
判断函数是否是 async 异步函数
|
|
8
|
+
|
|
9
|
+
<b>Signature:</b>
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export declare function isAsyncFunction(fun: Function): boolean;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
| Parameter | Type | Description |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| fun | Function | 被判断的函数 |
|
|
20
|
+
|
|
21
|
+
<b>Returns:</b>
|
|
22
|
+
|
|
23
|
+
boolean
|
|
24
|
+
|
|
25
|
+
## Remarks
|
|
26
|
+
|
|
27
|
+
异步函数 不包含 异步生成器函数 AsyncGeneratorFunction
|
|
28
|
+
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [type-tls](./type-tls.md) > [isAsyncGeneratorFunction](./type-tls.isasyncgeneratorfunction.md)
|
|
4
|
+
|
|
5
|
+
## isAsyncGeneratorFunction() function
|
|
6
|
+
|
|
7
|
+
判断函数是否是异步生成器函数
|
|
8
|
+
|
|
9
|
+
<b>Signature:</b>
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export declare function isAsyncGeneratorFunction(fun: Function): boolean;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
| Parameter | Type | Description |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| fun | Function | 被判断的函数 |
|
|
20
|
+
|
|
21
|
+
<b>Returns:</b>
|
|
22
|
+
|
|
23
|
+
boolean
|
|
24
|
+
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [type-tls](./type-tls.md) > [isGeneratorFunction](./type-tls.isgeneratorfunction.md)
|
|
4
|
+
|
|
5
|
+
## isGeneratorFunction() function
|
|
6
|
+
|
|
7
|
+
判断函数是否是生成器函数
|
|
8
|
+
|
|
9
|
+
<b>Signature:</b>
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export declare function isGeneratorFunction(fun: Function): boolean;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
| Parameter | Type | Description |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| fun | Function | 被判断的函数 |
|
|
20
|
+
|
|
21
|
+
<b>Returns:</b>
|
|
22
|
+
|
|
23
|
+
boolean
|
|
24
|
+
|
|
25
|
+
## Remarks
|
|
26
|
+
|
|
27
|
+
生成器函数 不包含 异步生成器函数 AsyncGeneratorFunction
|
|
28
|
+
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [type-tls](./type-tls.md) > [isIdentifier](./type-tls.isidentifier.md)
|
|
4
|
+
|
|
5
|
+
## isIdentifier() function
|
|
6
|
+
|
|
7
|
+
判断 code 是否是有校的 js 标识符
|
|
8
|
+
|
|
9
|
+
<b>Signature:</b>
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export declare function isIdentifier(code: string): boolean;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
| Parameter | Type | Description |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| code | string | 标识符的字符串 |
|
|
20
|
+
|
|
21
|
+
<b>Returns:</b>
|
|
22
|
+
|
|
23
|
+
boolean
|
|
24
|
+
|
package/doc/type-tls.md
CHANGED
|
@@ -4,36 +4,57 @@
|
|
|
4
4
|
|
|
5
5
|
## type-tls package
|
|
6
6
|
|
|
7
|
-
处理类型相关的工具
|
|
8
|
-
|
|
9
|
-
## Remarks
|
|
10
|
-
|
|
11
|
-
type-tls 封装了与类型相关的工具,比如获取数据的类型 或 类型名字、判断数据的类型 等
|
|
12
|
-
|
|
13
7
|
## Functions
|
|
14
8
|
|
|
15
9
|
| Function | Description |
|
|
16
10
|
| --- | --- |
|
|
11
|
+
| [createDefineMixin()](./type-tls.createdefinemixin.md) | 创建定义混合的类型便利函数 |
|
|
12
|
+
| [createExtendTarget(cla)](./type-tls.createextendtarget.md) | 创建用于扩展目标工具函数 |
|
|
13
|
+
| [createMixinTarget(target)](./type-tls.createmixintarget.md) | 创建用于混合目标工具函数 |
|
|
14
|
+
| [createTargetExtend(cla)](./type-tls.createtargetextend.md) | 创建用于扩展目标的便捷函数 |
|
|
15
|
+
| [createTargetMixin(target)](./type-tls.createtargetmixin.md) | 创建用于混合目标的便捷函数 |
|
|
16
|
+
| [defineExtend(cla, ext)](./type-tls.defineextend.md) | 定义扩展的类型便利函数 |
|
|
17
|
+
| [defineMixin(target, mixin)](./type-tls.definemixin.md) | 定义混合的类型便利函数 |
|
|
18
|
+
| [extendTarget(cla, ext)](./type-tls.extendtarget.md) | 扩展目标 |
|
|
17
19
|
| [getExactTypeNameOf(inst)](./type-tls.getexacttypenameof.md) | 获取 inst 的精确类型的字符串表示 |
|
|
18
20
|
| [getExactTypeOf(inst)](./type-tls.getexacttypeof.md) | 获取 inst 的精确类型 |
|
|
19
21
|
| [getNameOfType(t)](./type-tls.getnameoftype.md) | 获取 类型的字符串表示 |
|
|
20
22
|
| [getTypeByName(typeName)](./type-tls.gettypebyname.md) | 根据类型的名字获取其对应的类 |
|
|
21
23
|
| [getTypeNameOf(inst)](./type-tls.gettypenameof.md) | 获取 inst 的类型字符串 |
|
|
22
24
|
| [getTypeOf(inst)](./type-tls.gettypeof.md) | 获取 inst 的宽松类型 |
|
|
25
|
+
| [isAnonymousFunction(fun)](./type-tls.isanonymousfunction.md) | 判断是否是匿名函数 |
|
|
23
26
|
| [isArrayLike(target)](./type-tls.isarraylike.md) | 判断 target 是否为 类数组对象 |
|
|
27
|
+
| [isArrowFunction(fun)](./type-tls.isarrowfunction.md) | 判断函数是否是箭头函数 |
|
|
28
|
+
| [isAsyncFunction(fun)](./type-tls.isasyncfunction.md) | 判断函数是否是 async 异步函数 |
|
|
29
|
+
| [isAsyncGeneratorFunction(fun)](./type-tls.isasyncgeneratorfunction.md) | 判断函数是否是异步生成器函数 |
|
|
24
30
|
| [isBaseType(data)](./type-tls.isbasetype.md) | 判断 data 是否是 基本类型 |
|
|
31
|
+
| [isGeneratorFunction(fun)](./type-tls.isgeneratorfunction.md) | 判断函数是否是生成器函数 |
|
|
32
|
+
| [isIdentifier(code)](./type-tls.isidentifier.md) | 判断 code 是否是有校的 js 标识符 |
|
|
25
33
|
| [isIterable(target)](./type-tls.isiterable.md) | 判断 目标 是否是可迭代的对象,即 实现了 可迭代协议 |
|
|
26
34
|
| [isIterator(target)](./type-tls.isiterator.md) | 判断 目标 是否是迭代器,即 实现了 迭代器协议 |
|
|
27
35
|
| [isObject(target)](./type-tls.isobject.md) | 判断目标是否是对象类型 |
|
|
36
|
+
| [mixin(target, sources)](./type-tls.mixin_4.md) | 混合 |
|
|
37
|
+
| [mixinTarget(target, m)](./type-tls.mixintarget.md) | 混合目标 |
|
|
38
|
+
| [targetExtend(cla, ext)](./type-tls.targetextend.md) | 扩展目标 |
|
|
39
|
+
| [targetMixin(target, m)](./type-tls.targetmixin.md) | 混合目标 |
|
|
40
|
+
|
|
41
|
+
## Interfaces
|
|
42
|
+
|
|
43
|
+
| Interface | Description |
|
|
44
|
+
| --- | --- |
|
|
45
|
+
| [ClassType](./type-tls.classtype.md) | 类的类型、构造函数的类型 |
|
|
28
46
|
|
|
29
47
|
## Type Aliases
|
|
30
48
|
|
|
31
49
|
| Type Alias | Description |
|
|
32
50
|
| --- | --- |
|
|
51
|
+
| [AnyFunction](./type-tls.anyfunction.md) | 表示任意的函数类型 |
|
|
33
52
|
| [ExactType](./type-tls.exacttype.md) | 精确类型 |
|
|
34
53
|
| [ExactTypeName](./type-tls.exacttypename.md) | 精确类型的字符串表示 |
|
|
35
54
|
| [LooseType](./type-tls.loosetype.md) | 宽松的类型 |
|
|
36
55
|
| [LooseTypeName](./type-tls.loosetypename.md) | 宽松类型的字符串表示 |
|
|
56
|
+
| [MethodParams](./type-tls.methodparams.md) | 获取对象的方法的某个参数的类型 |
|
|
57
|
+
| [MethodReturnType](./type-tls.methodreturntype.md) | 获取对象的方法的返回的类型 |
|
|
37
58
|
| [Optional](./type-tls.optional.md) | 将某个类型变为可选的类型 |
|
|
38
59
|
| [OptionalBoolean](./type-tls.optionalboolean.md) | 可选的布尔类型 |
|
|
39
60
|
| [Replace](./type-tls.replace.md) | 可将源类型 SourType 中的 类型 MatchType 替换为 新的类型 NewType |
|
|
@@ -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) > [MethodParams](./type-tls.methodparams.md)
|
|
4
|
+
|
|
5
|
+
## MethodParams type
|
|
6
|
+
|
|
7
|
+
获取对象的方法的某个参数的类型
|
|
8
|
+
|
|
9
|
+
<b>Signature:</b>
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export declare type MethodParams<Obj, Method extends keyof Obj, ParamIndex extends number> = Obj[Method] extends AnyFunction ? Parameters<Obj[Method]>[ParamIndex] : never;
|
|
13
|
+
```
|
|
14
|
+
<b>References:</b> [AnyFunction](./type-tls.anyfunction.md)
|
|
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) > [MethodReturnType](./type-tls.methodreturntype.md)
|
|
4
|
+
|
|
5
|
+
## MethodReturnType type
|
|
6
|
+
|
|
7
|
+
获取对象的方法的返回的类型
|
|
8
|
+
|
|
9
|
+
<b>Signature:</b>
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export declare type MethodReturnType<Obj, Method extends keyof Obj> = Obj[Method] extends AnyFunction ? ReturnType<Obj[Method]> : never;
|
|
13
|
+
```
|
|
14
|
+
<b>References:</b> [AnyFunction](./type-tls.anyfunction.md)
|
|
15
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [type-tls](./type-tls.md) > [mixin](./type-tls.mixin_4.md)
|
|
4
|
+
|
|
5
|
+
## mixin() function
|
|
6
|
+
|
|
7
|
+
混合
|
|
8
|
+
|
|
9
|
+
<b>Signature:</b>
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export declare function mixin(target: any, ...sources: any[]): any;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
| Parameter | Type | Description |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| target | any | 目标对象,所有 源对象 的属性都要被混入进到 目标对象中 |
|
|
20
|
+
| sources | any\[\] | 源对象,所有 源对象 的属性都要被混入进到 目标对象中 |
|
|
21
|
+
|
|
22
|
+
<b>Returns:</b>
|
|
23
|
+
|
|
24
|
+
any
|
|
25
|
+
|
|
26
|
+
混入后的 target
|
|
27
|
+
|
|
28
|
+
## Remarks
|
|
29
|
+
|
|
30
|
+
将 source 的所有成员混入 target 对象中。
|
|
31
|
+
|
|
32
|
+
与 `Object.assign()` 的功能类似,不同的是 `mixin()` 会在 target 对象中 保持 source 对象属性的 PropertyDescriptors
|
|
33
|
+
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [type-tls](./type-tls.md) > [mixinTarget](./type-tls.mixintarget.md)
|
|
4
|
+
|
|
5
|
+
## mixinTarget() function
|
|
6
|
+
|
|
7
|
+
混合目标
|
|
8
|
+
|
|
9
|
+
<b>Signature:</b>
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export declare function mixinTarget<T, M>(target: T, m: M & ThisType<T & M>): M & ThisType<T & M> & T;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
| Parameter | Type | Description |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| target | T | 混合的目标,用作 this 的类型 |
|
|
20
|
+
| m | M & ThisType<T & M> | 混合对象,会自动更改其this的类型 |
|
|
21
|
+
|
|
22
|
+
<b>Returns:</b>
|
|
23
|
+
|
|
24
|
+
M & ThisType<T & M> & T
|
|
25
|
+
|
|
26
|
+
返回混合后的 target 对象
|
|
27
|
+
|
|
28
|
+
## Remarks
|
|
29
|
+
|
|
30
|
+
会执行对 CEarth 类的扩展操作。 与 [targetMixin()](./type-tls.targetmixin.md) 的区别仅仅是返回类型不一样。
|
|
31
|
+
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [type-tls](./type-tls.md) > [targetExtend](./type-tls.targetextend.md)
|
|
4
|
+
|
|
5
|
+
## targetExtend() function
|
|
6
|
+
|
|
7
|
+
扩展目标
|
|
8
|
+
|
|
9
|
+
<b>Signature:</b>
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export declare function targetExtend<C extends ClassType, E>(cla: C, ext: E & ThisType<InstanceType<C> & E>): E & ThisType<InstanceType<C> & E>;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
| Parameter | Type | Description |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| cla | C | 扩展的目标,也用作 this 的类型 |
|
|
20
|
+
| ext | E & ThisType<InstanceType<C> & E> | 扩展描述对象,会自动更改其this的类型 |
|
|
21
|
+
|
|
22
|
+
<b>Returns:</b>
|
|
23
|
+
|
|
24
|
+
E & ThisType<InstanceType<C> & E>
|
|
25
|
+
|
|
26
|
+
返回注入了 this 类型的 ext 对象本身
|
|
27
|
+
|
|
28
|
+
## Remarks
|
|
29
|
+
|
|
30
|
+
与 [defineExtend()](./type-tls.defineextend.md) 的区别是:`targetExtend` 会执行对 cla 的扩展操作,而 [defineExtend()](./type-tls.defineextend.md) 不会
|
|
31
|
+
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [type-tls](./type-tls.md) > [targetMixin](./type-tls.targetmixin.md)
|
|
4
|
+
|
|
5
|
+
## targetMixin() function
|
|
6
|
+
|
|
7
|
+
混合目标
|
|
8
|
+
|
|
9
|
+
<b>Signature:</b>
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
export declare function targetMixin<T, M>(target: T, m: M & ThisType<T & M>): M & ThisType<T & M>;
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
| Parameter | Type | Description |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| target | T | 混合的目标,用作 this 的类型 |
|
|
20
|
+
| m | M & ThisType<T & M> | 混合对象,会自动更改其this的类型 |
|
|
21
|
+
|
|
22
|
+
<b>Returns:</b>
|
|
23
|
+
|
|
24
|
+
M & ThisType<T & M>
|
|
25
|
+
|
|
26
|
+
返回注入了 this 类型的 mixin 对象本身
|
|
27
|
+
|
|
28
|
+
## Remarks
|
|
29
|
+
|
|
30
|
+
与 [defineMixin()](./type-tls.definemixin.md) 的区别是:`targetMixin` 会执行对 target 的混合操作,而 [defineMixin()](./type-tls.definemixin.md) 不会
|
|
31
|
+
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "type-tls",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0",
|
|
4
4
|
"description": "type-tls 封装了与类型相关的工具,比如:获取数据的类型 或 类型名字、判断数据的类型 等",
|
|
5
5
|
"main": "dist/type-tls.umd.js",
|
|
6
6
|
"module": "dist/type-tls.es.js",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
],
|
|
36
36
|
"scripts": {
|
|
37
37
|
"dev": "vite",
|
|
38
|
-
"build": "vite build
|
|
39
|
-
"
|
|
38
|
+
"build": "vite build",
|
|
39
|
+
"bunch": "vite build --mode bunch",
|
|
40
40
|
"preview": "vite preview",
|
|
41
41
|
"api": "api-extractor run -c api-extractor.jsonc -l -v",
|
|
42
42
|
"doc": "npm run api ; api-documenter markdown -i ./temp -o doc"
|
|
@@ -44,6 +44,8 @@
|
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@microsoft/api-documenter": "^7.17.15",
|
|
46
46
|
"@microsoft/api-extractor": "^7.24.1",
|
|
47
|
+
"build-tls": "^1.3.11",
|
|
48
|
+
"dts-bundle-generator": "^6.12.0",
|
|
47
49
|
"package-tls": "^1.2.2",
|
|
48
50
|
"typescript": "^4.5.4",
|
|
49
51
|
"vite": "^2.9.9"
|