plugin-tls 2.0.1 → 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 (80) hide show
  1. package/dist/extend/extend.d.ts +5 -13
  2. package/dist/extend/extend.d.ts.map +1 -1
  3. package/dist/extend/index.d.ts +3 -0
  4. package/dist/extend/index.d.ts.map +1 -0
  5. package/dist/extend/mixin.d.ts.map +1 -1
  6. package/dist/index.d.ts +6 -12
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +586 -263
  9. package/dist/index.umd.cjs +1 -1
  10. package/dist/options-manager/index.d.ts +6 -0
  11. package/dist/options-manager/index.d.ts.map +1 -0
  12. package/dist/options-plugin-host/index.d.ts +3 -0
  13. package/dist/options-plugin-host/index.d.ts.map +1 -0
  14. package/dist/options-plugin-host/tier-mode-options/TierModeOptionsPluginHost.d.ts +28 -0
  15. package/dist/options-plugin-host/tier-mode-options/TierModeOptionsPluginHost.d.ts.map +1 -0
  16. package/dist/options-plugin-host/tier-mode-options/TierModeOptionsPluginHostEventEmitter.d.ts +29 -0
  17. package/dist/options-plugin-host/tier-mode-options/TierModeOptionsPluginHostEventEmitter.d.ts.map +1 -0
  18. package/dist/options-plugin-host/tier-mode-options/TierModeOptionsPluginHostEventTarget.d.ts +28 -0
  19. package/dist/options-plugin-host/tier-mode-options/TierModeOptionsPluginHostEventTarget.d.ts.map +1 -0
  20. package/dist/options-plugin-host/tier-mode-options/createTierModeOptionsPluginHost.d.ts +58 -0
  21. package/dist/options-plugin-host/tier-mode-options/createTierModeOptionsPluginHost.d.ts.map +1 -0
  22. package/dist/options-plugin-host/tier-mode-options/index.d.ts +6 -0
  23. package/dist/options-plugin-host/tier-mode-options/index.d.ts.map +1 -0
  24. package/dist/options-plugin-host/tier-mode-options/type.d.ts +7 -0
  25. package/dist/options-plugin-host/tier-mode-options/type.d.ts.map +1 -0
  26. package/dist/options-plugin-host/tier-options/TierOptionsPluginHost.d.ts +25 -0
  27. package/dist/options-plugin-host/tier-options/TierOptionsPluginHost.d.ts.map +1 -0
  28. package/dist/options-plugin-host/tier-options/TierOptionsPluginHostEventEmitter.d.ts +26 -0
  29. package/dist/options-plugin-host/tier-options/TierOptionsPluginHostEventEmitter.d.ts.map +1 -0
  30. package/dist/options-plugin-host/tier-options/TierOptionsPluginHostEventTarget.d.ts +25 -0
  31. package/dist/options-plugin-host/tier-options/TierOptionsPluginHostEventTarget.d.ts.map +1 -0
  32. package/dist/options-plugin-host/tier-options/createTierOptionsPluginHost.d.ts +55 -0
  33. package/dist/options-plugin-host/tier-options/createTierOptionsPluginHost.d.ts.map +1 -0
  34. package/dist/options-plugin-host/tier-options/index.d.ts +5 -0
  35. package/dist/options-plugin-host/tier-options/index.d.ts.map +1 -0
  36. package/dist/plugin-host/PluginHost.d.ts +41 -226
  37. package/dist/plugin-host/PluginHost.d.ts.map +1 -1
  38. package/dist/plugin-host/PluginHostEventEmitter.d.ts +64 -0
  39. package/dist/plugin-host/PluginHostEventEmitter.d.ts.map +1 -0
  40. package/dist/plugin-host/PluginHostEventTarget.d.ts +62 -0
  41. package/dist/plugin-host/PluginHostEventTarget.d.ts.map +1 -0
  42. package/dist/plugin-host/createPluginHost.d.ts +87 -0
  43. package/dist/plugin-host/createPluginHost.d.ts.map +1 -0
  44. package/dist/plugin-host/decorator.d.ts +177 -0
  45. package/dist/plugin-host/decorator.d.ts.map +1 -0
  46. package/dist/plugin-host/index.d.ts +7 -0
  47. package/dist/plugin-host/index.d.ts.map +1 -0
  48. package/dist/plugin-host/type.d.ts +52 -0
  49. package/dist/plugin-host/type.d.ts.map +1 -0
  50. package/dist/plugin-manager/IPlugin.d.ts +47 -0
  51. package/dist/plugin-manager/IPlugin.d.ts.map +1 -0
  52. package/dist/plugin-manager/PluginManager.d.ts +27 -80
  53. package/dist/plugin-manager/PluginManager.d.ts.map +1 -1
  54. package/dist/plugin-manager/index.d.ts +3 -0
  55. package/dist/plugin-manager/index.d.ts.map +1 -0
  56. package/dist/plugins/index.d.ts +3 -0
  57. package/dist/plugins/index.d.ts.map +1 -0
  58. package/dist/plugins/tier-mode-options/decorator.d.ts +14 -0
  59. package/dist/plugins/tier-mode-options/decorator.d.ts.map +1 -0
  60. package/dist/plugins/tier-mode-options/plugin.d.ts +3 -0
  61. package/dist/plugins/tier-mode-options/plugin.d.ts.map +1 -0
  62. package/dist/plugins/tier-mode-options/type.d.ts +35 -0
  63. package/dist/plugins/tier-mode-options/type.d.ts.map +1 -0
  64. package/dist/plugins/tier-mode-options-plugin.d.ts +4 -0
  65. package/dist/plugins/tier-mode-options-plugin.d.ts.map +1 -0
  66. package/dist/plugins/tier-options/decorator.d.ts +14 -0
  67. package/dist/plugins/tier-options/decorator.d.ts.map +1 -0
  68. package/dist/plugins/tier-options/plugin.d.ts +11 -0
  69. package/dist/plugins/tier-options/plugin.d.ts.map +1 -0
  70. package/dist/plugins/tier-options/type.d.ts +36 -0
  71. package/dist/plugins/tier-options/type.d.ts.map +1 -0
  72. package/dist/plugins/tier-options-plugin.d.ts +4 -0
  73. package/dist/plugins/tier-options-plugin.d.ts.map +1 -0
  74. package/package.json +3 -3
  75. package/dist/plugin-host/TierModeOptionsPluginHost.d.ts +0 -167
  76. package/dist/plugin-host/TierModeOptionsPluginHost.d.ts.map +0 -1
  77. package/dist/plugin-host/TierOptionsPluginHost.d.ts +0 -153
  78. package/dist/plugin-host/TierOptionsPluginHost.d.ts.map +0 -1
  79. package/dist/plugin-manager/PluginManagerWithInit.d.ts +0 -36
  80. package/dist/plugin-manager/PluginManagerWithInit.d.ts.map +0 -1
