plugin-tls 4.4.0 → 4.6.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/{createTierModeOptionsPluginHost-CeND_z6P.js → createTierModeOptionsPluginHost-3jPWAW92.js} +184 -106
- package/dist/createTierModeOptionsPluginHost-GosxwlJk.cjs +1 -0
- package/dist/index-node.cjs +1 -1
- package/dist/index-node.js +8 -8
- package/dist/index-web.cjs +1 -1
- package/dist/index-web.js +6 -6
- package/dist/index.cjs +1 -1
- package/dist/index.js +186 -219
- 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/PluginHost.d.ts.map +1 -1
- package/dist/plugin-host/PluginHostEventEmitter.d.ts +3 -3
- package/dist/plugin-host/PluginHostEventEmitter.d.ts.map +1 -1
- package/dist/plugin-host/PluginHostEventTarget.d.ts +3 -3
- package/dist/plugin-host/PluginHostEventTarget.d.ts.map +1 -1
- package/dist/plugin-host/createPluginHost.d.ts +3 -3
- package/dist/plugin-host/createPluginHost.d.ts.map +1 -1
- package/dist/plugin-host/decorator.d.ts +6 -6
- package/dist/plugin-host/decorator.d.ts.map +1 -1
- package/dist/plugin-host/type.d.ts +3 -3
- package/dist/plugin-host/type.d.ts.map +1 -1
- package/dist/plugin-manager/IExtend.d.ts +64 -0
- package/dist/plugin-manager/IExtend.d.ts.map +1 -1
- package/dist/plugin-manager/IPlugin.d.ts +1 -1
- package/dist/plugin-manager/PluginExtendManager.d.ts +3 -3
- package/dist/plugin-manager/PluginManager.d.ts +3 -3
- package/dist/plugin-manager/extend.d.ts +5 -5
- package/dist/plugin-manager/extend.d.ts.map +1 -1
- package/dist/plugin-manager/mixin.d.ts +6 -6
- package/dist/plugin-manager/mixin.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/createTierModeOptionsPluginHost-C3kmxB00.cjs +0 -1
|
@@ -15,7 +15,7 @@ export declare function createTierOptionsPluginHost<P extends new (...args: any)
|
|
|
15
15
|
get defaultOptions(): TierOptions<Options>;
|
|
16
16
|
_defaultOptions: TierOptions<Options>;
|
|
17
17
|
get pluginManager(): import("../../..").PluginExtendManager<Host, HostClass>;
|
|
18
|
-
usePlugin<P_1 extends import("../../..").
|
|
18
|
+
usePlugin<P_1 extends import("../../..").AnyIPlugin<Host, HostClass>>(plugin: P_1, ...args: import("../../..").PluginUseArgs<P_1>): ReturnType<P_1["onUse"]>;
|
|
19
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;
|
|
@@ -51,7 +51,7 @@ export declare function createTierOptionsPluginHost<P extends new (...args: any)
|
|
|
51
51
|
isolatedPluginManager: boolean;
|
|
52
52
|
get pluginManager(): import("../../..").PluginExtendManager<any, any>;
|
|
53
53
|
_pluginManager: import("../../..").PluginExtendManager<any, any>;
|
|
54
|
-
usePlugin<HostClass extends AbstractConstructor, Plugin extends import("../../..").
|
|
54
|
+
usePlugin<HostClass extends AbstractConstructor, Plugin extends import("../../..").AnyIPlugin<InstanceType<HostClass>, HostClass>>(this: HostClass, plugin: Plugin, ...args: import("../../..").PluginUseArgs<Plugin>): any;
|
|
55
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;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PluginExtendManager } from "../plugin-manager";
|
|
2
|
-
import type { ExtendOptions, AnyIExtend,
|
|
2
|
+
import type { ExtendOptions, AnyIExtend, AnyIPlugin, 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";
|
|
@@ -46,7 +46,7 @@ export declare class PluginHost<Host, HostClass extends AbstractConstructor<Host
|
|
|
46
46
|
/**
|
|
47
47
|
* {@inheritDoc PluginExtendManager.usePlugin}
|
|
48
48
|
*/
|
|
49
|
-
static usePlugin<HostClass extends AbstractConstructor, Plugin extends
|
|
49
|
+
static usePlugin<HostClass extends AbstractConstructor, Plugin extends AnyIPlugin<InstanceType<HostClass>, HostClass>>(this: HostClass, plugin: Plugin, ...args: PluginUseArgs<Plugin>): any;
|
|
50
50
|
/**
|
|
51
51
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
52
52
|
*/
|
|
@@ -69,7 +69,7 @@ export declare class PluginHost<Host, HostClass extends AbstractConstructor<Host
|
|
|
69
69
|
* @param args
|
|
70
70
|
* @returns
|
|
71
71
|
*/
|
|
72
|
-
usePlugin<P extends
|
|
72
|
+
usePlugin<P extends AnyIPlugin<Host, HostClass>>(plugin: P, ...args: PluginUseArgs<P>): PluginUseReturn<P>;
|
|
73
73
|
/**
|
|
74
74
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
75
75
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginHost.d.ts","sourceRoot":"","sources":["../../src/plugin-host/PluginHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"PluginHost.d.ts","sourceRoot":"","sources":["../../src/plugin-host/PluginHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAC,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEpH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG/D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,UAAU,CAAC,IAAI,EAAC,SAAS,SAAS,mBAAmB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAE,SAAQ,WAAY,YAAW,WAAW,CAAC,IAAI,EAAC,SAAS,CAAC;IACpJ;;;OAGG;IACH,MAAM,CAAC,qBAAqB,UAAS;IAErC;;OAEG;IACH,MAAM,KAAK,aAAa,kCAKvB;IACD,MAAM,CAAC,cAAc,gCAA0C;IAE/D;;OAEG;IACH,IAAI,aAAa,IAAI,mBAAmB,CAAC,IAAI,EAAC,SAAS,CAAC,CAEvD;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,SAAS,SAAS,mBAAmB,EAAC,MAAM,SAAS,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,EAAC,SAAS,CAAC,EAAE,IAAI,EAAC,SAAS,EAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC;IAIlL;;OAEG;IACH,MAAM,CAAC,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,CAAC;IAI1I;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,GAAE,OAAO;IAMnC;;;;;OAKG;IAOH;;;;;OAKG;IACH,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,IAAI,EAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAIzG;;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,CAAC;IAKvH;;;;;OAKG;IACH,IAAI,CAAC,GAAG,IAAI,EAAC,GAAG,GAAE,GAAG;IAIrB;;;OAGG;IACM,WAAW;CAQrB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PluginExtendManager } from "../plugin-manager";
|
|
2
|
-
import type { ExtendOptions, AnyIExtend,
|
|
2
|
+
import type { ExtendOptions, AnyIExtend, AnyIPlugin, 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";
|
|
@@ -34,7 +34,7 @@ export declare class PluginHostEventEmitter<Host, HostClass extends AbstractCons
|
|
|
34
34
|
/**
|
|
35
35
|
* {@inheritDoc PluginExtendManager.usePlugin}
|
|
36
36
|
*/
|
|
37
|
-
static usePlugin<HostClass extends AbstractConstructor, Plugin extends
|
|
37
|
+
static usePlugin<HostClass extends AbstractConstructor, Plugin extends AnyIPlugin<InstanceType<HostClass>, HostClass>>(this: HostClass, plugin: Plugin, ...args: PluginUseArgs<Plugin>): any;
|
|
38
38
|
/**
|
|
39
39
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
40
40
|
*/
|
|
@@ -57,7 +57,7 @@ export declare class PluginHostEventEmitter<Host, HostClass extends AbstractCons
|
|
|
57
57
|
* @param args
|
|
58
58
|
* @returns
|
|
59
59
|
*/
|
|
60
|
-
usePlugin<P extends
|
|
60
|
+
usePlugin<P extends AnyIPlugin<Host, HostClass>>(plugin: P, ...args: PluginUseArgs<P>): PluginUseReturn<P>;
|
|
61
61
|
/**
|
|
62
62
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
63
63
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginHostEventEmitter.d.ts","sourceRoot":"","sources":["../../src/plugin-host/PluginHostEventEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"PluginHostEventEmitter.d.ts","sourceRoot":"","sources":["../../src/plugin-host/PluginHostEventEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAErH,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/D,YAAY,EAAE,QAAQ,EAAC,CAAA;AAGvB;;;;;;;;;;GAUG;AACH,qBAAa,sBAAsB,CAAC,IAAI,EAAE,SAAS,SAAS,mBAAmB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG,CAAE,SAAQ,uBAAuB,CAAC,EAAE,CAAE,YAAW,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC;IACjN;;;OAGG;IACH,MAAM,CAAC,qBAAqB,UAAS;IAErC;;OAEG;IACH,MAAM,KAAK,aAAa,kCAKvB;IACD,MAAM,CAAC,cAAc,gCAA0C;IAE/D;;OAEG;IACH,IAAI,aAAa,IAAI,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAExD;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,SAAS,SAAS,mBAAmB,EAAC,MAAM,SAAS,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,EAAC,SAAS,CAAC,EAAE,IAAI,EAAC,SAAS,EAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC;IAIlL;;OAEG;IACH,MAAM,CAAC,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,CAAC;IAI1I;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,GAAE,OAAO;IAKnC;;;;;OAKG;IAOH;;;;;OAKG;IACH,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAI1G;;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,CAAC;IAKvH;;;;;OAKG;IACH,IAAI,CAAC,GAAG,IAAI,EAAC,GAAG,GAAG,GAAG;IAItB;;;OAGG;IACM,WAAW;CAQrB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PluginExtendManager } from "../plugin-manager";
|
|
2
|
-
import type { ExtendOptions, AnyIExtend,
|
|
2
|
+
import type { ExtendOptions, AnyIExtend, AnyIPlugin, 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";
|
|
@@ -32,7 +32,7 @@ export declare class PluginHostEventTarget<Host, HostClass extends AbstractConst
|
|
|
32
32
|
/**
|
|
33
33
|
* {@inheritDoc PluginExtendManager.usePlugin}
|
|
34
34
|
*/
|
|
35
|
-
static usePlugin<HostClass extends AbstractConstructor, Plugin extends
|
|
35
|
+
static usePlugin<HostClass extends AbstractConstructor, Plugin extends AnyIPlugin<InstanceType<HostClass>, HostClass>>(this: HostClass, plugin: Plugin, ...args: PluginUseArgs<Plugin>): any;
|
|
36
36
|
/**
|
|
37
37
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
38
38
|
*/
|
|
@@ -55,7 +55,7 @@ export declare class PluginHostEventTarget<Host, HostClass extends AbstractConst
|
|
|
55
55
|
* @param args
|
|
56
56
|
* @returns
|
|
57
57
|
*/
|
|
58
|
-
usePlugin<P extends
|
|
58
|
+
usePlugin<P extends AnyIPlugin<Host, HostClass>>(plugin: P, ...args: PluginUseArgs<P>): PluginUseReturn<P>;
|
|
59
59
|
/**
|
|
60
60
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
61
61
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginHostEventTarget.d.ts","sourceRoot":"","sources":["../../src/plugin-host/PluginHostEventTarget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"PluginHostEventTarget.d.ts","sourceRoot":"","sources":["../../src/plugin-host/PluginHostEventTarget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAErH,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAK/D;;;;;;;;;;GAUG;AACH,qBAAa,qBAAqB,CAAC,IAAI,EAAE,SAAS,SAAS,mBAAmB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,SAAQ,sBAAsB,CAAC,EAAE,CAAE,YAAW,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC;IACtO;;;OAGG;IACH,MAAM,CAAC,qBAAqB,UAAS;IAErC;;OAEG;IACH,MAAM,KAAK,aAAa,kCAKvB;IACD,MAAM,CAAC,cAAc,gCAA0C;IAE/D;;OAEG;IACH,IAAI,aAAa,IAAI,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAExD;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,SAAS,SAAS,mBAAmB,EAAC,MAAM,SAAS,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,EAAC,SAAS,CAAC,EAAE,IAAI,EAAC,SAAS,EAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC;IAIlL;;OAEG;IACH,MAAM,CAAC,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,CAAC;IAK1I;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,GAAE,OAAO;IAKnC;;;;;OAKG;IAOH;;;;;OAKG;IACH,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAI1G;;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,CAAC;IAKvH;;;;;OAKG;IACH,IAAI,CAAC,GAAG,IAAI,EAAC,GAAG,GAAG,GAAG;IAItB;;;OAGG;IACM,WAAW;CAQrB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PluginExtendManager } from "../plugin-manager";
|
|
2
|
-
import type { ExtendOptions, AnyIExtend,
|
|
2
|
+
import type { ExtendOptions, AnyIExtend, AnyIPlugin, PluginUseArgs, PluginUseReturn } from "../plugin-manager/index";
|
|
3
3
|
import type { AbstractConstructor, ClassType } from "type-tls";
|
|
4
4
|
/**
|
|
5
5
|
* 创建插件的缩主类
|
|
@@ -31,7 +31,7 @@ export declare function createPluginHost<P extends new (...args: any) => Object>
|
|
|
31
31
|
* @param args
|
|
32
32
|
* @returns
|
|
33
33
|
*/
|
|
34
|
-
usePlugin<P_1 extends
|
|
34
|
+
usePlugin<P_1 extends AnyIPlugin<Host, HostClass>>(plugin: P_1, ...args: PluginUseArgs<P_1>): PluginUseReturn<P_1>;
|
|
35
35
|
/**
|
|
36
36
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
37
37
|
*/
|
|
@@ -86,7 +86,7 @@ export declare function createPluginHost<P extends new (...args: any) => Object>
|
|
|
86
86
|
/**
|
|
87
87
|
* {@inheritDoc PluginExtendManager.usePlugin}
|
|
88
88
|
*/
|
|
89
|
-
usePlugin<HostClass extends AbstractConstructor, Plugin extends
|
|
89
|
+
usePlugin<HostClass extends AbstractConstructor, Plugin extends AnyIPlugin<InstanceType<HostClass>, HostClass>>(this: HostClass, plugin: Plugin, ...args: PluginUseArgs<Plugin>): any;
|
|
90
90
|
/**
|
|
91
91
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
92
92
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createPluginHost.d.ts","sourceRoot":"","sources":["../../src/plugin-host/createPluginHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"createPluginHost.d.ts","sourceRoot":"","sources":["../../src/plugin-host/createPluginHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAGrH,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG/D;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,KAAK,MAAM,EAAE,WAAW,EAAE,CAAC;SAS1D,IAAI,EAAE,SAAS,SAAS,mBAAmB,CAAC,IAAI,CAAC;QAkB1E;;WAEG;6BACkB,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC;QA2BzD;;;;;WAKG;QAMH;;;;;WAKG;8BACiB,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,UAAU,GAAC,WAAW,aAAa,CAAC,GAAC,CAAC,GAAG,eAAe,CAAC,GAAC,CAAC;QAK1G;;WAEG;kBACO,CAAC,SAAS,UAAU,CAAC,SAAS,CAAC,OAAO,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,WAAS,qBAAqB,CAAC,SAAS,CAAC,GAAE,CAAC;QAKvH;;;;;WAKG;sBACW,GAAG,GAAE,GAAG;QAItB;;;WAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;IA1FH;;;OAGG;;IAGH;;OAEG;;;IAgBH;;OAEG;cACc,SAAS,SAAS,mBAAmB,EAAC,MAAM,SAAS,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,EAAC,SAAS,CAAC,QAAO,SAAS,UAAS,MAAM,WAAW,aAAa,CAAC,MAAM,CAAC;IAIlL;;OAEG;cACc,SAAS,SAAS,mBAAmB,EAAC,CAAC,SAAS,UAAU,CAAC,SAAS,CAAC,QAAO,SAAS,OAAM,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,GAAE,CAAC;IAI1I;;;;OAIG;oBACoB,GAAG,GAAE,OAAO;MAyDtC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PluginExtendManager } from "../plugin-manager";
|
|
2
|
-
import type { ExtendOptions, AnyIExtend,
|
|
2
|
+
import type { ExtendOptions, AnyIExtend, AnyIPlugin, 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
|
/**
|
|
@@ -47,7 +47,7 @@ export declare function becomePluginHost_Extends<HostClass extends Constructor>(
|
|
|
47
47
|
* @param args
|
|
48
48
|
* @returns
|
|
49
49
|
*/
|
|
50
|
-
usePlugin<HostClass_1 extends AbstractConstructor, Plugin extends
|
|
50
|
+
usePlugin<HostClass_1 extends AbstractConstructor, Plugin extends AnyIPlugin<InstanceType<HostClass_1>, HostClass_1>>(this: HostClass_1, plugin: Plugin, ...args: PluginUseArgs<Plugin>): PluginUseReturn<Plugin>;
|
|
51
51
|
/**
|
|
52
52
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
53
53
|
*/
|
|
@@ -85,7 +85,7 @@ export declare function becomePluginHost_Extends<HostClass extends Constructor>(
|
|
|
85
85
|
* @param args
|
|
86
86
|
* @returns
|
|
87
87
|
*/
|
|
88
|
-
usePlugin<HostClass_1 extends AbstractConstructor, Plugin extends
|
|
88
|
+
usePlugin<HostClass_1 extends AbstractConstructor, Plugin extends AnyIPlugin<InstanceType<HostClass_1>, HostClass_1>>(this: HostClass_1, plugin: Plugin, ...args: PluginUseArgs<Plugin>): PluginUseReturn<Plugin>;
|
|
89
89
|
/**
|
|
90
90
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
91
91
|
*/
|
|
@@ -115,7 +115,7 @@ export declare function becomePluginHost_Extends<HostClass extends Constructor>(
|
|
|
115
115
|
* @param args
|
|
116
116
|
* @returns
|
|
117
117
|
*/
|
|
118
|
-
usePlugin<HostClass_1 extends AbstractConstructor, Plugin extends
|
|
118
|
+
usePlugin<HostClass_1 extends AbstractConstructor, Plugin extends AnyIPlugin<InstanceType<HostClass_1>, HostClass_1>>(this: HostClass_1, plugin: Plugin, ...args: PluginUseArgs<Plugin>): PluginUseReturn<Plugin>;
|
|
119
119
|
/**
|
|
120
120
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
121
121
|
*/
|
|
@@ -136,7 +136,7 @@ export declare function becomePluginHost_Extends<HostClass extends Constructor>(
|
|
|
136
136
|
/**
|
|
137
137
|
* {@inheritDoc PluginExtendManager.usePlugin}
|
|
138
138
|
*/
|
|
139
|
-
usePlugin<Plugin extends
|
|
139
|
+
usePlugin<Plugin extends AnyIPlugin<{
|
|
140
140
|
[x: string]: any;
|
|
141
141
|
/**
|
|
142
142
|
* 插件管理器 {@link PluginHostExtends.pluginManager}
|
|
@@ -148,7 +148,7 @@ export declare function becomePluginHost_Extends<HostClass extends Constructor>(
|
|
|
148
148
|
* @param args
|
|
149
149
|
* @returns
|
|
150
150
|
*/
|
|
151
|
-
usePlugin<HostClass_1 extends AbstractConstructor, Plugin_1 extends
|
|
151
|
+
usePlugin<HostClass_1 extends AbstractConstructor, Plugin_1 extends AnyIPlugin<InstanceType<HostClass_1>, HostClass_1>>(this: HostClass_1, plugin: Plugin_1, ...args: PluginUseArgs<Plugin_1>): PluginUseReturn<Plugin_1>;
|
|
152
152
|
/**
|
|
153
153
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
154
154
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorator.d.ts","sourceRoot":"","sources":["../../src/plugin-host/decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"decorator.d.ts","sourceRoot":"","sources":["../../src/plugin-host/decorator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AbstractConstructor, ClassType } from "type-tls";
|
|
2
2
|
import type { ExtendOptions, AnyIExtend, PluginExtendManager } from "../plugin-manager/index";
|
|
3
|
-
import type {
|
|
3
|
+
import type { AnyIPlugin, PluginUseReturn, PluginUseArgs } from "../plugin-manager/index";
|
|
4
4
|
/**
|
|
5
5
|
* 插件宿主构造函数的接口
|
|
6
6
|
* @typeParam HostClassType 插件宿主类的类型
|
|
@@ -26,7 +26,7 @@ export interface IPluginHostClass<HostInst> {
|
|
|
26
26
|
/**
|
|
27
27
|
* {@inheritDoc PluginExtendManager.usePlugin}
|
|
28
28
|
*/
|
|
29
|
-
usePlugin<HostClass extends AbstractConstructor, P extends
|
|
29
|
+
usePlugin<HostClass extends AbstractConstructor, P extends AnyIPlugin<InstanceType<HostClass>, HostClass>>(this: HostClass, plugin: P, ...args: PluginUseArgs<P>): PluginUseReturn<P>;
|
|
30
30
|
/**
|
|
31
31
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
32
32
|
*/
|
|
@@ -52,7 +52,7 @@ export interface IPluginHost<Host, HostClass extends AbstractConstructor<Host> =
|
|
|
52
52
|
* @param args
|
|
53
53
|
* @returns
|
|
54
54
|
*/
|
|
55
|
-
usePlugin<P extends
|
|
55
|
+
usePlugin<P extends AnyIPlugin<Host, HostClass>>(plugin: P, ...args: PluginUseArgs<P>): PluginUseReturn<P>;
|
|
56
56
|
/**
|
|
57
57
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
58
58
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/plugin-host/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9F,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/plugin-host/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9F,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG1F;;;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,UAAU,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;IAElL;;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,CAAC,CAAC;IAEpI;;;;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,UAAU,CAAC,IAAI,EAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAE1G;;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,CAAC,CAAC;IAExH;;;OAGG;IACH,IAAI,CAAC,GAAG,IAAI,EAAC,GAAG,GAAE,GAAG,CAAC;IAEtB;;;OAGG;IACH,OAAO,IAAG,GAAG,CAAC;CACf"}
|
|
@@ -84,4 +84,68 @@ export declare function mixinIExtend<T, E>(target: T, ext: E): T & IExtendHostMe
|
|
|
84
84
|
* @param Ext - 扩展的类型
|
|
85
85
|
*/
|
|
86
86
|
export type IExtendClass<HostClass extends AbstractConstructor, Ext> = ExtendClass<HostClass, IExtendHostMembers<Ext>>;
|
|
87
|
+
/**
|
|
88
|
+
* 定义扩展的类型便利函数
|
|
89
|
+
*
|
|
90
|
+
* @remarks
|
|
91
|
+
* 它会更改 ext 中方法的this指向为 cla & ext,不会真的执行扩展操作。
|
|
92
|
+
*
|
|
93
|
+
* @param hostClass - 扩展的目标,用作 this 的类型
|
|
94
|
+
* @param ext - 描述扩展内容的对象,会自动更改其this的类型
|
|
95
|
+
* @returns 返回注入了 this 类型的 ext 对象本身
|
|
96
|
+
*/
|
|
97
|
+
export declare function defineIExtend<HostClass extends AbstractConstructor, Ext>(hostClass: HostClass, ext: IExtendOptions<HostClass, Ext>): Ext;
|
|
98
|
+
/**
|
|
99
|
+
* 创建定义扩展的类型便利函数
|
|
100
|
+
*
|
|
101
|
+
* @remarks
|
|
102
|
+
* 它返回的便利函数的功能与 {@link defineExtend} 的功能一样,唯一区别是不再需要接收 hostClass 参数了
|
|
103
|
+
*
|
|
104
|
+
* @returns 可以用于 定义扩展的 类型便利函数
|
|
105
|
+
*/
|
|
106
|
+
export declare function createDefineIExtend<HostClass extends AbstractConstructor>(hostClass: HostClass): <Ext>(ext: IExtendOptions<HostClass, Ext>) => Ext;
|
|
107
|
+
/**
|
|
108
|
+
* 扩展目标
|
|
109
|
+
*
|
|
110
|
+
* @remarks
|
|
111
|
+
* 与 {@link defineExtend} 的区别是:`targetExtend` 会执行对 cla 的扩展操作,而 {@link defineExtend} 不会
|
|
112
|
+
*
|
|
113
|
+
*
|
|
114
|
+
* @param cla - 扩展的目标,也用作 this 的类型
|
|
115
|
+
* @param ext - 扩展描述对象,会自动更改其this的类型
|
|
116
|
+
* @returns 返回注入了 this 类型的 ext 对象本身
|
|
117
|
+
*/
|
|
118
|
+
export declare function targetIExtend<C extends AbstractConstructor, Ext>(cla: C, ext: IExtendOptions<C, Ext>): Ext;
|
|
119
|
+
/**
|
|
120
|
+
* 创建用于扩展目标的便捷函数
|
|
121
|
+
*
|
|
122
|
+
* @remarks
|
|
123
|
+
* 它返回的便利函数的功能与 {@link targetExtend} 的功能一样,唯一区别是不再需要接收 cla 参数了
|
|
124
|
+
*
|
|
125
|
+
* @param cla - 扩展的目标,也用作 this 的类型
|
|
126
|
+
* @returns 可以用于 扩展目标 的便利函数
|
|
127
|
+
*/
|
|
128
|
+
export declare function createTargetIExtend<C extends AbstractConstructor>(cla: C): <E>(ext: IExtendOptions<C, E>) => E;
|
|
129
|
+
/**
|
|
130
|
+
* 扩展目标
|
|
131
|
+
*
|
|
132
|
+
* @remarks
|
|
133
|
+
* 会执行对 CEarth 类的扩展操作。
|
|
134
|
+
* 与 {@link targetExtend} 的区别仅仅是返回类型不一样。
|
|
135
|
+
*
|
|
136
|
+
* @param cla - 扩展的目标,也用作 this 的类型
|
|
137
|
+
* @param ext - 扩展对象,会自动更改其this的类型
|
|
138
|
+
* @returns 返回扩展后的 cla 对象
|
|
139
|
+
*/
|
|
140
|
+
export declare function iextendTarget<C extends AbstractConstructor, E>(cla: C, ext: IExtendOptions<C, E>): IExtendClass<C, E>;
|
|
141
|
+
/**
|
|
142
|
+
* 创建用于扩展目标工具函数
|
|
143
|
+
*
|
|
144
|
+
* @remarks
|
|
145
|
+
* 它返回的便利函数的功能与 {@link extendTarget} 的功能一样,唯一区别是不再需要接收 cla 参数了
|
|
146
|
+
*
|
|
147
|
+
* @param cla - 扩展的目标,也用作 this 的类型
|
|
148
|
+
* @returns 可以用于 扩展目标 的便利函数
|
|
149
|
+
*/
|
|
150
|
+
export declare function createIExtendTarget<C extends AbstractConstructor>(cla: C): <E>(ext: IExtendOptions<C, E>) => IExtendClass<C, E>;
|
|
87
151
|
//# sourceMappingURL=IExtend.d.ts.map
|
|
@@ -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,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"IExtend.d.ts","sourceRoot":"","sources":["../../src/plugin-manager/IExtend.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,7 +41,7 @@ export interface IPlugin<Host, HostClass = AbstractClassType<Host>> {
|
|
|
41
41
|
* @param Host - 插件宿主的类型
|
|
42
42
|
* @param HostClass - 插件宿主的类类型
|
|
43
43
|
*/
|
|
44
|
-
export interface
|
|
44
|
+
export interface AnyIPlugin<Host, HostClass = AbstractClassType<Host>> extends IPlugin<Host, HostClass> {
|
|
45
45
|
[Key: PropertyKey]: any;
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AnyFunction, AbstractConstructor, ClassType } from "type-tls";
|
|
2
2
|
import { Destroyable } from "@gby/destroyable";
|
|
3
3
|
import type { IExtend, AnyIExtend } from "./IExtend";
|
|
4
|
-
import type {
|
|
4
|
+
import type { AnyIPlugin, IPlugin, PluginUseArgs, PluginUseReturn } from "./IPlugin";
|
|
5
5
|
import type { ExtendOptions } from "./extend";
|
|
6
6
|
/**
|
|
7
7
|
* 用于标识是扩展的标记
|
|
@@ -60,7 +60,7 @@ export declare class PluginExtendManager<Host, HostClass extends AbstractConstru
|
|
|
60
60
|
* @param plugin - 插件
|
|
61
61
|
* @param args - 传递给插件的选项
|
|
62
62
|
*/
|
|
63
|
-
usePlugin<P extends
|
|
63
|
+
usePlugin<P extends AnyIPlugin<Host, HostClass>>(plugin: P, ...args: PluginUseArgs<P>): PluginUseReturn<P>;
|
|
64
64
|
/**
|
|
65
65
|
* 插件宿主实例的注册插件的方法
|
|
66
66
|
*
|
|
@@ -68,7 +68,7 @@ export declare class PluginExtendManager<Host, HostClass extends AbstractConstru
|
|
|
68
68
|
* 会调用每个插件的 {@link IPlugin.use } 方法
|
|
69
69
|
* @param hostInst - 插件宿主的新实例
|
|
70
70
|
*/
|
|
71
|
-
instUsePlugin<P extends
|
|
71
|
+
instUsePlugin<P extends AnyIPlugin<Host, HostClass>>(hostInst: Host, plugin: P, ...options: PluginUseArgs<P>): PluginUseReturn<P>;
|
|
72
72
|
/**
|
|
73
73
|
* 插件宿主创建实例时调用
|
|
74
74
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AnyFunction, AbstractClassType } from "type-tls";
|
|
2
|
-
import type {
|
|
2
|
+
import type { AnyIPlugin, IPlugin, PluginUseArgs, PluginUseReturn } from "./IPlugin";
|
|
3
3
|
import { Destroyable } from "@gby/destroyable";
|
|
4
4
|
/**
|
|
5
5
|
* 插件管理者
|
|
@@ -33,7 +33,7 @@ export declare class PluginManager<Host, HostClass = AbstractClassType<Host>> ex
|
|
|
33
33
|
* @param plugin - 插件
|
|
34
34
|
* @param args - 传递给插件的选项
|
|
35
35
|
*/
|
|
36
|
-
use<P extends
|
|
36
|
+
use<P extends AnyIPlugin<Host, HostClass>>(plugin: P, ...args: PluginUseArgs<P>): PluginUseReturn<P>;
|
|
37
37
|
/**
|
|
38
38
|
* 插件宿主实例的注册插件的方法
|
|
39
39
|
*
|
|
@@ -41,7 +41,7 @@ export declare class PluginManager<Host, HostClass = AbstractClassType<Host>> ex
|
|
|
41
41
|
* 会调用每个插件的 {@link IPlugin.use } 方法
|
|
42
42
|
* @param hostInst - 插件宿主的新实例
|
|
43
43
|
*/
|
|
44
|
-
instUse<P extends
|
|
44
|
+
instUse<P extends AnyIPlugin<Host, HostClass>>(hostInst: Host, plugin: P, ...options: PluginUseArgs<P>): PluginUseReturn<P>;
|
|
45
45
|
/**
|
|
46
46
|
* 插件宿主创建实例时调用
|
|
47
47
|
*
|
|
@@ -35,7 +35,7 @@ export type ExtendClass<HostClass extends AbstractConstructor, Ext> = Omit<HostC
|
|
|
35
35
|
* @param ext - 描述扩展内容的对象,会自动更改其this的类型
|
|
36
36
|
* @returns 返回注入了 this 类型的 ext 对象本身
|
|
37
37
|
*/
|
|
38
|
-
export declare function defineExtend<HostClass extends AbstractConstructor, Ext>(hostClass: HostClass, ext: ExtendOptions<HostClass, Ext>):
|
|
38
|
+
export declare function defineExtend<HostClass extends AbstractConstructor, Ext>(hostClass: HostClass, ext: ExtendOptions<HostClass, Ext>): Ext;
|
|
39
39
|
/**
|
|
40
40
|
* 创建定义扩展的类型便利函数
|
|
41
41
|
*
|
|
@@ -44,7 +44,7 @@ export declare function defineExtend<HostClass extends AbstractConstructor, Ext>
|
|
|
44
44
|
*
|
|
45
45
|
* @returns 可以用于 定义扩展的 类型便利函数
|
|
46
46
|
*/
|
|
47
|
-
export declare function createDefineExtend<HostClass extends AbstractConstructor>(hostClass: HostClass): <Ext>(ext: ExtendOptions<HostClass, Ext>) =>
|
|
47
|
+
export declare function createDefineExtend<HostClass extends AbstractConstructor>(hostClass: HostClass): <Ext>(ext: ExtendOptions<HostClass, Ext>) => Ext;
|
|
48
48
|
/**
|
|
49
49
|
* 扩展目标
|
|
50
50
|
*
|
|
@@ -56,7 +56,7 @@ export declare function createDefineExtend<HostClass extends AbstractConstructor
|
|
|
56
56
|
* @param ext - 扩展描述对象,会自动更改其this的类型
|
|
57
57
|
* @returns 返回注入了 this 类型的 ext 对象本身
|
|
58
58
|
*/
|
|
59
|
-
export declare function targetExtend<C extends AbstractConstructor, Ext>(cla: C, ext: ExtendOptions<C, Ext>):
|
|
59
|
+
export declare function targetExtend<C extends AbstractConstructor, Ext>(cla: C, ext: ExtendOptions<C, Ext>): Ext;
|
|
60
60
|
/**
|
|
61
61
|
* 创建用于扩展目标的便捷函数
|
|
62
62
|
*
|
|
@@ -66,7 +66,7 @@ export declare function targetExtend<C extends AbstractConstructor, Ext>(cla: C,
|
|
|
66
66
|
* @param cla - 扩展的目标,也用作 this 的类型
|
|
67
67
|
* @returns 可以用于 扩展目标 的便利函数
|
|
68
68
|
*/
|
|
69
|
-
export declare function createTargetExtend<C extends AbstractConstructor>(cla: C): <E>(ext: ExtendOptions<C, E>) =>
|
|
69
|
+
export declare function createTargetExtend<C extends AbstractConstructor>(cla: C): <E>(ext: ExtendOptions<C, E>) => E;
|
|
70
70
|
/**
|
|
71
71
|
* 扩展目标
|
|
72
72
|
*
|
|
@@ -88,5 +88,5 @@ export declare function extendTarget<C extends AbstractConstructor, E>(cla: C, e
|
|
|
88
88
|
* @param cla - 扩展的目标,也用作 this 的类型
|
|
89
89
|
* @returns 可以用于 扩展目标 的便利函数
|
|
90
90
|
*/
|
|
91
|
-
export declare function createExtendTarget<C extends
|
|
91
|
+
export declare function createExtendTarget<C extends AbstractConstructor>(cla: C): <E>(ext: ExtendOptions<C, E>) => ExtendClass<C, E>;
|
|
92
92
|
//# sourceMappingURL=extend.d.ts.map
|
|
@@ -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,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,
|
|
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,GAAG,CAEtI;AAID;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,SAAS,mBAAmB,EAAE,SAAS,EAAE,SAAS,IAC7D,GAAG,EAAE,KAAK,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,KAAG,GAAG,CAG7E;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,GAAG,CAGxG;AAMD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,mBAAmB,EAAE,GAAG,EAAE,CAAC,IACxC,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,CAAC,CAI9D;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,mBAAmB,EAAE,GAAG,EAAE,CAAC,IACvC,CAAC,EAAG,KAAK,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,KAAI,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAIjF"}
|
|
@@ -70,7 +70,7 @@ export type MixinOptions<T, M> = M & ThisType<T & M>;
|
|
|
70
70
|
* @param mixin - 混合对象,会自动更改其this的类型
|
|
71
71
|
* @returns 返回注入了 this 类型的 mixin 对象本身
|
|
72
72
|
*/
|
|
73
|
-
export declare function defineMixin<T, M>(target: T, mixin: MixinOptions<T, M>):
|
|
73
|
+
export declare function defineMixin<T, M>(target: T, mixin: MixinOptions<T, M>): M;
|
|
74
74
|
/**
|
|
75
75
|
* 创建定义混合的类型便利函数
|
|
76
76
|
*
|
|
@@ -79,7 +79,7 @@ export declare function defineMixin<T, M>(target: T, mixin: MixinOptions<T, M>):
|
|
|
79
79
|
*
|
|
80
80
|
* @returns 可以用于 定义混合的 类型便利函数
|
|
81
81
|
*/
|
|
82
|
-
export declare function createDefineMixin<T>(target: T): <M>(mixin: MixinOptions<T, M>) =>
|
|
82
|
+
export declare function createDefineMixin<T>(target: T): <M>(mixin: MixinOptions<T, M>) => M;
|
|
83
83
|
/**
|
|
84
84
|
* 混合目标
|
|
85
85
|
*
|
|
@@ -91,7 +91,7 @@ export declare function createDefineMixin<T>(target: T): <M>(mixin: MixinOptions
|
|
|
91
91
|
* @param m - 混合对象,会自动更改其this的类型
|
|
92
92
|
* @returns 返回注入了 this 类型的 mixin 对象本身
|
|
93
93
|
*/
|
|
94
|
-
export declare function targetMixin<T, M>(target: T, m: MixinOptions<T, M>):
|
|
94
|
+
export declare function targetMixin<T, M>(target: T, m: MixinOptions<T, M>): M;
|
|
95
95
|
/**
|
|
96
96
|
* 创建用于混合目标的便捷函数
|
|
97
97
|
*
|
|
@@ -101,7 +101,7 @@ export declare function targetMixin<T, M>(target: T, m: MixinOptions<T, M>): Mix
|
|
|
101
101
|
* @param target - 混合的目标,用作 this 的类型
|
|
102
102
|
* @returns 可以用于 混合目标 的便利函数
|
|
103
103
|
*/
|
|
104
|
-
export declare function createTargetMixin<T>(target: T): <M>(m:
|
|
104
|
+
export declare function createTargetMixin<T>(target: T): <M>(m: MixinOptions<T, M>) => M;
|
|
105
105
|
/**
|
|
106
106
|
* 混合目标
|
|
107
107
|
*
|
|
@@ -113,7 +113,7 @@ export declare function createTargetMixin<T>(target: T): <M>(m: M & ThisType<T &
|
|
|
113
113
|
* @param m - 混合对象,会自动更改其this的类型
|
|
114
114
|
* @returns 返回混合后的 target 对象
|
|
115
115
|
*/
|
|
116
|
-
export declare function mixinTarget<T, M>(target: T, m:
|
|
116
|
+
export declare function mixinTarget<T, M>(target: T, m: MixinOptions<T, M>): M & T;
|
|
117
117
|
/**
|
|
118
118
|
* 创建用于混合目标工具函数
|
|
119
119
|
*
|
|
@@ -122,7 +122,7 @@ export declare function mixinTarget<T, M>(target: T, m: M & ThisType<T & M>): M
|
|
|
122
122
|
*
|
|
123
123
|
* @returns 可以用于 混合目标 的便利函数
|
|
124
124
|
*/
|
|
125
|
-
export declare function createMixinTarget<T>(target: T): <M>(m:
|
|
125
|
+
export declare function createMixinTarget<T>(target: T): <M>(m: MixinOptions<T, M>) => M & T;
|
|
126
126
|
/**
|
|
127
127
|
* 替换构建函数的参数
|
|
128
128
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mixin.d.ts","sourceRoot":"","sources":["../../src/plugin-manager/mixin.ts"],"names":[],"mappings":"AAEA;;;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,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AACnF;;;GAGG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACzG;;;GAGG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC/H;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;AAU3D;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,SAAS,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAKtI;AAGD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CASlI;AAID;;;;;;;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,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"mixin.d.ts","sourceRoot":"","sources":["../../src/plugin-manager/mixin.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const O=require("@gby/destroyable"),d=require("deepmerge-ts"),g=require("com-tools"),_=["onCreate","onInit","onDestroy"];function w(i){const t={...i};for(const e of _)typeof t[e]=="function"&&delete t[e];return t}function F(i,t){let e=Object.getOwnPropertyDescriptors(t);for(const n of _)typeof t[n]=="function"&&delete e[n];return Object.defineProperties(i,e),i}function b(i){return i&&typeof i.onUse=="function"}const l=Symbol("extend");class p extends O.Destroyable{host;plugins=new Map;constructor(t){super(),t&&(this.host=t)}destroyThis(){return this.plugins.clear(),this.host=null,super.destroyThis()}hasUsed(t){return this.plugins.has(t)}isPlugin(t){const{plugins:e}=this;return e.has(t)?e.get(t)!==l:b(t)}useExtend(t){const{plugins:e}=this;return e.has(t)?e.get(t):(F(this.host.prototype,t),e.set(t,l),t)}instUseExtend(t,e,...n){const{plugins:s}=this;return s.has(e)?s.get(e):(this.useExtend(e),e.onCreate?.call(t,t,...n),e)}usePlugin(t,...e){const{plugins:n}=this;if(n.has(t))return n.get(t);const s=t.onUse(this.host,...e);return n.set(t,s),s}instUsePlugin(t,e,...n){const{plugins:s}=this;if(s.has(e))return s.get(e);const o=this.usePlugin(e,...n);return e.onCreate?.(t),o}onCreate(t,...e){const n=[];for(const[s,o]of this.plugins)if(s.onCreate){const r=o===l?s.onCreate:s.onCreate.bind(s);n.push(r)}return g.serialCallFuns(n,t,[t,...e])}onInit(t,...e){const n=[];for(const[s,o]of this.plugins)if(s.onInit){const r=o===l?s.onInit:s.onInit.bind(s);n.push(r)}return g.serialCallFuns(n,t,[t,...e])}onDestroy(t){const e=[];for(const[n,s]of this.plugins)if(n.onDestroy){const o=s===l?n.onDestroy:n.onDestroy.bind(n);e.push(o)}return e.reverse(),g.serialCallFuns(e,t,[t])}}function m(i){const t=i.split(".");return t[0]===""&&t.shift(),t}function h(i,t){for(const e of t)if(i=i[e],i==null)return;return i}function V(i,t){return h(i,m(t))}function M(i,t,e){const n=t.pop(),s=t.length;let o=0;for(;o<s;){const r=i[t[o]];if(r==null)break;i=r,o++}t=t.slice(o);for(const r of t)i=i[r]={};return i[n]=e,i}function N(i,t,e){return M(i,m(t),e)}const f={UndefinedAndNull:function(t){return t==null},Undefined:function(t){return t===void 0},Null:function(t){return t===null}};class U{freezeMember=!0;fullOption=new Proxy(this,{get:function(t,e,n){const s=t.plainFullOption[e];return t.freezeMember?Object.freeze(s):s},set:function(t,e,n,s){return t.setMember(e,n,!1),!0},has:function(t,e){return e in t.plainFullOption},getOwnPropertyDescriptor:function(t,e){return Object.getOwnPropertyDescriptor(t.plainFullOption,e)},ownKeys:function(t){return Reflect.ownKeys(t.plainFullOption)},deleteProperty:function(t,e){return t.setMember(e,void 0),!0},defineProperty:function(t,e,n){return Object.defineProperty(t.option,e,n),!0}});setOption(t,e){const n=e?d.deepmergeInto(this.option,t):Object.assign(this.option,t);return this.updateFullOption(),n}get undefinedValue(){return this._undefinedValue}set undefinedValue(t){this._undefinedValue=t,this.isUndefined=f[t]||f.UndefinedAndNull}_undefinedValue="UndefinedAndNull";isUndefined=f.UndefinedAndNull;getMember(t){return this.option[t]}setMember(t,e,n){const s=this.option;if(e===void 0)delete s[t];else{const o=s[t];n&&o&&typeof o=="object"?d.deepmergeInto(o,e):s[t]=e}this.updateFullOption()}getValue(t){return h(this.option,t)}setValue(t,e,n){const s=this.option;let o;n&&(o=h(s,t))&&typeof o=="object"?d.deepmergeInto(o,e):M(this.option,t,e),this.updateFullOption()}}class u extends U{constructor(t,e){super(),t&&(this.option=t),e&&(this.extends=e)}get extends(){return this._extends}set extends(t){this._extends=t,this.updateFullOption()}_extends=null;option={};get plainFullOption(){let t=this._plainFullOption;if(t)return t;const{extends:e,option:n}=this;if(t=n,e){const s=e.plainFullOption;t=d.deepmerge(s,n)}return this._plainFullOption=t}_plainFullOption=null;updateFullOption(){this._plainFullOption=null}getMember(t){const e=this.option[t];if(!this.isUndefined(e))return e;const n=this.extends;if(n)return n.getMember(t)}getValue(t){const e=super.getValue(t);if(!this.isUndefined(e))return e;const n=this.extends;if(n)return n.getValue(t)}}function D(i,t){const{name:e}=t,n=`_${e}`;return{get:function(){return this[n]||(this[n]=new u(void 0,this.constructor[e]))}}}class T extends U{constructor(t,e){super(),e&&this.setModeOption(t,e),this.mode=t}modes={};get mode(){return this._mode||(this.mode=this.modeNames[0])}set mode(t){this._mode=t,this.hasMode(t)||this.setModeOption(t,{}),this.updateFullOption()}_mode;get modeNames(){return this._modeNames||(this._modeNames=this.getModeNames())}_modeNames=null;getModeNames(){return Object.keys(this.modes)}hasMode(t){return!!this.modes[t]}get optionManager(){return this.modes[this.mode]}get option(){return this.optionManager.option}get plainFullOption(){return this._plainFullOption??(this._plainFullOption=this.getFullModeOption(this.mode))}_plainFullOption=null;updateFullOption(){this._plainFullOption=null,this._modeNames=null}getModeOption(t){return this.modes[t].option}getFullModeOption(t){return this.modes[t]?.plainFullOption}setModeOption(t,e,n,s){const{modes:o}=this,r=o[t]||(o[t]=new u);if(r.setOption(e,n),s){const y=o[s];y&&(r.extends=y)}return this.updateFullOption(),r}}class a extends T{constructor(t,e,n){super(t,e),n&&(this.extends=n)}get extends(){return this._extends}set extends(t){this._extends=t,this.updateFullOption()}_extends=null;getFullModeOption(t){const{modes:e,extends:n}=this,s=e[t]?.plainFullOption;if(n){const o=n.getFullModeOption(t);return s?d.deepmerge(o,s):o}return s}getModeNames(){const{modes:t,extends:e}=this,n=Object.keys(t);if(!e)return n;const s=e.getModeNames();return[...new Set([...n,...s])]}hasModeOnTier(t){if(this.hasMode(t))return!0;const e=this.extends;return e?e.hasModeOnTier(t):!1}get optionManager(){return this.getModeOptionManager(this.mode)}getModeOptionManager(t){const e=this.modes[t];return e||(this.extends?.getModeOptionManager(t)?this.setModeOption(t,{}):null)}getMember(t){const e=this.optionManager.getMember(t);if(!this.isUndefined(e))return e;const n=this.extends;if(n)return n.getMember(t)}getValue(t){const e=this.optionManager.getValue(t);if(!this.isUndefined(e))return e;const n=this.extends;if(n)return n.getValue(t)}}function H(i,t){const{name:e}=t,n=`_${e}`;return{get:function(){return this[n]||(this[n]=new a(this.constructor[e].mode,void 0,this.constructor[e]))}}}class P extends O.Destroyable{static isolatedPluginManager=!1;static get pluginManager(){return this.isolatedPluginManager&&!this.hasOwnProperty("_pluginManager")&&(this._pluginManager=new p(this)),this._pluginManager}static _pluginManager=new p(this);get pluginManager(){return this.constructor.pluginManager}static usePlugin(t,...e){return this.pluginManager.usePlugin(t,...e)}static useExtend(t){return this.pluginManager.useExtend(t)}static hasUsed(t){return this.pluginManager.hasUsed(t)}usePlugin(t,...e){return this.pluginManager.instUsePlugin(this,t,...e)}useExtend(t,...e){return this.pluginManager.instUseExtend(this,t,...e)}init(...t){return this.pluginManager.onInit(this,...t)}destroyThis(){const t=this.pluginManager.onDestroy(this);return t instanceof Promise?t.finally(()=>super.destroyThis()):super.destroyThis()}}class v extends P{static defaultOptions=new u;get defaultOptions(){return this._defaultOptions||(this._defaultOptions=new u(void 0,this.constructor.defaultOptions))}_defaultOptions;constructor(t){super(),this.defaultOptions.option=t}}function x(i){const t=O.createDestroyableSubClass(i);return class extends t{static isolatedPluginManager=!1;static get pluginManager(){return this.isolatedPluginManager&&!this.hasOwnProperty("_pluginManager")&&(this._pluginManager=new p(this)),this._pluginManager}static _pluginManager=new p(this);get pluginManager(){return this.constructor.pluginManager}static usePlugin(n,...s){return this.pluginManager.usePlugin(n,...s)}static useExtend(n){return this.pluginManager.useExtend(n)}static hasUsed(n){return this.pluginManager.hasUsed(n)}usePlugin(n,...s){return this.pluginManager.instUsePlugin(this,n,...s)}useExtend(n,...s){return this.pluginManager.instUseExtend(this,n,...s)}init(...n){return this.pluginManager.onInit(this,...n)}destroyThis(){const n=this.pluginManager.onDestroy(this);return n instanceof Promise?n.finally(()=>super.destroyThis()):super.destroyThis()}}}function E(i){const t=x(i);return class extends t{static defaultOptions=new u;get defaultOptions(){return this._defaultOptions||(this._defaultOptions=new u(void 0,this.constructor.defaultOptions))}_defaultOptions;constructor(n){super(),this.defaultOptions.option=n}}}const c="common";class k extends P{static modeOptions=new a(c);get modeOptions(){return this._modeOptions||(this._modeOptions=new a(c,void 0,this.constructor.modeOptions))}_modeOptions;get mode(){return this.modeOptions.mode}set mode(t){this.modeOptions.mode=t}get options(){return this.modeOptions.plainFullOption}constructor(t){super(),this.modeOptions.setOption(t)}}function C(i){const t=x(i);return class extends t{static modeOptions=new a(c);get modeOptions(){return this._modeOptions||(this._modeOptions=new a(c,void 0,this.constructor.modeOptions))}_modeOptions;get mode(){return this.modeOptions.mode}set mode(n){this.modeOptions.mode=n}get options(){return this.modeOptions.plainFullOption}constructor(n){super(),this.modeOptions.setOption(n)}}}exports.ModeOptions=T;exports.PluginExtendManager=p;exports.PluginHost=P;exports.TierModeOptions=a;exports.TierModeOptionsPluginHost=k;exports.TierOptions=u;exports.TierOptionsPluginHost=v;exports.commonModeName=c;exports.createPluginHost=x;exports.createTierModeOptionsPluginHost=C;exports.createTierOptionsPluginHost=E;exports.extendMark=l;exports.getPropertyValue=h;exports.getPropertyValueByPath=V;exports.isPlugin=b;exports.mixinIExtend=F;exports.parsePropertyPath=m;exports.pickHostExtendMembers=w;exports.setPropertyValue=M;exports.setPropertyValueByPath=N;exports.tierModeOptionsDecorator=H;exports.tierOptionsDecorator=D;
|