plugin-tls 1.1.0 → 2.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 (113) hide show
  1. package/dist/extend/extend.d.ts +2 -2
  2. package/dist/extend/extend.d.ts.map +1 -1
  3. package/dist/extend/mixin.d.ts.map +1 -1
  4. package/dist/index.js +1038 -0
  5. package/dist/index.umd.cjs +1 -0
  6. package/dist/options-manager/ModeOptions.d.ts.map +1 -1
  7. package/dist/options-manager/OptionsManager.d.ts.map +1 -1
  8. package/dist/options-manager/TierOptions.d.ts.map +1 -1
  9. package/dist/options-manager/defaultOptions.d.ts.map +1 -1
  10. package/dist/plugin-host/PluginHost.d.ts +53 -15
  11. package/dist/plugin-host/PluginHost.d.ts.map +1 -1
  12. package/dist/plugin-host/TierModeOptionsPluginHost.d.ts +45 -16
  13. package/dist/plugin-host/TierModeOptionsPluginHost.d.ts.map +1 -1
  14. package/dist/plugin-host/TierOptionsPluginHost.d.ts +43 -9
  15. package/dist/plugin-host/TierOptionsPluginHost.d.ts.map +1 -1
  16. package/doc/api/index.md +23 -3
  17. package/doc/api/plugin-tls.adddefaultoptions.md +49 -4
  18. package/doc/api/plugin-tls.addinstoptions.md +59 -5
  19. package/doc/api/plugin-tls.allfunctionapply.md +59 -5
  20. package/doc/api/plugin-tls.becomepluginhost_extends.md +37 -9
  21. package/doc/api/plugin-tls.becomepluginhost_proxy.md +31 -3
  22. package/doc/api/plugin-tls.classextenderprivatemember.md +64 -4
  23. package/doc/api/plugin-tls.classextenderprivatememberwithinit.md +43 -3
  24. package/doc/api/plugin-tls.classtype._new_.md +31 -3
  25. package/doc/api/plugin-tls.classtype.md +21 -3
  26. package/doc/api/plugin-tls.createcallerofprivatememberofextend.md +31 -3
  27. package/doc/api/plugin-tls.createextendtarget.md +33 -3
  28. package/doc/api/plugin-tls.createextendtargetwithinit.md +35 -5
  29. package/doc/api/plugin-tls.createmixintarget.md +31 -3
  30. package/doc/api/plugin-tls.createpluginhost.md +81 -9
  31. package/doc/api/plugin-tls.createpropertysetter.md +45 -4
  32. package/doc/api/plugin-tls.createtargetextend.md +33 -3
  33. package/doc/api/plugin-tls.createtargetextendwithinit.md +35 -5
  34. package/doc/api/plugin-tls.createtargetmixin.md +33 -3
  35. package/doc/api/plugin-tls.createtiermodeoptionspluginhost.md +81 -11
  36. package/doc/api/plugin-tls.createtieroptionspluginhost.md +78 -9
  37. package/doc/api/plugin-tls.defineextend.md +49 -4
  38. package/doc/api/plugin-tls.defineextendwithinit.md +49 -4
  39. package/doc/api/plugin-tls.definemixin.md +49 -4
  40. package/doc/api/plugin-tls.extendtarget.md +49 -4
  41. package/doc/api/plugin-tls.extendtargetwithinit.md +49 -4
  42. package/doc/api/plugin-tls.getpropertyvalue.md +45 -4
  43. package/doc/api/plugin-tls.getpropertyvaluebypath.md +45 -4
  44. package/doc/api/plugin-tls.gettargetproperties.md +45 -4
  45. package/doc/api/plugin-tls.idefaultoptionshost.md +41 -3
  46. package/doc/api/plugin-tls.iplugin.created.md +49 -4
  47. package/doc/api/plugin-tls.iplugin.destroyed.md +49 -4
  48. package/doc/api/plugin-tls.iplugin.md +45 -5
  49. package/doc/api/plugin-tls.iplugin.used.md +49 -4
  50. package/doc/api/plugin-tls.ipluginhost.md +23 -3
  51. package/doc/api/plugin-tls.ipluginhost.use.md +45 -4
  52. package/doc/api/plugin-tls.ipluginhostconstructor.md +23 -3
  53. package/doc/api/plugin-tls.ipluginhostconstructor.use.md +49 -4
  54. package/doc/api/plugin-tls.ipluginwithinit.inited.md +49 -4
  55. package/doc/api/plugin-tls.ipluginwithinit.md +23 -3
  56. package/doc/api/plugin-tls.itiermodeoptionshost.md +58 -4
  57. package/doc/api/plugin-tls.itieroptionshost.md +41 -3
  58. package/doc/api/plugin-tls.md +960 -92
  59. package/doc/api/plugin-tls.mergeproperties.md +45 -4
  60. package/doc/api/plugin-tls.mixin_4.md +49 -4
  61. package/doc/api/plugin-tls.mixintarget.md +49 -4
  62. package/doc/api/plugin-tls.modeoptions._constructor_.md +31 -3
  63. package/doc/api/plugin-tls.modeoptions._constructor__1.md +47 -4
  64. package/doc/api/plugin-tls.modeoptions.getfullmodeoption.md +31 -3
  65. package/doc/api/plugin-tls.modeoptions.getmodeoption.md +31 -3
  66. package/doc/api/plugin-tls.modeoptions.hasmode.md +31 -3
  67. package/doc/api/plugin-tls.modeoptions.md +347 -23
  68. package/doc/api/plugin-tls.modeoptions.setmodeoption.md +77 -6
  69. package/doc/api/plugin-tls.parsepropertypath.md +31 -3
  70. package/doc/api/{plugin-tls.pluginhost.destroy.md → plugin-tls.pluginhost.destroythis.md} +3 -3
  71. package/doc/api/plugin-tls.pluginhost.md +150 -11
  72. package/doc/api/plugin-tls.pluginhost.use.md +49 -4
  73. package/doc/api/plugin-tls.pluginmanager._constructor_.md +33 -3
  74. package/doc/api/plugin-tls.pluginmanager.created.md +33 -3
  75. package/doc/api/plugin-tls.pluginmanager.destroyed.md +33 -3
  76. package/doc/api/plugin-tls.pluginmanager.instuse.md +61 -5
  77. package/doc/api/plugin-tls.pluginmanager.md +187 -14
  78. package/doc/api/plugin-tls.pluginmanager.use.md +49 -4
  79. package/doc/api/plugin-tls.pluginmanagerwithinit.inited.md +33 -3
  80. package/doc/api/plugin-tls.pluginmanagerwithinit.md +31 -3
  81. package/doc/api/plugin-tls.privatememberofextend._constructor.md +31 -3
  82. package/doc/api/plugin-tls.privatememberofextend.md +34 -4
  83. package/doc/api/plugin-tls.privatememberofextendwithinit._init.md +31 -3
  84. package/doc/api/plugin-tls.privatememberofextendwithinit.md +23 -3
  85. package/doc/api/plugin-tls.setpropertyvalue.md +59 -5
  86. package/doc/api/plugin-tls.setpropertyvaluebypath.md +59 -5
  87. package/doc/api/plugin-tls.targetextend.md +49 -4
  88. package/doc/api/plugin-tls.targetextendwithinit.md +49 -4
  89. package/doc/api/plugin-tls.targetmixin.md +49 -4
  90. package/doc/api/plugin-tls.tiermodeoptions._constructor_.md +31 -3
  91. package/doc/api/plugin-tls.tiermodeoptions._constructor__1.md +63 -5
  92. package/doc/api/plugin-tls.tiermodeoptions.getfullmodeoption.md +31 -3
  93. package/doc/api/plugin-tls.tiermodeoptions.getmember.md +31 -3
  94. package/doc/api/plugin-tls.tiermodeoptions.getmodeoptionmanager.md +31 -3
  95. package/doc/api/plugin-tls.tiermodeoptions.getvalue.md +31 -3
  96. package/doc/api/plugin-tls.tiermodeoptions.hasmodeontier.md +31 -3
  97. package/doc/api/plugin-tls.tiermodeoptions.md +227 -17
  98. package/doc/api/plugin-tls.tiermodeoptionsdecorator.md +45 -4
  99. package/doc/api/plugin-tls.tiermodeoptionspluginhost._constructor_.md +31 -3
  100. package/doc/api/plugin-tls.tiermodeoptionspluginhost.md +152 -10
  101. package/doc/api/plugin-tls.tieroptions._constructor_.md +49 -4
  102. package/doc/api/plugin-tls.tieroptions.getmember.md +31 -3
  103. package/doc/api/plugin-tls.tieroptions.getvalue.md +31 -3
  104. package/doc/api/plugin-tls.tieroptions.md +209 -15
  105. package/doc/api/plugin-tls.tieroptionsdecorator.md +45 -4
  106. package/doc/api/plugin-tls.tieroptionspluginhost._constructor_.md +31 -3
  107. package/doc/api/plugin-tls.tieroptionspluginhost.md +116 -8
  108. package/package.json +29 -19
  109. package/dist/plugin-tls.d.ts +0 -1329
  110. package/dist/plugin-tls.iife.js +0 -1
  111. package/dist/plugin-tls.mjs +0 -1064
  112. package/dist/plugin-tls.umd.js +0 -1
  113. package/dist/tsdoc-metadata.json +0 -11
