plugin-tls 2.0.1 → 3.1.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 (106) hide show
  1. package/dist/index.d.ts +3 -12
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +927 -372
  4. package/dist/index.umd.cjs +1 -1
  5. package/dist/options/index.d.ts +4 -0
  6. package/dist/options/index.d.ts.map +1 -0
  7. package/dist/options/options-manager/ModeOptions.d.ts.map +1 -0
  8. package/dist/options/options-manager/OptionsManager.d.ts.map +1 -0
  9. package/dist/options/options-manager/TierModeOptions.d.ts.map +1 -0
  10. package/dist/options/options-manager/TierOptions.d.ts.map +1 -0
  11. package/dist/options/options-manager/defaultOptions.d.ts.map +1 -0
  12. package/dist/options/options-manager/index.d.ts +6 -0
  13. package/dist/options/options-manager/index.d.ts.map +1 -0
  14. package/dist/options/options-manager/tools.d.ts.map +1 -0
  15. package/dist/options/options-plugin-host/index.d.ts +3 -0
  16. package/dist/options/options-plugin-host/index.d.ts.map +1 -0
  17. package/dist/options/options-plugin-host/tier-mode-options/TierModeOptionsPluginHost.d.ts +28 -0
  18. package/dist/options/options-plugin-host/tier-mode-options/TierModeOptionsPluginHost.d.ts.map +1 -0
  19. package/dist/options/options-plugin-host/tier-mode-options/TierModeOptionsPluginHostEventEmitter.d.ts +29 -0
  20. package/dist/options/options-plugin-host/tier-mode-options/TierModeOptionsPluginHostEventEmitter.d.ts.map +1 -0
  21. package/dist/options/options-plugin-host/tier-mode-options/TierModeOptionsPluginHostEventTarget.d.ts +28 -0
  22. package/dist/options/options-plugin-host/tier-mode-options/TierModeOptionsPluginHostEventTarget.d.ts.map +1 -0
  23. package/dist/options/options-plugin-host/tier-mode-options/createTierModeOptionsPluginHost.d.ts +60 -0
  24. package/dist/options/options-plugin-host/tier-mode-options/createTierModeOptionsPluginHost.d.ts.map +1 -0
  25. package/dist/options/options-plugin-host/tier-mode-options/index.d.ts +6 -0
  26. package/dist/options/options-plugin-host/tier-mode-options/index.d.ts.map +1 -0
  27. package/dist/options/options-plugin-host/tier-mode-options/type.d.ts +7 -0
  28. package/dist/options/options-plugin-host/tier-mode-options/type.d.ts.map +1 -0
  29. package/dist/options/options-plugin-host/tier-options/TierOptionsPluginHost.d.ts +25 -0
  30. package/dist/options/options-plugin-host/tier-options/TierOptionsPluginHost.d.ts.map +1 -0
  31. package/dist/options/options-plugin-host/tier-options/TierOptionsPluginHostEventEmitter.d.ts +26 -0
  32. package/dist/options/options-plugin-host/tier-options/TierOptionsPluginHostEventEmitter.d.ts.map +1 -0
  33. package/dist/options/options-plugin-host/tier-options/TierOptionsPluginHostEventTarget.d.ts +25 -0
  34. package/dist/options/options-plugin-host/tier-options/TierOptionsPluginHostEventTarget.d.ts.map +1 -0
  35. package/dist/options/options-plugin-host/tier-options/createTierOptionsPluginHost.d.ts +57 -0
  36. package/dist/options/options-plugin-host/tier-options/createTierOptionsPluginHost.d.ts.map +1 -0
  37. package/dist/options/options-plugin-host/tier-options/index.d.ts +5 -0
  38. package/dist/options/options-plugin-host/tier-options/index.d.ts.map +1 -0
  39. package/dist/options/plugins/index.d.ts +3 -0
  40. package/dist/options/plugins/index.d.ts.map +1 -0
  41. package/dist/options/plugins/tier-mode-options/decorator.d.ts +14 -0
  42. package/dist/options/plugins/tier-mode-options/decorator.d.ts.map +1 -0
  43. package/dist/options/plugins/tier-mode-options/plugin.d.ts +3 -0
  44. package/dist/options/plugins/tier-mode-options/plugin.d.ts.map +1 -0
  45. package/dist/options/plugins/tier-mode-options/type.d.ts +35 -0
  46. package/dist/options/plugins/tier-mode-options/type.d.ts.map +1 -0
  47. package/dist/options/plugins/tier-mode-options-plugin.d.ts +4 -0
  48. package/dist/options/plugins/tier-mode-options-plugin.d.ts.map +1 -0
  49. package/dist/options/plugins/tier-options/decorator.d.ts +14 -0
  50. package/dist/options/plugins/tier-options/decorator.d.ts.map +1 -0
  51. package/dist/options/plugins/tier-options/plugin.d.ts +11 -0
  52. package/dist/options/plugins/tier-options/plugin.d.ts.map +1 -0
  53. package/dist/options/plugins/tier-options/type.d.ts +36 -0
  54. package/dist/options/plugins/tier-options/type.d.ts.map +1 -0
  55. package/dist/options/plugins/tier-options-plugin.d.ts +4 -0
  56. package/dist/options/plugins/tier-options-plugin.d.ts.map +1 -0
  57. package/dist/plugin-host/PluginHost.d.ts +50 -227
  58. package/dist/plugin-host/PluginHost.d.ts.map +1 -1
  59. package/dist/plugin-host/PluginHostEventEmitter.d.ts +72 -0
  60. package/dist/plugin-host/PluginHostEventEmitter.d.ts.map +1 -0
  61. package/dist/plugin-host/PluginHostEventTarget.d.ts +70 -0
  62. package/dist/plugin-host/PluginHostEventTarget.d.ts.map +1 -0
  63. package/dist/plugin-host/createPluginHost.d.ts +95 -0
  64. package/dist/plugin-host/createPluginHost.d.ts.map +1 -0
  65. package/dist/plugin-host/decorator.d.ts +174 -0
  66. package/dist/plugin-host/decorator.d.ts.map +1 -0
  67. package/dist/plugin-host/index.d.ts +7 -0
  68. package/dist/plugin-host/index.d.ts.map +1 -0
  69. package/dist/plugin-host/type.d.ts +65 -0
  70. package/dist/plugin-host/type.d.ts.map +1 -0
  71. package/dist/plugin-manager/ExtendManager.d.ts +66 -0
  72. package/dist/plugin-manager/ExtendManager.d.ts.map +1 -0
  73. package/dist/plugin-manager/IExtend.d.ts +64 -0
  74. package/dist/plugin-manager/IExtend.d.ts.map +1 -0
  75. package/dist/plugin-manager/IPlugin.d.ts +56 -0
  76. package/dist/plugin-manager/IPlugin.d.ts.map +1 -0
  77. package/dist/plugin-manager/PluginExtendManager.d.ts +92 -0
  78. package/dist/plugin-manager/PluginExtendManager.d.ts.map +1 -0
  79. package/dist/plugin-manager/PluginManager.d.ts +31 -84
  80. package/dist/plugin-manager/PluginManager.d.ts.map +1 -1
  81. package/dist/plugin-manager/index.d.ts +7 -0
  82. package/dist/plugin-manager/index.d.ts.map +1 -0
  83. package/dist/plugin-manager/mixin.d.ts.map +1 -0
  84. package/package.json +4 -3
  85. package/dist/extend/extend.d.ts +0 -222
  86. package/dist/extend/extend.d.ts.map +0 -1
  87. package/dist/extend/mixin.d.ts.map +0 -1
  88. package/dist/options-manager/ModeOptions.d.ts.map +0 -1
  89. package/dist/options-manager/OptionsManager.d.ts.map +0 -1
  90. package/dist/options-manager/TierModeOptions.d.ts.map +0 -1
  91. package/dist/options-manager/TierOptions.d.ts.map +0 -1
  92. package/dist/options-manager/defaultOptions.d.ts.map +0 -1
  93. package/dist/options-manager/tools.d.ts.map +0 -1
  94. package/dist/plugin-host/TierModeOptionsPluginHost.d.ts +0 -167
  95. package/dist/plugin-host/TierModeOptionsPluginHost.d.ts.map +0 -1
  96. package/dist/plugin-host/TierOptionsPluginHost.d.ts +0 -153
  97. package/dist/plugin-host/TierOptionsPluginHost.d.ts.map +0 -1
  98. package/dist/plugin-manager/PluginManagerWithInit.d.ts +0 -36
  99. package/dist/plugin-manager/PluginManagerWithInit.d.ts.map +0 -1
  100. /package/dist/{options-manager → options/options-manager}/ModeOptions.d.ts +0 -0
  101. /package/dist/{options-manager → options/options-manager}/OptionsManager.d.ts +0 -0
  102. /package/dist/{options-manager → options/options-manager}/TierModeOptions.d.ts +0 -0
  103. /package/dist/{options-manager → options/options-manager}/TierOptions.d.ts +0 -0
  104. /package/dist/{options-manager → options/options-manager}/defaultOptions.d.ts +0 -0
  105. /package/dist/{options-manager → options/options-manager}/tools.d.ts +0 -0
  106. /package/dist/{extend → plugin-manager}/mixin.d.ts +0 -0