@@ -1,261 +1,76 @@
1
1
  import { PluginManager } from "../plugin-manager/PluginManager";
2
- import type { IPlugin, PluginCreatedReturnType, PluginUseReturnType, GetNormalizePluginOptions, FormatUsePluginParameters } from "../plugin-manager/PluginManager";
3
- import type { ReplaceConstructorReturn } from "../extend/mixin";
4
- import { WebDestroyable } from "@gby/destroyable";
5
- /**
6
- * 插件宿主的接口
7
- *
8
- * @typeParam HostClassType 插件宿主类的类型
9
- */
10
- export interface IPluginHost<HostClassType extends IPluginHostConstructor<any, Plugin>, Plugin extends IPlugin<HostClassType, any> = IPlugin<HostClassType, any>> {
11
- /**
12
- * PluginHost 的插件管理器
13
- */
14
- get pluginManager(): HostClassType["pluginManager"];
15
- /**
16
- * 实例的注册插件的方法
17
- * @param plugin
18
- * @param options
19
- * @returns
20
- */
21
- use<P extends Plugin>(plugin: P, options: GetNormalizePluginOptions<P>): PluginCreatedReturnType<P> | void;
22
- }
23
- /**
24
- * 插件宿主构造函数的接口
25
- * @typeParam HostClassType 插件宿主类的类型
26
- */
27
- export interface IPluginHostConstructor<HostClassType, Plugin extends IPlugin<HostClassType, any> = IPlugin<HostClassType, any>> {
28
- /**
29
- * PluginHost 的插件管理器
30
- */
31
- get pluginManager(): PluginManager<HostClassType, Plugin>;
32
- /**
33
- * {@inheritDoc PluginManager.use}
34
- */
35
- use<P extends Plugin>(plugin: P, options: GetNormalizePluginOptions<P>): PluginUseReturnType<P> | void;
36
- }
2
+ import type { IPlugin, PluginUseArgs, PluginUseReturn } from "../plugin-manager/index";
3
+ import { Destroyable } from "@gby/destroyable";
4
+ import type { IPluginHost } from "./type";
5
+ import type { ClassType } from "type-tls";
37
6
  /**
38
7
  * 插件的宿主
39
8
  *
40
9
  * @remarks
41
- * 插件宿主 就是 拥有插件机制的宿主
42
10
  *
43
11
  * 子类需要在构建函数中调用 `this.pluginManager.created(this);`
44
12
  *
45
13
  * 之所以没写在该类中的函数中,是因为 `this.pluginManager.created(this)` 通常会在构建函数执行的最后时才调用;
46
14
  * 如果像下面写在该类的构建函数中,然后子类通过 `super()` 来调用,这样就会导致 `this.pluginManager.created(this)` 不是在最后的执行;
15
+ *
16
+ *
17
+ * 将泛型设计成 <Host,HostClass = ClassType<Host>> 而不是 <HostClass> 的原因是:
18
+ * 如果设计为 <HostClass> ,则在子类中需要
19
+ * ```ts
20
+ * class SubPluginHost extends PluginHost<typeof SubPluginHost> {}
21
+ * ```
22
+ * 而这种写法 ts 会报循环引用自身的错误;
23
+ * 改成 <Host,HostClass = ClassType<Host>> 后,子类中只需像下面这样写,就不会报错了;
24
+ * ```ts
25
+ * class SubPluginHost extends PluginHost<SubPluginHost> {}
26
+ * ```
27
+ * 而且这样
28
+ * 1. 子类可以通过继承来实现自定义的 Host
29
+ * 2. 子类可以通过继承来实现自定义的 HostClass
47
30
  */