@@ -12,25 +12,53 @@
12
12
  export declare function becomePluginHost_Extends<HOST extends new (...args: any) => any>(target: HOST): {
13
13
  new (...args: any): {
14
14
  [x: string]: any;
15
- readonly pluginManager: PluginManager<any & HOST, IPlugin<any & HOST, any>>;
16
- use<Plugin_1 extends IPlugin<any & HOST, any>>(plugin: Plugin_1, ...options: FormatUsePluginParameters<Plugin_1>): void | PluginCreatedReturnType<Plugin_1>;
15
+ get pluginManager(): PluginManager</*elided*/ any & HOST, IPlugin</*elided*/ any & HOST, any>>;
16
+ use<Plugin extends IPlugin</*elided*/ any & HOST, any>>(plugin: Plugin, ...options: FormatUsePluginParameters<Plugin>): void | PluginCreatedReturnType<Plugin>;
17
17
  destroy(): void;
18
18
  };
19
- readonly pluginManager: PluginManager<any & HOST, IPlugin<any & HOST, any>>;
20
- _pluginManager: PluginManager<any & HOST, IPlugin<any & HOST, any>>;
21
- use<Plugin_2 extends IPlugin<any & HOST, any>>(plugin: Plugin_2, ...options: FormatUsePluginParameters<Plugin_2>): void | ReturnType<Plugin_2["used"]>;
19
+ get pluginManager(): PluginManager</*elided*/ any & HOST, IPlugin</*elided*/ any & HOST, any>>;
20
+ _pluginManager: PluginManager</*elided*/ any & HOST>;
21
+ use<Plugin extends IPlugin</*elided*/ any & HOST, any>>(plugin: Plugin, ...options: FormatUsePluginParameters<Plugin>): void | ReturnType<Plugin["used"]>;
22
22
  } & HOST;