@@ -1,119 +1,66 @@
1
- import { AnyFunction } from "type-tls";
2
- /**
3
- * 插件宿主的实例类型
4
- */
5
- export type HostInst<H> = H extends new (...args: any) => Object ? InstanceType<H> : H;
6
- /**
7
- * 格式化 use 方法的参数列表
8
- */
9
- export type FormatUseParameters<Options> = Options extends never | void | undefined ? [] : [Options];
10
- /**
11
- * 格式化 use 方法的参数列表
12
- */
13
- export type FormatUsePluginParameters<Plugin> = GetPluginOptions<Plugin> extends never | void | undefined ? [] : [GetPluginOptions<Plugin>];
14
- /**
15
- * 将选项格式成方法的参数类型
16
- * @remarks
17
- * 如果是 never|void|undefined 类型,则会被转为 void
18
- */
19
- export type NormalizePluginOptions<Options> = Options extends never | void | undefined ? void : Options;
20
- /**
21
- * 插件的接口
22
- *
23
- * @typeParam HOST - 插件宿主的类类型
24
- * @typeParam Options - 插件的选项类型
25
- */
26
- export interface IPlugin<HOST, Options = void> {
27
- /**
28
- * 当插件被注册时调用
29
- * @param Host - 宿主的类型
30
- * @param options - 注册插件时的选项
31
- */
32
- used(Host: HOST, ...options: FormatUseParameters<Options>): any;
33
- /**
34
- * 当宿主实例被创建时调用
35
- * @param host - 新建的宿主实例
36
- * @param options - 注册插件时的选项
37
- */
38
- created?(host: HostInst<HOST>, ...options: FormatUseParameters<Options>): any;
39
- /**
40
- * 当宿主实例被销毁时调用
41
- * @param host - 被销毁的宿主实例
42
- * @param options - 注册插件时的选项
43
- */
44
- destroyed?(host: HostInst<HOST>, ...options: FormatUseParameters<Options>): any;
45
- }
46
- /**
47
- * 获取插件的选项类型
48
- */
49
- export type GetPluginOptions<Plugin> = Plugin extends IPlugin<any, infer Options> ? Options : never;
50
- /**
51
- * 获取规范化的插件选项
52
- */
53
- export type GetNormalizePluginOptions<Plugin> = NormalizePluginOptions<GetPluginOptions<Plugin>>;
54
- /**
55
- * 插件的 used 方法的返回值类型
56
- */
57
- export type PluginUseReturnType<P extends IPlugin<any, any>> = ReturnType<P["used"]>;
58
- /**
59
- * 插件的 created 方法的返回值类型
60
- */
61
- export type PluginCreatedReturnType<P extends IPlugin<any, any>> = P["created"] extends AnyFunction ? ReturnType<P["created"]> : void;
1
+ import type { AnyFunction, AbstractClassType } from "type-tls";
2
+ import type { IPlugin, PluginUseArgs, PluginUseReturn } from "./IPlugin";
3
+ import { Destroyable } from "@gby/destroyable";
62
4
  /**
63
5
  * 插件管理者
64
6
  *
65
7
  * @remarks
66
8
  * 负责管理插件的注册、应用 等
67
9
  *
68
- * @typeParam HostClassType 插件宿主类的类型
69
- *
70
10
  */