48
- export declare class PluginHost<Plugin extends IPlugin<typeof PluginHost, any> = IPlugin<typeof PluginHost, any>> extends WebDestroyable {
31
+ export declare class PluginHost<Host, HostClass = ClassType<Host>> extends Destroyable implements IPluginHost<Host, HostClass> {
32
+ /**
33
+ * 是否使用独立的插件管理器
34
+ * @defaultValue false
35
+ */
36
+ static isolatedPluginManager: boolean;
49
37
  /**
50
38
  * 插件管理器
51
39
  */
52
- static get pluginManager(): PluginManager<any, IPlugin<any, any>>;
53
- protected static _pluginManager: PluginManager<any>;
40
+ static get pluginManager(): PluginManager<any, any>;
41
+ static _pluginManager: PluginManager<any, any>;
54
42
  /**
55
43
  * 插件管理器 {@link PluginHost.pluginManager}
56
44
  */
57
- get pluginManager(): PluginManager<any, IPlugin<any, any>>;
45
+ get pluginManager(): PluginManager<Host, HostClass>;
58
46
  /**
59
47
  * {@inheritDoc PluginManager.use}
60
48
  */
61
- static use<Plugin extends IPlugin<typeof PluginHost, any>>(plugin: Plugin, ...options: FormatUsePluginParameters<Plugin>): void | ReturnType<Plugin["used"]>;
49
+ static use<Plugin extends IPlugin<any, any>>(plugin: Plugin, ...args: PluginUseArgs<Plugin>): ReturnType<Plugin["onUse"]>;
62
50
  /**
63
51
  * 需要在子类中调用
64
52
  *
65
- * 之所以没写在该类中的函数中,是因为 `this.pluginManager.created(this)` 通常会在构建函数执行的最后时才调用;
66
- * 如果像下面写在该类的构建函数中,然后子类通过 `super()` 来调用,这样就会导致 `this.pluginManager.created(this)` 不是在最后的执行;
53
+ * 之所以没写在该类中的函数中,是因为 `this.pluginManager.onCreate(this,...args)` 通常会在构建函数执行的最后时才调用;
54
+ * 如果像下面写在该类的构建函数中,然后子类通过 `super()` 来调用,这样就会导致 `this.pluginManager.onCreate(this,...args)` 不是在最后的执行;
67
55
  */
68
56
  /**
69
57
  * 实例的注册插件的方法
70
58
  * @param plugin
71
- * @param options
59
+ * @param args
72
60
  * @returns
73
61
  */
74
- use<P extends Plugin>(plugin: P, ...options: FormatUsePluginParameters<P>): PluginCreatedReturnType<P> | void;
62
+ use<P extends IPlugin<Host, HostClass>>(plugin: P, ...args: PluginUseArgs<P>): PluginUseReturn<P>;
63
+ /**
64
+ * 初始化实例
65
+ * @remarks
66
+ * 会调用 {@link PluginManager.onInit}
67
+ * @param args
68
+ */
69
+ init(...args: any): Promise<void>;
75
70
  /**
76
71
  * 销毁实例
77
72
  * @returns
78
73
  */
79
- destroyThis(): void;
74
+ destroyThis(): Promise<void>;
80
75
  }
81
- /**
82
- * 创建插件的缩主类
83
- *
84
- * @remarks
85
- * 比 直接使用 PluginHost 提供了完善的类型推导
86
- *
87
- * 子类需要在构建函数中调用 `this.pluginManager.created(this);`
88
- *
89
- * 之所以没写在该类中的函数中,是因为 `this.pluginManager.created(this)` 通常会在构建函数执行的最后时才调用;
90
- * 如果像下面写在该类的构建函数中,然后子类通过 `super()` 来调用,这样就会导致 `this.pluginManager.created(this)` 不是在最后的执行;
91
- * @returns
92
- */
93
- export declare function createPluginHost<HOST, P extends new (...args: any) => Object, Plugin extends IPlugin<HOST, any> = IPlugin<HOST, any>>(ParentClass: P): {
94
- new (...args: any): {
95
- /**
96
- * 插件管理器 {@link CEarth.pluginManager}
97
- */
98
- get pluginManager(): PluginManager<any, IPlugin<any, any>>;
99
- /**
100
- /**
101
- * 实例的注册插件的方法
102
- * @param plugin
103
- * @param options
104
- * @returns
105
- */
106
- use<P_1 extends Plugin>(plugin: P_1, ...options: FormatUsePluginParameters<P_1>): PluginCreatedReturnType<P_1> | void;
107
- /**
108
- * 销毁实例
109
- * @returns
110
- */
111
- destroyThis(): void;
112
- readonly isDestroyed: boolean;
113
- _isDestroyed: boolean;
114
- _destroyers: import("@gby/destroyable").FunDestroyer[];
115
- disposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
116
- cancelDisposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
117
- disposeObj<T extends unknown>(obj: T, sync?: boolean): T;
118
- cancelDisposeObj<T extends unknown>(obj: T): T;
119
- dispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
120
- dispose<T extends unknown>(obj: T, asyncDestroy?: boolean): T;
121
- dispose<T extends unknown>(objOrFun: T, asyncDestroy?: boolean): T;
122
- cancelDispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
123
- cancelDispose<T extends unknown>(obj: T): T;
124
- cancelDispose<T extends unknown>(objOrFun: T): T;
125
- destroy(): true | undefined;
126
- destroyAsync(): Promise<true | undefined>;
127
- constructor: Function;
128
- toString: (() => string) & (() => string);
129
- toLocaleString: (() => string) & (() => string);
130
- valueOf: (() => Object) & (() => Object);
131
- hasOwnProperty: ((v: PropertyKey) => boolean) & ((v: PropertyKey) => boolean);
132
- isPrototypeOf: ((v: Object) => boolean) & ((v: Object) => boolean);
133
- propertyIsEnumerable: ((v: PropertyKey) => boolean) & ((v: PropertyKey) => boolean);
134
- };
135
- /**
136
- * PluginHost 的插件管理器
137
- */
138
- get pluginManager(): PluginManager<typeof PluginHost & HOST & (new (...args: any) => {
139
- readonly isDestroyed: boolean;
140
- _isDestroyed: boolean;
141
- _destroyers: import("@gby/destroyable").FunDestroyer[];
142
- disposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
143
- cancelDisposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
144
- disposeObj<T extends any>(obj: T, sync?: boolean): T;
145
- cancelDisposeObj<T extends any>(obj: T): T;
146
- dispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
147
- dispose<T extends any>(obj: T, asyncDestroy?: boolean): T;
148
- dispose<T extends any | import("@gby/destroyable").FunDestroyer>(objOrFun: T, asyncDestroy?: boolean): T;
149
- cancelDispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
150
- cancelDispose<T extends any>(obj: T): T;
151
- cancelDispose<T extends any | import("@gby/destroyable").FunDestroyer>(objOrFun: T): T;
152
- destroyThis(): void;
153
- destroy(): true | undefined;
154
- destroyAsync(): Promise<true | undefined>;
155
- constructor: Function;
156
- toString(): string;
157
- toLocaleString(): string;
158
- valueOf(): Object;
159
- hasOwnProperty(v: PropertyKey): boolean;
160
- isPrototypeOf(v: Object): boolean;
161
- propertyIsEnumerable(v: PropertyKey): boolean;
162
- }) & P, Plugin>;
163
- _pluginManager: PluginManager<typeof PluginHost & HOST & (new (...args: any) => {
164
- readonly isDestroyed: boolean;
165
- _isDestroyed: boolean;
166
- _destroyers: import("@gby/destroyable").FunDestroyer[];
167
- disposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
168
- cancelDisposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
169
- disposeObj<T extends any>(obj: T, sync?: boolean): T;
170
- cancelDisposeObj<T extends any>(obj: T): T;
171
- dispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
172
- dispose<T extends any>(obj: T, asyncDestroy?: boolean): T;
173
- dispose<T extends any | import("@gby/destroyable").FunDestroyer>(objOrFun: T, asyncDestroy?: boolean): T;
174
- cancelDispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
175
- cancelDispose<T extends any>(obj: T): T;
176
- cancelDispose<T extends any | import("@gby/destroyable").FunDestroyer>(objOrFun: T): T;
177
- destroyThis(): void;
178
- destroy(): true | undefined;
179
- destroyAsync(): Promise<true | undefined>;
180
- constructor: Function;
181
- toString(): string;
182
- toLocaleString(): string;
183
- valueOf(): Object;
184
- hasOwnProperty(v: PropertyKey): boolean;
185
- isPrototypeOf(v: Object): boolean;
186
- propertyIsEnumerable(v: PropertyKey): boolean;
187
- }) & P, Plugin>;
188
- /**
189
- * {@inheritDoc PluginManager.use}
190
- */
191
- use<P_1 extends Plugin>(plugin: P_1, ...options: FormatUsePluginParameters<P_1>): void | ReturnType<P_1["used"]>;
192
- } & P;
193
- /**
194
- * 将 HOST 变成插件宿主类型
195
- */
196
- export type BecomePluginHost<HOST extends new (...args: any) => Object, Plugin extends IPlugin<HOST, any> = IPlugin<HOST, any>> = HOST & IPluginHostConstructor<HOST & IPluginHostConstructor<HOST, Plugin>, Plugin> & ReplaceConstructorReturn<HOST, InstanceType<HOST> & IPluginHost<HOST & IPluginHostConstructor<HOST & IPluginHostConstructor<HOST, Plugin>, Plugin>>>;
197
- /**
198
- * 变成插件宿主
199
- * @remarks
200
- * 也可作为装饰器
201
- *
202
- * 子类需要在构建函数中调用 `this.pluginManager.created(this);`
203
- *
204
- * 之所以没写在该类中的函数中,是因为 `this.pluginManager.created(this)` 通常会在构建函数执行的最后时才调用;
205
- * 如果像下面写在该类的构建函数中,然后子类通过 `super()` 来调用,这样就会导致 `this.pluginManager.created(this)` 不是在最后的执行;
206
- * @param target
207
- * @param context
208
- * @returns
209
- */
210
- export declare function becomePluginHost<HOST extends new (...args: any) => Object, Plugin extends IPlugin<HOST, any> = IPlugin<HOST, any>>(target: HOST): BecomePluginHost<HOST, Plugin>;
211
- /**
212
- * 变成插件宿主
213
- * @remarks
214
- * 也可作为装饰器
215
- * @param target
216
- * @param context
217
- * @returns
218
- */
219
- export declare function becomePluginHost_Proxy<HOST extends new (...args: any) => Object, Plugin extends IPlugin<HOST, any> = IPlugin<HOST, any>>(target: HOST): HOST;
220
- /**
221
- * 插件缩主类的装饰器(继承版)
222
- * @remarks
223
- * 通过继承实现
224
- */
225
- export declare function becomePluginHost_Extends<HOST extends new (...args: any) => Object>(target: HOST): {
226
- new (...args: any): {
227
- /**
228
- * 插件管理器 {@link PluginHost.pluginManager}
229
- */
230
- get pluginManager(): PluginManager</*elided*/ any & HOST, IPlugin</*elided*/ any & HOST, any>>;
231
- /**
232
- * 实例的注册插件的方法
233
- * @param plugin
234
- * @param options
235
- * @returns
236
- */
237
- use<Plugin extends IPlugin</*elided*/ any & HOST, any>>(plugin: Plugin, ...options: FormatUsePluginParameters<Plugin>): void | PluginCreatedReturnType<Plugin>;
238
- /**
239
- * 销毁实例
240
- * @returns
241
- */
242
- destroy(): void;
243
- constructor: Function;
244
- toString(): string;
245
- toLocaleString(): string;
246
- valueOf(): Object;
247
- hasOwnProperty(v: PropertyKey): boolean;
248
- isPrototypeOf(v: Object): boolean;
249
- propertyIsEnumerable(v: PropertyKey): boolean;
250
- };
251
- /**
252
- * 插件管理器
253
- */
254
- get pluginManager(): PluginManager</*elided*/ any & HOST, IPlugin</*elided*/ any & HOST, any>>;
255
- _pluginManager: PluginManager</*elided*/ any & HOST>;
256
- /**
257
- * {@inheritDoc PluginManager.use}
258
- */
259
- use<Plugin extends IPlugin</*elided*/ any & HOST, any>>(plugin: Plugin, ...options: FormatUsePluginParameters<Plugin>): void | ReturnType<Plugin["used"]>;
260
- } & HOST;
261
76
  //# sourceMappingURL=PluginHost.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PluginHost.d.ts","sourceRoot":"","sources":["../../src/plugin-host/PluginHost.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PluginHost.d.ts","sourceRoot":"","sources":["../../src/plugin-host/PluginHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEvF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,UAAU,CAAC,IAAI,EAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAE,SAAQ,WAAY,YAAW,WAAW,CAAC,IAAI,EAAC,SAAS,CAAC;IAClH;;;OAGG;IACH,MAAM,CAAC,qBAAqB,UAAS;IAErC;;OAEG;IACH,MAAM,KAAK,aAAa,4BAKvB;IACD,MAAM,CAAC,cAAc,0BAAoC;IAEzD;;OAEG;IACH,IAAI,aAAa,IAAI,aAAa,CAAC,IAAI,EAAC,SAAS,CAAC,CAEjD;IAED;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,MAAM,SAAS,OAAO,CAAC,GAAG,EAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC;IAI1F;;;;;OAKG;IAOH;;;;;OAKG;IACH,GAAG,CAAC,CAAC,SAAS,OAAO,CAAC,IAAI,EAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAKhG;;;;;OAKG;IACH,IAAI,CAAC,GAAG,IAAI,EAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhC;;;OAGG;IACY,WAAW;CAK3B"}
@@ -0,0 +1,64 @@
1
+ import { PluginManager } from "../plugin-manager/PluginManager";
2
+ import type { IPlugin, PluginUseArgs, PluginUseReturn } from "../plugin-manager/index";
3
+ import { DestroyableEventEmitter } from "@gby/destroyable";
4
+ import type { DefaultEventMap, EventMap } from "@gby/destroyable";
5
+ import type { IPluginHost } from "./type";
6
+ import type { ClassType } from "type-tls";
7
+ export type { DefaultEventMap, EventMap };
8
+ /**
9
+ * 插件的宿主
10
+ *
11
+ * @remarks
12
+ * 插件宿主 就是 拥有插件机制的宿主
13
+ *
14
+ * 子类需要在构建函数中调用 `this.pluginManager.created(this);`
15
+ *
16
+ * 之所以没写在该类中的函数中,是因为 `this.pluginManager.created(this)` 通常会在构建函数执行的最后时才调用;
17
+ * 如果像下面写在该类的构建函数中,然后子类通过 `super()` 来调用,这样就会导致 `this.pluginManager.created(this)` 不是在最后的执行;
18
+ */
19
+ export declare class PluginHostEventEmitter<Host, HostClass = ClassType<Host>, EM extends EventMap<EM> = DefaultEventMap> extends DestroyableEventEmitter<EM> implements IPluginHost<Host, HostClass> {
20
+ /**
21
+ * 是否使用独立的插件管理器
22
+ * @defaultValue false
23
+ */
24
+ static isolatedPluginManager: boolean;
25
+ /**
26
+ * 插件管理器
27
+ */
28
+ static get pluginManager(): PluginManager<any, any>;
29
+ static _pluginManager: PluginManager<any, any>;
30
+ /**
31
+ * 插件管理器 {@link PluginHost.pluginManager}
32
+ */
33
+ get pluginManager(): PluginManager<Host, HostClass>;
34
+ /**
35
+ * {@inheritDoc PluginManager.use}
36
+ */
37
+ static use<Plugin extends IPlugin<any, any>>(plugin: Plugin, ...args: PluginUseArgs<Plugin>): ReturnType<Plugin["onUse"]>;
38
+ /**
39
+ * 需要在子类中调用
40
+ *
41
+ * 之所以没写在该类中的函数中,是因为 `this.pluginManager.onCreate(this,...args)` 通常会在构建函数执行的最后时才调用;
42
+ * 如果像下面写在该类的构建函数中,然后子类通过 `super()` 来调用,这样就会导致 `this.pluginManager.onCreate(this,...args)` 不是在最后的执行;
43
+ */
44
+ /**
45
+ * 实例的注册插件的方法
46
+ * @param plugin
47
+ * @param args
48
+ * @returns
49
+ */
50
+ use<P extends IPlugin<Host, HostClass>>(plugin: P, ...args: PluginUseArgs<P>): PluginUseReturn<P>;
51
+ /**
52
+ * 初始化实例
53
+ * @remarks
54
+ * 会调用 {@link PluginManager.onInit}
55
+ * @param args
56
+ */
57
+ init(...args: any): Promise<void>;
58
+ /**
59
+ * 销毁实例
60
+ * @returns
61
+ */
62
+ destroyThis(): Promise<void>;
63
+ }
64
+ //# sourceMappingURL=PluginHostEventEmitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginHostEventEmitter.d.ts","sourceRoot":"","sources":["../../src/plugin-host/PluginHostEventEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,YAAY,EAAE,eAAe,EAAC,QAAQ,EAAC,CAAA;AAGvC;;;;;;;;;;GAUG;AACH,qBAAa,sBAAsB,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,QAAQ,CAAC,EAAE,CAAC,GAAG,eAAe,CAAE,SAAQ,uBAAuB,CAAC,EAAE,CAAE,YAAW,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC;IAC3L;;;OAGG;IACH,MAAM,CAAC,qBAAqB,UAAS;IAErC;;OAEG;IACH,MAAM,KAAK,aAAa,4BAKvB;IACD,MAAM,CAAC,cAAc,0BAAoC;IAEzD;;OAEG;IACH,IAAI,aAAa,IAAI,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAElD;IAED;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,MAAM,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC;IAI3F;;;;;OAKG;IAOH;;;;;OAKG;IACH,GAAG,CAAC,CAAC,SAAS,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAKjG;;;;;OAKG;IACH,IAAI,CAAC,GAAG,IAAI,EAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhC;;;OAGG;IACY,WAAW;CAK3B"}
@@ -0,0 +1,62 @@
1
+ import { PluginManager } from "../plugin-manager/PluginManager";
2
+ import type { IPlugin, PluginUseArgs, PluginUseReturn } from "../plugin-manager/index";
3
+ import { DestroyableEventTarget } from "@gby/destroyable";
4
+ import type { IPluginHost } from "./type";
5
+ import type { ClassType } from "type-tls";
6
+ /**
7
+ * 插件的宿主
8
+ *
9
+ * @remarks
10
+ * 插件宿主 就是 拥有插件机制的宿主
11
+ *
12
+ * 子类需要在构建函数中调用 `this.pluginManager.created(this);`
13
+ *
14
+ * 之所以没写在该类中的函数中,是因为 `this.pluginManager.created(this)` 通常会在构建函数执行的最后时才调用;
15
+ * 如果像下面写在该类的构建函数中,然后子类通过 `super()` 来调用,这样就会导致 `this.pluginManager.created(this)` 不是在最后的执行;
16
+ */
17
+ export declare class PluginHostEventTarget<Host, HostClass = ClassType<Host>, EM extends Record<string, any> = Record<string, any>> extends DestroyableEventTarget<EM> implements IPluginHost<Host, HostClass> {
18
+ /**
19
+ * 是否使用独立的插件管理器
20
+ * @defaultValue false
21
+ */
22
+ static isolatedPluginManager: boolean;
23
+ /**
24
+ * 插件管理器
25
+ */
26
+ static get pluginManager(): PluginManager<any, any>;
27
+ static _pluginManager: PluginManager<any, any>;
28
+ /**
29
+ * 插件管理器 {@link PluginHost.pluginManager}
30
+ */
31
+ get pluginManager(): PluginManager<Host, HostClass>;
32
+ /**
33
+ * {@inheritDoc PluginManager.use}
34
+ */
35
+ static use<Plugin extends IPlugin<any, any>>(plugin: Plugin, ...args: PluginUseArgs<Plugin>): ReturnType<Plugin["onUse"]>;
36
+ /**
37
+ * 需要在子类中调用
38
+ *
39
+ * 之所以没写在该类中的函数中,是因为 `this.pluginManager.onCreate(this,...args)` 通常会在构建函数执行的最后时才调用;
40
+ * 如果像下面写在该类的构建函数中,然后子类通过 `super()` 来调用,这样就会导致 `this.pluginManager.onCreate(this,...args)` 不是在最后的执行;
41
+ */
42
+ /**
43
+ * 实例的注册插件的方法
44
+ * @param plugin
45
+ * @param args
46
+ * @returns
47
+ */
48
+ use<P extends IPlugin<Host, HostClass>>(plugin: P, ...args: PluginUseArgs<P>): PluginUseReturn<P>;
49
+ /**
50
+ * 初始化实例
51
+ * @remarks
52
+ * 会调用 {@link PluginManager.onInit}
53
+ * @param args
54
+ */
55
+ init(...args: any): Promise<void>;
56
+ /**
57
+ * 销毁实例
58
+ * @returns
59
+ */
60
+ destroyThis(): Promise<void>;
61
+ }
62
+ //# sourceMappingURL=PluginHostEventTarget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginHostEventTarget.d.ts","sourceRoot":"","sources":["../../src/plugin-host/PluginHostEventTarget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEvF,OAAO,EAAE,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAK1C;;;;;;;;;;GAUG;AACH,qBAAa,qBAAqB,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,SAAQ,sBAAsB,CAAC,EAAE,CAAE,YAAW,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC;IACpM;;;OAGG;IACH,MAAM,CAAC,qBAAqB,UAAS;IAErC;;OAEG;IACH,MAAM,KAAK,aAAa,4BAKvB;IACD,MAAM,CAAC,cAAc,0BAAoC;IAEzD;;OAEG;IACH,IAAI,aAAa,IAAI,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAElD;IAED;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,MAAM,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC;IAI3F;;;;;OAKG;IAOH;;;;;OAKG;IACH,GAAG,CAAC,CAAC,SAAS,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAKjG;;;;;OAKG;IACH,IAAI,CAAC,GAAG,IAAI,EAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhC;;;OAGG;IACY,WAAW;CAK3B"}
@@ -0,0 +1,87 @@
1
+ import { PluginManager } from "../plugin-manager/PluginManager";
2
+ import type { IPlugin, PluginUseArgs, PluginUseReturn } from "../plugin-manager/index";
3
+ import type { ClassType } from "type-tls";
4
+ /**
5
+ * 创建插件的缩主类
6
+ *
7
+ * @remarks
8
+ * 比 直接使用 PluginHost 提供了完善的类型推导
9
+ *
10
+ * 子类需要在构建函数中调用 `this.pluginManager.created(this);`
11
+ *
12
+ * 之所以没写在该类中的函数中,是因为 `this.pluginManager.created(this)` 通常会在构建函数执行的最后时才调用;
13
+ * 如果像下面写在该类的构建函数中,然后子类通过 `super()` 来调用,这样就会导致 `this.pluginManager.created(this)` 不是在最后的执行;
14
+ * @returns
15
+ */
16
+ export declare function createPluginHost<P extends new (...args: any) => Object>(ParentClass: P): {
17
+ new <Host, HostClass = ClassType<Host, any>>(...args: any): {
18
+ /**
19
+ * 插件管理器 {@link PluginHostSub.pluginManager}
20
+ */
21
+ get pluginManager(): PluginManager<Host, HostClass>;
22
+ /**
23
+ * 需要在子类中调用
24
+ *
25
+ * 之所以没写在该类中的函数中,是因为 `this.pluginManager.onCreate(this)` 通常会在构建函数执行的最后时才调用;
26
+ * 如果像下面写在该类的构建函数中,然后子类通过 `super()` 来调用,这样就会导致 `this.pluginManager.onCreate(this)` 不是在最后的执行;
27
+ */
28
+ /**
29
+ * 实例的注册插件的方法
30
+ * @param plugin
31
+ * @param args
32
+ * @returns
33
+ */
34
+ use<P_1 extends IPlugin<Host, HostClass>>(plugin: P_1, ...args: PluginUseArgs<P_1>): PluginUseReturn<P_1>;
35
+ /**
36
+ * 初始化实例
37
+ * @remarks
38
+ * 会调用 {@link PluginManager.onInit}
39
+ * @param args
40
+ */
41
+ init(...args: any): Promise<void>;
42
+ /**
43
+ * 销毁实例
44
+ * @returns
45
+ */
46
+ destroyThis(): Promise<void>;
47
+ refCount: number;
48
+ readonly isDestroyed: boolean;
49
+ _isDestroyed: boolean;
50
+ readonly canDestroy: boolean;
51
+ _destroyers: import("@gby/destroyable").FunDestroyer[];
52
+ disposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
53
+ cancelDisposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
54
+ disposeObj<T extends import("@gby/destroyable").IDestroyable>(obj: T, sync?: boolean): T;
55
+ cancelDisposeObj<T extends import("@gby/destroyable").IDestroyable>(obj: T): T;
56
+ dispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
57
+ dispose<T extends import("@gby/destroyable").IDestroyable>(obj: T, asyncDestroy?: boolean): T;
58
+ dispose<T extends import("@gby/destroyable").IDestroyable | import("@gby/destroyable").FunDestroyer>(objOrFun: T, asyncDestroy?: boolean): T;
59
+ cancelDispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
60
+ cancelDispose<T extends import("@gby/destroyable").IDestroyable>(obj: T): T;
61
+ cancelDispose<T extends import("@gby/destroyable").IDestroyable | import("@gby/destroyable").FunDestroyer>(objOrFun: T): T;
62
+ destroy(): Promise<boolean>;
63
+ destroySync(): boolean;
64
+ constructor: Function;
65
+ toString: (() => string) & (() => string);
66
+ toLocaleString: (() => string) & (() => string);
67
+ valueOf: (() => Object) & (() => Object);
68
+ hasOwnProperty: ((v: PropertyKey) => boolean) & ((v: PropertyKey) => boolean);
69
+ isPrototypeOf: ((v: Object) => boolean) & ((v: Object) => boolean);
70
+ propertyIsEnumerable: ((v: PropertyKey) => boolean) & ((v: PropertyKey) => boolean);
71
+ };
72
+ /**
73
+ * 是否使用独立的插件管理器
74
+ * @defaultValue false
75
+ */
76
+ isolatedPluginManager: boolean;
77
+ /**
78
+ * 插件管理器
79
+ */
80
+ get pluginManager(): PluginManager<any, any>;
81
+ _pluginManager: PluginManager<any, any>;
82
+ /**
83
+ * {@inheritDoc PluginManager.use}
84
+ */
85
+ use<Plugin extends IPlugin<any, any>>(plugin: Plugin, ...args: PluginUseArgs<Plugin>): ReturnType<Plugin["onUse"]>;
86
+ } & P;
87
+ //# sourceMappingURL=createPluginHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPluginHost.d.ts","sourceRoot":"","sources":["../../src/plugin-host/createPluginHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAGvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,KAAK,MAAM,EAAE,WAAW,EAAE,CAAC;SAS1D,IAAI,EAAE,SAAS;QAkBxC;;WAEG;6BACkB,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;QAWnD;;;;;WAKG;QAMH;;;;;WAKG;wBACW,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,UAAU,GAAC,WAAW,aAAa,CAAC,GAAC,CAAC,GAAG,eAAe,CAAC,GAAC,CAAC;QAMjG;;;;;WAKG;sBACW,GAAG;QAIjB;;;WAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;IAnEH;;;OAGG;;IAGH;;OAEG;;;IAgBH;;OAEG;QACQ,MAAM,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,MAAM,WAAW,aAAa,CAAC,MAAM,CAAC;MA+C9F"}