23
23
  ```
24
24
 
25
25
  ## Parameters
26
26
 
27
- | Parameter | Type | Description |
28
- | --- | --- | --- |
29
- | target | HOST | |
27
+ <table><thead><tr><th>
28
+
29
+ Parameter
30
+
31
+
32
+ </th><th>
33
+
34
+ Type
35
+
36
+
37
+ </th><th>
38
+
39
+ Description
40
+
41
+
42
+ </th></tr></thead>
43
+ <tbody><tr><td>
44
+
45
+ target
46
+
47
+
48
+ </td><td>
49
+
50
+ HOST
51
+
52
+
53
+ </td><td>
54
+
55
+
56
+ </td></tr>
57
+ </tbody></table>
30
58
 
31
59
  **Returns:**
32
60
 
33
- { new (...args: any): { \[x: string\]: any; readonly pluginManager: [PluginManager](./plugin-tls.pluginmanager.md)<!-- -->&lt;any &amp; HOST, [IPlugin](./plugin-tls.iplugin.md)<!-- -->&lt;any &amp; HOST, any&gt;&gt;; use&lt;Plugin\_1 extends [IPlugin](./plugin-tls.iplugin.md)<!-- -->&lt;any &amp; HOST, any&gt;&gt;(plugin: Plugin\_1, ...options: [FormatUsePluginParameters](./plugin-tls.formatusepluginparameters.md)<!-- -->&lt;Plugin\_1&gt;): void \| [PluginCreatedReturnType](./plugin-tls.plugincreatedreturntype.md)<!-- -->&lt;Plugin\_1&gt;; destroy(): void; }; readonly pluginManager: [PluginManager](./plugin-tls.pluginmanager.md)<!-- -->&lt;any &amp; HOST, [IPlugin](./plugin-tls.iplugin.md)<!-- -->&lt;any &amp; HOST, any&gt;&gt;; \_pluginManager: [PluginManager](./plugin-tls.pluginmanager.md)<!-- -->&lt;any &amp; HOST, [IPlugin](./plugin-tls.iplugin.md)<!-- -->&lt;any &amp; HOST, any&gt;&gt;; use&lt;Plugin\_2 extends [IPlugin](./plugin-tls.iplugin.md)<!-- -->&lt;any &amp; HOST, any&gt;&gt;(plugin: Plugin\_2, ...options: [FormatUsePluginParameters](./plugin-tls.formatusepluginparameters.md)<!-- -->&lt;Plugin\_2&gt;): void \| ReturnType&lt;Plugin\_2\["used"\]&gt;; } &amp; HOST
61
+ { new (...args: any): { \[x: string\]: any; get pluginManager(): [PluginManager](./plugin-tls.pluginmanager.md)<!-- -->&lt;/\*elided\*/ any &amp; HOST, [IPlugin](./plugin-tls.iplugin.md)<!-- -->&lt;/\*elided\*/ any &amp; HOST, any&gt;&gt;; use&lt;Plugin extends [IPlugin](./plugin-tls.iplugin.md)<!-- -->&lt;/\*elided\*/ any &amp; HOST, any&gt;&gt;(plugin: Plugin, ...options: [FormatUsePluginParameters](./plugin-tls.formatusepluginparameters.md)<!-- -->&lt;Plugin&gt;): void \| [PluginCreatedReturnType](./plugin-tls.plugincreatedreturntype.md)<!-- -->&lt;Plugin&gt;; destroy(): void; }; get pluginManager(): [PluginManager](./plugin-tls.pluginmanager.md)<!-- -->&lt;/\*elided\*/ any &amp; HOST, [IPlugin](./plugin-tls.iplugin.md)<!-- -->&lt;/\*elided\*/ any &amp; HOST, any&gt;&gt;; \_pluginManager: [PluginManager](./plugin-tls.pluginmanager.md)<!-- -->&lt;/\*elided\*/ any &amp; HOST&gt;; use&lt;Plugin extends [IPlugin](./plugin-tls.iplugin.md)<!-- -->&lt;/\*elided\*/ any &amp; HOST, any&gt;&gt;(plugin: Plugin, ...options: [FormatUsePluginParameters](./plugin-tls.formatusepluginparameters.md)<!-- -->&lt;Plugin&gt;): void \| ReturnType&lt;Plugin\["used"\]&gt;; } &amp; HOST
34
62
 
35
63
  ## Remarks
36
64
 
@@ -14,9 +14,37 @@ export declare function becomePluginHost_Proxy<HOST extends new (...args: any) =
14
14
 
15
15
  ## Parameters
16
16
 
17
- | Parameter | Type | Description |
18
- | --- | --- | --- |
19
- | target | HOST | |
17
+ <table><thead><tr><th>
18
+
19
+ Parameter
20
+
21
+
22
+ </th><th>
23
+
24
+ Type
25
+
26
+
27
+ </th><th>
28
+
29
+ Description
30
+
31
+
32
+ </th></tr></thead>
33
+ <tbody><tr><td>
34
+
35
+ target
36
+
37
+
38
+ </td><td>
39
+
40
+ HOST
41
+
42
+
43
+ </td><td>
44
+
45
+
46
+ </td></tr>
47
+ </tbody></table>
20
48
 
21
49
  **Returns:**
22
50
 
@@ -14,8 +14,68 @@ export interface ClassExtenderPrivateMember<C extends new (...args: any) => any>
14
14
 
15
15
  ## Properties
16
16
 
17
- | Property | Modifiers | Type | Description |
18
- | --- | --- | --- | --- |
19
- | [\_constructors](./plugin-tls.classextenderprivatemember._constructors.md) | <code>readonly</code> | ((this: InstanceType&lt;C&gt;, ...args: ConstructorParameters&lt;C&gt;) =&gt; void)\[\] | 保存扩展类自定义的构建函数 |
20
- | [\_destroys](./plugin-tls.classextenderprivatemember._destroys.md) | <code>readonly</code> | ((this: InstanceType&lt;C&gt;) =&gt; void)\[\] | 保存扩展类自定义的销毁函数 |
17
+ <table><thead><tr><th>
18
+
19
+ Property
20
+
21
+
22
+ </th><th>
23
+
24
+ Modifiers
25
+
26
+
27
+ </th><th>
28
+
29
+ Type
30
+
31
+
32
+ </th><th>
33
+
34
+ Description
35
+
36
+
37
+ </th></tr></thead>
38
+ <tbody><tr><td>
39
+
40
+ [\_constructors](./plugin-tls.classextenderprivatemember._constructors.md)
41
+
42
+
43
+ </td><td>
44
+
45
+ `readonly`
46
+
47
+
48
+ </td><td>
49
+
50
+ ((this: InstanceType&lt;C&gt;, ...args: ConstructorParameters&lt;C&gt;) =&gt; void)\[\]
51
+
52
+
53
+ </td><td>
54
+
55
+ 保存扩展类自定义的构建函数
56
+
57
+
58
+ </td></tr>
59
+ <tr><td>
60
+
61
+ [\_destroys](./plugin-tls.classextenderprivatemember._destroys.md)
62
+
63
+
64
+ </td><td>
65
+
66
+ `readonly`
67
+
68
+
69
+ </td><td>
70
+
71
+ ((this: InstanceType&lt;C&gt;) =&gt; void)\[\]
72
+
73
+
74
+ </td><td>
75
+
76
+ 保存扩展类自定义的销毁函数
77
+
78
+
79
+ </td></tr>
80
+ </tbody></table>
21
81
 
@@ -15,7 +15,47 @@ export interface ClassExtenderPrivateMemberWithInit<C extends new (...args: any)
15
15
 
16
16
  ## Properties
17
17
 
18
- | Property | Modifiers | Type | Description |
19
- | --- | --- | --- | --- |
20
- | [\_inits](./plugin-tls.classextenderprivatememberwithinit._inits.md) | <code>readonly</code> | ((this: InstanceType&lt;C&gt;, ...args: InitParams) =&gt; void)\[\] | 保存扩展类中自定义的初始化方法 |
18
+ <table><thead><tr><th>
19
+
20
+ Property
21
+
22
+
23
+ </th><th>
24
+
25
+ Modifiers
26
+
27
+
28
+ </th><th>
29
+
30
+ Type
31
+
32
+
33
+ </th><th>
34
+
35
+ Description
36
+
37
+
38
+ </th></tr></thead>
39
+ <tbody><tr><td>
40
+
41
+ [\_inits](./plugin-tls.classextenderprivatememberwithinit._inits.md)
42
+
43
+
44
+ </td><td>
45
+
46
+ `readonly`
47
+
48
+
49
+ </td><td>
50
+
51
+ ((this: InstanceType&lt;C&gt;, ...args: InitParams) =&gt; void)\[\]
52
+
53
+
54
+ </td><td>
55
+
56
+ 保存扩展类中自定义的初始化方法
57
+
58
+
59
+ </td></tr>
60
+ </tbody></table>
21
61
 
@@ -12,9 +12,37 @@ new (...args: Arg): Instance;
12
12
 
13
13
  ## Parameters
14
14
 
15
- | Parameter | Type | Description |
16
- | --- | --- | --- |
17
- | args | Arg | |
15
+ <table><thead><tr><th>
16
+
17
+ Parameter
18
+
19
+
20
+ </th><th>
21
+
22
+ Type
23
+
24
+
25
+ </th><th>
26
+
27
+ Description
28
+
29
+
30
+ </th></tr></thead>
31
+ <tbody><tr><td>
32
+
33
+ args
34
+
35
+
36
+ </td><td>
37
+
38
+ Arg
39
+
40
+
41
+ </td><td>
42
+
43
+
44
+ </td></tr>
45
+ </tbody></table>
18
46
 
19
47
  **Returns:**
20
48
 
@@ -14,7 +14,25 @@ export interface ClassType<Arg extends any[] = any, Instance = any>
14
14
 
15
15
  ## Methods
16
16
 
17
- | Method | Description |
18
- | --- | --- |
19
- | [(new)(args)](./plugin-tls.classtype._new_.md) | |
17
+ <table><thead><tr><th>
18
+
19
+ Method
20
+
21
+
22
+ </th><th>
23
+
24
+ Description
25
+
26
+
27
+ </th></tr></thead>
28
+ <tbody><tr><td>
29
+
30
+ [(new)(args)](./plugin-tls.classtype._new_.md)
31
+
32
+
33
+ </td><td>
34
+
35
+
36
+ </td></tr>
37
+ </tbody></table>
20
38
 
@@ -18,9 +18,37 @@ export declare function createCallerOfPrivateMemberOfExtend<C extends ClassType>
18
18
 
19
19
  ## Parameters
20
20
 
21
- | Parameter | Type | Description |
22
- | --- | --- | --- |
23
- | cla | C | |
21
+ <table><thead><tr><th>
22
+
23
+ Parameter
24
+
25
+
26
+ </th><th>
27
+
28
+ Type
29
+
30
+
31
+ </th><th>
32
+
33
+ Description
34
+
35
+
36
+ </th></tr></thead>
37
+ <tbody><tr><td>
38
+
39
+ cla
40
+
41
+
42
+ </td><td>
43
+
44
+ C
45
+
46
+
47
+ </td><td>
48
+
49
+
50
+ </td></tr>
51
+ </tbody></table>
24
52
 
25
53
  **Returns:**
26
54
 
@@ -14,9 +14,39 @@ export declare function createExtendTarget<C extends ClassType>(cla: C): <E>(ext
14
14
 
15
15
  ## Parameters
16
16
 
17
- | Parameter | Type | Description |
18
- | --- | --- | --- |
19
- | cla | C | 扩展的目标,也用作 this 的类型 |
17
+ <table><thead><tr><th>
18
+
19
+ Parameter
20
+
21
+
22
+ </th><th>
23
+
24
+ Type
25
+
26
+
27
+ </th><th>
28
+
29
+ Description
30
+
31
+
32
+ </th></tr></thead>
33
+ <tbody><tr><td>
34
+
35
+ cla
36
+
37
+
38
+ </td><td>
39
+
40
+ C
41
+
42
+
43
+ </td><td>
44
+
45
+ 扩展的目标,也用作 this 的类型
46
+
47
+
48
+ </td></tr>
49
+ </tbody></table>
20
50
 
21
51
  **Returns:**
22
52
 
@@ -9,18 +9,48 @@
9
9
  **Signature:**
10
10
 
11
11
  ```typescript
