type-tls 2.6.0 → 3.0.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.
Files changed (101) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +86 -86
  3. package/dist/async.d.ts +28 -0
  4. package/dist/base.d.ts +261 -0
  5. package/dist/buffer.d.ts +1 -0
  6. package/dist/function.d.ts +49 -0
  7. package/dist/index.d.ts +5 -629
  8. package/dist/member.d.ts +21 -0
  9. package/dist/tsdoc-metadata.json +1 -1
  10. package/dist/type-tls.d.ts +30 -331
  11. package/dist/type-tls.iife.js +1 -1
  12. package/dist/type-tls.js +108 -0
  13. package/dist/type-tls.umd.cjs +1 -0
  14. package/doc/api/index.md +1 -1
  15. package/doc/api/type-tls.anyfunction.md +2 -2
  16. package/doc/api/type-tls.arrayitemtype.md +2 -2
  17. package/doc/api/type-tls.exacttype.md +3 -3
  18. package/doc/api/type-tls.exacttypename.md +3 -3
  19. package/doc/api/type-tls.getexacttypenameof.md +2 -2
  20. package/doc/api/type-tls.getexacttypeof.md +2 -2
  21. package/doc/api/type-tls.getnameoftype.md +2 -2
  22. package/doc/api/type-tls.gettypebyname.md +2 -2
  23. package/doc/api/type-tls.gettypenameof.md +2 -2
  24. package/doc/api/type-tls.gettypeof.md +2 -2
  25. package/doc/api/type-tls.isanonymousfunction.md +2 -2
  26. package/doc/api/type-tls.isarraylike.md +2 -2
  27. package/doc/api/type-tls.isarrowfunction.md +2 -2
  28. package/doc/api/type-tls.isasyncfunction.md +2 -2
  29. package/doc/api/type-tls.isasyncgeneratorfunction.md +2 -2
  30. package/doc/api/type-tls.isbasetype.md +2 -2
  31. package/doc/api/type-tls.isgeneratorfunction.md +2 -2
  32. package/doc/api/type-tls.isidentifier.md +2 -2
  33. package/doc/api/type-tls.isiterable.md +2 -2
  34. package/doc/api/type-tls.isiterator.md +2 -2
  35. package/doc/api/type-tls.isobject.md +2 -2
  36. package/doc/api/type-tls.keyofcontainsvalue.md +3 -3
  37. package/doc/api/type-tls.keyofnoncontainsvalue.md +3 -3
  38. package/doc/api/type-tls.keyofnonvalue.md +3 -3
  39. package/doc/api/type-tls.keyofvalue.md +3 -3
  40. package/doc/api/type-tls.loosetype.md +2 -2
  41. package/doc/api/type-tls.loosetypename.md +2 -2
  42. package/doc/api/type-tls.md +8 -49
  43. package/doc/api/type-tls.methodparams.md +3 -3
  44. package/doc/api/type-tls.methodreturntype.md +3 -3
  45. package/doc/api/type-tls.optional.md +2 -2
  46. package/doc/api/type-tls.optionalboolean.md +3 -3
  47. package/doc/api/type-tls.pickcontainsvalue.md +5 -5
  48. package/doc/api/type-tls.pickmethod.md +15 -0
  49. package/doc/api/type-tls.picknoncontainsvalue.md +5 -5
  50. package/doc/api/type-tls.picknonvalue.md +5 -5
  51. package/doc/api/type-tls.pickproperty.md +15 -0
  52. package/doc/api/type-tls.pickvalue.md +5 -5
  53. package/doc/api/type-tls.replace.md +2 -2
  54. package/doc/api/type-tls.replacenull.md +3 -3
  55. package/doc/api/type-tls.replaceundefined.md +3 -3
  56. package/doc/api/type-tls.replacevoid.md +3 -3
  57. package/doc/api/type-tls.resolvedata.md +2 -2
  58. package/doc/api/type-tls.twolayerpartial.md +20 -0
  59. package/doc/api/type-tls.typedarray.md +11 -0
  60. package/doc/api/type-tls.typeofreturntype.md +2 -2
  61. package/doc/api/type-tls.waitasyncable.md +2 -2
  62. package/doc/api/type-tls.waitasyncablecallback.md +3 -3
  63. package/doc/api/type-tls.waitasyncablereturn.md +2 -2
  64. package/doc//346/225/231/347/250/213.md +6 -6
  65. package/package.json +20 -11
  66. package/dist/type-tls.mjs +0 -214
  67. package/dist/type-tls.umd.js +0 -1
  68. package/doc/api/type-tls.axis.getcrossaxiss.md +0 -32
  69. package/doc/api/type-tls.axis.md +0 -22
  70. package/doc/api/type-tls.axis.toindex.md +0 -25
  71. package/doc/api/type-tls.axis.tokey.md +0 -25
  72. package/doc/api/type-tls.axis4.getcrossaxiss.md +0 -32
  73. package/doc/api/type-tls.axis4.md +0 -22
  74. package/doc/api/type-tls.axis4.toindex.md +0 -25
  75. package/doc/api/type-tls.axis4.tokey.md +0 -25
  76. package/doc/api/type-tls.axis4name.md +0 -13
  77. package/doc/api/type-tls.axisname.md +0 -13
  78. package/doc/api/type-tls.classtype._new_.md +0 -22
  79. package/doc/api/type-tls.classtype.md +0 -20
  80. package/doc/api/type-tls.createdefinemixin.md +0 -23
  81. package/doc/api/type-tls.createextendtarget.md +0 -30
  82. package/doc/api/type-tls.createmixintarget.md +0 -30
  83. package/doc/api/type-tls.createtargetextend.md +0 -30
  84. package/doc/api/type-tls.createtargetmixin.md +0 -30
  85. package/doc/api/type-tls.defineextend.md +0 -35
  86. package/doc/api/type-tls.definemixin.md +0 -31
  87. package/doc/api/type-tls.extendtarget.md +0 -31
  88. package/doc/api/type-tls.ivector.md +0 -15
  89. package/doc/api/type-tls.ivector2.md +0 -21
  90. package/doc/api/type-tls.ivector2.x.md +0 -11
  91. package/doc/api/type-tls.ivector2.y.md +0 -11
  92. package/doc/api/type-tls.ivector3.md +0 -21
  93. package/doc/api/type-tls.ivector3.z.md +0 -11
  94. package/doc/api/type-tls.ivector4.md +0 -21
  95. package/doc/api/type-tls.ivector4.w.md +0 -11
  96. package/doc/api/type-tls.mixin_4.md +0 -33
  97. package/doc/api/type-tls.mixintarget.md +0 -31
  98. package/doc/api/type-tls.privatememberofextend._constructor.md +0 -22
  99. package/doc/api/type-tls.privatememberofextend.md +0 -20
  100. package/doc/api/type-tls.targetextend.md +0 -31
  101. package/doc/api/type-tls.targetmixin.md +0 -31
