plugin-tls 2.0.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/extend/extend.d.ts +11 -19
- package/dist/extend/extend.d.ts.map +1 -1
- package/dist/extend/index.d.ts +3 -0
- package/dist/extend/index.d.ts.map +1 -0
- package/dist/extend/mixin.d.ts.map +1 -1
- package/dist/index.d.ts +6 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +586 -263
- package/dist/index.umd.cjs +1 -1
- package/dist/options-manager/defaultOptions.d.ts +2 -2
- package/dist/options-manager/defaultOptions.d.ts.map +1 -1
- package/dist/options-manager/index.d.ts +6 -0
- package/dist/options-manager/index.d.ts.map +1 -0
- package/dist/options-plugin-host/index.d.ts +3 -0
- package/dist/options-plugin-host/index.d.ts.map +1 -0
- package/dist/options-plugin-host/tier-mode-options/TierModeOptionsPluginHost.d.ts +28 -0
- package/dist/options-plugin-host/tier-mode-options/TierModeOptionsPluginHost.d.ts.map +1 -0
- package/dist/options-plugin-host/tier-mode-options/TierModeOptionsPluginHostEventEmitter.d.ts +29 -0
- package/dist/options-plugin-host/tier-mode-options/TierModeOptionsPluginHostEventEmitter.d.ts.map +1 -0
- package/dist/options-plugin-host/tier-mode-options/TierModeOptionsPluginHostEventTarget.d.ts +28 -0
- package/dist/options-plugin-host/tier-mode-options/TierModeOptionsPluginHostEventTarget.d.ts.map +1 -0
- package/dist/options-plugin-host/tier-mode-options/createTierModeOptionsPluginHost.d.ts +58 -0
- package/dist/options-plugin-host/tier-mode-options/createTierModeOptionsPluginHost.d.ts.map +1 -0
- package/dist/options-plugin-host/tier-mode-options/index.d.ts +6 -0
- package/dist/options-plugin-host/tier-mode-options/index.d.ts.map +1 -0
- package/dist/options-plugin-host/tier-mode-options/type.d.ts +7 -0
- package/dist/options-plugin-host/tier-mode-options/type.d.ts.map +1 -0
- package/dist/options-plugin-host/tier-options/TierOptionsPluginHost.d.ts +25 -0
- package/dist/options-plugin-host/tier-options/TierOptionsPluginHost.d.ts.map +1 -0
- package/dist/options-plugin-host/tier-options/TierOptionsPluginHostEventEmitter.d.ts +26 -0
- package/dist/options-plugin-host/tier-options/TierOptionsPluginHostEventEmitter.d.ts.map +1 -0
- package/dist/options-plugin-host/tier-options/TierOptionsPluginHostEventTarget.d.ts +25 -0
- package/dist/options-plugin-host/tier-options/TierOptionsPluginHostEventTarget.d.ts.map +1 -0
- package/dist/options-plugin-host/tier-options/createTierOptionsPluginHost.d.ts +55 -0
- package/dist/options-plugin-host/tier-options/createTierOptionsPluginHost.d.ts.map +1 -0
- package/dist/options-plugin-host/tier-options/index.d.ts +5 -0
- package/dist/options-plugin-host/tier-options/index.d.ts.map +1 -0
- package/dist/plugin-host/PluginHost.d.ts +41 -187
- package/dist/plugin-host/PluginHost.d.ts.map +1 -1
- package/dist/plugin-host/PluginHostEventEmitter.d.ts +64 -0
- package/dist/plugin-host/PluginHostEventEmitter.d.ts.map +1 -0
- package/dist/plugin-host/PluginHostEventTarget.d.ts +62 -0
- package/dist/plugin-host/PluginHostEventTarget.d.ts.map +1 -0
- package/dist/plugin-host/createPluginHost.d.ts +87 -0
- package/dist/plugin-host/createPluginHost.d.ts.map +1 -0
- package/dist/plugin-host/decorator.d.ts +177 -0
- package/dist/plugin-host/decorator.d.ts.map +1 -0
- package/dist/plugin-host/index.d.ts +7 -0
- package/dist/plugin-host/index.d.ts.map +1 -0
- package/dist/plugin-host/type.d.ts +52 -0
- package/dist/plugin-host/type.d.ts.map +1 -0
- package/dist/plugin-manager/IPlugin.d.ts +47 -0
- package/dist/plugin-manager/IPlugin.d.ts.map +1 -0
- package/dist/plugin-manager/PluginManager.d.ts +27 -80
- package/dist/plugin-manager/PluginManager.d.ts.map +1 -1
- package/dist/plugin-manager/index.d.ts +3 -0
- package/dist/plugin-manager/index.d.ts.map +1 -0
- package/dist/plugins/index.d.ts +3 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/tier-mode-options/decorator.d.ts +14 -0
- package/dist/plugins/tier-mode-options/decorator.d.ts.map +1 -0
- package/dist/plugins/tier-mode-options/plugin.d.ts +3 -0
- package/dist/plugins/tier-mode-options/plugin.d.ts.map +1 -0
- package/dist/plugins/tier-mode-options/type.d.ts +35 -0
- package/dist/plugins/tier-mode-options/type.d.ts.map +1 -0
- package/dist/plugins/tier-mode-options-plugin.d.ts +4 -0
- package/dist/plugins/tier-mode-options-plugin.d.ts.map +1 -0
- package/dist/plugins/tier-options/decorator.d.ts +14 -0
- package/dist/plugins/tier-options/decorator.d.ts.map +1 -0
- package/dist/plugins/tier-options/plugin.d.ts +11 -0
- package/dist/plugins/tier-options/plugin.d.ts.map +1 -0
- package/dist/plugins/tier-options/type.d.ts +36 -0
- package/dist/plugins/tier-options/type.d.ts.map +1 -0
- package/dist/plugins/tier-options-plugin.d.ts +4 -0
- package/dist/plugins/tier-options-plugin.d.ts.map +1 -0
- package/doc/api/plugin-tls.adddefaultoptions.md +2 -2
- package/doc/api/plugin-tls.addinstoptions.md +1 -1
- package/doc/api/plugin-tls.becomepluginhost.md +1 -1
- package/doc/api/plugin-tls.becomepluginhost_extends.md +9 -3
- package/doc/api/plugin-tls.becomepluginhost_proxy.md +1 -1
- package/doc/api/plugin-tls.becometiermodeoptionshost.md +1 -1
- package/doc/api/plugin-tls.becometieroptionshost.md +1 -1
- package/doc/api/plugin-tls.classextender.md +1 -1
- package/doc/api/plugin-tls.classextenderprivatemember.md +1 -1
- package/doc/api/plugin-tls.classextenderprivatememberwithinit.md +1 -1
- package/doc/api/plugin-tls.classextenderwithinit.md +1 -1
- package/doc/api/plugin-tls.createpluginhost.md +39 -6
- package/doc/api/plugin-tls.createtiermodeoptionspluginhost.md +41 -5
- package/doc/api/plugin-tls.createtieroptionspluginhost.md +41 -5
- package/doc/api/plugin-tls.hostinst.md +1 -1
- package/doc/api/plugin-tls.privatememberofextend.md +1 -1
- package/doc/api/plugin-tls.privatememberofextendwithinit.md +1 -1
- package/package.json +3 -3
- package/dist/plugin-host/TierModeOptionsPluginHost.d.ts +0 -131
- package/dist/plugin-host/TierModeOptionsPluginHost.d.ts.map +0 -1
- package/dist/plugin-host/TierOptionsPluginHost.d.ts +0 -117
- package/dist/plugin-host/TierOptionsPluginHost.d.ts.map +0 -1
- package/dist/plugin-manager/PluginManagerWithInit.d.ts +0 -36
- package/dist/plugin-manager/PluginManagerWithInit.d.ts.map +0 -1
|
@@ -1,131 +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) => any, Options extends {}, Mode extends string | number = string>(ParentClass: P): {
|
|
65
|
-
new (options: Options): {
|
|
66
|
-
[x: string]: any;
|
|
67
|
-
/**
|
|
68
|
-
* 实例级的默认选项
|
|
69
|
-
*/
|
|
70
|
-
get modeOptions(): TierModeOptions<Mode, Options>;
|
|
71
|
-
_modeOptions: TierModeOptions<Mode, Options>;
|
|
72
|
-
get mode(): Mode;
|
|
73
|
-
set mode(value: Mode);
|
|
74
|
-
get options(): Options;
|
|
75
|
-
};
|
|
76
|
-
/**
|
|
77
|
-
* 全局级别的默认选项
|
|
78
|
-
*/
|
|
79
|
-
readonly modeOptions: TierModeOptions<string, Options>;
|
|
80
|
-
get pluginManager(): import("..").PluginManager<typeof import("./PluginHost").PluginHost & HOST & (new (...args: any) => {
|
|
81
|
-
[x: string]: any;
|
|
82
|
-
readonly isDestroyed: boolean;
|
|
83
|
-
_isDestroyed: boolean;
|
|
84
|
-
_destroyers: import("@gby/destroyable").FunDestroyer[];
|
|
85
|
-
disposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
|
|
86
|
-
cancelDisposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
|
|
87
|
-
disposeObj<T extends any>(obj: T, sync?: boolean): T;
|
|
88
|
-
cancelDisposeObj<T extends any>(obj: T): T;
|
|
89
|
-
dispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
|
|
90
|
-
dispose<T extends any>(obj: T, asyncDestroy?: boolean): T;
|
|
91
|
-
dispose<T extends any | import("@gby/destroyable").FunDestroyer>(objOrFun: T, asyncDestroy?: boolean): T;
|
|
92
|
-
cancelDispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
|
|
93
|
-
cancelDispose<T extends any>(obj: T): T;
|
|
94
|
-
cancelDispose<T extends any | import("@gby/destroyable").FunDestroyer>(objOrFun: T): T;
|
|
95
|
-
destroyThis(): void;
|
|
96
|
-
destroy(): true | undefined;
|
|
97
|
-
destroyAsync(): Promise<true | undefined>;
|
|
98
|
-
}) & P, import("..").IPlugin<HOST, any>>;
|
|
99
|
-
_pluginManager: import("..").PluginManager<typeof import("./PluginHost").PluginHost & HOST & (new (...args: any) => {
|
|
100
|
-
[x: string]: any;
|
|
101
|
-
readonly isDestroyed: boolean;
|
|
102
|
-
_isDestroyed: boolean;
|
|
103
|
-
_destroyers: import("@gby/destroyable").FunDestroyer[];
|
|
104
|
-
disposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
|
|
105
|
-
cancelDisposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
|
|
106
|
-
disposeObj<T extends any>(obj: T, sync?: boolean): T;
|
|
107
|
-
cancelDisposeObj<T extends any>(obj: T): T;
|
|
108
|
-
dispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
|
|
109
|
-
dispose<T extends any>(obj: T, asyncDestroy?: boolean): T;
|
|
110
|
-
dispose<T extends any | import("@gby/destroyable").FunDestroyer>(objOrFun: T, asyncDestroy?: boolean): T;
|
|
111
|
-
cancelDispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
|
|
112
|
-
cancelDispose<T extends any>(obj: T): T;
|
|
113
|
-
cancelDispose<T extends any | import("@gby/destroyable").FunDestroyer>(objOrFun: T): T;
|
|
114
|
-
destroyThis(): void;
|
|
115
|
-
destroy(): true | undefined;
|
|
116
|
-
destroyAsync(): Promise<true | undefined>;
|
|
117
|
-
}) & P, import("..").IPlugin<HOST, any>>;
|
|
118
|
-
use<P_1 extends import("..").IPlugin<HOST, any>>(plugin: P_1, ...options: import("..").FormatUsePluginParameters<P_1>): void | ReturnType<P_1["used"]>;
|
|
119
|
-
} & P;
|
|
120
|
-
/**
|
|
121
|
-
* 使 HOST 变成 层级选项的宿主类型
|
|
122
|
-
*/
|
|
123
|
-
export type BecomeTierModeOptionsHost<HOST extends new (...args: any) => any, Options extends {} = any, Mode extends string | number = string> = HOST & ITierModeOptionsHostConstructor<Options, Mode> & ReplaceConstructorReturn<HOST, InstanceType<HOST> & ITierModeOptionsHost<Options, Mode>>;
|
|
124
|
-
/**
|
|
125
|
-
* 使 host 变成 层级选项的宿主类型
|
|
126
|
-
* @param host
|
|
127
|
-
* @param context
|
|
128
|
-
* @returns
|
|
129
|
-
*/
|
|
130
|
-
export declare function becomeTierModeOptionsHost<HOST extends new (...args: any) => any, Mode extends string | number, Options extends {}>(host: HOST, mode: Mode, options?: Options): BecomeTierModeOptionsHost<HOST, Options, Mode>;
|
|
131
|
-
//# sourceMappingURL=TierModeOptionsPluginHost.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TierModeOptionsPluginHost.d.ts","sourceRoot":"","sources":["../../src/plugin-host/TierModeOptionsPluginHost.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { PluginHost } from "./PluginHost";
|
|
2
|
-
import type { IPluginHost, IPluginHostConstructor } from "./PluginHost";
|
|
3
|
-
import { TierOptions } from "../options-manager/TierOptions";
|
|
4
|
-
import { type ReplaceConstructorReturn } from "../extend/mixin";
|
|
5
|
-
/**
|
|
6
|
-
* 选项插件宿主接口
|
|
7
|
-
*/
|
|
8
|
-
export interface ITierOptionsHost<Options extends {} = any> {
|
|
9
|
-
readonly defaultOptions: TierOptions<Options>;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* 选项插件宿主的构建函数接口
|
|
13
|
-
*/
|
|
14
|
-
export interface ITierOptionsHostConstructor<Options extends {} = any> {
|
|
15
|
-
get defaultOptions(): TierOptions<Options>;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* 选项插件宿主接口
|
|
19
|
-
*/
|
|
20
|
-
export type ITierOptionsPluginHost<HostClassType extends ITierOptionsPluginHostConstructor<any>, Options extends {} = any> = IPluginHost<HostClassType> & ITierOptionsHost<Options>;
|
|
21
|
-
/**
|
|
22
|
-
* 选项插件宿主的构建函数接口
|
|
23
|
-
*/
|
|
24
|
-
export type ITierOptionsPluginHostConstructor<HostClassType, Options extends {} = any> = IPluginHostConstructor<HostClassType> & ITierOptionsHostConstructor<Options>;
|
|
25
|
-
/**
|
|
26
|
-
* 层级选项插件的宿主
|
|
27
|
-
* @remarks
|
|
28
|
-
*
|
|
29
|
-
* 子类需要在构建函数中调用 `this.pluginManager.created(this);`
|
|
30
|
-
*
|
|
31
|
-
* 之所以没写在该类中的函数中,是因为 `this.pluginManager.created(this)` 通常会在构建函数执行的最后时才调用;
|
|
32
|
-
* 如果像下面写在该类的构建函数中,然后子类通过 `super()` 来调用,这样就会导致 `this.pluginManager.created(this)` 不是在最后的执行;
|
|
33
|
-
*/
|
|
34
|
-
export declare class TierOptionsPluginHost<Options extends {} = any> extends PluginHost {
|
|
35
|
-
/**
|
|
36
|
-
* 全局级别的默认选项
|
|
37
|
-
*/
|
|
38
|
-
static readonly defaultOptions: TierOptions<any>;
|
|
39
|
-
/**
|
|
40
|
-
* 实例级的默认选项
|
|
41
|
-
*/
|
|
42
|
-
get defaultOptions(): TierOptions<Options>;
|
|
43
|
-
protected _defaultOptions: TierOptions<Options>;
|
|
44
|
-
constructor(options: Options);
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* 创建带有选项机制的插件宿主类
|
|
48
|
-
* @remakers
|
|
49
|
-
* 比 直接使用 OptionsPluginHost 提供了完善的类型推导
|
|
50
|
-
*
|
|
51
|
-
* @returns
|
|
52
|
-
*/
|
|
53
|
-
export declare function createTierOptionsPluginHost<HOST, P extends new (...args: any) => any, Options extends {}>(ParentClass: P): {
|
|
54
|
-
new (options: Options): {
|
|
55
|
-
[x: string]: any;
|
|
56
|
-
/**
|
|
57
|
-
* 实例级的默认选项
|
|
58
|
-
*/
|
|
59
|
-
get defaultOptions(): TierOptions<Options>;
|
|
60
|
-
_defaultOptions: TierOptions<Options>;
|
|
61
|
-
};
|
|
62
|
-
/**
|
|
63
|
-
* 全局级别的默认选项
|
|
64
|
-
*/
|
|
65
|
-
readonly defaultOptions: TierOptions<Options>;
|
|
66
|
-
get pluginManager(): import("..").PluginManager<typeof import("./PluginHost").PluginHost & HOST & (new (...args: any) => {
|
|
67
|
-
[x: string]: any;
|
|
68
|
-
readonly isDestroyed: boolean;
|
|
69
|
-
_isDestroyed: boolean;
|
|
70
|
-
_destroyers: import("@gby/destroyable").FunDestroyer[];
|
|
71
|
-
disposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
|
|
72
|
-
cancelDisposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
|
|
73
|
-
disposeObj<T extends any>(obj: T, sync?: boolean): T;
|
|
74
|
-
cancelDisposeObj<T extends any>(obj: T): T;
|
|
75
|
-
dispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
|
|
76
|
-
dispose<T extends any>(obj: T, asyncDestroy?: boolean): T;
|
|
77
|
-
dispose<T extends any | import("@gby/destroyable").FunDestroyer>(objOrFun: T, asyncDestroy?: boolean): T;
|
|
78
|
-
cancelDispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
|
|
79
|
-
cancelDispose<T extends any>(obj: T): T;
|
|
80
|
-
cancelDispose<T extends any | import("@gby/destroyable").FunDestroyer>(objOrFun: T): T;
|
|
81
|
-
destroyThis(): void;
|
|
82
|
-
destroy(): true | undefined;
|
|
83
|
-
destroyAsync(): Promise<true | undefined>;
|
|
84
|
-
}) & P, import("..").IPlugin<HOST, any>>;
|
|
85
|
-
_pluginManager: import("..").PluginManager<typeof import("./PluginHost").PluginHost & HOST & (new (...args: any) => {
|
|
86
|
-
[x: string]: any;
|
|
87
|
-
readonly isDestroyed: boolean;
|
|
88
|
-
_isDestroyed: boolean;
|
|
89
|
-
_destroyers: import("@gby/destroyable").FunDestroyer[];
|
|
90
|
-
disposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
|
|
91
|
-
cancelDisposeFun<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
|
|
92
|
-
disposeObj<T extends any>(obj: T, sync?: boolean): T;
|
|
93
|
-
cancelDisposeObj<T extends any>(obj: T): T;
|
|
94
|
-
dispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
|
|
95
|
-
dispose<T extends any>(obj: T, asyncDestroy?: boolean): T;
|
|
96
|
-
dispose<T extends any | import("@gby/destroyable").FunDestroyer>(objOrFun: T, asyncDestroy?: boolean): T;
|
|
97
|
-
cancelDispose<T extends import("@gby/destroyable").FunDestroyer>(fun: T): T;
|
|
98
|
-
cancelDispose<T extends any>(obj: T): T;
|
|
99
|
-
cancelDispose<T extends any | import("@gby/destroyable").FunDestroyer>(objOrFun: T): T;
|
|
100
|
-
destroyThis(): void;
|
|
101
|
-
destroy(): true | undefined;
|
|
102
|
-
destroyAsync(): Promise<true | undefined>;
|
|
103
|
-
}) & P, import("..").IPlugin<HOST, any>>;
|
|
104
|
-
use<P_1 extends import("..").IPlugin<HOST, any>>(plugin: P_1, ...options: import("..").FormatUsePluginParameters<P_1>): void | ReturnType<P_1["used"]>;
|
|
105
|
-
} & P;
|
|
106
|
-
/**
|
|
107
|
-
* 使 HOST 变成 层级选项的宿主类型
|
|
108
|
-
*/
|
|
109
|
-
export type BecomeTierOptionsHost<HOST extends new (...args: any) => any, Options extends {} = any> = HOST & ITierOptionsHostConstructor<Options> & ReplaceConstructorReturn<HOST, InstanceType<HOST> & ITierOptionsHost<Options>>;
|
|
110
|
-
/**
|
|
111
|
-
* 使 host 变成 层级选项的宿主类型
|
|
112
|
-
* @param host
|
|
113
|
-
* @param context
|
|
114
|
-
* @returns
|
|
115
|
-
*/
|
|
116
|
-
export declare function becomeTierOptionsHost<HOST extends new (...args: any) => any, Options extends {} = any>(host: HOST, option?: Options): BecomeTierOptionsHost<HOST>;
|
|
117
|
-
//# sourceMappingURL=TierOptionsPluginHost.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TierOptionsPluginHost.d.ts","sourceRoot":"","sources":["../../src/plugin-host/TierOptionsPluginHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,UAAU,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EAAG,WAAW,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAC5D,OAAO,EAAE,KAAK,wBAAwB,EAAe,MAAM,iBAAiB,CAAC;AAI7E;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,OAAO,SAAS,EAAE,GAAG,GAAG;IACxD,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B,CAAC,OAAO,SAAS,EAAE,GAAG,GAAG;IACnE,IAAI,cAAc,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;CAC5C;AAID;;GAEG;AACH,MAAM,MAAM,sBAAsB,CAAC,aAAa,SAAS,iCAAiC,CAAC,GAAG,CAAC,EAAE,OAAO,SAAS,EAAE,GAAG,GAAG,IAAI,WAAW,CAAC,aAAa,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAEpL;;GAEG;AACH,MAAM,MAAM,iCAAiC,CAAC,aAAa,EAAE,OAAO,SAAS,EAAE,GAAG,GAAG,IAAI,sBAAsB,CAAC,aAAa,CAAC,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;AAItK;;;;;;;;GAQG;AACH,qBAAa,qBAAqB,CAAC,OAAO,SAAS,EAAE,GAAG,GAAG,CAAE,SAAQ,UAAU;IAC7E;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,cAAc,mBAA0B;IAGxD;;OAEG;IACH,IAAI,cAAc,yBAKjB;IACD,SAAS,CAAC,eAAe,EAAG,WAAW,CAAC,OAAO,CAAC,CAAC;gBAErC,OAAO,EAAE,OAAO;CAI7B;AAGD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAC,CAAC,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,EAAE,OAAO,SAAS,EAAE,EAAE,WAAW,EAAE,CAAC;kBAoB/F,OAAO;;QAX5B;;WAEG;;yBAOe,WAAW,CAAC,OAAO,CAAC;;IAftC;;OAEG;;;;;;;;;8CArCyD,CAAC;;;mDAgB5D,CAAC;kGAIF,CAAC;;;;;;;;;;;;;;;8CApB2D,CAAC;;;mDAgB5D,CAAC;kGAIF,CAAC;;;;;;;;;MAqCJ;AAGD;;GAEG;AACH,MAAM,MAAM,qBAAqB,CAAC,IAAI,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,EAAE,OAAO,SAAS,EAAE,GAAG,GAAG,IAAI,IAAI,GAAG,2BAA2B,CAAC,OAAO,CAAC,GAAG,wBAAwB,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;AAInO;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,EAAE,OAAO,SAAS,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,CAAC,EAAC,OAAO,GAoBjH,qBAAqB,CAAC,IAAI,CAAC,CAC3C"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { PluginManager } from "./PluginManager";
|
|
2
|
-
import type { IPlugin, HostInst, FormatUseParameters } from "./PluginManager";
|
|
3
|
-
/**
|
|
4
|
-
* 插件的接口
|
|
5
|
-
*
|
|
6
|
-
* @typeParam HOST - 插件宿主的类类型
|
|
7
|
-
* @typeParam Options - 插件的选项类型
|
|
8
|
-
*/
|
|
9
|
-
export interface IPluginWithInit<HOST, Options = void> extends IPlugin<HOST, Options> {
|
|
10
|
-
/**
|
|
11
|
-
* 当宿主实例被初始化时调用
|
|
12
|
-
* @param host - 新建的宿主实例
|
|
13
|
-
* @param options - 注册插件时的选项
|
|
14
|
-
*/
|
|
15
|
-
inited?(host: HostInst<HOST>, ...options: FormatUseParameters<Options>): any;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* 插件管理者
|
|
19
|
-
*
|
|
20
|
-
* @remarks
|
|
21
|
-
* 负责管理插件的注册、应用 等
|
|
22
|
-
*
|
|
23
|
-
* @typeParam HostClassType 插件宿主类的类型
|
|
24
|
-
*
|
|
25
|
-
*/
|
|
26
|
-
export declare class PluginManagerWithInit<HostClassType, Plugin extends IPluginWithInit<HostClassType, any> = IPluginWithInit<HostClassType, any>> extends PluginManager<HostClassType, Plugin> {
|
|
27
|
-
/**
|
|
28
|
-
* 插件宿主创建实例时调用
|
|
29
|
-
*
|
|
30
|
-
* @remarks
|
|
31
|
-
* 会调用每个插件的 {@link IPlugin.created | IPlugin.created()} 方法
|
|
32
|
-
* @param hostInst - 插件宿主的新实例
|
|
33
|
-
*/
|
|
34
|
-
inited(hostInst: HostInst<HostClassType>): void;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=PluginManagerWithInit.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PluginManagerWithInit.d.ts","sourceRoot":"","sources":["../../src/plugin-manager/PluginManagerWithInit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAG,QAAQ,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAA;AAE7E;;;;;GAKG;AACH,MAAM,WAAW,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAE,SAAQ,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;IAEjF;;;;OAIG;IACH,MAAM,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAC,GAAG,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC;CAC/E;AAKD;;;;;;;;GAQG;AACH,qBAAa,qBAAqB,CAAC,aAAa,EAAC,MAAM,SAAS,eAAe,CAAC,aAAa,EAAC,GAAG,CAAC,GAAG,eAAe,CAAC,aAAa,EAAC,GAAG,CAAC,CAAE,SAAQ,aAAa,CAAC,aAAa,EAAC,MAAM,CAAC;IAEhL;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI;CAQlD"}
|