12
- export declare function createExtendTargetWithInit<C extends ClassType>(cla: C): <E>(ext: E & ThisType<InstanceType<C> & E> & PrivateMemberOfExtendWithInit<C, any>) => ClassType<ConstructorParameters<C>, E & ThisType<InstanceType<C> & E>>;
12
+ export declare function createExtendTargetWithInit<C extends ClassType>(cla: C): <E>(ext: E & ThisType<InstanceType<C> & E> & PrivateMemberOfExtendWithInit<C>) => ClassType<ConstructorParameters<C>, E & ThisType<InstanceType<C> & E>>;
13
13
  ```
14
14
 
15
15
  ## Parameters
16
16
 
17
- | Parameter | Type | Description |
18
- | --- | --- | --- |
19
- | cla | C | 扩展的目标,也用作 this 的类型 |
17
+ <table><thead><tr><th>
18
+
19
+ Parameter
20
+
21
+
22
+ </th><th>
23
+
24
+ Type
25
+
26
+
27
+ </th><th>
28
+
29
+ Description
30
+
31
+
32
+ </th></tr></thead>
33
+ <tbody><tr><td>
34
+
35
+ cla
36
+
37
+
38
+ </td><td>
39
+
40
+ C
41
+
42
+
43
+ </td><td>
44
+
45
+ 扩展的目标,也用作 this 的类型
46
+
47
+
48
+ </td></tr>
49
+ </tbody></table>
20
50
 
21
51
  **Returns:**
22
52
 
23
- &lt;E&gt;(ext: E &amp; ThisType&lt;InstanceType&lt;C&gt; &amp; E&gt; &amp; [PrivateMemberOfExtendWithInit](./plugin-tls.privatememberofextendwithinit.md)<!-- -->&lt;C, any&gt;) =&gt; [ClassType](./plugin-tls.classtype.md)<!-- -->&lt;ConstructorParameters&lt;C&gt;, E &amp; ThisType&lt;InstanceType&lt;C&gt; &amp; E&gt;&gt;
53
+ &lt;E&gt;(ext: E &amp; ThisType&lt;InstanceType&lt;C&gt; &amp; E&gt; &amp; [PrivateMemberOfExtendWithInit](./plugin-tls.privatememberofextendwithinit.md)<!-- -->&lt;C&gt;) =&gt; [ClassType](./plugin-tls.classtype.md)<!-- -->&lt;ConstructorParameters&lt;C&gt;, E &amp; ThisType&lt;InstanceType&lt;C&gt; &amp; E&gt;&gt;
24
54
 
25
55
  可以用于 扩展目标 的便利函数
26
56
 
@@ -14,9 +14,37 @@ export declare function createMixinTarget<T>(target: T): <M>(m: M & ThisType<T &
14
14
 
15
15
  ## Parameters
16
16
 
17
- | Parameter | Type | Description |
18
- | --- | --- | --- |
19
- | target | T | |
17
+ <table><thead><tr><th>
18
+
19
+ Parameter
20
+
21
+
22
+ </th><th>
23
+
24
+ Type
25
+
26
+
27
+ </th><th>
28
+
29
+ Description
30
+
31
+
32
+ </th></tr></thead>
33
+ <tbody><tr><td>
34
+
35
+ target
36
+
37
+
38
+ </td><td>
39
+
40
+ T
41
+
42
+
43
+ </td><td>
44
+
45
+
46
+ </td></tr>
47
+ </tbody></table>
20
48
 
21
49
  **Returns:**
22
50
 
@@ -9,20 +9,92 @@
9
9
  **Signature:**
10
10
 
11
11
  ```typescript