@@ -1,13 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [AxisName](./type-tls.axisname.md)
4
-
5
- ## AxisName type
6
-
7
- 轴名
8
-
9
- <b>Signature:</b>
10
-
11
- ```typescript
12
- export declare type AxisName = "x" | "y" | "z";
13
- ```
@@ -1,22 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [ClassType](./type-tls.classtype.md) &gt; [(new)](./type-tls.classtype._new_.md)
4
-
5
- ## ClassType.(new)
6
-
7
- <b>Signature:</b>
8
-
9
- ```typescript
10
- new (...args: Arg): Instance;
11
- ```
12
-
13
- ## Parameters
14
-
15
- | Parameter | Type | Description |
16
- | --- | --- | --- |
17
- | args | Arg | |
18
-
19
- <b>Returns:</b>
20
-
21
- Instance
22
-
@@ -1,20 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [ClassType](./type-tls.classtype.md)
4
-
5
- ## ClassType interface
6
-
7
- 类的类型、构造函数的类型
8
-
9
- <b>Signature:</b>
10
-
11
- ```typescript
12
- export interface ClassType<Arg extends any[] = any[], Instance = any>
13
- ```
14
-
15
- ## Methods
16
-
17
- | Method | Description |
18
- | --- | --- |
19
- | [(new)(args)](./type-tls.classtype._new_.md) | |
20
-
@@ -1,23 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [createDefineMixin](./type-tls.createdefinemixin.md)
4
-
5
- ## createDefineMixin() function
6
-
7
- 创建定义混合的类型便利函数
8
-
9
- <b>Signature:</b>
10
-
11
- ```typescript
12
- export declare function createDefineMixin<T>(): <M>(target: T, mixin: M & ThisType<T & M>) => M & ThisType<T & M>;
13
- ```
14
- <b>Returns:</b>
15
-
16
- &lt;M&gt;(target: T, mixin: M &amp; ThisType&lt;T &amp; M&gt;) =&gt; M &amp; ThisType&lt;T &amp; M&gt;
17
-
18
- 可以用于 定义混合的 类型便利函数
19
-
20
- ## Remarks
21
-
22
- 它返回的便利函数的功能与 [defineMixin()](./type-tls.definemixin.md) 的功能一样,唯一区别是不再需要接收 target 参数了
23
-
@@ -1,30 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [createExtendTarget](./type-tls.createextendtarget.md)
4
-
5
- ## createExtendTarget() function
6
-
7
- 创建用于扩展目标工具函数
8
-
9
- <b>Signature:</b>
10
-
11
- ```typescript
12
- 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>>;
13
- ```
14
-
15
- ## Parameters
16
-
17
- | Parameter | Type | Description |
18
- | --- | --- | --- |
19
- | cla | C | 扩展的目标,也用作 this 的类型 |
20
-
21
- <b>Returns:</b>
22
-
23
- &lt;E&gt;(ext: E &amp; ThisType&lt;InstanceType&lt;C&gt; &amp; E&gt; &amp; [PrivateMemberOfExtend](./type-tls.privatememberofextend.md)<!-- -->&lt;C&gt;) =&gt; [ClassType](./type-tls.classtype.md)<!-- -->&lt;ConstructorParameters&lt;C&gt;, E &amp; ThisType&lt;InstanceType&lt;C&gt; &amp; E&gt;&gt;
24
-
25
- 可以用于 扩展目标 的便利函数
26
-
27
- ## Remarks
28
-
29
- 它返回的便利函数的功能与 [extendTarget()](./type-tls.extendtarget.md) 的功能一样,唯一区别是不再需要接收 cla 参数了
30
-
@@ -1,30 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [createMixinTarget](./type-tls.createmixintarget.md)
4
-
5
- ## createMixinTarget() function
6
-
7
- 创建用于混合目标工具函数
8
-
9
- <b>Signature:</b>
10
-
11
- ```typescript
12
- export declare function createMixinTarget<T>(target: T): <M>(m: M & ThisType<T & M>) => M & ThisType<T & M> & T;
13
- ```
14
-
15
- ## Parameters
16
-
17
- | Parameter | Type | Description |
18
- | --- | --- | --- |
19
- | target | T | |
20
-
21
- <b>Returns:</b>
22
-
23
- &lt;M&gt;(m: M &amp; ThisType&lt;T &amp; M&gt;) =&gt; M &amp; ThisType&lt;T &amp; M&gt; &amp; T
24
-
25
- 可以用于 混合目标 的便利函数
26
-
27
- ## Remarks
28
-
29
- 它返回的便利函数的功能与 [mixinTarget()](./type-tls.mixintarget.md) 的功能一样,唯一区别是不再需要接收 target 参数了
30
-
@@ -1,30 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [createTargetExtend](./type-tls.createtargetextend.md)
4
-
5
- ## createTargetExtend() function
6
-
7
- 创建用于扩展目标的便捷函数
8
-
9
- <b>Signature:</b>
10
-
11
- ```typescript
12
- export declare function createTargetExtend<C extends ClassType>(cla: C): <E>(ext: E & ThisType<InstanceType<C> & E> & PrivateMemberOfExtend<C>) => E & ThisType<C & E>;
13
- ```
14
-
15
- ## Parameters
16
-
17
- | Parameter | Type | Description |
18
- | --- | --- | --- |
19
- | cla | C | 扩展的目标,也用作 this 的类型 |
20
-
21
- <b>Returns:</b>
22
-
23
- &lt;E&gt;(ext: E &amp; ThisType&lt;InstanceType&lt;C&gt; &amp; E&gt; &amp; [PrivateMemberOfExtend](./type-tls.privatememberofextend.md)<!-- -->&lt;C&gt;) =&gt; E &amp; ThisType&lt;C &amp; E&gt;
24
-
25
- 可以用于 扩展目标 的便利函数
26
-
27
- ## Remarks
28
-
29
- 它返回的便利函数的功能与 [targetExtend()](./type-tls.targetextend.md) 的功能一样,唯一区别是不再需要接收 cla 参数了
30
-
@@ -1,30 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [createTargetMixin](./type-tls.createtargetmixin.md)
4
-
5
- ## createTargetMixin() function
6
-
7
- 创建用于混合目标的便捷函数
8
-
9
- <b>Signature:</b>
10
-
11
- ```typescript
12
- export declare function createTargetMixin<T>(target: T): <M>(m: M & ThisType<T & M>) => M & ThisType<T & M>;
13
- ```
14
-
15
- ## Parameters
16
-
17
- | Parameter | Type | Description |
18
- | --- | --- | --- |
19
- | target | T | 混合的目标,用作 this 的类型 |
20
-
21
- <b>Returns:</b>
22
-
23
- &lt;M&gt;(m: M &amp; ThisType&lt;T &amp; M&gt;) =&gt; M &amp; ThisType&lt;T &amp; M&gt;
24
-
25
- 可以用于 混合目标 的便利函数
26
-
27
- ## Remarks
28
-
29
- 它返回的便利函数的功能与 [targetMixin()](./type-tls.targetmixin.md) 的功能一样,唯一区别是不再需要接收 target 参数了
30
-
@@ -1,35 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [defineExtend](./type-tls.defineextend.md)
4
-
5
- ## defineExtend() function
6
-
7
- 定义扩展的类型便利函数
8
-
9
- <b>Signature:</b>
10
-
11
- ```typescript
12
- export declare function defineExtend<C extends ClassType, E>(cla: C, ext: E & ThisType<InstanceType<C> & E> & PrivateMemberOfExtend<C>): E & ThisType<C & E>;
13
- ```
14
-
15
- ## Parameters
16
-
17
- | Parameter | Type | Description |
18
- | --- | --- | --- |
19
- | cla | C | 扩展的目标,用作 this 的类型 |
20
- | ext | E &amp; ThisType&lt;InstanceType&lt;C&gt; &amp; E&gt; &amp; [PrivateMemberOfExtend](./type-tls.privatememberofextend.md)<!-- -->&lt;C&gt; | 描述扩展内容的对象,会自动更改其this的类型 |
21
-
22
- <b>Returns:</b>
23
-
24
- E &amp; ThisType&lt;C &amp; E&gt;
25
-
26
- 返回注入了 this 类型的 ext 对象本身
27
-
28
- ## Remarks
29
-
30
- 它会更改 ext 中方法的this指向为 cla &amp; ext,不会真的执行扩展操作。
31
-
32
- 其中 ext.\_constructor 会被保存在 cla.\_constructors 属性中,它是一个数组。
33
-
34
- cla 需要在自己的构建函数中逐个调用 cla.\_constructors 中的函数
35
-
@@ -1,31 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [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 &amp; ThisType&lt;T &amp; M&gt; | 混合对象,会自动更改其this的类型 |
21
-
22
- <b>Returns:</b>
23
-
24
- M &amp; ThisType&lt;T &amp; M&gt;
25
-
26
- 返回注入了 this 类型的 mixin 对象本身
27
-
28
- ## Remarks
29
-
30
- 它会更改 mixin 中方法的this指向为 target &amp; mixin,不会真的执行混合操作
31
-
@@ -1,31 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [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> & PrivateMemberOfExtend<C>): 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 &amp; ThisType&lt;InstanceType&lt;C&gt; &amp; E&gt; &amp; [PrivateMemberOfExtend](./type-tls.privatememberofextend.md)<!-- -->&lt;C&gt; | 扩展对象,会自动更改其this的类型 |
21
-
22
- <b>Returns:</b>
23
-
24
- [ClassType](./type-tls.classtype.md)<!-- -->&lt;ConstructorParameters&lt;C&gt;, E &amp; ThisType&lt;InstanceType&lt;C&gt; &amp; E&gt;&gt;
25
-
26
- 返回扩展后的 cla 对象
27
-
28
- ## Remarks
29
-
30
- 会执行对 CEarth 类的扩展操作。 与 [targetExtend()](./type-tls.targetextend.md) 的区别仅仅是返回类型不一样。
31
-
@@ -1,15 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [IVector](./type-tls.ivector.md)
4
-
5
- ## IVector type
6
-
7
- 向量
8
-
9
- <b>Signature:</b>
10
-
11
- ```typescript
12
- export declare type IVector = IVector2 | IVector3 | IVector4;
13
- ```
14
- <b>References:</b> [IVector2](./type-tls.ivector2.md)<!-- -->, [IVector3](./type-tls.ivector3.md)<!-- -->, [IVector4](./type-tls.ivector4.md)
15
-
@@ -1,21 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [IVector2](./type-tls.ivector2.md)
4
-
5
- ## IVector2 interface
6
-
7
- 二维向量
8
-
9
- <b>Signature:</b>
10
-
11
- ```typescript
12
- export interface IVector2
13
- ```
14
-
15
- ## Properties
16
-
17
- | Property | Modifiers | Type | Description |
18
- | --- | --- | --- | --- |
19
- | [x](./type-tls.ivector2.x.md) | | number | |
20
- | [y](./type-tls.ivector2.y.md) | | number | |
21
-
@@ -1,11 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [IVector2](./type-tls.ivector2.md) &gt; [x](./type-tls.ivector2.x.md)
4
-
5
- ## IVector2.x property
6
-
7
- <b>Signature:</b>
8
-
9
- ```typescript
10
- x: number;
11
- ```
@@ -1,11 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [IVector2](./type-tls.ivector2.md) &gt; [y](./type-tls.ivector2.y.md)
4
-
5
- ## IVector2.y property
6
-
7
- <b>Signature:</b>
8
-
9
- ```typescript
10
- y: number;
11
- ```
@@ -1,21 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [IVector3](./type-tls.ivector3.md)
4
-
5
- ## IVector3 interface
6
-
7
- 三维向量
8
-
9
- <b>Signature:</b>
10
-
11
- ```typescript
12
- export interface IVector3 extends IVector2
13
- ```
14
- <b>Extends:</b> [IVector2](./type-tls.ivector2.md)
15
-
16
- ## Properties
17
-
18
- | Property | Modifiers | Type | Description |
19
- | --- | --- | --- | --- |
20
- | [z](./type-tls.ivector3.z.md) | | number | |
21
-
@@ -1,11 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [IVector3](./type-tls.ivector3.md) &gt; [z](./type-tls.ivector3.z.md)
4
-
5
- ## IVector3.z property
6
-
7
- <b>Signature:</b>
8
-
9
- ```typescript
10
- z: number;
11
- ```
@@ -1,21 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [IVector4](./type-tls.ivector4.md)
4
-
5
- ## IVector4 interface
6
-
7
- 四维向量
8
-
9
- <b>Signature:</b>
10
-
11
- ```typescript
12
- export interface IVector4 extends IVector3
13
- ```
14
- <b>Extends:</b> [IVector3](./type-tls.ivector3.md)
15
-
16
- ## Properties
17
-
18
- | Property | Modifiers | Type | Description |
19
- | --- | --- | --- | --- |
20
- | [w](./type-tls.ivector4.w.md) | | number | |
21
-
@@ -1,11 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [IVector4](./type-tls.ivector4.md) &gt; [w](./type-tls.ivector4.w.md)
4
-
5
- ## IVector4.w property
6
-
7
- <b>Signature:</b>
8
-
9
- ```typescript
10
- w: number;
11
- ```
@@ -1,33 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [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
-
@@ -1,31 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [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 &amp; ThisType&lt;T &amp; M&gt; | 混合对象,会自动更改其this的类型 |
21
-
22
- <b>Returns:</b>
23
-
24
- M &amp; ThisType&lt;T &amp; M&gt; &amp; T
25
-
26
- 返回混合后的 target 对象
27
-
28
- ## Remarks
29
-
30
- 会执行对 CEarth 类的扩展操作。 与 [targetMixin()](./type-tls.targetmixin.md) 的区别仅仅是返回类型不一样。
31
-
@@ -1,22 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [PrivateMemberOfExtend](./type-tls.privatememberofextend.md) &gt; [\_constructor](./type-tls.privatememberofextend._constructor.md)
4
-
5
- ## PrivateMemberOfExtend.\_constructor property
6
-
7
- 扩展类中用于定义在创建实例时的初始化的方法
8
-
9
- <b>Signature:</b>
10
-
11
- ```typescript
12
- _constructor?: (...args: (TargetType extends new (...args: infer A) => any ? A : never)) => void;
13
- ```
14
-
15
- ## Remarks
16
-
17
- 该方法会在创建实例时自动执行,并将构建函数接收到的参数透传给方方法。
18
-
19
- 注意: \_constructor 会被保存在 目标类中的 \_constructors 属性中,它是一个数组。
20
-
21
- 目标类 需要在自己的构建函数中逐个调用 cla.\_constructors 中的函数
22
-
@@ -1,20 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [PrivateMemberOfExtend](./type-tls.privatememberofextend.md)
4
-
5
- ## PrivateMemberOfExtend interface
6
-
7
- 用于定义扩展选项中的私有成员
8
-
9
- <b>Signature:</b>
10
-
11
- ```typescript
12
- export interface PrivateMemberOfExtend<TargetType extends new (...args: any) => any>
13
- ```
14
-
15
- ## Properties
16
-
17
- | Property | Modifiers | Type | Description |
18
- | --- | --- | --- | --- |
19
- | [\_constructor?](./type-tls.privatememberofextend._constructor.md) | | (...args: (TargetType extends new (...args: infer A) =&gt; any ? A : never)) =&gt; void | <i>(Optional)</i> 扩展类中用于定义在创建实例时的初始化的方法 |
20
-
@@ -1,31 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [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> & PrivateMemberOfExtend<C>): E & ThisType<InstanceType<C> & E>;
13
- ```
14
-
15
- ## Parameters
16
-
17
- | Parameter | Type | Description |
18
- | --- | --- | --- |
19
- | cla | C | 扩展的目标,也用作 this 的类型 |
20
- | ext | E &amp; ThisType&lt;InstanceType&lt;C&gt; &amp; E&gt; &amp; [PrivateMemberOfExtend](./type-tls.privatememberofextend.md)<!-- -->&lt;C&gt; | 扩展描述对象,会自动更改其this的类型 |
21
-
22
- <b>Returns:</b>
23
-
24
- E &amp; ThisType&lt;InstanceType&lt;C&gt; &amp; E&gt;
25
-
26
- 返回注入了 this 类型的 ext 对象本身
27
-
28
- ## Remarks
29
-
30
- 与 [defineExtend()](./type-tls.defineextend.md) 的区别是:`targetExtend` 会执行对 cla 的扩展操作,而 [defineExtend()](./type-tls.defineextend.md) 不会
31
-
@@ -1,31 +0,0 @@
1
- <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
-
3
- [Home](./index.md) &gt; [type-tls](./type-tls.md) &gt; [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 &amp; ThisType&lt;T &amp; M&gt; | 混合对象,会自动更改其this的类型 |
21
-
22
- <b>Returns:</b>
23
-
24
- M &amp; ThisType&lt;T &amp; M&gt;
25
-
26
- 返回注入了 this 类型的 mixin 对象本身
27
-
28
- ## Remarks
29
-
30
- 与 [defineMixin()](./type-tls.definemixin.md) 的区别是:`targetMixin` 会执行对 target 的混合操作,而 [defineMixin()](./type-tls.definemixin.md) 不会
31
-