plugin-tls 3.0.0 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +752 -420
- package/dist/index.umd.cjs +1 -1
- package/dist/options/index.d.ts +4 -0
- package/dist/options/index.d.ts.map +1 -0
- package/dist/options/options-manager/ModeOptions.d.ts.map +1 -0
- package/dist/options/options-manager/OptionsManager.d.ts.map +1 -0
- package/dist/options/options-manager/TierModeOptions.d.ts.map +1 -0
- package/dist/options/options-manager/TierOptions.d.ts.map +1 -0
- package/dist/options/options-manager/defaultOptions.d.ts.map +1 -0
- package/dist/options/options-manager/index.d.ts.map +1 -0
- package/dist/options/options-manager/tools.d.ts.map +1 -0
- package/dist/options/options-plugin-host/index.d.ts.map +1 -0
- package/dist/{options-plugin-host → options/options-plugin-host}/tier-mode-options/TierModeOptionsPluginHost.d.ts +3 -3
- package/dist/options/options-plugin-host/tier-mode-options/TierModeOptionsPluginHost.d.ts.map +1 -0
- package/dist/{options-plugin-host → options/options-plugin-host}/tier-mode-options/TierModeOptionsPluginHostEventEmitter.d.ts +4 -4
- package/dist/options/options-plugin-host/tier-mode-options/TierModeOptionsPluginHostEventEmitter.d.ts.map +1 -0
- package/dist/{options-plugin-host → options/options-plugin-host}/tier-mode-options/TierModeOptionsPluginHostEventTarget.d.ts +3 -3
- package/dist/options/options-plugin-host/tier-mode-options/TierModeOptionsPluginHostEventTarget.d.ts.map +1 -0
- package/dist/{options-plugin-host → options/options-plugin-host}/tier-mode-options/createTierModeOptionsPluginHost.d.ts +13 -10
- package/dist/options/options-plugin-host/tier-mode-options/createTierModeOptionsPluginHost.d.ts.map +1 -0
- package/dist/options/options-plugin-host/tier-mode-options/index.d.ts.map +1 -0
- package/dist/options/options-plugin-host/tier-mode-options/type.d.ts.map +1 -0
- package/dist/{options-plugin-host → options/options-plugin-host}/tier-options/TierOptionsPluginHost.d.ts +3 -3
- package/dist/options/options-plugin-host/tier-options/TierOptionsPluginHost.d.ts.map +1 -0
- package/dist/{options-plugin-host → options/options-plugin-host}/tier-options/TierOptionsPluginHostEventEmitter.d.ts +4 -4
- package/dist/options/options-plugin-host/tier-options/TierOptionsPluginHostEventEmitter.d.ts.map +1 -0
- package/dist/{options-plugin-host → options/options-plugin-host}/tier-options/TierOptionsPluginHostEventTarget.d.ts +3 -3
- package/dist/options/options-plugin-host/tier-options/TierOptionsPluginHostEventTarget.d.ts.map +1 -0
- package/dist/{options-plugin-host → options/options-plugin-host}/tier-options/createTierOptionsPluginHost.d.ts +13 -10
- package/dist/options/options-plugin-host/tier-options/createTierOptionsPluginHost.d.ts.map +1 -0
- package/dist/options/options-plugin-host/tier-options/index.d.ts.map +1 -0
- package/dist/options/plugins/index.d.ts.map +1 -0
- package/dist/{plugins → options/plugins}/tier-mode-options/decorator.d.ts +1 -1
- package/dist/options/plugins/tier-mode-options/decorator.d.ts.map +1 -0
- package/dist/options/plugins/tier-mode-options/plugin.d.ts +3 -0
- package/dist/options/plugins/tier-mode-options/plugin.d.ts.map +1 -0
- package/dist/{plugins → options/plugins}/tier-mode-options/type.d.ts +4 -4
- package/dist/options/plugins/tier-mode-options/type.d.ts.map +1 -0
- package/dist/options/plugins/tier-mode-options-plugin.d.ts.map +1 -0
- package/dist/{plugins → options/plugins}/tier-options/decorator.d.ts +1 -1
- package/dist/options/plugins/tier-options/decorator.d.ts.map +1 -0
- package/dist/{plugins → options/plugins}/tier-options/plugin.d.ts +1 -1
- package/dist/options/plugins/tier-options/plugin.d.ts.map +1 -0
- package/dist/{plugins → options/plugins}/tier-options/type.d.ts +4 -4
- package/dist/options/plugins/tier-options/type.d.ts.map +1 -0
- package/dist/options/plugins/tier-options-plugin.d.ts.map +1 -0
- package/dist/plugin-host/PluginHost.d.ts +27 -13
- package/dist/plugin-host/PluginHost.d.ts.map +1 -1
- package/dist/plugin-host/PluginHostEventEmitter.d.ts +27 -13
- package/dist/plugin-host/PluginHostEventEmitter.d.ts.map +1 -1
- package/dist/plugin-host/PluginHostEventTarget.d.ts +27 -13
- package/dist/plugin-host/PluginHostEventTarget.d.ts.map +1 -1
- package/dist/plugin-host/createPluginHost.d.ts +28 -14
- package/dist/plugin-host/createPluginHost.d.ts.map +1 -1
- package/dist/plugin-host/decorator.d.ts +65 -62
- package/dist/plugin-host/decorator.d.ts.map +1 -1
- package/dist/plugin-host/type.d.ts +27 -8
- package/dist/plugin-host/type.d.ts.map +1 -1
- package/dist/plugin-manager/ExtendManager.d.ts +75 -0
- package/dist/plugin-manager/ExtendManager.d.ts.map +1 -0
- package/dist/plugin-manager/IExtend.d.ts +57 -0
- package/dist/plugin-manager/IExtend.d.ts.map +1 -0
- package/dist/plugin-manager/IPlugin.d.ts +13 -4
- package/dist/plugin-manager/IPlugin.d.ts.map +1 -1
- package/dist/plugin-manager/PluginExtendManager.d.ts +99 -0
- package/dist/plugin-manager/PluginExtendManager.d.ts.map +1 -0
- package/dist/plugin-manager/PluginManager.d.ts +20 -14
- package/dist/plugin-manager/PluginManager.d.ts.map +1 -1
- package/dist/plugin-manager/extend.d.ts +84 -0
- package/dist/plugin-manager/extend.d.ts.map +1 -0
- package/dist/plugin-manager/index.d.ts +6 -1
- package/dist/plugin-manager/index.d.ts.map +1 -1
- package/dist/{extend → plugin-manager}/mixin.d.ts +12 -3
- package/dist/plugin-manager/mixin.d.ts.map +1 -0
- package/package.json +4 -3
- package/dist/extend/extend.d.ts +0 -214
- package/dist/extend/extend.d.ts.map +0 -1
- package/dist/extend/index.d.ts +0 -3
- package/dist/extend/index.d.ts.map +0 -1
- package/dist/extend/mixin.d.ts.map +0 -1
- package/dist/options-manager/ModeOptions.d.ts.map +0 -1
- package/dist/options-manager/OptionsManager.d.ts.map +0 -1
- package/dist/options-manager/TierModeOptions.d.ts.map +0 -1
- package/dist/options-manager/TierOptions.d.ts.map +0 -1
- package/dist/options-manager/defaultOptions.d.ts.map +0 -1
- package/dist/options-manager/index.d.ts.map +0 -1
- package/dist/options-manager/tools.d.ts.map +0 -1
- package/dist/options-plugin-host/index.d.ts.map +0 -1
- package/dist/options-plugin-host/tier-mode-options/TierModeOptionsPluginHost.d.ts.map +0 -1
- package/dist/options-plugin-host/tier-mode-options/TierModeOptionsPluginHostEventEmitter.d.ts.map +0 -1
- package/dist/options-plugin-host/tier-mode-options/TierModeOptionsPluginHostEventTarget.d.ts.map +0 -1
- package/dist/options-plugin-host/tier-mode-options/createTierModeOptionsPluginHost.d.ts.map +0 -1
- package/dist/options-plugin-host/tier-mode-options/index.d.ts.map +0 -1
- package/dist/options-plugin-host/tier-mode-options/type.d.ts.map +0 -1
- package/dist/options-plugin-host/tier-options/TierOptionsPluginHost.d.ts.map +0 -1
- package/dist/options-plugin-host/tier-options/TierOptionsPluginHostEventEmitter.d.ts.map +0 -1
- package/dist/options-plugin-host/tier-options/TierOptionsPluginHostEventTarget.d.ts.map +0 -1
- package/dist/options-plugin-host/tier-options/createTierOptionsPluginHost.d.ts.map +0 -1
- package/dist/options-plugin-host/tier-options/index.d.ts.map +0 -1
- package/dist/plugins/index.d.ts.map +0 -1
- package/dist/plugins/tier-mode-options/decorator.d.ts.map +0 -1
- package/dist/plugins/tier-mode-options/plugin.d.ts +0 -3
- package/dist/plugins/tier-mode-options/plugin.d.ts.map +0 -1
- package/dist/plugins/tier-mode-options/type.d.ts.map +0 -1
- package/dist/plugins/tier-mode-options-plugin.d.ts.map +0 -1
- package/dist/plugins/tier-options/decorator.d.ts.map +0 -1
- package/dist/plugins/tier-options/plugin.d.ts.map +0 -1
- package/dist/plugins/tier-options/type.d.ts.map +0 -1
- package/dist/plugins/tier-options-plugin.d.ts.map +0 -1
- /package/dist/{options-manager → options/options-manager}/ModeOptions.d.ts +0 -0
- /package/dist/{options-manager → options/options-manager}/OptionsManager.d.ts +0 -0
- /package/dist/{options-manager → options/options-manager}/TierModeOptions.d.ts +0 -0
- /package/dist/{options-manager → options/options-manager}/TierOptions.d.ts +0 -0
- /package/dist/{options-manager → options/options-manager}/defaultOptions.d.ts +0 -0
- /package/dist/{options-manager → options/options-manager}/index.d.ts +0 -0
- /package/dist/{options-manager → options/options-manager}/tools.d.ts +0 -0
- /package/dist/{options-plugin-host → options/options-plugin-host}/index.d.ts +0 -0
- /package/dist/{options-plugin-host → options/options-plugin-host}/tier-mode-options/index.d.ts +0 -0
- /package/dist/{options-plugin-host → options/options-plugin-host}/tier-mode-options/type.d.ts +0 -0
- /package/dist/{options-plugin-host → options/options-plugin-host}/tier-options/index.d.ts +0 -0
- /package/dist/{plugins → options/plugins}/index.d.ts +0 -0
- /package/dist/{plugins → options/plugins}/tier-mode-options-plugin.d.ts +0 -0
- /package/dist/{plugins → options/plugins}/tier-options-plugin.d.ts +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ClassType } from "type-tls";
|
|
2
|
-
import type {
|
|
1
|
+
import type { AbstractConstructor, ClassType } from "type-tls";
|
|
2
|
+
import type { ExtendOptions, IExtendHostMembers, IAnyExtend, PluginExtendManager } from "../plugin-manager/index";
|
|
3
3
|
import type { IPlugin, PluginUseReturn, PluginUseArgs } from "../plugin-manager/index";
|
|
4
4
|
/**
|
|
5
5
|
* 插件宿主构造函数的接口
|
|
@@ -17,36 +17,55 @@ export interface IPluginHostClass<HostInst> {
|
|
|
17
17
|
/**
|
|
18
18
|
* PluginHost 的插件管理器
|
|
19
19
|
*/
|
|
20
|
-
get pluginManager():
|
|
20
|
+
get pluginManager(): PluginExtendManager<HostInst, this>;
|
|
21
21
|
/**
|
|
22
22
|
* 是否使用独立的插件管理器
|
|
23
23
|
* @defaultValue false
|
|
24
24
|
*/
|
|
25
25
|
readonly isolatedPluginManager?: boolean;
|
|
26
26
|
/**
|
|
27
|
-
* {@inheritDoc
|
|
27
|
+
* {@inheritDoc PluginExtendManager.usePlugin}
|
|
28
28
|
*/
|
|
29
|
-
|
|
29
|
+
usePlugin<HostClass extends AbstractConstructor, P extends IPlugin<InstanceType<HostClass>, HostClass>>(this: HostClass, plugin: P, ...args: PluginUseArgs<P>): PluginUseReturn<P>;
|
|
30
|
+
/**
|
|
31
|
+
* {@inheritDoc PluginExtendManager.useExtend}
|
|
32
|
+
*/
|
|
33
|
+
useExtend<HostClass extends AbstractConstructor, E extends IAnyExtend<HostClass>>(this: HostClass, ext: ExtendOptions<HostClass, E>): IExtendHostMembers<E>;
|
|
34
|
+
/**
|
|
35
|
+
* 是否注册了插件 或 扩展
|
|
36
|
+
* @param plugin - 插件 或 扩展
|
|
37
|
+
* @returns 是否注册了插件 或 扩展
|
|
38
|
+
*/
|
|
39
|
+
hasUsed(plugin: any): boolean;
|
|
30
40
|
}
|
|
31
41
|
/**
|
|
32
42
|
* 插件宿主的实例类型
|
|
33
43
|
*/
|
|
34
|
-
export interface IPluginHost<Host, HostClass = ClassType<Host>> {
|
|
44
|
+
export interface IPluginHost<Host, HostClass extends AbstractConstructor<Host> = ClassType<Host>> {
|
|
35
45
|
/**
|
|
36
46
|
* 插件管理器
|
|
37
47
|
*/
|
|
38
|
-
readonly pluginManager:
|
|
48
|
+
readonly pluginManager: PluginExtendManager<Host, HostClass>;
|
|
39
49
|
/**
|
|
40
50
|
* 实例的注册插件的方法
|
|
41
51
|
* @param plugin
|
|
42
52
|
* @param args
|
|
43
53
|
* @returns
|
|
44
54
|
*/
|
|
45
|
-
|
|
55
|
+
usePlugin<P extends IPlugin<Host, HostClass>>(plugin: P, ...args: PluginUseArgs<P>): PluginUseReturn<P>;
|
|
56
|
+
/**
|
|
57
|
+
* {@inheritDoc PluginExtendManager.useExtend}
|
|
58
|
+
*/
|
|
59
|
+
useExtend<E extends IAnyExtend<HostClass>>(ext: ExtendOptions<HostClass, E>, ...args: ConstructorParameters<HostClass>): IExtendHostMembers<E>;
|
|
46
60
|
/**
|
|
47
61
|
* 初始化实例
|
|
48
62
|
* @param args
|
|
49
63
|
*/
|
|
50
64
|
init(...args: any): any;
|
|
65
|
+
/**
|
|
66
|
+
* 销毁实例
|
|
67
|
+
* @returns
|
|
68
|
+
*/
|
|
69
|
+
destroy(): any;
|
|
51
70
|
}
|
|
52
71
|
//# sourceMappingURL=type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/plugin-host/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/plugin-host/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAC,SAAS,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAClH,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGvF;;;GAGG;AACH,MAAM,WAAW,gBAAgB,CAAC,QAAQ;IAExC;;OAEG;IACH,KAAK,GAAG,IAAI,EAAE,GAAG,GAAG,QAAQ,CAAC;IAC7B;;OAEG;IACH,SAAS,EAAE,QAAQ,CAAC;IAEpB;;OAEG;IACH,IAAI,aAAa,IAAI,mBAAmB,CAAC,QAAQ,EAAC,IAAI,CAAC,CAAC;IAExD;;;OAGG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEzC;;OAEG;IACH,SAAS,CAAC,SAAS,SAAS,mBAAmB,EAAC,CAAC,SAAS,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,EAAC,SAAS,CAAC,EAAE,IAAI,EAAC,SAAS,EAAC,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAE/K;;OAEG;IACH,SAAS,CAAC,SAAS,SAAS,mBAAmB,EAAC,CAAC,SAAS,UAAU,CAAC,SAAS,CAAC,EAAE,IAAI,EAAC,SAAS,EAAC,GAAG,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,GAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAExJ;;;;OAIG;IACH,OAAO,CAAC,MAAM,EAAE,GAAG,GAAE,OAAO,CAAC;CAE9B;AAID;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,IAAI,EAAC,SAAS,SAAS,mBAAmB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC;IAC7F;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC,IAAI,EAAC,SAAS,CAAC,CAAC;IAC5D;;;;;OAKG;IACH,SAAS,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,CAAC;IAEvG;;OAEG;IACH,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,EAAC,GAAG,IAAI,EAAC,qBAAqB,CAAC,SAAS,CAAC,GAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAE5I;;;OAGG;IACH,IAAI,CAAC,GAAG,IAAI,EAAC,GAAG,GAAE,GAAG,CAAC;IAEtB;;;OAGG;IACH,OAAO,IAAG,GAAG,CAAC;CACf"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { AnyFunction, AbstractConstructor } from "type-tls";
|
|
2
|
+
import { Destroyable } from "@gby/destroyable";
|
|
3
|
+
import { type IExtend, type IExtendHostMembers, type IAnyExtend } from "./IExtend";
|
|
4
|
+
import type { ExtendOptions } from "./extend";
|
|
5
|
+
/**
|
|
6
|
+
* 插件管理者
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* 负责管理插件的注册、应用 等
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
export declare class ExtendManager<HostClass extends AbstractConstructor> extends Destroyable {
|
|
13
|
+
/**
|
|
14
|
+
* 插件的宿主
|
|
15
|
+
*/
|
|
16
|
+
host: HostClass;
|
|
17
|
+
/**
|
|
18
|
+
* 所有注册的插件
|
|
19
|
+
*/
|
|
20
|
+
readonly plugins: Set<IExtend<HostClass>>;
|
|
21
|
+
/**
|
|
22
|
+
* @param host - 插件的宿主
|
|
23
|
+
*/
|
|
24
|
+
constructor(host?: HostClass);
|
|
25
|
+
destroyThis(): any;
|
|
26
|
+
/**
|
|
27
|
+
* 是否注册了插件
|
|
28
|
+
* @param plugin - 插件
|
|
29
|
+
* @returns 是否注册了插件
|
|
30
|
+
*/
|
|
31
|
+
hasUsed(plugin: any): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* 使用插件、注册插件
|
|
34
|
+
* @remarks
|
|
35
|
+
* 该函数的返回对象是插件对象本身,但返回的类型日排除了 IExtend 生命周期成员后的对宿主新增的成员,这样设计的目标是方便后续通过返回的类型直接对宿主的类型进行扩展
|
|
36
|
+
* @param plugin - 插件
|
|
37
|
+
* @returns 返回插件对象本身
|
|
38
|
+
*/
|
|
39
|
+
use<E extends IAnyExtend<HostClass>>(plugin: ExtendOptions<HostClass, E>): IExtendHostMembers<E>;
|
|
40
|
+
/**
|
|
41
|
+
* 插件宿主实例的注册插件的方法
|
|
42
|
+
*
|
|
43
|
+
* @remarks
|
|
44
|
+
* 会调用每个插件的 {@link IExtend.use } 方法
|
|
45
|
+
* @param hostInst - 插件宿主的新实例
|
|
46
|
+
*/
|
|
47
|
+
instUse<E extends IAnyExtend<HostClass>>(hostInst: InstanceType<HostClass>, plugin: ExtendOptions<HostClass, E>, ...args: ConstructorParameters<HostClass>): IExtendHostMembers<E>;
|
|
48
|
+
/**
|
|
49
|
+
* 插件宿主创建实例时调用
|
|
50
|
+
*
|
|
51
|
+
* @remarks
|
|
52
|
+
* 会调用每个插件的 {@link IExtend.onCreate} 方法
|
|
53
|
+
* 如果插件的 created 方法返回 Promise,则会等待 Promise resolve
|
|
54
|
+
* @param hostInst - 插件宿主的新实例
|
|
55
|
+
*/
|
|
56
|
+
onCreate(hostInst: InstanceType<HostClass>, ...args: ConstructorParameters<HostClass>): import("com-tools").SerialCallFunsReturn<AnyFunction>;
|
|
57
|
+
/**
|
|
58
|
+
* 插件宿主创建实例时调用
|
|
59
|
+
*
|
|
60
|
+
* @remarks
|
|
61
|
+
* 会调用每个插件的 {@link IExtend.onCreate } 方法
|
|
62
|
+
* @param hostInst - 插件宿主的新实例
|
|
63
|
+
* @param args - 初始化宿主实例时的参数
|
|
64
|
+
*/
|
|
65
|
+
onInit(hostInst: InstanceType<HostClass>, ...args: any): import("com-tools").SerialCallFunsReturn<AnyFunction>;
|
|
66
|
+
/**
|
|
67
|
+
* 插件宿主被销毁时调用
|
|
68
|
+
*
|
|
69
|
+
* @remarks
|
|
70
|
+
* 会调用每个插件的 {@link IExtend.onDestroy} 方法
|
|
71
|
+
* @param hostInst - 被销毁的插件实例
|
|
72
|
+
*/
|
|
73
|
+
onDestroy(hostInst: InstanceType<HostClass>): import("com-tools").SerialCallFunsReturn<AnyFunction>;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=ExtendManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExtendManager.d.ts","sourceRoot":"","sources":["../../src/plugin-manager/ExtendManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAyB,KAAK,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAE1G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C;;;;;;GAMG;AACH,qBAAa,aAAa,CAAC,SAAS,SAAS,mBAAmB,CAAE,SAAQ,WAAW;IAEjF;;OAEG;IACH,IAAI,EAAG,SAAS,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,OAAO,0BAAiC;IAIjD;;OAEG;gBACS,IAAI,CAAC,EAAE,SAAS;IAOnB,WAAW;IAMpB;;;;OAIG;IACH,OAAO,CAAC,MAAM,EAAE,GAAG;IAInB;;;;;;OAMG;IACH,GAAG,CAAC,CAAC,SAAS,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,GAAE,kBAAkB,CAAC,CAAC,CAAC;IAQ/F;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,SAAS,UAAU,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,EAAG,GAAG,IAAI,EAAC,qBAAqB,CAAC,SAAS,CAAC,GAAE,kBAAkB,CAAC,CAAC,CAAC;IAQjL;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC,EAAG,GAAG,IAAI,EAAC,qBAAqB,CAAC,SAAS,CAAC;IAWrF;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC,EAAC,GAAG,IAAI,EAAC,GAAG;IAWpD;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC;CAY9C"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { AbstractConstructor } from "type-tls";
|
|
2
|
+
import type { ExtendClass } from "./extend";
|
|
3
|
+
/**
|
|
4
|
+
* 扩展选项接口
|
|
5
|
+
* @remarks
|
|
6
|
+
* 扩展 与 插件的接口很像,他们的区别是:
|
|
7
|
+
* - 扩展中的方法的 this 值是被扩展的类的实例,而插件中方法的 this 值是插件对象本身
|
|
8
|
+
* - 扩展中除接口中定义的成员之外,其他成员都会被直接添加到宿主类的原型 prototype 上,而插件的成员不会
|
|
9
|
+
*/
|
|
10
|
+
export interface IExtend<HostClass extends AbstractConstructor> {
|
|
11
|
+
/**
|
|
12
|
+
* 当宿主实例被创建时调用
|
|
13
|
+
* @param host - 新建的宿主实例
|
|
14
|
+
*/
|
|
15
|
+
onCreate?(host: InstanceType<HostClass>, ...args: ConstructorParameters<HostClass>): any;
|
|
16
|
+
/**
|
|
17
|
+
* 当宿主实例被初始化时调用
|
|
18
|
+
* @param host - 新建的宿主实例
|
|
19
|
+
* @param args - 初始化宿主实例时的参数
|
|
20
|
+
*/
|
|
21
|
+
onInit?(host: InstanceType<HostClass>, ...args: any): any;
|
|
22
|
+
/**
|
|
23
|
+
* 当宿主实例被销毁时调用
|
|
24
|
+
* @param host - 被销毁的宿主实例
|
|
25
|
+
*/
|
|
26
|
+
onDestroy?(host: InstanceType<HostClass>): any;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 任意扩展选项接口
|
|
30
|
+
* 用于扩展选项的参数的泛型约束,当使用 IExtend 报错时,可以尝试下 IExtendParams
|
|
31
|
+
* @param HostClass - 扩展的目标类类型
|
|
32
|
+
*/
|
|
33
|
+
export interface IAnyExtend<HostClass extends AbstractConstructor> extends IExtend<HostClass> {
|
|
34
|
+
[Key: PropertyKey]: any;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* 从扩展选项中提取需要设置给宿主类的成员
|
|
38
|
+
* @param extendOptions
|
|
39
|
+
* @returns
|
|
40
|
+
*/
|
|
41
|
+
export type IExtendHostMembers<E> = Omit<E, keyof IExtend<any>>;
|
|
42
|
+
/**
|
|
43
|
+
* 从扩展选项中提取需要设置给宿主类的成员
|
|
44
|
+
* @param extendOptions
|
|
45
|
+
* @returns
|
|
46
|
+
*/
|
|
47
|
+
export declare function pickHostExtendMembers<Ext>(extendOptions: Ext): IExtendHostMembers<Ext>;
|
|
48
|
+
/**
|
|
49
|
+
* 定义被 IExtend 扩展后的类的类型
|
|
50
|
+
* @remarks
|
|
51
|
+
* 它返回 IExtend 对 类 HostClass 的进行扩展后的类的类型
|
|
52
|
+
*
|
|
53
|
+
* @param HostClass - 扩展的目标类类型
|
|
54
|
+
* @param Ext - 扩展的类型
|
|
55
|
+
*/
|
|
56
|
+
export type IExtendClass<HostClass extends AbstractConstructor, Ext> = ExtendClass<HostClass, IExtendHostMembers<Ext>>;
|
|
57
|
+
//# sourceMappingURL=IExtend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IExtend.d.ts","sourceRoot":"","sources":["../../src/plugin-manager/IExtend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,UAAU,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,WAAW,OAAO,CAAC,SAAS,SAAS,mBAAmB;IAC1D;;;OAGG;IACH,QAAQ,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,EAAG,GAAG,IAAI,EAAC,qBAAqB,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;IAEzF;;;;OAIG;IACH,MAAM,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,EAAC,GAAG,IAAI,EAAC,GAAG,GAAG,GAAG,CAAC;IAExD;;;OAGG;IACH,SAAS,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;CAClD;AAID;;;;GAIG;AACH,MAAM,WAAW,UAAU,CAAC,SAAS,SAAS,mBAAmB,CAAG,SAAQ,OAAO,CAAC,SAAS,CAAC;IAC5F,CAAC,GAAG,EAAG,WAAW,GAAG,GAAG,CAAC;CAC1B;AAQD;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAG/D;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,aAAa,EAAC,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAUrF;AAWD;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,CAAC,SAAS,SAAS,mBAAmB,EAAE,GAAG,IAAI,WAAW,CAAC,SAAS,EAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
import type { AnyFunction,
|
|
1
|
+
import type { AnyFunction, AbstractClassType } from "type-tls";
|
|
2
2
|
/**
|
|
3
3
|
* 插件宿主的实例类型
|
|
4
4
|
*/
|
|
5
5
|
export type HostInst<H> = H extends new (...args: any) => Object ? InstanceType<H> : H;
|
|
6
6
|
/**
|
|
7
7
|
* 插件的接口
|
|
8
|
-
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* 插件 与 扩展的接口很像,他们的区别是:
|
|
10
|
+
* - 插件中的方法的 this 值是插件对象本身,而扩展中方法的 this 值是宿主实例
|
|
11
|
+
* - 插件的成员不会被直接添加到宿主类的原型 prototype 上,而扩展的成员会
|
|
9
12
|
* @typeParam HOST - 插件宿主的类类型
|
|
10
13
|
*/
|
|
11
|
-
export interface IPlugin<Host, HostClass =
|
|
14
|
+
export interface IPlugin<Host, HostClass = AbstractClassType<Host>> {
|
|
12
15
|
/**
|
|
13
16
|
* 当插件被注册时调用
|
|
14
17
|
* @param hostClass - 宿主的类型
|
|
@@ -30,7 +33,7 @@ export interface IPlugin<Host, HostClass = ClassType<Host>> {
|
|
|
30
33
|
* 当宿主实例被销毁时调用
|
|
31
34
|
* @param host - 被销毁的宿主实例
|
|
32
35
|
*/
|
|
33
|
-
onDestroy?(host: Host): any
|
|
36
|
+
onDestroy?(host: Host): any;
|
|
34
37
|
}
|
|
35
38
|
/**
|
|
36
39
|
* 获取插件的 used 方法的参数类型
|
|
@@ -44,4 +47,10 @@ export type PluginUseReturn<P extends IPlugin<any, any>> = ReturnType<P["onUse"]
|
|
|
44
47
|
* 插件的 created 方法的返回值类型
|
|
45
48
|
*/
|
|
46
49
|
export type PluginCreatedReturn<P extends IPlugin<any, any>> = P["onCreate"] extends AnyFunction ? ReturnType<P["onCreate"]> : never;
|
|
50
|
+
/**
|
|
51
|
+
* 判断一个对象是否是插件
|
|
52
|
+
* @param target
|
|
53
|
+
* @returns
|
|
54
|
+
*/
|
|
55
|
+
export declare function isPlugin(target: any): target is IPlugin<any, any>;
|
|
47
56
|
//# sourceMappingURL=IPlugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IPlugin.d.ts","sourceRoot":"","sources":["../../src/plugin-manager/IPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"IPlugin.d.ts","sourceRoot":"","sources":["../../src/plugin-manager/IPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE/D;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,KAAK,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAIvF;;;;;;;GAOG;AACH,MAAM,WAAW,OAAO,CAAC,IAAI,EAAC,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC;IAC7D;;;;OAIG;IACH,KAAK,CAAC,SAAS,EAAE,SAAS,EAAG,GAAG,IAAI,EAAC,GAAG,GAAG,GAAG,CAAC;IAE/C;;;OAGG;IACH,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,EAAG,GAAG,IAAI,EAAC,GAAG,GAAG,GAAG,CAAC;IAEzC;;;;OAIG;IACH,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAC,GAAG,IAAI,EAAC,GAAG,GAAG,GAAG,CAAC;IAErC;;;OAGG;IACH,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC;CAC/B;AAGD;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,MAAM,SAAS,OAAO,CAAC,GAAG,EAAC,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAAI,CAAC,GAAG,KAAK,CAAC;AAGtI;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAC,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAGjF;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC;AAIpI;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,EAAC,GAAG,CAAC,CAEhE"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type { AnyFunction, AbstractConstructor, ClassType } from "type-tls";
|
|
2
|
+
import { Destroyable } from "@gby/destroyable";
|
|
3
|
+
import { type IExtend, type IExtendHostMembers, type IAnyExtend } from "./IExtend";
|
|
4
|
+
import { type IPlugin, type PluginUseArgs, type PluginUseReturn } from "./IPlugin";
|
|
5
|
+
import type { ExtendOptions } from "./extend";
|
|
6
|
+
/**
|
|
7
|
+
* 用于标识是扩展的标记
|
|
8
|
+
*/
|
|
9
|
+
export declare const extendMark: unique symbol;
|
|
10
|
+
/**
|
|
11
|
+
* 插件扩展管理者
|
|
12
|
+
*
|
|
13
|
+
* @remarks
|
|
14
|
+
* 负责管理插件 和 扩展的注册、应用 等
|
|
15
|
+
* 相当于 PluginManager + ExtendManager
|
|
16
|
+
*
|
|
17
|
+
*/
|
|
18
|
+
export declare class PluginExtendManager<Host, HostClass extends AbstractConstructor<Host> = ClassType<Host>> extends Destroyable {
|
|
19
|
+
/**
|
|
20
|
+
* 插件的宿主
|
|
21
|
+
*/
|
|
22
|
+
host: HostClass;
|
|
23
|
+
/**
|
|
24
|
+
* 所有注册的插件
|
|
25
|
+
*/
|
|
26
|
+
readonly plugins: Map<IPlugin<Host, HostClass> | IExtend<HostClass>, any>;
|
|
27
|
+
/**
|
|
28
|
+
* @param host - 插件的宿主
|
|
29
|
+
*/
|
|
30
|
+
constructor(host?: HostClass);
|
|
31
|
+
destroyThis(): any;
|
|
32
|
+
/**
|
|
33
|
+
* 是否注册了插件 或 扩展
|
|
34
|
+
* @param plugin - 插件 或 扩展
|
|
35
|
+
* @returns 是否注册了插件 或 扩展
|
|
36
|
+
*/
|
|
37
|
+
hasUsed(plugin: any): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* 判断一个对象是否是插件
|
|
40
|
+
* @param target
|
|
41
|
+
* @returns
|
|
42
|
+
*/
|
|
43
|
+
isPlugin(target: any): target is IPlugin<Host, HostClass>;
|
|
44
|
+
/**
|
|
45
|
+
* 使用插件、注册插件
|
|
46
|
+
* @param ext - 插件
|
|
47
|
+
* @param args - 传递给插件的选项
|
|
48
|
+
*/
|
|
49
|
+
useExtend<E extends IAnyExtend<HostClass>>(ext: ExtendOptions<HostClass, E>): IExtendHostMembers<E>;
|
|
50
|
+
/**
|
|
51
|
+
* 插件宿主实例的注册插件的方法
|
|
52
|
+
*
|
|
53
|
+
* @remarks
|
|
54
|
+
* 会调用每个插件的 {@link IExtend.use } 方法
|
|
55
|
+
* @param hostInst - 插件宿主的新实例
|
|
56
|
+
*/
|
|
57
|
+
instUseExtend<E extends IAnyExtend<HostClass>>(hostInst: InstanceType<HostClass>, ext: ExtendOptions<HostClass, E>, ...args: ConstructorParameters<HostClass>): IExtendHostMembers<E>;
|
|
58
|
+
/**
|
|
59
|
+
* 使用插件、注册插件
|
|
60
|
+
* @param plugin - 插件
|
|
61
|
+
* @param args - 传递给插件的选项
|
|
62
|
+
*/
|
|
63
|
+
usePlugin<P extends IPlugin<Host, HostClass>>(plugin: P, ...args: PluginUseArgs<P>): PluginUseReturn<P>;
|
|
64
|
+
/**
|
|
65
|
+
* 插件宿主实例的注册插件的方法
|
|
66
|
+
*
|
|
67
|
+
* @remarks
|
|
68
|
+
* 会调用每个插件的 {@link IPlugin.use } 方法
|
|
69
|
+
* @param hostInst - 插件宿主的新实例
|
|
70
|
+
*/
|
|
71
|
+
instUsePlugin<P extends IPlugin<Host, HostClass>>(hostInst: Host, plugin: P, ...options: PluginUseArgs<P>): PluginUseReturn<P>;
|
|
72
|
+
/**
|
|
73
|
+
* 插件宿主创建实例时调用
|
|
74
|
+
*
|
|
75
|
+
* @remarks
|
|
76
|
+
* 会调用每个插件的 {@link IPlugin.onCreate} 方法
|
|
77
|
+
* 如果插件的 created 方法返回 Promise,则会等待 Promise resolve
|
|
78
|
+
* @param hostInst - 插件宿主的新实例
|
|
79
|
+
*/
|
|
80
|
+
onCreate(hostInst: Host, ...args: any): import("com-tools").SerialCallFunsReturn<AnyFunction>;
|
|
81
|
+
/**
|
|
82
|
+
* 插件宿主创建实例时调用
|
|
83
|
+
*
|
|
84
|
+
* @remarks
|
|
85
|
+
* 会调用每个插件的 {@link IPlugin.onCreate } 方法
|
|
86
|
+
* @param hostInst - 插件宿主的新实例
|
|
87
|
+
* @param args - 初始化宿主实例时的参数
|
|
88
|
+
*/
|
|
89
|
+
onInit(hostInst: Host, ...args: any): import("com-tools").SerialCallFunsReturn<AnyFunction>;
|
|
90
|
+
/**
|
|
91
|
+
* 插件宿主被销毁时调用
|
|
92
|
+
*
|
|
93
|
+
* @remarks
|
|
94
|
+
* 会调用每个插件的 {@link IPlugin.onDestroy} 方法
|
|
95
|
+
* @param hostInst - 被销毁的插件实例
|
|
96
|
+
*/
|
|
97
|
+
onDestroy(hostInst: Host): import("com-tools").SerialCallFunsReturn<AnyFunction>;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=PluginExtendManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PluginExtendManager.d.ts","sourceRoot":"","sources":["../../src/plugin-manager/PluginExtendManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAC,SAAS,EAAE,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,UAAU,EAAyB,MAAM,WAAW,CAAC;AAC1G,OAAO,EAAY,KAAK,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAE7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C;;GAEG;AACH,eAAO,MAAM,UAAU,eAAmB,CAAC;AAG3C;;;;;;;GAOG;AACH,qBAAa,mBAAmB,CAAC,IAAI,EAAC,SAAS,SAAS,mBAAmB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAE,SAAQ,WAAW;IAEpH;;OAEG;IACH,IAAI,EAAG,SAAS,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,OAAO,0DAA6D;IAG7E;;OAEG;gBACS,IAAI,CAAC,EAAE,SAAS;IAOnB,WAAW;IAMpB;;;;OAIG;IACH,OAAO,CAAC,MAAM,EAAE,GAAG;IAKnB;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC,IAAI,EAAC,SAAS,CAAC;IAQxD;;;;OAIG;IACH,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,GAAE,kBAAkB,CAAC,CAAC,CAAC;IAQlG;;;;;;OAMG;IACH,aAAa,CAAC,CAAC,SAAS,UAAU,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,EAAG,GAAG,IAAI,EAAC,qBAAqB,CAAC,SAAS,CAAC,GAAE,kBAAkB,CAAC,CAAC,CAAC;IAQpL;;;;OAIG;IACH,SAAS,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;IAQrG;;;;;;OAMG;IACH,aAAa,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;IAU7H;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAG,GAAG,IAAI,EAAC,GAAG;IAYrC;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAC,GAAG,IAAI,EAAC,GAAG;IAYjC;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,EAAE,IAAI;CAa3B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AnyFunction, AbstractClassType } from "type-tls";
|
|
2
2
|
import type { IPlugin, PluginUseArgs, PluginUseReturn } from "./IPlugin";
|
|
3
3
|
import { Destroyable } from "@gby/destroyable";
|
|
4
4
|
/**
|
|
@@ -8,7 +8,7 @@ import { Destroyable } from "@gby/destroyable";
|
|
|
8
8
|
* 负责管理插件的注册、应用 等
|
|
9
9
|
*
|
|
10
10
|
*/
|
|
11
|
-
export declare class PluginManager<Host, HostClass =
|
|
11
|
+
export declare class PluginManager<Host, HostClass = AbstractClassType<Host>> extends Destroyable {
|
|
12
12
|
/**
|
|
13
13
|
* 插件的宿主
|
|
14
14
|
*/
|
|
@@ -21,13 +21,27 @@ export declare class PluginManager<Host, HostClass = ClassType<Host>> extends De
|
|
|
21
21
|
* @param host - 插件的宿主
|
|
22
22
|
*/
|
|
23
23
|
constructor(host?: HostClass);
|
|
24
|
-
destroyThis():
|
|
24
|
+
destroyThis(): any;
|
|
25
|
+
/**
|
|
26
|
+
* 是否注册了插件
|
|
27
|
+
* @param plugin - 插件
|
|
28
|
+
* @returns 是否注册了插件
|
|
29
|
+
*/
|
|
30
|
+
hasUsed(plugin: any): boolean;
|
|
25
31
|
/**
|
|
26
32
|
* 使用插件、注册插件
|
|
27
33
|
* @param plugin - 插件
|
|
28
34
|
* @param args - 传递给插件的选项
|
|
29
35
|
*/
|
|
30
36
|
use<P extends IPlugin<Host, HostClass>>(plugin: P, ...args: PluginUseArgs<P>): PluginUseReturn<P>;
|
|
37
|
+
/**
|
|
38
|
+
* 插件宿主实例的注册插件的方法
|
|
39
|
+
*
|
|
40
|
+
* @remarks
|
|
41
|
+
* 会调用每个插件的 {@link IPlugin.use } 方法
|
|
42
|
+
* @param hostInst - 插件宿主的新实例
|
|
43
|
+
*/
|
|
44
|
+
instUse<P extends IPlugin<Host, HostClass>>(hostInst: Host, plugin: P, ...options: PluginUseArgs<P>): PluginUseReturn<P>;
|
|
31
45
|
/**
|
|
32
46
|
* 插件宿主创建实例时调用
|
|
33
47
|
*
|
|
@@ -36,7 +50,7 @@ export declare class PluginManager<Host, HostClass = ClassType<Host>> extends De
|
|
|
36
50
|
* 如果插件的 created 方法返回 Promise,则会等待 Promise resolve
|
|
37
51
|
* @param hostInst - 插件宿主的新实例
|
|
38
52
|
*/
|
|
39
|
-
onCreate(hostInst: Host, ...args: any):
|
|
53
|
+
onCreate(hostInst: Host, ...args: any): import("com-tools").SerialCallFunsReturn<AnyFunction>;
|
|
40
54
|
/**
|
|
41
55
|
* 插件宿主创建实例时调用
|
|
42
56
|
*
|
|
@@ -45,7 +59,7 @@ export declare class PluginManager<Host, HostClass = ClassType<Host>> extends De
|
|
|
45
59
|
* @param hostInst - 插件宿主的新实例
|
|
46
60
|
* @param args - 初始化宿主实例时的参数
|
|
47
61
|
*/
|
|
48
|
-
onInit(hostInst: Host, ...args: any):
|
|
62
|
+
onInit(hostInst: Host, ...args: any): import("com-tools").SerialCallFunsReturn<AnyFunction>;
|
|
49
63
|
/**
|
|
50
64
|
* 插件宿主被销毁时调用
|
|
51
65
|
*
|
|
@@ -53,14 +67,6 @@ export declare class PluginManager<Host, HostClass = ClassType<Host>> extends De
|
|
|
53
67
|
* 会调用每个插件的 {@link IPlugin.onDestroy} 方法
|
|
54
68
|
* @param hostInst - 被销毁的插件实例
|
|
55
69
|
*/
|
|
56
|
-
onDestroy(hostInst: Host):
|
|
57
|
-
/**
|
|
58
|
-
* 插件宿主实例的注册插件的方法
|
|
59
|
-
*
|
|
60
|
-
* @remarks
|
|
61
|
-
* 会调用每个插件的 {@link IPlugin.use } 方法
|
|
62
|
-
* @param hostInst - 插件宿主的新实例
|
|
63
|
-
*/
|
|
64
|
-
instUse<P extends IPlugin<Host, HostClass>>(hostInst: Host, plugin: P, ...options: PluginUseArgs<P>): PluginUseReturn<P>;
|
|
70
|
+
onDestroy(hostInst: Host): import("com-tools").SerialCallFunsReturn<AnyFunction>;
|
|
65
71
|
}
|
|
66
72
|
//# sourceMappingURL=PluginManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginManager.d.ts","sourceRoot":"","sources":["../../src/plugin-manager/PluginManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
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;IAOpB;;;;OAIG;IACH,OAAO,CAAC,MAAM,EAAE,GAAG;IAMnB;;;;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,84 @@
|
|
|
1
|
+
import type { AbstractConstructor, ClassType } from "type-tls";
|
|
2
|
+
/**
|
|
3
|
+
* 用于扩展类的选项类型
|
|
4
|
+
* @remarks
|
|
5
|
+
* 它会将 Ext 中的方法的 this 指向 HostClass的实例 & Ext,而不是 Ext 本身。
|
|
6
|
+
*
|
|
7
|
+
* @param HostClass - 扩展的目标类类型
|
|
8
|
+
* @param Ext - 扩展的类型
|
|
9
|
+
*/
|
|
10
|
+
export type ExtendOptions<HostClass extends AbstractConstructor, Ext> = Ext & ThisType<InstanceType<HostClass> & Ext>;
|
|
11
|
+
/**
|
|
12
|
+
* 定义类扩展后的类型
|
|
13
|
+
* @remarks
|
|
14
|
+
* 它返回 对 类 HostClass 的进行扩展后的类的类型
|
|
15
|
+
*
|
|
16
|
+
* @param HostClass - 扩展的目标类类型
|
|
17
|
+
* @param Ext - 扩展的类型
|
|
18
|
+
*/
|
|
19
|
+
export type ExtendClass<HostClass extends AbstractConstructor, Ext> = Omit<HostClass, "prototype"> & ClassType<InstanceType<HostClass> & Ext, ConstructorParameters<HostClass>>;
|
|
20
|
+
/**
|
|
21
|
+
* 定义扩展的类型便利函数
|
|
22
|
+
*
|
|
23
|
+
* @remarks
|
|
24
|
+
* 它会更改 ext 中方法的this指向为 cla & ext,不会真的执行扩展操作。
|
|
25
|
+
*
|
|
26
|
+
* @param hostClass - 扩展的目标,用作 this 的类型
|
|
27
|
+
* @param ext - 描述扩展内容的对象,会自动更改其this的类型
|
|
28
|
+
* @returns 返回注入了 this 类型的 ext 对象本身
|
|
29
|
+
*/
|
|
30
|
+
export declare function defineExtend<HostClass extends AbstractConstructor, Ext>(hostClass: HostClass, ext: ExtendOptions<HostClass, Ext>): ExtendOptions<HostClass, Ext>;
|
|
31
|
+
/**
|
|
32
|
+
* 创建定义扩展的类型便利函数
|
|
33
|
+
*
|
|
34
|
+
* @remarks
|
|
35
|
+
* 它返回的便利函数的功能与 {@link defineExtend} 的功能一样,唯一区别是不再需要接收 hostClass 参数了
|
|
36
|
+
*
|
|
37
|
+
* @returns 可以用于 定义扩展的 类型便利函数
|
|
38
|
+
*/
|
|
39
|
+
export declare function createDefineExtend<HostClass extends AbstractConstructor>(): <Ext>(ext: ExtendOptions<HostClass, Ext>) => ExtendOptions<HostClass, Ext>;
|
|
40
|
+
/**
|
|
41
|
+
* 扩展目标
|
|
42
|
+
*
|
|
43
|
+
* @remarks
|
|
44
|
+
* 与 {@link defineExtend} 的区别是:`targetExtend` 会执行对 cla 的扩展操作,而 {@link defineExtend} 不会
|
|
45
|
+
*
|
|
46
|
+
*
|
|
47
|
+
* @param cla - 扩展的目标,也用作 this 的类型
|
|
48
|
+
* @param ext - 扩展描述对象,会自动更改其this的类型
|
|
49
|
+
* @returns 返回注入了 this 类型的 ext 对象本身
|
|
50
|
+
*/
|
|
51
|
+
export declare function targetExtend<C extends AbstractConstructor, Ext>(cla: C, ext: ExtendOptions<C, Ext>): ExtendOptions<C, Ext>;
|
|
52
|
+
/**
|
|
53
|
+
* 创建用于扩展目标的便捷函数
|
|
54
|
+
*
|
|
55
|
+
* @remarks
|
|
56
|
+
* 它返回的便利函数的功能与 {@link targetExtend} 的功能一样,唯一区别是不再需要接收 cla 参数了
|
|
57
|
+
*
|
|
58
|
+
* @param cla - 扩展的目标,也用作 this 的类型
|
|
59
|
+
* @returns 可以用于 扩展目标 的便利函数
|
|
60
|
+
*/
|
|
61
|
+
export declare function createTargetExtend<C extends AbstractConstructor>(cla: C): <E>(ext: ExtendOptions<C, E>) => ExtendOptions<C, E>;
|
|
62
|
+
/**
|
|
63
|
+
* 扩展目标
|
|
64
|
+
*
|
|
65
|
+
* @remarks
|
|
66
|
+
* 会执行对 CEarth 类的扩展操作。
|
|
67
|
+
* 与 {@link targetExtend} 的区别仅仅是返回类型不一样。
|
|
68
|
+
*
|
|
69
|
+
* @param cla - 扩展的目标,也用作 this 的类型
|
|
70
|
+
* @param ext - 扩展对象,会自动更改其this的类型
|
|
71
|
+
* @returns 返回扩展后的 cla 对象
|
|
72
|
+
*/
|
|
73
|
+
export declare function extendTarget<C extends AbstractConstructor, E>(cla: C, ext: ExtendOptions<C, E>): ExtendClass<C, E>;
|
|
74
|
+
/**
|
|
75
|
+
* 创建用于扩展目标工具函数
|
|
76
|
+
*
|
|
77
|
+
* @remarks
|
|
78
|
+
* 它返回的便利函数的功能与 {@link extendTarget} 的功能一样,唯一区别是不再需要接收 cla 参数了
|
|
79
|
+
*
|
|
80
|
+
* @param cla - 扩展的目标,也用作 this 的类型
|
|
81
|
+
* @returns 可以用于 扩展目标 的便利函数
|
|
82
|
+
*/
|
|
83
|
+
export declare function createExtendTarget<C extends ClassType>(cla: C): <E>(ext: ExtendOptions<C, E>) => ExtendClass<C, E>;
|
|
84
|
+
//# sourceMappingURL=extend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extend.d.ts","sourceRoot":"","sources":["../../src/plugin-manager/extend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAM/D;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,CAAC,SAAS,SAAS,mBAAmB,EAAE,GAAG,IAAI,GAAG,GAAG,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC;AAKtH;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,CAAC,SAAS,SAAS,mBAAmB,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC;AAMhL;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,SAAS,SAAS,mBAAmB,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,CAEhK;AAID;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,SAAS,mBAAmB,MACvC,GAAG,EAAE,KAAK,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,KAAG,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,CAGvG;AAOD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,mBAAmB,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAG1H;AAMD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,mBAAmB,EAAE,GAAG,EAAE,CAAC,IACxC,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAIhF;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,mBAAmB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAGlH;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,CAAC,IAC7B,CAAC,EAAG,KAAK,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,KAAI,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAIjF"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
-
export * from "./
|
|
1
|
+
export * from "./mixin";
|
|
2
|
+
export * from "./extend";
|
|
3
|
+
export * from "./IExtend";
|
|
2
4
|
export * from "./IPlugin";
|
|
5
|
+
export * from "./PluginManager";
|
|
6
|
+
export * from "./ExtendManager";
|
|
7
|
+
export * from "./PluginExtendManager";
|
|
3
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin-manager/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin-manager/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA"}
|
|
@@ -31,6 +31,15 @@ export declare function mixin<T, S1, S2, S3, S4>(target: T, source1: S1, source2
|
|
|
31
31
|
* @returns 混入后的 target
|
|
32
32
|
*/
|
|
33
33
|
export declare function mixin(target: any, ...sources: any[]): any;
|
|
34
|
+
/**
|
|
35
|
+
* 用于混合对象的选项类型
|
|
36
|
+
* @remarks
|
|
37
|
+
* 它会将 Ext 中的方法的 this 指向 Obj & Ext,而不是 Obj 本身。
|
|
38
|
+
*
|
|
39
|
+
* @param T - 混合的目标类类型
|
|
40
|
+
* @param M - 混合的选项类型
|
|
41
|
+
*/
|
|
42
|
+
export type MixinOptions<T, M> = M & ThisType<T & M>;
|
|
34
43
|
/**
|
|
35
44
|
* 定义混合的类型便利函数
|
|
36
45
|
*
|
|
@@ -41,7 +50,7 @@ export declare function mixin(target: any, ...sources: any[]): any;
|
|
|
41
50
|
* @param mixin - 混合对象,会自动更改其this的类型
|
|
42
51
|
* @returns 返回注入了 this 类型的 mixin 对象本身
|
|
43
52
|
*/
|
|
44
|
-
export declare function defineMixin<T, M>(target: T, mixin:
|
|
53
|
+
export declare function defineMixin<T, M>(target: T, mixin: MixinOptions<T, M>): MixinOptions<T, M>;
|
|
45
54
|
/**
|
|
46
55
|
* 创建定义混合的类型便利函数
|
|
47
56
|
*
|
|
@@ -50,7 +59,7 @@ export declare function defineMixin<T, M>(target: T, mixin: M & ThisType<T & M>)
|
|
|
50
59
|
*
|
|
51
60
|
* @returns 可以用于 定义混合的 类型便利函数
|
|
52
61
|
*/
|
|
53
|
-
export declare function createDefineMixin<T>(): <M>(
|
|
62
|
+
export declare function createDefineMixin<T>(): <M>(mixin: MixinOptions<T, M>) => MixinOptions<T, M>;
|
|
54
63
|
/**
|
|
55
64
|
* 混合目标
|
|
56
65
|
*
|
|
@@ -62,7 +71,7 @@ export declare function createDefineMixin<T>(): <M>(target: T, mixin: M & ThisTy
|
|
|
62
71
|
* @param m - 混合对象,会自动更改其this的类型
|
|
63
72
|
* @returns 返回注入了 this 类型的 mixin 对象本身
|
|
64
73
|
*/
|
|
65
|
-
export declare function targetMixin<T, M>(target: T, m:
|
|
74
|
+
export declare function targetMixin<T, M>(target: T, m: MixinOptions<T, M>): MixinOptions<T, M>;
|
|
66
75
|
/**
|
|
67
76
|
* 创建用于混合目标的便捷函数
|
|
68
77
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mixin.d.ts","sourceRoot":"","sources":["../../src/plugin-manager/mixin.ts"],"names":[],"mappings":"AACA;;;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;AAS3D;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAMrD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAC,KAAK,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAEzF;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,MACL,CAAC,EAAE,OAAO,YAAY,CAAC,CAAC,EAAC,CAAC,CAAC,KAAG,YAAY,CAAC,CAAC,EAAC,CAAC,CAAC,CAG5E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,EAAC,CAAC,CAAC,CAGnF;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,EAAE,MAAM,EAAE,CAAC,EAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAG3F;AAED;;;;;;;GAOG;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,GAAG,CAAC,CAIhF;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": "3.
|
|
3
|
+
"version": "3.3.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": "^3.
|
|
55
|
+
"@gby/destroyable": "^3.6.0",
|
|
56
|
+
"com-tools": "^2.21.0",
|
|
56
57
|
"deepmerge-ts": "^7.1.5",
|
|
57
|
-
"type-tls": "^3.
|
|
58
|
+
"type-tls": "^3.10.0"
|
|
58
59
|
},
|
|
59
60
|
"scripts": {
|
|
60
61
|
"serve": "vite",
|