12
- export declare function createPluginHost<HOST, Plugin extends IPlugin<HOST, any> = IPlugin<HOST, any>>(): {
13
- new (): {
14
- readonly pluginManager: PluginManager<any, IPlugin<any, any>>;
15
- use<P extends Plugin>(plugin: P, ...options: FormatUsePluginParameters<P>): void | PluginCreatedReturnType<P>;
16
- destroy(): void;
12
+ export declare function createPluginHost<HOST, P extends new (...args: any) => any, Plugin extends IPlugin<HOST, any> = IPlugin<HOST, any>>(ParentClass: P): {
13
+ new (...args: any): {
14
+ [x: string]: any;
15
+ get pluginManager(): PluginManager<any, IPlugin<any, any>>;
16
+ use<P_1 extends Plugin>(plugin: P_1, ...options: FormatUsePluginParameters<P_1>): PluginCreatedReturnType<P_1> | void;
17
+ destroyThis(): any;
17
18
  };
18
- readonly pluginManager: PluginManager<typeof PluginHost & HOST, Plugin>;
19
- _pluginManager: PluginManager<typeof PluginHost & HOST, Plugin>;
19
+ get pluginManager(): PluginManager<typeof PluginHost & HOST & (new (...args: any) => {
20
+ [x: string]: any;
21
+ readonly isDestroyed: boolean;
22
+ _isDestroyed: boolean;
23
+ _destroyers: import("@gby/destroyable").FunDestroyer[];
24
+ disposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
25
+ cancelDisposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
26
+ disposeObj<T extends any>(obj: T, sync?: boolean): T;
27
+ cancelDisposeObj<T extends any>(obj: T): T;
28
+ dispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
29
+ dispose<T extends any>(obj: T, asyncDestroy?: boolean): T;
30
+ dispose<T extends any | import("@gby/destroyable").FunDestroyer>(objOrFun: T, asyncDestroy?: boolean): T;
31
+ cancelDispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
32
+ cancelDispose<T extends any>(obj: T): T;
33
+ cancelDispose<T extends any | import("@gby/destroyable").FunDestroyer>(objOrFun: T): T;
34
+ destroyThis(): void;
35
+ destroy(): true | undefined;
36
+ destroyAsync(): Promise<true | undefined>;
37
+ }) & P, Plugin>;
38
+ _pluginManager: PluginManager<typeof PluginHost & HOST & (new (...args: any) => {
39
+ [x: string]: any;
40
+ readonly isDestroyed: boolean;
41
+ _isDestroyed: boolean;
42
+ _destroyers: import("@gby/destroyable").FunDestroyer[];
43
+ disposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
44
+ cancelDisposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
45
+ disposeObj<T extends any>(obj: T, sync?: boolean): T;
46
+ cancelDisposeObj<T extends any>(obj: T): T;
47
+ dispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
48
+ dispose<T extends any>(obj: T, asyncDestroy?: boolean): T;
49
+ dispose<T extends any | import("@gby/destroyable").FunDestroyer>(objOrFun: T, asyncDestroy?: boolean): T;
50
+ cancelDispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
51
+ cancelDispose<T extends any>(obj: T): T;
52
+ cancelDispose<T extends any | import("@gby/destroyable").FunDestroyer>(objOrFun: T): T;
53
+ destroyThis(): void;
54
+ destroy(): true | undefined;
55
+ destroyAsync(): Promise<true | undefined>;
56
+ }) & P, Plugin>;
20
57
  use<P_1 extends Plugin>(plugin: P_1, ...options: FormatUsePluginParameters<P_1>): void | ReturnType<P_1["used"]>;
21
- };
58
+ } & P;
22
59
  ```
60
+
61
+ ## Parameters
62
+
63
+ <table><thead><tr><th>
64
+
65
+ Parameter
66
+
67
+
68
+ </th><th>
69
+
70
+ Type
71
+
72
+
73
+ </th><th>
74
+
75
+ Description
76
+
77
+
78
+ </th></tr></thead>
79
+ <tbody><tr><td>
80
+
81
+ ParentClass
82
+
83
+
84
+ </td><td>
85
+
86
+ P
87
+
88
+
89
+ </td><td>
90
+
91
+
92
+ </td></tr>
93
+ </tbody></table>
94
+
23
95
  **Returns:**
24
96
 
25
- { new (): { readonly pluginManager: [PluginManager](./plugin-tls.pluginmanager.md)<!-- -->&lt;any, [IPlugin](./plugin-tls.iplugin.md)<!-- -->&lt;any, any&gt;&gt;; use&lt;P extends Plugin&gt;(plugin: P, ...options: [FormatUsePluginParameters](./plugin-tls.formatusepluginparameters.md)<!-- -->&lt;P&gt;): void \| [PluginCreatedReturnType](./plugin-tls.plugincreatedreturntype.md)<!-- -->&lt;P&gt;; destroy(): void; }; readonly pluginManager: [PluginManager](./plugin-tls.pluginmanager.md)<!-- -->&lt;typeof [PluginHost](./plugin-tls.pluginhost.md) &amp; HOST, Plugin&gt;; \_pluginManager: [PluginManager](./plugin-tls.pluginmanager.md)<!-- -->&lt;typeof [PluginHost](./plugin-tls.pluginhost.md) &amp; HOST, Plugin&gt;; use&lt;P\_1 extends Plugin&gt;(plugin: P\_1, ...options: [FormatUsePluginParameters](./plugin-tls.formatusepluginparameters.md)<!-- -->&lt;P\_1&gt;): void \| ReturnType&lt;P\_1\["used"\]&gt;; }
97
+ { new (...args: any): { \[x: string\]: any; get pluginManager(): [PluginManager](./plugin-tls.pluginmanager.md)<!-- -->&lt;any, [IPlugin](./plugin-tls.iplugin.md)<!-- -->&lt;any, any&gt;&gt;; use&lt;P\_1 extends Plugin&gt;(plugin: P\_1, ...options: [FormatUsePluginParameters](./plugin-tls.formatusepluginparameters.md)<!-- -->&lt;P\_1&gt;): [PluginCreatedReturnType](./plugin-tls.plugincreatedreturntype.md)<!-- -->&lt;P\_1&gt; \| void; destroyThis(): any; }; get pluginManager(): [PluginManager](./plugin-tls.pluginmanager.md)<!-- -->&lt;typeof [PluginHost](./plugin-tls.pluginhost.md) &amp; HOST &amp; (new (...args: any) =&gt; { \[x: string\]: any; readonly isDestroyed: boolean; \_isDestroyed: boolean; \_destroyers: import("@gby/destroyable").FunDestroyer\[\]; disposeFun&lt;T extends import("@gby/destroyable").FunDestroyer&gt;(fun: T): T; cancelDisposeFun&lt;T extends import("@gby/destroyable").FunDestroyer&gt;(fun: T): T; disposeObj&lt;T extends any&gt;(obj: T, sync?: boolean): T; cancelDisposeObj&lt;T extends any&gt;(obj: T): T; dispose&lt;T extends import("@gby/destroyable").FunDestroyer&gt;(fun: T): T; dispose&lt;T extends any&gt;(obj: T, asyncDestroy?: boolean): T; dispose&lt;T extends any \| import("@gby/destroyable").FunDestroyer&gt;(objOrFun: T, asyncDestroy?: boolean): T; cancelDispose&lt;T extends import("@gby/destroyable").FunDestroyer&gt;(fun: T): T; cancelDispose&lt;T extends any&gt;(obj: T): T; cancelDispose&lt;T extends any \| import("@gby/destroyable").FunDestroyer&gt;(objOrFun: T): T; destroyThis(): void; destroy(): true \| undefined; destroyAsync(): Promise&lt;true \| undefined&gt;; }) &amp; P, Plugin&gt;; \_pluginManager: [PluginManager](./plugin-tls.pluginmanager.md)<!-- -->&lt;typeof [PluginHost](./plugin-tls.pluginhost.md) &amp; HOST &amp; (new (...args: any) =&gt; { \[x: string\]: any; readonly isDestroyed: boolean; \_isDestroyed: boolean; \_destroyers: import("@gby/destroyable").FunDestroyer\[\]; disposeFun&lt;T extends import("@gby/destroyable").FunDestroyer&gt;(fun: T): T; cancelDisposeFun&lt;T extends import("@gby/destroyable").FunDestroyer&gt;(fun: T): T; disposeObj&lt;T extends any&gt;(obj: T, sync?: boolean): T; cancelDisposeObj&lt;T extends any&gt;(obj: T): T; dispose&lt;T extends import("@gby/destroyable").FunDestroyer&gt;(fun: T): T; dispose&lt;T extends any&gt;(obj: T, asyncDestroy?: boolean): T; dispose&lt;T extends any \| import("@gby/destroyable").FunDestroyer&gt;(objOrFun: T, asyncDestroy?: boolean): T; cancelDispose&lt;T extends import("@gby/destroyable").FunDestroyer&gt;(fun: T): T; cancelDispose&lt;T extends any&gt;(obj: T): T; cancelDispose&lt;T extends any \| import("@gby/destroyable").FunDestroyer&gt;(objOrFun: T): T; destroyThis(): void; destroy(): true \| undefined; destroyAsync(): Promise&lt;true \| undefined&gt;; }) &amp; P, Plugin&gt;; use&lt;P\_1 extends Plugin&gt;(plugin: P\_1, ...options: [FormatUsePluginParameters](./plugin-tls.formatusepluginparameters.md)<!-- -->&lt;P\_1&gt;): void \| ReturnType&lt;P\_1\["used"\]&gt;; } &amp; P
26
98
 
27
99
 
28
100
  ## Remarks
@@ -17,10 +17,51 @@ export declare function createPropertySetter(target: any, props: any): {
17
17
 
18
18
  ## Parameters
19
19
 
20
- | Parameter | Type | Description |
21
- | --- | --- | --- |
22
- | target | any | |
23
- | props | any | |
20
+ <table><thead><tr><th>
21
+
22
+ Parameter
23
+
24
+
25
+ </th><th>
26
+
27
+ Type
28
+
29
+
30
+ </th><th>
31
+
32
+ Description
33
+
34
+
35
+ </th></tr></thead>
36
+ <tbody><tr><td>
37
+
38
+ target
39
+
40
+
41
+ </td><td>
42
+
43
+ any
44
+
45
+
46
+ </td><td>
47
+
48
+
49
+ </td></tr>
50
+ <tr><td>
51
+
52
+ props
53
+
54
+
55
+ </td><td>
56
+
57
+ any
58
+
59
+
60
+ </td><td>
61
+
62
+
63
+ </td></tr>
64
+ </tbody></table>
24
65
 
25
66
  **Returns:**
26
67