plugin-tls 4.3.0 → 4.4.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/options/options-plugin-host/tier-mode-options/createTierModeOptionsPluginHost.d.ts +2 -2
- package/dist/options/options-plugin-host/tier-options/createTierOptionsPluginHost.d.ts +2 -2
- package/dist/plugin-host/PluginHost.d.ts +3 -3
- package/dist/plugin-host/PluginHostEventEmitter.d.ts +3 -3
- package/dist/plugin-host/PluginHostEventTarget.d.ts +3 -3
- package/dist/plugin-host/createPluginHost.d.ts +3 -3
- package/dist/plugin-host/decorator.d.ts +6 -6
- package/dist/plugin-host/type.d.ts +3 -3
- package/dist/plugin-manager/ExtendManager.d.ts +3 -3
- package/dist/plugin-manager/IExtend.d.ts +19 -2
- package/dist/plugin-manager/IExtend.d.ts.map +1 -1
- package/dist/plugin-manager/PluginExtendManager.d.ts +3 -3
- package/dist/plugin-manager/extend.d.ts +1 -1
- package/dist/plugin-manager/extend.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/options/options-plugin-host/tier-mode-options/createTierModeOptionsPluginHost.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export declare function createTierModeOptionsPluginHost<P extends new (...args:
|
|
|
19
19
|
get options(): Options;
|
|
20
20
|
get pluginManager(): import("../../..").PluginExtendManager<Host, HostClass>;
|
|
21
21
|
usePlugin<P_1 extends import("../../..").IPlugin<Host, HostClass>>(plugin: P_1, ...args: import("../../..").PluginUseArgs<P_1>): ReturnType<P_1["onUse"]>;
|
|
22
|
-
useExtend<E extends import("../../..").
|
|
22
|
+
useExtend<E extends import("../../..").AnyIExtend<HostClass>>(ext: import("../../..").ExtendOptions<HostClass, E>, ...args: ConstructorParameters<HostClass>): E;
|
|
23
23
|
init(...args: any): any;
|
|
24
24
|
destroyThis(): any;
|
|
25
25
|
refCount: number;
|
|
@@ -55,7 +55,7 @@ export declare function createTierModeOptionsPluginHost<P extends new (...args:
|
|
|
55
55
|
get pluginManager(): import("../../..").PluginExtendManager<any, any>;
|
|
56
56
|
_pluginManager: import("../../..").PluginExtendManager<any, any>;
|
|
57
57
|
usePlugin<HostClass extends AbstractConstructor, Plugin extends import("../../..").IPlugin<InstanceType<HostClass>, HostClass>>(this: HostClass, plugin: Plugin, ...args: import("../../..").PluginUseArgs<Plugin>): any;
|
|
58
|
-
useExtend<HostClass extends AbstractConstructor, E extends import("../../..").
|
|
58
|
+
useExtend<HostClass extends AbstractConstructor, E extends import("../../..").AnyIExtend<HostClass>>(this: HostClass, ext: import("../../..").ExtendOptions<HostClass, E>): E;
|
|
59
59
|
hasUsed(plugin: any): boolean;
|
|
60
60
|
} & P;
|
|
61
61
|
//# sourceMappingURL=createTierModeOptionsPluginHost.d.ts.map
|
|
@@ -16,7 +16,7 @@ export declare function createTierOptionsPluginHost<P extends new (...args: any)
|
|
|
16
16
|
_defaultOptions: TierOptions<Options>;
|
|
17
17
|
get pluginManager(): import("../../..").PluginExtendManager<Host, HostClass>;
|
|
18
18
|
usePlugin<P_1 extends import("../../..").IPlugin<Host, HostClass>>(plugin: P_1, ...args: import("../../..").PluginUseArgs<P_1>): ReturnType<P_1["onUse"]>;
|
|
19
|
-
useExtend<E extends import("../../..").
|
|
19
|
+
useExtend<E extends import("../../..").AnyIExtend<HostClass>>(ext: import("../../..").ExtendOptions<HostClass, E>, ...args: ConstructorParameters<HostClass>): E;
|
|
20
20
|
init(...args: any): any;
|
|
21
21
|
destroyThis(): any;
|
|
22
22
|
refCount: number;
|
|
@@ -52,7 +52,7 @@ export declare function createTierOptionsPluginHost<P extends new (...args: any)
|
|
|
52
52
|
get pluginManager(): import("../../..").PluginExtendManager<any, any>;
|
|
53
53
|
_pluginManager: import("../../..").PluginExtendManager<any, any>;
|
|
54
54
|
usePlugin<HostClass extends AbstractConstructor, Plugin extends import("../../..").IPlugin<InstanceType<HostClass>, HostClass>>(this: HostClass, plugin: Plugin, ...args: import("../../..").PluginUseArgs<Plugin>): any;
|
|
55
|
-
useExtend<HostClass extends AbstractConstructor, E extends import("../../..").
|
|
55
|
+
useExtend<HostClass extends AbstractConstructor, E extends import("../../..").AnyIExtend<HostClass>>(this: HostClass, ext: import("../../..").ExtendOptions<HostClass, E>): E;
|
|
56
56
|
hasUsed(plugin: any): boolean;
|
|
57
57
|
} & P;
|
|
58
58
|
//# sourceMappingURL=createTierOptionsPluginHost.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PluginExtendManager } from "../plugin-manager";
|
|
2
|
-
import type { ExtendOptions,
|
|
2
|
+
import type { ExtendOptions, AnyIExtend, IPlugin, PluginUseArgs, PluginUseReturn } from "../plugin-manager/index";
|
|
3
3
|
import { Destroyable } from "@gby/destroyable";
|
|
4
4
|
import type { IPluginHost } from "./type";
|
|
5
5
|
import type { AbstractConstructor, ClassType } from "type-tls";
|
|
@@ -50,7 +50,7 @@ export declare class PluginHost<Host, HostClass extends AbstractConstructor<Host
|
|
|
50
50
|
/**
|
|
51
51
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
52
52
|
*/
|
|
53
|
-
static useExtend<HostClass extends AbstractConstructor, E extends
|
|
53
|
+
static useExtend<HostClass extends AbstractConstructor, E extends AnyIExtend<HostClass>>(this: HostClass, ext: ExtendOptions<HostClass, E>): E;
|
|
54
54
|
/**
|
|
55
55
|
* 是否注册了插件 或 扩展
|
|
56
56
|
* @param plugin - 插件 或 扩展
|
|
@@ -73,7 +73,7 @@ export declare class PluginHost<Host, HostClass extends AbstractConstructor<Host
|
|
|
73
73
|
/**
|
|
74
74
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
75
75
|
*/
|
|
76
|
-
useExtend<E extends
|
|
76
|
+
useExtend<E extends AnyIExtend<HostClass>>(ext: ExtendOptions<HostClass, E>, ...args: ConstructorParameters<HostClass>): E;
|
|
77
77
|
/**
|
|
78
78
|
* 初始化实例
|
|
79
79
|
* @remarks
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PluginExtendManager } from "../plugin-manager";
|
|
2
|
-
import type { ExtendOptions,
|
|
2
|
+
import type { ExtendOptions, AnyIExtend, IPlugin, PluginUseArgs, PluginUseReturn } from "../plugin-manager/index";
|
|
3
3
|
import { DestroyableEventEmitter } from "@gby/destroyable/node";
|
|
4
4
|
import type { EventMap } from "@gby/destroyable/node";
|
|
5
5
|
import type { IPluginHost } from "./type";
|
|
@@ -38,7 +38,7 @@ export declare class PluginHostEventEmitter<Host, HostClass extends AbstractCons
|
|
|
38
38
|
/**
|
|
39
39
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
40
40
|
*/
|
|
41
|
-
static useExtend<HostClass extends AbstractConstructor, E extends
|
|
41
|
+
static useExtend<HostClass extends AbstractConstructor, E extends AnyIExtend<HostClass>>(this: HostClass, ext: ExtendOptions<HostClass, E>): E;
|
|
42
42
|
/**
|
|
43
43
|
* 是否注册了插件 或 扩展
|
|
44
44
|
* @param plugin - 插件 或 扩展
|
|
@@ -61,7 +61,7 @@ export declare class PluginHostEventEmitter<Host, HostClass extends AbstractCons
|
|
|
61
61
|
/**
|
|
62
62
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
63
63
|
*/
|
|
64
|
-
useExtend<E extends
|
|
64
|
+
useExtend<E extends AnyIExtend<HostClass>>(ext: ExtendOptions<HostClass, E>, ...args: ConstructorParameters<HostClass>): E;
|
|
65
65
|
/**
|
|
66
66
|
* 初始化实例
|
|
67
67
|
* @remarks
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PluginExtendManager } from "../plugin-manager";
|
|
2
|
-
import type { ExtendOptions,
|
|
2
|
+
import type { ExtendOptions, AnyIExtend, IPlugin, PluginUseArgs, PluginUseReturn } from "../plugin-manager/index";
|
|
3
3
|
import { DestroyableEventTarget } from "@gby/destroyable/web";
|
|
4
4
|
import type { IPluginHost } from "./type";
|
|
5
5
|
import type { AbstractConstructor, ClassType } from "type-tls";
|
|
@@ -36,7 +36,7 @@ export declare class PluginHostEventTarget<Host, HostClass extends AbstractConst
|
|
|
36
36
|
/**
|
|
37
37
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
38
38
|
*/
|
|
39
|
-
static useExtend<HostClass extends AbstractConstructor, E extends
|
|
39
|
+
static useExtend<HostClass extends AbstractConstructor, E extends AnyIExtend<HostClass>>(this: HostClass, ext: ExtendOptions<HostClass, E>): E;
|
|
40
40
|
/**
|
|
41
41
|
* 是否注册了插件 或 扩展
|
|
42
42
|
* @param plugin - 插件 或 扩展
|
|
@@ -59,7 +59,7 @@ export declare class PluginHostEventTarget<Host, HostClass extends AbstractConst
|
|
|
59
59
|
/**
|
|
60
60
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
61
61
|
*/
|
|
62
|
-
useExtend<E extends
|
|
62
|
+
useExtend<E extends AnyIExtend<HostClass>>(ext: ExtendOptions<HostClass, E>, ...args: ConstructorParameters<HostClass>): E;
|
|
63
63
|
/**
|
|
64
64
|
* 初始化实例
|
|
65
65
|
* @remarks
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PluginExtendManager } from "../plugin-manager";
|
|
2
|
-
import type { ExtendOptions,
|
|
2
|
+
import type { ExtendOptions, AnyIExtend, IPlugin, PluginUseArgs, PluginUseReturn } from "../plugin-manager/index";
|
|
3
3
|
import type { AbstractConstructor, ClassType } from "type-tls";
|
|
4
4
|
/**
|
|
5
5
|
* 创建插件的缩主类
|
|
@@ -35,7 +35,7 @@ export declare function createPluginHost<P extends new (...args: any) => Object>
|
|
|
35
35
|
/**
|
|
36
36
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
37
37
|
*/
|
|
38
|
-
useExtend<E extends
|
|
38
|
+
useExtend<E extends AnyIExtend<HostClass>>(ext: ExtendOptions<HostClass, E>, ...args: ConstructorParameters<HostClass>): E;
|
|
39
39
|
/**
|
|
40
40
|
* 初始化实例
|
|
41
41
|
* @remarks
|
|
@@ -90,7 +90,7 @@ export declare function createPluginHost<P extends new (...args: any) => Object>
|
|
|
90
90
|
/**
|
|
91
91
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
92
92
|
*/
|
|
93
|
-
useExtend<HostClass extends AbstractConstructor, E extends
|
|
93
|
+
useExtend<HostClass extends AbstractConstructor, E extends AnyIExtend<HostClass>>(this: HostClass, ext: ExtendOptions<HostClass, E>): E;
|
|
94
94
|
/**
|
|
95
95
|
* 是否注册了插件 或 扩展
|
|
96
96
|
* @param plugin - 插件 或 扩展
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PluginExtendManager } from "../plugin-manager";
|
|
2
|
-
import type { ExtendOptions,
|
|
2
|
+
import type { ExtendOptions, AnyIExtend, IPlugin, PluginUseArgs, PluginUseReturn } from "../plugin-manager/index";
|
|
3
3
|
import type { IPluginHost, IPluginHostClass } from "./type";
|
|
4
4
|
import type { AbstractConstructor, Constructor } from "type-tls";
|
|
5
5
|
/**
|
|
@@ -51,7 +51,7 @@ export declare function becomePluginHost_Extends<HostClass extends Constructor>(
|
|
|
51
51
|
/**
|
|
52
52
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
53
53
|
*/
|
|
54
|
-
useExtend<HostClass_1 extends AbstractConstructor, E extends
|
|
54
|
+
useExtend<HostClass_1 extends AbstractConstructor, E extends AnyIExtend</*elided*/ any & HostClass>>(this: HostClass_1, ext: ExtendOptions</*elided*/ any & HostClass, E>, ...args: ConstructorParameters</*elided*/ any & HostClass>): E;
|
|
55
55
|
/**
|
|
56
56
|
* 初始化实例
|
|
57
57
|
* @remarks
|
|
@@ -89,7 +89,7 @@ export declare function becomePluginHost_Extends<HostClass extends Constructor>(
|
|
|
89
89
|
/**
|
|
90
90
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
91
91
|
*/
|
|
92
|
-
useExtend<HostClass_1 extends AbstractConstructor, E extends
|
|
92
|
+
useExtend<HostClass_1 extends AbstractConstructor, E extends AnyIExtend</*elided*/ any & HostClass>>(this: HostClass_1, ext: ExtendOptions</*elided*/ any & HostClass, E>, ...args: ConstructorParameters</*elided*/ any & HostClass>): E;
|
|
93
93
|
/**
|
|
94
94
|
* 初始化实例
|
|
95
95
|
* @remarks
|
|
@@ -119,7 +119,7 @@ export declare function becomePluginHost_Extends<HostClass extends Constructor>(
|
|
|
119
119
|
/**
|
|
120
120
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
121
121
|
*/
|
|
122
|
-
useExtend<HostClass_1 extends AbstractConstructor, E extends
|
|
122
|
+
useExtend<HostClass_1 extends AbstractConstructor, E extends AnyIExtend</*elided*/ any & HostClass>>(this: HostClass_1, ext: ExtendOptions</*elided*/ any & HostClass, E>, ...args: ConstructorParameters</*elided*/ any & HostClass>): E;
|
|
123
123
|
/**
|
|
124
124
|
* 初始化实例
|
|
125
125
|
* @remarks
|
|
@@ -152,7 +152,7 @@ export declare function becomePluginHost_Extends<HostClass extends Constructor>(
|
|
|
152
152
|
/**
|
|
153
153
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
154
154
|
*/
|
|
155
|
-
useExtend<HostClass_1 extends AbstractConstructor, E extends
|
|
155
|
+
useExtend<HostClass_1 extends AbstractConstructor, E extends AnyIExtend</*elided*/ any & HostClass>>(this: HostClass_1, ext: ExtendOptions</*elided*/ any & HostClass, E>, ...args: ConstructorParameters</*elided*/ any & HostClass>): E;
|
|
156
156
|
/**
|
|
157
157
|
* 初始化实例
|
|
158
158
|
* @remarks
|
|
@@ -169,7 +169,7 @@ export declare function becomePluginHost_Extends<HostClass extends Constructor>(
|
|
|
169
169
|
/**
|
|
170
170
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
171
171
|
*/
|
|
172
|
-
useExtend<E extends
|
|
172
|
+
useExtend<E extends AnyIExtend</*elided*/ any & HostClass>>(ext: ExtendOptions</*elided*/ any & HostClass, E>): E;
|
|
173
173
|
/**
|
|
174
174
|
* 是否注册了插件 或 扩展
|
|
175
175
|
* @param plugin - 插件 或 扩展
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AbstractConstructor, ClassType } from "type-tls";
|
|
2
|
-
import type { ExtendOptions,
|
|
2
|
+
import type { ExtendOptions, AnyIExtend, PluginExtendManager } from "../plugin-manager/index";
|
|
3
3
|
import type { IPlugin, PluginUseReturn, PluginUseArgs } from "../plugin-manager/index";
|
|
4
4
|
/**
|
|
5
5
|
* 插件宿主构造函数的接口
|
|
@@ -30,7 +30,7 @@ export interface IPluginHostClass<HostInst> {
|
|
|
30
30
|
/**
|
|
31
31
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
32
32
|
*/
|
|
33
|
-
useExtend<HostClass extends AbstractConstructor, E extends
|
|
33
|
+
useExtend<HostClass extends AbstractConstructor, E extends AnyIExtend<HostClass>>(this: HostClass, ext: ExtendOptions<HostClass, E>): E;
|
|
34
34
|
/**
|
|
35
35
|
* 是否注册了插件 或 扩展
|
|
36
36
|
* @param plugin - 插件 或 扩展
|
|
@@ -56,7 +56,7 @@ export interface IPluginHost<Host, HostClass extends AbstractConstructor<Host> =
|
|
|
56
56
|
/**
|
|
57
57
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
58
58
|
*/
|
|
59
|
-
useExtend<E extends
|
|
59
|
+
useExtend<E extends AnyIExtend<HostClass>>(ext: ExtendOptions<HostClass, E>, ...args: ConstructorParameters<HostClass>): E;
|
|
60
60
|
/**
|
|
61
61
|
* 初始化实例
|
|
62
62
|
* @param args
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AnyFunction, AbstractConstructor } from "type-tls";
|
|
2
2
|
import { Destroyable } from "@gby/destroyable";
|
|
3
|
-
import type { IExtend,
|
|
3
|
+
import type { IExtend, AnyIExtend } from "./IExtend";
|
|
4
4
|
import type { ExtendOptions } from "./extend";
|
|
5
5
|
/**
|
|
6
6
|
* 插件管理者
|
|
@@ -34,7 +34,7 @@ export declare class ExtendManager<HostClass extends AbstractConstructor> extend
|
|
|
34
34
|
* @param plugin - 插件
|
|
35
35
|
* @returns 返回插件对象本身
|
|
36
36
|
*/
|
|
37
|
-
use<E extends
|
|
37
|
+
use<E extends AnyIExtend<HostClass>>(plugin: ExtendOptions<HostClass, E>): E;
|
|
38
38
|
/**
|
|
39
39
|
* 插件宿主实例的注册插件的方法
|
|
40
40
|
*
|
|
@@ -42,7 +42,7 @@ export declare class ExtendManager<HostClass extends AbstractConstructor> extend
|
|
|
42
42
|
* 会调用每个插件的 {@link IExtend.use } 方法
|
|
43
43
|
* @param hostInst - 插件宿主的新实例
|
|
44
44
|
*/
|
|
45
|
-
instUse<E extends
|
|
45
|
+
instUse<E extends AnyIExtend<HostClass>>(hostInst: InstanceType<HostClass>, plugin: ExtendOptions<HostClass, E>, ...args: ConstructorParameters<HostClass>): E;
|
|
46
46
|
/**
|
|
47
47
|
* 插件宿主创建实例时调用
|
|
48
48
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AbstractConstructor } from "type-tls";
|
|
2
|
-
import type { ExtendClass } from "./extend";
|
|
2
|
+
import type { ExtendClass, ExtendOptions } from "./extend";
|
|
3
3
|
/**
|
|
4
4
|
* 扩展选项接口
|
|
5
5
|
* @remarks
|
|
@@ -30,9 +30,26 @@ export interface IExtend<HostClass extends AbstractConstructor> {
|
|
|
30
30
|
* 用于扩展选项的参数的泛型约束,当使用 IExtend 报错时,可以尝试下 IAnyExtend
|
|
31
31
|
* @param HostClass - 扩展的目标类类型
|
|
32
32
|
*/
|
|
33
|
-
export interface
|
|
33
|
+
export interface AnyIExtend<HostClass extends AbstractConstructor> extends IExtend<HostClass> {
|
|
34
34
|
[Key: PropertyKey]: any;
|
|
35
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* 用于扩展类的IExtend选项类型
|
|
38
|
+
* @remarks
|
|
39
|
+
* 它会将 Ext 中的方法的 this 指向 HostClass的实例 & Ext,而不是 Ext 本身。
|
|
40
|
+
*
|
|
41
|
+
* @param HostClass - 扩展的目标类类型
|
|
42
|
+
* @param Ext - 扩展的类型
|
|
43
|
+
*/
|
|
44
|
+
export type IExtendOptions<HostClass extends AbstractConstructor, Ext> = ExtendOptions<HostClass, IExtend<HostClass> & Ext>;
|
|
45
|
+
/**
|
|
46
|
+
* 用于扩展类的IExtend选项类型
|
|
47
|
+
* @remarks
|
|
48
|
+
* 它会将方法的 this 指向 HostClass的实例 & Record<PropertyKey, any>。
|
|
49
|
+
*
|
|
50
|
+
* @param HostClass - 扩展的目标类类型
|
|
51
|
+
*/
|
|
52
|
+
export type AnyIExtendOptions<HostClass extends AbstractConstructor> = IExtendOptions<HostClass, Record<PropertyKey, any>>;
|
|
36
53
|
/**
|
|
37
54
|
* 从扩展选项中提取需要设置给宿主类的成员
|
|
38
55
|
* @param extendOptions
|
|
@@ -1 +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,EAAE,MAAM,UAAU,CAAC;
|
|
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,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,WAAW,OAAO,CAAC,SAAS,SAAS,mBAAmB;IAC5D;;;OAGG;IACH,QAAQ,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;IAEzF;;;;OAIG;IACH,MAAM,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;IAE1D;;;OAGG;IACH,SAAS,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;CAChD;AAID;;;;GAIG;AACH,MAAM,WAAW,UAAU,CAAC,SAAS,SAAS,mBAAmB,CAAE,SAAQ,OAAO,CAAC,SAAS,CAAC;IAC3F,CAAC,GAAG,EAAE,WAAW,GAAG,GAAG,CAAC;CACzB;AAMD;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,CAAC,SAAS,SAAS,mBAAmB,EAAE,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC;AAE5H;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,CAAC,SAAS,SAAS,mBAAmB,IAAI,cAAc,CAAC,SAAS,EAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;AAS1H;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAGhE;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAUtF;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAW/E;AAUD;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,CAAC,SAAS,SAAS,mBAAmB,EAAE,GAAG,IAAI,WAAW,CAAC,SAAS,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AnyFunction, AbstractConstructor, ClassType } from "type-tls";
|
|
2
2
|
import { Destroyable } from "@gby/destroyable";
|
|
3
|
-
import type { IExtend,
|
|
3
|
+
import type { IExtend, AnyIExtend } from "./IExtend";
|
|
4
4
|
import type { IAnyPlugin, IPlugin, PluginUseArgs, PluginUseReturn } from "./IPlugin";
|
|
5
5
|
import type { ExtendOptions } from "./extend";
|
|
6
6
|
/**
|
|
@@ -46,7 +46,7 @@ export declare class PluginExtendManager<Host, HostClass extends AbstractConstru
|
|
|
46
46
|
* @param ext - 插件
|
|
47
47
|
* @param args - 传递给插件的选项
|
|
48
48
|
*/
|
|
49
|
-
useExtend<E extends
|
|
49
|
+
useExtend<E extends AnyIExtend<HostClass>>(ext: ExtendOptions<HostClass, E>): E;
|
|
50
50
|
/**
|
|
51
51
|
* 插件宿主实例的注册插件的方法
|
|
52
52
|
*
|
|
@@ -54,7 +54,7 @@ export declare class PluginExtendManager<Host, HostClass extends AbstractConstru
|
|
|
54
54
|
* 会调用每个插件的 {@link IExtend.use } 方法
|
|
55
55
|
* @param hostInst - 插件宿主的新实例
|
|
56
56
|
*/
|
|
57
|
-
instUseExtend<E extends
|
|
57
|
+
instUseExtend<E extends AnyIExtend<HostClass>>(hostInst: InstanceType<HostClass>, ext: ExtendOptions<HostClass, E>, ...args: ConstructorParameters<HostClass>): E;
|
|
58
58
|
/**
|
|
59
59
|
* 使用插件、注册插件
|
|
60
60
|
* @param plugin - 插件
|
|
@@ -15,7 +15,7 @@ export type ExtendOptions<HostClass extends AbstractConstructor, Ext> = Ext & Th
|
|
|
15
15
|
*
|
|
16
16
|
* @param HostClass - 扩展的目标类类型
|
|
17
17
|
*/
|
|
18
|
-
export type AnyExtendOptions<HostClass extends AbstractConstructor> =
|
|
18
|
+
export type AnyExtendOptions<HostClass extends AbstractConstructor> = ExtendOptions<HostClass, Record<PropertyKey, any>>;
|
|
19
19
|
/**
|
|
20
20
|
* 定义类扩展后的类型
|
|
21
21
|
* @remarks
|
|
@@ -1 +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;AAEtH;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,CAAC,SAAS,SAAS,mBAAmB,IAAI,
|
|
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;AAEtH;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,CAAC,SAAS,SAAS,mBAAmB,IAAI,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;AAKzH;;;;;;;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,EAAE,SAAS,EAAE,SAAS,IAC7D,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"}
|