71
- export declare class PluginManager<HostClassType, Plugin extends IPlugin<HostClassType, any> = IPlugin<HostClassType, any>> {
11
+ export declare class PluginManager<Host, HostClass = AbstractClassType<Host>> extends Destroyable {
72
12
  /**
73
13
  * 插件的宿主
74
14
  */
75
- host: HostClassType;
15
+ host: HostClass;
76
16
  /**
77
- * 插件与插件选项的映射
17
+ * 所有注册的插件
78
18
  */
79
- readonly pluginOptsMap: Map<Plugin, any>;
80
- /**
81
- * 注册的插件
82
- */
83
- readonly plugins: Plugin[];
19
+ readonly plugins: Map<IPlugin<Host, HostClass>, any>;
84
20
  /**
85
21
  * @param host - 插件的宿主
86
22
  */
87
- constructor(host?: HostClassType);
23
+ constructor(host?: HostClass);
24
+ destroyThis(): any;
88
25
  /**
89
26
  * 使用插件、注册插件
90
27
  * @param plugin - 插件
91
- * @param options - 传递给插件的选项
28
+ * @param args - 传递给插件的选项
92
29
  */
93
- use<P extends Plugin>(plugin: P, ...options: FormatUsePluginParameters<P>): PluginUseReturnType<P> | void;
30
+ use<P extends IPlugin<Host, HostClass>>(plugin: P, ...args: PluginUseArgs<P>): PluginUseReturn<P>;
94
31
  /**
95
- * 插件宿主创建实例时调用
32
+ * 插件宿主实例的注册插件的方法
96
33
  *
97
34
  * @remarks
98
- * 会调用每个插件的 {@link IPlugin.created} 方法
35
+ * 会调用每个插件的 {@link IPlugin.use } 方法
99
36
  * @param hostInst - 插件宿主的新实例
100
37
  */
101
- created(hostInst: HostInst<HostClassType>): void;
38
+ instUse<P extends IPlugin<Host, HostClass>>(hostInst: Host, plugin: P, ...options: PluginUseArgs<P>): PluginUseReturn<P>;
102
39
  /**
103
- * 插件宿主被销毁时调用
40
+ * 插件宿主创建实例时调用
104
41
  *
105
42
  * @remarks
106
- * 会调用每个插件的 {@link IPlugin.destroyed} 方法
107
- * @param hostInst - 被销毁的插件实例
43
+ * 会调用每个插件的 {@link IPlugin.onCreate} 方法
44
+ * 如果插件的 created 方法返回 Promise,则会等待 Promise resolve
45
+ * @param hostInst - 插件宿主的新实例
108
46
  */
109
- destroyed(hostInst: HostInst<HostClassType>): void;
47
+ onCreate(hostInst: Host, ...args: any): import("com-tools").SerialCallFunsReturn<AnyFunction>;
110
48
  /**
111
- * 插件宿主实例的注册插件的方法
49
+ * 插件宿主创建实例时调用
112
50
  *
113
51
  * @remarks
114
- * 会调用每个插件的 {@link IPlugin.use | IPlugin.created()} 方法
52
+ * 会调用每个插件的 {@link IPlugin.onCreate } 方法
115
53
  * @param hostInst - 插件宿主的新实例
54
+ * @param args - 初始化宿主实例时的参数
55
+ */
56
+ onInit(hostInst: Host, ...args: any): import("com-tools").SerialCallFunsReturn<AnyFunction>;
57
+ /**
58
+ * 插件宿主被销毁时调用
59
+ *
60
+ * @remarks
61
+ * 会调用每个插件的 {@link IPlugin.onDestroy} 方法
62
+ * @param hostInst - 被销毁的插件实例
116
63
  */
117
- instUse<P extends Plugin>(hostInst: HostInst<HostClassType>, plugin: P, ...options: FormatUsePluginParameters<P>): PluginCreatedReturnType<P> | void;
64
+ onDestroy(hostInst: Host): import("com-tools").SerialCallFunsReturn<AnyFunction>;
118
65
  }
119
66
  //# sourceMappingURL=PluginManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PluginManager.d.ts","sourceRoot":"","sources":["../../src/plugin-manager/PluginManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PluginManager.d.ts","sourceRoot":"","sources":["../../src/plugin-manager/PluginManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C;;;;;;GAMG;AACH,qBAAa,aAAa,CAAC,IAAI,EAAC,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAE,SAAQ,WAAW;IAEpF;;OAEG;IACH,IAAI,EAAG,SAAS,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,OAAO,qCAA0C;IAG1D;;OAEG;gBACS,IAAI,CAAC,EAAE,SAAS;IAOnB,WAAW;IAMpB;;;;OAIG;IACH,GAAG,CAAC,CAAC,SAAS,OAAO,CAAC,IAAI,EAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,EAAC,GAAG,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAQ/F;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,SAAS,OAAO,CAAC,IAAI,EAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAQvH;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAG,GAAG,IAAI,EAAC,GAAG;IAWrC;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAC,GAAG,IAAI,EAAC,GAAG;IAWjC;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,EAAE,IAAI;CAY3B"}
@@ -0,0 +1,7 @@
1
+ export * from "./mixin";
2
+ export * from "./IExtend";
3
+ export * from "./IPlugin";
4
+ export * from "./PluginManager";
5
+ export * from "./ExtendManager";
6
+ export * from "./PluginExtendManager";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin-manager/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mixin.d.ts","sourceRoot":"","sources":["../../src/plugin-manager/mixin.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACzD;;;GAGG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAC,OAAO,EAAE,EAAE,EAAC,OAAO,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AACjF;;;GAGG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAC,OAAO,EAAE,EAAE,EAAC,OAAO,EAAE,EAAE,EAAC,OAAO,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACtG;;;GAGG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAC,OAAO,EAAE,EAAE,EAAC,OAAO,EAAE,EAAE,EAAC,OAAO,EAAE,EAAE,EAAC,OAAO,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC3H;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;AAU3D;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAC9B,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GACzB,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAErB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,MACL,CAAC,EAC3B,QAAQ,CAAC,EACT,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KACzB,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAGvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAC9B,MAAM,EAAE,CAAC,EACT,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GACrB,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAGrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,IAChB,CAAC,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAI5E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAC9B,MAAM,EAAE,CAAC,EACT,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GACrB,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAGzB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,IAChB,CAAC,EAC3B,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KACrB,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAI3B;AAKD;;GAEG;AACH,MAAM,MAAM,4BAA4B,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,EAAC,GAAG,KAAG,GAAG,EAAC,QAAQ,SAAS,GAAG,EAAE,IAAI,KAAK,GAAG,IAAI,EAAC,QAAQ,KAAG,YAAY,CAAC,CAAC,CAAC,CAAC;AAE5I;;GAEG;AACH,MAAM,MAAM,wBAAwB,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,EAAC,GAAG,KAAG,GAAG,EAAC,SAAS,IAAI,KAAK,GAAG,IAAI,EAAC,qBAAqB,CAAC,CAAC,CAAC,KAAG,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "plugin-tls",
3
- "version": "2.0.1",
3
+ "version": "3.1.0",
4
4
  "description": "plugin-tls 是插件系统相应的工具,可快速地让任何模块具备插件机制",
5
5
  "main": "./dist/index.umd.cjs",
6
6
  "module": "./dist/index.js",
@@ -52,9 +52,10 @@
52
52
  "vite-node": "latest"
53
53
  },
54
54
  "dependencies": {
55
- "@gby/destroyable": "^1.0.2",
55
+ "@gby/destroyable": "^3.6.0",
56
+ "com-tools": "^2.21.0",
56
57
  "deepmerge-ts": "^7.1.5",
57
- "type-tls": "^3.2.2"
58
+ "type-tls": "^3.10.0"
58
59
  },
59
60
  "scripts": {
60
61
  "serve": "vite",
@@ -1,222 +0,0 @@
1
- /**
2
- * 类的类型、构造函数的类型
3
- *
4
- * @typeParam Arg - 构建函数的参数类型
5
- * @typeParam Instance - 构建函数的返回的实例类型
6
- */
7
- export interface ClassType<Arg extends any[] = any, Instance = any> {
8
- new (...args: Arg): Instance;
9
- }
10
- /**
11
- * 类扩展者的私有方法
12
- */
13
- export interface ClassExtenderPrivateMember<C extends new (...args: any) => Object> {
14
- /**
15
- * 保存扩展类自定义的构建函数
16
- */
17
- readonly _constructors: ((this: InstanceType<C>, ...args: ConstructorParameters<C>) => void)[];
18
- /**
19
- * 保存扩展类自定义的销毁函数
20
- */
21
- readonly _destroys: ((this: InstanceType<C>) => void)[];
22
- }
23
- /**
24
- * 类扩展者
25
- */
26
- export type ClassExtender<C extends new (...args: any) => Object> = C & ClassExtenderPrivateMember<C>;
27
- /**
28
- * 用于定义扩展选项中的私有成员
29
- */
30
- export interface PrivateMemberOfExtend<TargetType extends new (...args: any) => Object> {
31
- /**
32
- * 扩展类中用于定义在创建实例时的初始化的方法
33
- * @remarks
34
- * 该方法会在创建实例时自动执行,并将构建函数接收到的参数透传给方方法。
35
- *
36
- * 注意:
37
- * _constructor 会被保存在 目标类中的 _constructors 属性中,它是一个数组。
38
- *
39
- * 目标类 需要在自己的构建函数中逐个调用 cla._constructors 中的函数
40
- *
41
- * @param args
42
- */
43
- _constructor?(...args: (TargetType extends new (...args: infer A) => any ? A : never)): void;
44
- /**
45
- * 扩展类中用于定义在实例销毁时触发的销毁方法
46
- * @remarks
47
- * 该方法会在实例销毁时自动调用
48
- *
49
- * 注意:
50
- * _destroy 会被保存在 目标类中的 _destroys 属性中,它是一个数组。
51
- *
52
- * 如果目标类有销毁逻辑,则需要在自己的销毁函数中逐个调用 cla._destroys 中的函数
53
- *
54
- * @param args
55
- */
56
- _destroy?(): void;
57
- }
58
- /**
59
- * 定义扩展的类型便利函数
60
- *
61
- * @remarks
62
- * 它会更改 ext 中方法的this指向为 cla & ext,不会真的执行扩展操作。
63
- *
64
- * 其中 ext._constructor 会被保存在 cla._constructors 属性中,它是一个数组。
65
- *
66
- * cla 需要在自己的构建函数中逐个调用 cla._constructors 中的函数
67
- *
68
- * @param cla - 扩展的目标,用作 this 的类型
69
- * @param ext - 描述扩展内容的对象,会自动更改其this的类型
70
- * @returns 返回注入了 this 类型的 ext 对象本身
71
- */
72
- export declare function defineExtend<C extends ClassType, E>(cla: C, ext: E & ThisType<InstanceType<C> & E> & PrivateMemberOfExtend<C>): E & ThisType<C & E>;
73
- /**
74
- * 扩展目标
75
- *
76
- * @remarks
77
- * 与 {@link defineExtend} 的区别是:`targetExtend` 会执行对 cla 的扩展操作,而 {@link defineExtend} 不会
78
- *
79
- *
80
- * @param cla - 扩展的目标,也用作 this 的类型
81
- * @param ext - 扩展描述对象,会自动更改其this的类型
82
- * @returns 返回注入了 this 类型的 ext 对象本身
83
- */
84
- export declare function targetExtend<C extends ClassType, E>(cla: C, ext: E & ThisType<InstanceType<C> & E> & PrivateMemberOfExtend<C>): E & ThisType<InstanceType<C> & E>;
85
- /**
86
- * 创建用于扩展目标的便捷函数
87
- *
88
- * @remarks
89
- * 它返回的便利函数的功能与 {@link targetExtend} 的功能一样,唯一区别是不再需要接收 cla 参数了
90
- *
91
- * @param cla - 扩展的目标,也用作 this 的类型
92
- * @returns 可以用于 扩展目标 的便利函数
93
- */
94
- export declare function createTargetExtend<C extends ClassType>(cla: C): <E>(ext: E & ThisType<InstanceType<C> & E> & PrivateMemberOfExtend<C>) => E & ThisType<C & E>;
95
- /**
96
- * 扩展目标
97
- *
98
- * @remarks
99
- * 会执行对 CEarth 类的扩展操作。
100
- * 与 {@link targetExtend} 的区别仅仅是返回类型不一样。
101
- *
102
- * @param cla - 扩展的目标,也用作 this 的类型
103
- * @param ext - 扩展对象,会自动更改其this的类型
104
- * @returns 返回扩展后的 cla 对象
105
- */
106
- 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>>;
107
- /**
108
- * 创建用于扩展目标工具函数
109
- *
110
- * @remarks
111
- * 它返回的便利函数的功能与 {@link extendTarget} 的功能一样,唯一区别是不再需要接收 cla 参数了
112
- *
113
- * @param cla - 扩展的目标,也用作 this 的类型
114
- * @returns 可以用于 扩展目标 的便利函数
115
- */
116
- 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>>;
117
- /**
118
- * 类扩展者的私有方法
119
- */
120
- export interface ClassExtenderPrivateMemberWithInit<C extends new (...args: any) => Object, InitParams extends any[] = any> extends ClassExtenderPrivateMember<C> {
121
- /**
122
- * 保存扩展类中自定义的初始化方法
123
- */
124
- readonly _inits: ((this: InstanceType<C>, ...args: InitParams) => void)[];
125
- }
126
- /**
127
- * 类扩展者
128
- */
129
- export type ClassExtenderWithInit<C extends new (...args: any) => Object, InitParams extends any[] = any> = C & ClassExtenderPrivateMemberWithInit<C, InitParams>;
130
- /**
131
- * 用于定义扩展选项中的私有成员
132
- */
133
- export interface PrivateMemberOfExtendWithInit<TargetType extends new (...args: any) => Object, InitParams extends any[] = any> extends PrivateMemberOfExtend<TargetType> {
134
- /**
135
- * 扩展类中用于定义实例初始化逻辑的方法
136
- * @remarks
137
- * 该方法会在调用实例的 `init()` 方法时自动执行。
138
- * @param args
139
- */
140
- _init?(...args: InitParams): void;
141
- }
142
- /**
143
- * 对一组函数批量调用 apply
144
- * @param funArr
145
- * @param thisArg
146
- * @param args
147
- */
148
- export declare function allFunctionApply<T, A extends any[], R>(funArr: ((this: T, ...args: A) => void)[], thisArg: T, args: A): void;
149
- /**
150
- * 创建扩展的私有方法的调用者
151
- * @param cla
152
- * @returns constructed:执行所有 `_constructor` 的便利函数;initialized:执行所有 `_inits` 的便利函数
153
- */
154
- export declare function createCallerOfPrivateMemberOfExtend<C extends ClassType>(cla: C): {
155
- constructed: (thisArg: any, args: any[]) => void;
156
- initialized: (thisArg: any, args: any[]) => void;
157
- destroyed: (thisArg: any, args: any[]) => void;
158
- };
159
- /**
160
- * 定义扩展的类型便利函数
161
- *
162
- * @remarks
163
- * 它会更改 ext 中方法的this指向为 cla & ext,不会真的执行扩展操作。
164
- *
165
- * 其中:
166
- * - ext._constructor 会被保存在 cla._constructors 属性中,它是一个数组。
167
- * - ext._init 会被保存在 cla._inits 属性中,它是一个数组。
168
- *
169
- * cla 需要:
170
- * - 在自己的构建函数中逐个调用 cla._constructors 中的函数
171
- * - 在自己的类似初始化`init()` 方法中逐个调用 cla._constructors 中的函数
172
- *
173
- * @param cla - 扩展的目标,用作 this 的类型
174
- * @param ext - 描述扩展内容的对象,会自动更改其this的类型
175
- * @returns 返回注入了 this 类型的 ext 对象本身
176
- */
177
- export declare function defineExtendWithInit<C extends ClassType, E>(cla: C, ext: E & ThisType<InstanceType<C> & E> & PrivateMemberOfExtendWithInit<C>): E & ThisType<C & E>;
178
- /**
179
- * 扩展目标
180
- *
181
- * @remarks
182
- * 与 {@link defineExtendWithInit} 的区别是:`targetExtend` 会执行对 cla 的扩展操作,而 {@link defineExtendWithInit} 不会
183
- *
184
- *
185
- * @param cla - 扩展的目标,也用作 this 的类型
186
- * @param ext - 扩展描述对象,会自动更改其this的类型
187
- * @returns 返回注入了 this 类型的 ext 对象本身
188
- */
189
- export declare function targetExtendWithInit<C extends ClassType, E>(cla: C, ext: E & ThisType<InstanceType<C> & E> & PrivateMemberOfExtendWithInit<C>): E & ThisType<InstanceType<C> & E>;
190
- /**
191
- * 创建用于扩展目标的便捷函数
192
- *
193
- * @remarks
194
- * 它返回的便利函数的功能与 {@link targetExtendWithInit} 的功能一样,唯一区别是不再需要接收 cla 参数了
195
- *
196
- * @param cla - 扩展的目标,也用作 this 的类型
197
- * @returns 可以用于 扩展目标 的便利函数
198
- */
199
- export declare function createTargetExtendWithInit<C extends ClassType>(cla: C): <E>(ext: E & ThisType<InstanceType<C> & E> & PrivateMemberOfExtendWithInit<C>) => E & ThisType<C & E>;
200
- /**
201
- * 扩展目标
202
- *
203
- * @remarks
204
- * 会执行对 CEarth 类的扩展操作。
205
- * 与 {@link targetExtendWithInit} 的区别仅仅是返回类型不一样。
206
- *
207
- * @param cla - 扩展的目标,也用作 this 的类型
208
- * @param ext - 扩展对象,会自动更改其this的类型
209
- * @returns 返回扩展后的 cla 对象
210
- */
211
- export declare function extendTargetWithInit<C extends ClassType, E>(cla: C, ext: E & ThisType<InstanceType<C> & E> & PrivateMemberOfExtendWithInit<C>): ClassType<ConstructorParameters<C>, E & ThisType<InstanceType<C> & E>>;
212
- /**
213
- * 创建用于扩展目标工具函数
214
- *
215
- * @remarks
216
- * 它返回的便利函数的功能与 {@link extendTargetWithInit} 的功能一样,唯一区别是不再需要接收 cla 参数了
217
- *
218
- * @param cla - 扩展的目标,也用作 this 的类型
219
- * @returns 可以用于 扩展目标 的便利函数
220
- */
221
- 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>>;
222
- //# sourceMappingURL=extend.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extend.d.ts","sourceRoot":"","sources":["../../src/extend/extend.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,WAAW,SAAS,CAAC,GAAG,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,QAAQ,GAAG,GAAG;IAChE,KAAK,GAAG,IAAI,EAAE,GAAG,GAAG,QAAQ,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,KAAG,MAAM;IAC9E;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,EAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;IAE9F;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAC,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,KAAG,MAAM,IAAI,CAAC,GAAG,0BAA0B,CAAC,CAAC,CAAC,CAAA;AAKnG;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,UAAU,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,KAAK,MAAM;IACpF;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,UAAU,SAAS,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAE,IAAI,CAAC;IAE5F;;;;;;;;;;;OAWG;IACF,QAAQ,CAAC,IAAG,IAAI,CAAC;CACnB;AAKD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,EACjD,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,GAChE,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAErB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,EACjD,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,GAChE,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAkBnC;AAID;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,CAAC,IAChC,CAAC,EAC3B,KAAK,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,KAChE,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAKvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,EACjD,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,GAChE,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAIxE;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,CAAC,IAC/B,CAAC,EAC5B,KAAK,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,KAChE,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAK1E;AAWD;;GAEG;AACH,MAAM,WAAW,kCAAkC,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,KAAG,MAAM,EAAC,UAAU,SAAS,GAAG,EAAE,GAAG,GAAG,CAAE,SAAQ,0BAA0B,CAAC,CAAC,CAAC;IAC5J;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC,EAAE,CAAC;CAC1E;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,KAAG,MAAM,EAAE,UAAU,SAAS,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,kCAAkC,CAAC,CAAC,EAAC,UAAU,CAAC,CAAC;AAI/J;;GAEG;AACH,MAAM,WAAW,6BAA6B,CAAC,UAAU,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,KAAK,MAAM,EAAC,UAAU,SAAS,GAAG,EAAE,GAAG,GAAG,CAAE,SAAQ,qBAAqB,CAAC,UAAU,CAAC;IACtK;;;;;OAKG;IACF,KAAK,CAAC,CAAC,GAAG,IAAI,EAAC,UAAU,GAAE,IAAI,CAAC;CAClC;AAGD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,QAKrH;AAGD;;;;GAIG;AACH,wBAAgB,mCAAmC,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,CAAC;2BAE3C,GAAG,QAAQ,GAAG,EAAE;2BAIhB,GAAG,QAAQ,GAAG,EAAE;yBAIjB,GAAG,QAAQ,GAAG,EAAE;EAKlD;AAGD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,EACzD,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,6BAA6B,CAAC,CAAC,CAAC,GACxE,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAErB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,EACzD,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,6BAA6B,CAAC,CAAC,CAAC,GACxE,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAUnC;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,CAAC,IACvC,CAAC,EAC5B,KAAK,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,6BAA6B,CAAC,CAAC,CAAC,KACxE,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAKvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,EACzD,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,6BAA6B,CAAC,CAAC,CAAC,GACxE,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAIxE;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,CAAC,IACvC,CAAC,EAC5B,KAAK,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,6BAA6B,CAAC,CAAC,CAAC,KACxE,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAK1E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mixin.d.ts","sourceRoot":"","sources":["../../src/extend/mixin.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ModeOptions.d.ts","sourceRoot":"","sources":["../../src/options-manager/ModeOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAQ,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA;AAG1C;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,WAAW,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAC,MAAM,SAAS,EAAE,GAAG,GAAG,CAAE,SAAQ,cAAc,CAAC,MAAM,CAAC;gBAEtG,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM;IASxC;;OAEG;IACH,KAAK,EAAS,MAAM,CAAC,IAAI,EAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAE/C;;OAEG;IACH,IAAI,IAAI,IAAG,IAAI,CAEd;IACD,IAAI,IAAI,CAAC,KAAK,EAHH,IAGG,EAMb;IACD,SAAS,CAAC,KAAK,CAAC,EAAC,IAAI,CAAC;IAGtB;;OAEG;IACH,IAAI,SAAS,WAEZ;IAED,SAAS,CAAC,UAAU,EAAC,IAAI,EAAE,GAAG,IAAI,CAAQ;IAG1C;;;OAGG;IACH,YAAY,IAC0B,IAAI,EAAE;IAI5C;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAC,MAAM,GAAG,MAAM;IAM5B;;OAEG;IACH,IAAI,aAAa,IAAG,WAAW,CAAC,MAAM,CAAC,CAEtC;IAID;;OAEG;IACH,IAAI,MAAM,WAET;IAED,IAAI,eAAe,WAElB;IAED,SAAS,CAAC,gBAAgB,EAAC,MAAM,GAAC,IAAI,CAAQ;IAG9C;;OAEG;IACH,gBAAgB;IAOhB;;;;;;OAMG;IACH,aAAa,CAAC,IAAI,EAAC,IAAI,GAAE,MAAM,GAAC,IAAI;IAIpC;;;;;;OAMG;IACH,iBAAiB,CAAC,IAAI,EAAC,IAAI,GAAE,MAAM,GAAC,IAAI;IAKxC;;;;;;OAMG;IACH,aAAa,CAAC,IAAI,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,IAAI,CAAC,EAAC,OAAO,EAAC,MAAM,CAAC,EAAC,IAAI;CAiBnE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"OptionsManager.d.ts","sourceRoot":"","sources":["../../src/options-manager/OptionsManager.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,oBAAY,oBAAoB;IAC5B;;OAEG;IACH,gBAAgB,qBAAqB;IACrC;;OAEG;IACH,SAAS,cAAc;IACvB;;OAEG;IACH,IAAI,SAAS;CAEhB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc;8BACuB,GAAG;uBAGV,GAAG;kBAGR,GAAG;CAGxC,CAAA;AAID;;GAEG;AACH,8BAAsB,cAAc,CAAC,MAAM,SAAS,EAAE,GAAG,GAAG;IAGxD;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,YAAY,UAAQ;IAEpB;;;;;OAKG;IACH,UAAU,EAiCO,MAAM,CAAC;IAGxB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,gBAAgB,IAAI,IAAI;IAEjC;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAQxC;;OAEG;IACH,IAAI,cAAc,yBAEjB;IACD,IAAI,cAAc,CAAC,KAAK,sBAAA,EAGvB;IAED,SAAS,CAAC,eAAe,uBAAyC;IAElE;;OAEG;IACH,WAAW,UApHmC,GAAG,aAoHH;IAG9C;;;;OAIG;IACH,SAAS,CAAC,GAAG,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,IAAI;IAI7E;;;;;OAKG;IACH,SAAS,CAAC,GAAG,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO;IAiBxF;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAG;IAIjC;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,OAAO;CAW1D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TierModeOptions.d.ts","sourceRoot":"","sources":["../../src/options-manager/TierModeOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA;AAI9C;;;;GAIG;AACH,qBAAa,eAAe,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,MAAM,SAAS,EAAE,GAAG,GAAG,CAAE,SAAQ,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC;gBAE9G,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,EAAC,MAAM,CAAC,EAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC;IAQ9E;;OAEG;IACH,IAAI,OAAO,yCAEV;IACD,IAAI,OAAO,CAAC,KAAK,sCAAA,EAGhB;IACD,SAAS,CAAC,QAAQ,EAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,GAAC,IAAI,CAAQ;IAG7D;;;;;;OAMG;IACM,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAC,IAAI;IAanD;;;OAGG;IACM,YAAY,IAAG,IAAI,EAAE;IAU9B;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAC,MAAM,GAAG,MAAM,GAAE,OAAO;IAM3C;;OAEG;IACH,IAAa,aAAa,IAAG,WAAW,CAAC,MAAM,CAAC,CAE/C;IACD;;;;OAIG;IACH,oBAAoB,CAAC,IAAI,EAAC,IAAI,GAAE,WAAW,CAAC,MAAM,CAAC,GAAC,IAAI;IAQxD;;;;OAIG;IACM,SAAS,CAAC,GAAG,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,IAAI;IAWtF;;;;OAIG;IACM,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAG;CAW7C;AAMD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAC,KAAK,EAC/C,KAAK,EAAE,4BAA4B,CAAC,IAAI,EAAC,KAAK,CAAC,EAC/C,OAAO,EAAC,6BAA6B,CAAC,IAAI,EAAC,KAAK,CAAC,GACjD,4BAA4B,CAAC,IAAI,EAAC,KAAK,CAAC,CAS3C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TierOptions.d.ts","sourceRoot":"","sources":["../../src/options-manager/TierOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAI/C,qBAAa,WAAW,CAAC,MAAM,SAAS,EAAE,GAAG,GAAG,CAAE,SAAQ,cAAc,CAAC,MAAM,CAAC;gBAChE,MAAM,CAAC,EAAC,MAAM,EAAC,MAAM,CAAC,EAAC,WAAW,CAAC,MAAM,CAAC;IAStD;;OAEG;IACH,IAAI,OAAO,+BAEV;IACD,IAAI,OAAO,CAAC,KAAK,4BAAA,EAGhB;IACD,SAAS,CAAC,QAAQ,EAAC,WAAW,CAAC,MAAM,CAAC,GAAC,IAAI,CAAQ;IAEnD;;OAEG;IACH,MAAM,EAAS,MAAM,CAAC;IAGtB;;;;OAIG;IACH,IAAI,eAAe,IAAG,MAAM,CAW3B;IACD,SAAS,CAAC,gBAAgB,EAAC,MAAM,GAAC,IAAI,CAAQ;IAG9C;;OAEG;IACH,gBAAgB;IAMhB;;;;OAIG;IACM,SAAS,CAAC,GAAG,SAAS,MAAM,MAAM,EAAE,GAAG,EAAC,GAAG,GAAE,MAAM,CAAC,GAAG,CAAC,GAAC,SAAS,GAAC,IAAI;IAWhF;;;;OAIG;IACM,QAAQ,CAAC,QAAQ,EAAC,MAAM,EAAE,GAAE,GAAG;CAU3C;AASD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAC,KAAK,EAC3C,KAAK,EAAE,4BAA4B,CAAC,IAAI,EAAC,KAAK,CAAC,EAC/C,OAAO,EAAC,6BAA6B,CAAC,IAAI,EAAC,KAAK,CAAC,GACjD,4BAA4B,CAAC,IAAI,EAAC,KAAK,CAAC,CAS3C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"defaultOptions.d.ts","sourceRoot":"","sources":["../../src/options-manager/defaultOptions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAA;AAItC;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,OAAO;IACxC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B,CAAC,OAAO;IACpD,IAAI,cAAc,IAAI,OAAO,CAAC;CACjC;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,IAGjD,IAAI,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,KAAK,MAAM,EAAE,QAAQ,IAAI,UAmBzF;AAKD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,sBAa1I"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/options-manager/tools.ts"],"names":[],"mappings":"AACA;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAC,MAAM,YAMhD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAC,KAAK,EAAC,MAAM,EAAE,OAMvD;AAGD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAC,QAAQ,EAAC,MAAM,OAE9D;AAKD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAC,KAAK,EAAC,MAAM,EAAE,EAAC,KAAK,EAAC,GAAG,OAoBjE;AAMD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAC,QAAQ,EAAC,MAAM,EAAC,KAAK,EAAC,GAAG,OAExE"}
@@ -1,167 +0,0 @@
1
- import { PluginHost } from "./PluginHost";
2
- import type { IPluginHost, IPluginHostConstructor } from "./PluginHost";
3
- import { TierModeOptions } from "../options-manager/TierModeOptions";
4
- import { type ReplaceConstructorReturn } from "../extend/mixin";
5
- /**
6
- * 选项宿主接口
7
- */
8
- export interface ITierModeOptionsHost<Options extends {} = any, Mode extends string | number = string> {
9
- readonly modeOptions: TierModeOptions<Mode, Options>;
10
- mode: Mode;
11
- get options(): Options;
12
- }
13
- /**
14
- * 选项宿主的构建函数接口
15
- */
16
- export interface ITierModeOptionsHostConstructor<Options extends {} = any, Mode extends string | number = string> {
17
- get modeOptions(): TierModeOptions<Mode, Options>;
18
- }
19
- /**
20
- * 选项插件宿主接口
21
- */
22
- export type ITierModeOptionsPluginHost<HostClassType extends ITierModeOptionsPluginHostConstructor<any>, Options extends {} = any, Mode extends string | number = string> = IPluginHost<HostClassType> & ITierModeOptionsHost<Options, Mode>;
23
- /**
24
- * 选项插件宿主的构建函数接口
25
- */
26
- export type ITierModeOptionsPluginHostConstructor<HostClassType, Options extends {} = any, Mode extends string | number = string> = IPluginHostConstructor<HostClassType> & ITierModeOptionsHostConstructor<Options, Mode>;
27
- /**
28
- * 一般模式的名字
29
- * @remarks
30
- * 一般模式,其它模式可以继承该模式
31
- */
32
- export declare const commonModeName = "common";
33
- /**
34
- * 层级模式选项插件的宿主
35
- * @remarks
36
- *
37
- * 子类需要在构建函数中调用 `this.pluginManager.created(this);`
38
- *
39
- * 之所以没写在该类中的函数中,是因为 `this.pluginManager.created(this)` 通常会在构建函数执行的最后时才调用;
40
- * 如果像下面写在该类的构建函数中,然后子类通过 `super()` 来调用,这样就会导致 `this.pluginManager.created(this)` 不是在最后的执行;
41
- */
42
- export declare class TierModeOptionsPluginHost<Options extends {} = any, Mode extends string | number = string> extends PluginHost {
43
- /**
44
- * 全局级别的默认选项
45
- */
46
- static readonly modeOptions: TierModeOptions<string, any>;
47
- /**
48
- * 实例级的默认选项
49
- */
50
- get modeOptions(): TierModeOptions<Mode, Options>;
51
- protected _modeOptions: TierModeOptions<Mode, Options>;
52
- get mode(): Mode;
53
- set mode(value: Mode);
54
- get options(): Options;
55
- constructor(options: Options);
56
- }
57
- /**
58
- * 创建带有选项机制的插件宿主类
59
- * @remakers
60
- * 比 直接使用 ModeOptionsPluginHost 提供了完善的类型推导
61
- *
62
- * @returns
63
- */
64
- export declare function createTierModeOptionsPluginHost<HOST, P extends new (...args: any) => Object, Options extends {}, Mode extends string | number = string>(ParentClass: P): {
65
- new (options: Options): {
66
- /**
67
- * 实例级的默认选项
68
- */
69
- get modeOptions(): TierModeOptions<Mode, Options>;
70
- _modeOptions: TierModeOptions<Mode, Options>;
71
- get mode(): Mode;
72
- set mode(value: Mode);
73
- get options(): Options;
74
- get pluginManager(): import("..").PluginManager<any, import("..").IPlugin<any, any>>;
75
- use<P_1 extends import("..").IPlugin<HOST, any>>(plugin: P_1, ...options: import("..").FormatUsePluginParameters<P_1>): void | import("..").PluginCreatedReturnType<P_1>;
76
- destroyThis(): void;
77
- readonly isDestroyed: boolean;
78
- _isDestroyed: boolean;
79
- _destroyers: import("@gby/destroyable").FunDestroyer[];
80
- disposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
81
- cancelDisposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
82
- disposeObj<T extends unknown>(obj: T, sync?: boolean): T;
83
- cancelDisposeObj<T extends unknown>(obj: T): T;
84
- dispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
85
- dispose<T extends unknown>(obj: T, asyncDestroy?: boolean): T;
86
- dispose<T extends unknown>(objOrFun: T, asyncDestroy?: boolean): T;
87
- cancelDispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
88
- cancelDispose<T extends unknown>(obj: T): T;
89
- cancelDispose<T extends unknown>(objOrFun: T): T;
90
- destroy(): true | undefined;
91
- destroyAsync(): Promise<true | undefined>;
92
- constructor: Function;
93
- toString: (() => string) & (() => string);
94
- toLocaleString: (() => string) & (() => string);
95
- valueOf: (() => Object) & (() => Object);
96
- hasOwnProperty: ((v: PropertyKey) => boolean) & ((v: PropertyKey) => boolean);
97
- isPrototypeOf: ((v: Object) => boolean) & ((v: Object) => boolean);
98
- propertyIsEnumerable: ((v: PropertyKey) => boolean) & ((v: PropertyKey) => boolean);
99
- };
100
- /**
101
- * 全局级别的默认选项
102
- */
103
- readonly modeOptions: TierModeOptions<string, Options>;
104
- get pluginManager(): import("..").PluginManager<typeof import("./PluginHost").PluginHost & HOST & (new (...args: any) => {
105
- readonly isDestroyed: boolean;
106
- _isDestroyed: boolean;
107
- _destroyers: import("@gby/destroyable").FunDestroyer[];
108
- disposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
109
- cancelDisposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
110
- disposeObj<T extends any>(obj: T, sync?: boolean): T;
111
- cancelDisposeObj<T extends any>(obj: T): T;
112
- dispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
113
- dispose<T extends any>(obj: T, asyncDestroy?: boolean): T;
114
- dispose<T extends any | import("@gby/destroyable").FunDestroyer>(objOrFun: T, asyncDestroy?: boolean): T;
115
- cancelDispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
116
- cancelDispose<T extends any>(obj: T): T;
117
- cancelDispose<T extends any | import("@gby/destroyable").FunDestroyer>(objOrFun: T): T;
118
- destroyThis(): void;
119
- destroy(): true | undefined;
120
- destroyAsync(): Promise<true | undefined>;
121
- constructor: Function;
122
- toString(): string;
123
- toLocaleString(): string;
124
- valueOf(): Object;
125
- hasOwnProperty(v: PropertyKey): boolean;
126
- isPrototypeOf(v: Object): boolean;
127
- propertyIsEnumerable(v: PropertyKey): boolean;
128
- }) & P, import("..").IPlugin<HOST, any>>;
129
- _pluginManager: import("..").PluginManager<typeof import("./PluginHost").PluginHost & HOST & (new (...args: any) => {
130
- readonly isDestroyed: boolean;
131
- _isDestroyed: boolean;
132
- _destroyers: import("@gby/destroyable").FunDestroyer[];
133
- disposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
134
- cancelDisposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
135
- disposeObj<T extends any>(obj: T, sync?: boolean): T;
136
- cancelDisposeObj<T extends any>(obj: T): T;
137
- dispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
138
- dispose<T extends any>(obj: T, asyncDestroy?: boolean): T;
139
- dispose<T extends any | import("@gby/destroyable").FunDestroyer>(objOrFun: T, asyncDestroy?: boolean): T;
140
- cancelDispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
141
- cancelDispose<T extends any>(obj: T): T;
142
- cancelDispose<T extends any | import("@gby/destroyable").FunDestroyer>(objOrFun: T): T;
143
- destroyThis(): void;
144
- destroy(): true | undefined;
145
- destroyAsync(): Promise<true | undefined>;
146
- constructor: Function;
147
- toString(): string;
148
- toLocaleString(): string;
149
- valueOf(): Object;
150
- hasOwnProperty(v: PropertyKey): boolean;
151
- isPrototypeOf(v: Object): boolean;
152
- propertyIsEnumerable(v: PropertyKey): boolean;
153
- }) & P, import("..").IPlugin<HOST, any>>;
154
- use<P_1 extends import("..").IPlugin<HOST, any>>(plugin: P_1, ...options: import("..").FormatUsePluginParameters<P_1>): void | ReturnType<P_1["used"]>;
155
- } & P;
156
- /**
157
- * 使 HOST 变成 层级选项的宿主类型
158
- */
159
- export type BecomeTierModeOptionsHost<HOST extends new (...args: any) => Object, Options extends {} = any, Mode extends string | number = string> = HOST & ITierModeOptionsHostConstructor<Options, Mode> & ReplaceConstructorReturn<HOST, InstanceType<HOST> & ITierModeOptionsHost<Options, Mode>>;
160
- /**
161
- * 使 host 变成 层级选项的宿主类型
162
- * @param host
163
- * @param context
164
- * @returns
165
- */
166
- export declare function becomeTierModeOptionsHost<HOST extends new (...args: any) => Object, Mode extends string | number, Options extends {}>(host: HOST, mode: Mode, options?: Options): BecomeTierModeOptionsHost<HOST, Options, Mode>;
167
- //# sourceMappingURL=TierModeOptionsPluginHost.d.ts.map