plugin-tls 4.7.1 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Destroyable-mrBsNabq-D6TYs3Zn.js +165 -0
- package/dist/Destroyable-mrBsNabq-IFFuYfKS.cjs +1 -0
- package/dist/index-node.cjs +1 -1
- package/dist/index-node.js +57 -108
- package/dist/index-web.cjs +1 -1
- package/dist/index-web.js +58 -109
- package/dist/options/options-plugin-host/tier-mode-options/TierModeOptionsPluginHost.d.ts +2 -2
- package/dist/options/options-plugin-host/tier-mode-options/TierModeOptionsPluginHost.d.ts.map +1 -1
- package/dist/options/options-plugin-host/tier-mode-options/TierModeOptionsPluginHostEventEmitter.d.ts +1 -1
- package/dist/options/options-plugin-host/tier-mode-options/TierModeOptionsPluginHostEventEmitter.d.ts.map +1 -1
- package/dist/options/options-plugin-host/tier-mode-options/createTierModeOptionsPluginHost.d.ts +3 -3
- package/dist/options/options-plugin-host/tier-options/TierOptionsPluginHost.d.ts +2 -2
- package/dist/options/options-plugin-host/tier-options/TierOptionsPluginHost.d.ts.map +1 -1
- package/dist/options/options-plugin-host/tier-options/TierOptionsPluginHostEventEmitter.d.ts +1 -1
- package/dist/options/options-plugin-host/tier-options/TierOptionsPluginHostEventEmitter.d.ts.map +1 -1
- package/dist/options/options-plugin-host/tier-options/createTierOptionsPluginHost.d.ts +3 -3
- package/dist/plugin-host/PluginHost.d.ts +5 -3
- package/dist/plugin-host/PluginHost.d.ts.map +1 -1
- package/dist/plugin-host/PluginHostEventEmitter.d.ts +3 -4
- package/dist/plugin-host/PluginHostEventEmitter.d.ts.map +1 -1
- package/dist/plugin-host/PluginHostEventTarget.d.ts +2 -2
- package/dist/plugin-host/PluginHostEventTarget.d.ts.map +1 -1
- package/dist/plugin-host/createPluginHost.d.ts +2 -2
- package/dist/plugin-host/decorator.d.ts +2 -2
- package/dist/plugin-manager/ExtendManager.d.ts +2 -2
- package/dist/plugin-manager/ExtendManager.d.ts.map +1 -1
- package/dist/plugin-manager/PluginExtendManager.d.ts +2 -2
- package/dist/plugin-manager/PluginExtendManager.d.ts.map +1 -1
- package/dist/plugin-manager/PluginManager.d.ts +2 -2
- package/dist/plugin-manager/PluginManager.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/Destroyable-BqvuD4gL-Cmk1ocqj.cjs +0 -1
- package/dist/Destroyable-BqvuD4gL-D50ZO9eN.js +0 -129
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { serialCallAllFuns as c } from "com-tools";
|
|
2
|
+
var l = class {
|
|
3
|
+
listenerMap = /* @__PURE__ */ new Map();
|
|
4
|
+
ignoreError = !1;
|
|
5
|
+
get listenerTotal() {
|
|
6
|
+
let e = 0;
|
|
7
|
+
for (let t of this.listenerMap.values()) e += t.size;
|
|
8
|
+
return e;
|
|
9
|
+
}
|
|
10
|
+
emit(e, ...t) {
|
|
11
|
+
let s = this.listenerMap.get(e);
|
|
12
|
+
if (s) {
|
|
13
|
+
if (this.ignoreError) {
|
|
14
|
+
for (let r of s) try {
|
|
15
|
+
r.apply(this, t);
|
|
16
|
+
} catch (n) {
|
|
17
|
+
console.error(n);
|
|
18
|
+
}
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
for (let r of s) r.apply(this, t);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
addListener(e, t, s) {
|
|
25
|
+
if (s?.aborted) return h;
|
|
26
|
+
let r = this.getAllListeners(e);
|
|
27
|
+
r.has(t) || (r.add(t), this.onCountChange({
|
|
28
|
+
name: e,
|
|
29
|
+
count: r.size,
|
|
30
|
+
change: 1
|
|
31
|
+
}));
|
|
32
|
+
let n = () => {
|
|
33
|
+
s?.removeEventListener("abort", n), this.removeListener(e, t);
|
|
34
|
+
};
|
|
35
|
+
return s?.addEventListener("abort", n, { once: !0 }), n;
|
|
36
|
+
}
|
|
37
|
+
addListenerWithTimes(e, t, s) {
|
|
38
|
+
let r = s?.times ?? 1;
|
|
39
|
+
if (r <= 0) return h;
|
|
40
|
+
let n = 0;
|
|
41
|
+
function a(...u) {
|
|
42
|
+
t.apply(this, u), ++n >= r && o();
|
|
43
|
+
}
|
|
44
|
+
let o = this.addListener(e, a, s?.signal);
|
|
45
|
+
return o;
|
|
46
|
+
}
|
|
47
|
+
removeListener(e, t) {
|
|
48
|
+
let s = this.listenerMap.get(e);
|
|
49
|
+
s?.has(t) && (s.delete(t), s.size === 0 && this.listenerMap.delete(e), this.onCountChange({
|
|
50
|
+
name: e,
|
|
51
|
+
count: s.size,
|
|
52
|
+
change: -1
|
|
53
|
+
}));
|
|
54
|
+
}
|
|
55
|
+
removeAllListeners(...e) {
|
|
56
|
+
let { listenerMap: t } = this;
|
|
57
|
+
e.length === 0 && (e = this.listenerMap.keys());
|
|
58
|
+
for (let s of e) {
|
|
59
|
+
let r = t.get(s);
|
|
60
|
+
if (!r) continue;
|
|
61
|
+
let n = r.size;
|
|
62
|
+
n && r.clear(), t.delete(s), this.onCountChange({
|
|
63
|
+
name: s,
|
|
64
|
+
count: 0,
|
|
65
|
+
change: -n
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
hasListener(e, t) {
|
|
70
|
+
return this.listenerMap.get(e)?.has(t) === !0;
|
|
71
|
+
}
|
|
72
|
+
getListenerCount(e) {
|
|
73
|
+
return this.listenerMap.get(e)?.size ?? 0;
|
|
74
|
+
}
|
|
75
|
+
onCountChange(e) {
|
|
76
|
+
}
|
|
77
|
+
getAllListeners(e) {
|
|
78
|
+
let t = this.listenerMap.get(e);
|
|
79
|
+
return t || (t = /* @__PURE__ */ new Set(), this.listenerMap.set(e, t)), t;
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
function h() {
|
|
83
|
+
}
|
|
84
|
+
var d = class extends l {
|
|
85
|
+
countChangeEvents = new l();
|
|
86
|
+
onCountChange(t) {
|
|
87
|
+
let s = this.countChangeEvents;
|
|
88
|
+
s.emit(t.name, t), s.emit("listenerTotal", t);
|
|
89
|
+
}
|
|
90
|
+
}, y = class extends d {
|
|
91
|
+
refCount = 0;
|
|
92
|
+
get isDestroyed() {
|
|
93
|
+
return this._isDestroyed;
|
|
94
|
+
}
|
|
95
|
+
_isDestroyed = !1;
|
|
96
|
+
get canDestroy() {
|
|
97
|
+
return !this.isDestroyed && this.refCount <= 0;
|
|
98
|
+
}
|
|
99
|
+
_destroyers = [];
|
|
100
|
+
disposeFun(e) {
|
|
101
|
+
return this._destroyers.push(e), e;
|
|
102
|
+
}
|
|
103
|
+
cancelDisposeFun(e) {
|
|
104
|
+
let t = this._destroyers.indexOf(e);
|
|
105
|
+
return this._destroyers.splice(t, 1), e;
|
|
106
|
+
}
|
|
107
|
+
disposeObj(e, t) {
|
|
108
|
+
let s = t ? function() {
|
|
109
|
+
return e.destroySync();
|
|
110
|
+
} : function() {
|
|
111
|
+
return e.destroy();
|
|
112
|
+
};
|
|
113
|
+
return this.disposeFun(s), e.__destroyable_destroyer = s, e;
|
|
114
|
+
}
|
|
115
|
+
cancelDisposeObj(e) {
|
|
116
|
+
let t = e.__destroyable_destroyer;
|
|
117
|
+
return t && this.cancelDisposeFun(t), e;
|
|
118
|
+
}
|
|
119
|
+
dispose(e, t) {
|
|
120
|
+
return typeof e == "function" ? this.disposeFun(e) : this.disposeObj(e, t);
|
|
121
|
+
}
|
|
122
|
+
cancelDispose(e) {
|
|
123
|
+
return typeof e == "function" ? this.cancelDisposeFun(e) : this.cancelDisposeObj(e);
|
|
124
|
+
}
|
|
125
|
+
destroyThis() {
|
|
126
|
+
}
|
|
127
|
+
destroySync() {
|
|
128
|
+
if (!this.canDestroy) return this.isDestroyed;
|
|
129
|
+
let e = this._destroyers.length;
|
|
130
|
+
for (; --e >= 0; ) {
|
|
131
|
+
let t = this._destroyers[e];
|
|
132
|
+
try {
|
|
133
|
+
t();
|
|
134
|
+
} catch (s) {
|
|
135
|
+
console.error("销毁函数在同步销毁时出错", this, t, s);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
this._destroyers.length = 0;
|
|
139
|
+
try {
|
|
140
|
+
this.destroyThis();
|
|
141
|
+
} catch (t) {
|
|
142
|
+
console.error("destroyThis 在异步销毁时出错", this, t);
|
|
143
|
+
}
|
|
144
|
+
return i(this), !0;
|
|
145
|
+
}
|
|
146
|
+
destroy() {
|
|
147
|
+
if (!this.canDestroy) return this.isDestroyed;
|
|
148
|
+
let e = this._destroyers.toReversed();
|
|
149
|
+
e.push(this.destroyThis), this._destroyers.length = 0;
|
|
150
|
+
let t = c(e, this, null, (s, r) => {
|
|
151
|
+
console.error("销毁函数在串行销毁时出错", this, r, s);
|
|
152
|
+
});
|
|
153
|
+
return t instanceof Promise ? t.then(() => (i(this), !0)) : (i(this), !0);
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
function p() {
|
|
157
|
+
throw "已销毁";
|
|
158
|
+
}
|
|
159
|
+
function i(e) {
|
|
160
|
+
for (var t in e) !(t in y.prototype) && typeof e[t] == "function" && (e[t] = p);
|
|
161
|
+
return e._isDestroyed = !0, !0;
|
|
162
|
+
}
|
|
163
|
+
export {
|
|
164
|
+
i as a
|
|
165
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const c=require("com-tools");var l=class{listenerMap=new Map;ignoreError=!1;get listenerTotal(){let e=0;for(let t of this.listenerMap.values())e+=t.size;return e}emit(e,...t){let s=this.listenerMap.get(e);if(s){if(this.ignoreError){for(let r of s)try{r.apply(this,t)}catch(n){console.error(n)}return}for(let r of s)r.apply(this,t)}}addListener(e,t,s){if(s?.aborted)return h;let r=this.getAllListeners(e);r.has(t)||(r.add(t),this.onCountChange({name:e,count:r.size,change:1}));let n=()=>{s?.removeEventListener("abort",n),this.removeListener(e,t)};return s?.addEventListener("abort",n,{once:!0}),n}addListenerWithTimes(e,t,s){let r=s?.times??1;if(r<=0)return h;let n=0;function a(...u){t.apply(this,u),++n>=r&&o()}let o=this.addListener(e,a,s?.signal);return o}removeListener(e,t){let s=this.listenerMap.get(e);s?.has(t)&&(s.delete(t),s.size===0&&this.listenerMap.delete(e),this.onCountChange({name:e,count:s.size,change:-1}))}removeAllListeners(...e){let{listenerMap:t}=this;e.length===0&&(e=this.listenerMap.keys());for(let s of e){let r=t.get(s);if(!r)continue;let n=r.size;n&&r.clear(),t.delete(s),this.onCountChange({name:s,count:0,change:-n})}}hasListener(e,t){return this.listenerMap.get(e)?.has(t)===!0}getListenerCount(e){return this.listenerMap.get(e)?.size??0}onCountChange(e){}getAllListeners(e){let t=this.listenerMap.get(e);return t||(t=new Set,this.listenerMap.set(e,t)),t}};function h(){}var d=class extends l{countChangeEvents=new l;onCountChange(t){let s=this.countChangeEvents;s.emit(t.name,t),s.emit("listenerTotal",t)}},y=class extends d{refCount=0;get isDestroyed(){return this._isDestroyed}_isDestroyed=!1;get canDestroy(){return!this.isDestroyed&&this.refCount<=0}_destroyers=[];disposeFun(e){return this._destroyers.push(e),e}cancelDisposeFun(e){let t=this._destroyers.indexOf(e);return this._destroyers.splice(t,1),e}disposeObj(e,t){let s=t?function(){return e.destroySync()}:function(){return e.destroy()};return this.disposeFun(s),e.__destroyable_destroyer=s,e}cancelDisposeObj(e){let t=e.__destroyable_destroyer;return t&&this.cancelDisposeFun(t),e}dispose(e,t){return typeof e=="function"?this.disposeFun(e):this.disposeObj(e,t)}cancelDispose(e){return typeof e=="function"?this.cancelDisposeFun(e):this.cancelDisposeObj(e)}destroyThis(){}destroySync(){if(!this.canDestroy)return this.isDestroyed;let e=this._destroyers.length;for(;--e>=0;){let t=this._destroyers[e];try{t()}catch(s){console.error("销毁函数在同步销毁时出错",this,t,s)}}this._destroyers.length=0;try{this.destroyThis()}catch(t){console.error("destroyThis 在异步销毁时出错",this,t)}return i(this),!0}destroy(){if(!this.canDestroy)return this.isDestroyed;let e=this._destroyers.toReversed();e.push(this.destroyThis),this._destroyers.length=0;let t=c.serialCallAllFuns(e,this,null,(s,r)=>{console.error("销毁函数在串行销毁时出错",this,r,s)});return t instanceof Promise?t.then(()=>(i(this),!0)):(i(this),!0)}};function p(){throw"已销毁"}function i(e){for(var t in e)!(t in y.prototype)&&typeof e[t]=="function"&&(e[t]=p);return e._isDestroyed=!0,!0}exports.a=i;
|
package/dist/index-node.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./Destroyable-mrBsNabq-IFFuYfKS.cjs"),u=require("com-tools"),a=require("node:events"),s=require("./createTierModeOptionsPluginHost-DyDtXKNW.cjs");var l=class extends a.EventEmitter{refCount=0;get isDestroyed(){return this._isDestroyed}_isDestroyed=!1;get canDestroy(){return!this.isDestroyed&&this.refCount<=0}_destroyers=[];disposeFun(e){return this._destroyers.push(e),e}cancelDisposeFun(e){let t=this._destroyers.indexOf(e);return this._destroyers.splice(t,1),e}disposeObj(e,t){let i=t?function(){return e.destroySync()}:function(){return e.destroy()};return this.disposeFun(i),e.__destroyable_destroyer=i,e}cancelDisposeObj(e){let t=e.__destroyable_destroyer;return t&&this.cancelDisposeFun(t),e}dispose(e,t){return typeof e=="function"?this.disposeFun(e):this.disposeObj(e,t)}cancelDispose(e){return typeof e=="function"?this.cancelDisposeFun(e):this.cancelDisposeObj(e)}destroyThis(){}destroySync(){if(!this.canDestroy)return this.isDestroyed;let e=this._destroyers.length;for(;--e>=0;){let t=this._destroyers[e];try{t()}catch(i){console.error("销毁函数在同步销毁时出错",this,t,i)}}this._destroyers.length=0;try{this.destroyThis()}catch(t){console.error("destroyThis 在异步销毁时出错",this,t)}return n.a(this),!0}destroy(){if(!this.canDestroy)return this.isDestroyed;let e=this._destroyers.toReversed();e.push(this.destroyThis),this._destroyers.length=0;let t=u.serialCallAllFuns(e,this,null,(i,o)=>{console.error("销毁函数在串行销毁时出错",this,o,i)});return t instanceof Promise?t.then(()=>(n.a(this),!0)):(n.a(this),!0)}};class r extends l{static isolatedPluginManager=!1;static get pluginManager(){return this.isolatedPluginManager&&!this.hasOwnProperty("_pluginManager")&&(this._pluginManager=new s.PluginExtendManager(this,this._pluginManager)),this._pluginManager}static _pluginManager=new s.PluginExtendManager(this);get pluginManager(){return this.constructor.pluginManager}static usePlugin(t,...i){return this.pluginManager.usePlugin(t,...i)}static useExtend(t){return this.pluginManager.useExtend(t)}static hasUsed(t){return this.pluginManager.hasUsed(t)}usePlugin(t,...i){return this.pluginManager.instUsePlugin(this,t,...i)}useExtend(t,...i){return this.pluginManager.instUseExtend(this,t,...i)}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 d extends r{static modeOptions=new s.TierModeOptions(s.commonModeName);get modeOptions(){return this._modeOptions||(this._modeOptions=new s.TierModeOptions(s.commonModeName,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)}}class h extends r{static defaultOptions=new s.TierOptions;get defaultOptions(){return this._defaultOptions||(this._defaultOptions=new s.TierOptions(void 0,this.constructor.defaultOptions))}_defaultOptions;constructor(t){super(),this.defaultOptions.option=t}}exports.TierModeOptionsPluginHost=s.TierModeOptionsPluginHost;exports.TierOptionsPluginHost=s.TierOptionsPluginHost;exports.commonModeName=s.commonModeName;exports.createTierModeOptionsPluginHost=s.createTierModeOptionsPluginHost;exports.createTierOptionsPluginHost=s.createTierOptionsPluginHost;exports.PluginHostEventEmitter=r;exports.TierModeOptionsPluginHostEventEmitter=d;exports.TierOptionsPluginHostEventEmitter=h;
|
package/dist/index-node.js
CHANGED
|
@@ -1,126 +1,75 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { EventEmitter as p } from "node:events";
|
|
1
|
+
import { a as i } from "./Destroyable-mrBsNabq-D6TYs3Zn.js";
|
|
3
2
|
import { serialCallAllFuns as l } from "com-tools";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
* 引用计数
|
|
9
|
-
* @remarks
|
|
10
|
-
* 引用计数为 0 时,对象才会被销毁
|
|
11
|
-
*/
|
|
3
|
+
import { EventEmitter as h } from "node:events";
|
|
4
|
+
import { P as r, T as n, c as o, d as u } from "./createTierModeOptionsPluginHost-D-fKYlcA.js";
|
|
5
|
+
import { f as P, g as D, p as T, q as E } from "./createTierModeOptionsPluginHost-D-fKYlcA.js";
|
|
6
|
+
var p = class extends h {
|
|
12
7
|
refCount = 0;
|
|
13
|
-
/**
|
|
14
|
-
* 是否已经销毁
|
|
15
|
-
*/
|
|
16
8
|
get isDestroyed() {
|
|
17
9
|
return this._isDestroyed;
|
|
18
10
|
}
|
|
19
11
|
_isDestroyed = !1;
|
|
20
|
-
/**
|
|
21
|
-
* 是否可以销毁
|
|
22
|
-
*/
|
|
23
12
|
get canDestroy() {
|
|
24
13
|
return !this.isDestroyed && this.refCount <= 0;
|
|
25
14
|
}
|
|
26
|
-
/**
|
|
27
|
-
* 销毁者
|
|
28
|
-
*/
|
|
29
15
|
_destroyers = [];
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
* @param fun
|
|
33
|
-
* @returns 返回销毁者的顺序
|
|
34
|
-
*/
|
|
35
|
-
disposeFun(t) {
|
|
36
|
-
return this._destroyers.push(t), t;
|
|
16
|
+
disposeFun(s) {
|
|
17
|
+
return this._destroyers.push(s), s;
|
|
37
18
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
* @returns
|
|
42
|
-
*/
|
|
43
|
-
cancelDisposeFun(t) {
|
|
44
|
-
const s = this._destroyers.indexOf(t);
|
|
45
|
-
return this._destroyers.splice(s, 1), t;
|
|
19
|
+
cancelDisposeFun(s) {
|
|
20
|
+
let t = this._destroyers.indexOf(s);
|
|
21
|
+
return this._destroyers.splice(t, 1), s;
|
|
46
22
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
* @param sync - 表示是否使用 `obj.destroySync()` 方法进行销毁;默认使用 `obj.destroy()` 方法进行销毁
|
|
51
|
-
* @returns
|
|
52
|
-
*/
|
|
53
|
-
disposeObj(t, s) {
|
|
54
|
-
const e = s ? function() {
|
|
55
|
-
return t.destroySync();
|
|
23
|
+
disposeObj(s, t) {
|
|
24
|
+
let e = t ? function() {
|
|
25
|
+
return s.destroySync();
|
|
56
26
|
} : function() {
|
|
57
|
-
return
|
|
27
|
+
return s.destroy();
|
|
58
28
|
};
|
|
59
|
-
return this.disposeFun(e),
|
|
29
|
+
return this.disposeFun(e), s.__destroyable_destroyer = e, s;
|
|
60
30
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
* @returns
|
|
65
|
-
*/
|
|
66
|
-
cancelDisposeObj(t) {
|
|
67
|
-
const s = t.__destroyable_destroyer;
|
|
68
|
-
return s && this.cancelDisposeFun(s), t;
|
|
31
|
+
cancelDisposeObj(s) {
|
|
32
|
+
let t = s.__destroyable_destroyer;
|
|
33
|
+
return t && this.cancelDisposeFun(t), s;
|
|
69
34
|
}
|
|
70
|
-
dispose(
|
|
71
|
-
return typeof
|
|
35
|
+
dispose(s, t) {
|
|
36
|
+
return typeof s == "function" ? this.disposeFun(s) : this.disposeObj(s, t);
|
|
72
37
|
}
|
|
73
|
-
cancelDispose(
|
|
74
|
-
return typeof
|
|
38
|
+
cancelDispose(s) {
|
|
39
|
+
return typeof s == "function" ? this.cancelDisposeFun(s) : this.cancelDisposeObj(s);
|
|
75
40
|
}
|
|
76
|
-
/**
|
|
77
|
-
* 自己的销毁方法
|
|
78
|
-
* @remarks
|
|
79
|
-
* 子类根据需要进行重载
|
|
80
|
-
*/
|
|
81
41
|
destroyThis() {
|
|
82
42
|
}
|
|
83
|
-
/**
|
|
84
|
-
* 同步销毁
|
|
85
|
-
* @remarks
|
|
86
|
-
* 会逆序依次同步调用所有销毁函数,并不会等待上一个销毁函数异步执行完成
|
|
87
|
-
*/
|
|
88
43
|
destroySync() {
|
|
89
44
|
if (!this.canDestroy) return this.isDestroyed;
|
|
90
|
-
let
|
|
91
|
-
for (; --
|
|
92
|
-
|
|
45
|
+
let s = this._destroyers.length;
|
|
46
|
+
for (; --s >= 0; ) {
|
|
47
|
+
let t = this._destroyers[s];
|
|
93
48
|
try {
|
|
94
|
-
|
|
49
|
+
t();
|
|
95
50
|
} catch (e) {
|
|
96
|
-
console.error("销毁函数在同步销毁时出错", this,
|
|
51
|
+
console.error("销毁函数在同步销毁时出错", this, t, e);
|
|
97
52
|
}
|
|
98
53
|
}
|
|
99
54
|
this._destroyers.length = 0;
|
|
100
55
|
try {
|
|
101
56
|
this.destroyThis();
|
|
102
|
-
} catch (
|
|
103
|
-
console.error("destroyThis 在异步销毁时出错", this,
|
|
57
|
+
} catch (t) {
|
|
58
|
+
console.error("destroyThis 在异步销毁时出错", this, t);
|
|
104
59
|
}
|
|
105
|
-
return
|
|
60
|
+
return i(this), !0;
|
|
106
61
|
}
|
|
107
|
-
/**
|
|
108
|
-
* 串行销毁
|
|
109
|
-
* @remarks
|
|
110
|
-
* 会逆序依次执行销毁,并且只有上一个销毁完成之后才会执行下一个销毁
|
|
111
|
-
* @returns 如果所有的销毁函数都是同步的,那么返回 true;如果有任何一个销毁函数是异步的,那么返回一个 Promise 对象
|
|
112
|
-
*/
|
|
113
62
|
destroy() {
|
|
114
63
|
if (!this.canDestroy) return this.isDestroyed;
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
console.error("销毁函数在串行销毁时出错", this,
|
|
64
|
+
let s = this._destroyers.toReversed();
|
|
65
|
+
s.push(this.destroyThis), this._destroyers.length = 0;
|
|
66
|
+
let t = l(s, this, null, (e, d) => {
|
|
67
|
+
console.error("销毁函数在串行销毁时出错", this, d, e);
|
|
119
68
|
});
|
|
120
|
-
return
|
|
69
|
+
return t instanceof Promise ? t.then(() => (i(this), !0)) : (i(this), !0);
|
|
121
70
|
}
|
|
122
|
-
}
|
|
123
|
-
class
|
|
71
|
+
};
|
|
72
|
+
class a extends p {
|
|
124
73
|
/**
|
|
125
74
|
* 是否使用独立的插件管理器
|
|
126
75
|
* @defaultValue false
|
|
@@ -142,8 +91,8 @@ class d extends c {
|
|
|
142
91
|
/**
|
|
143
92
|
* {@inheritDoc PluginExtendManager.usePlugin}
|
|
144
93
|
*/
|
|
145
|
-
static usePlugin(t, ...
|
|
146
|
-
return this.pluginManager.usePlugin(t, ...
|
|
94
|
+
static usePlugin(t, ...e) {
|
|
95
|
+
return this.pluginManager.usePlugin(t, ...e);
|
|
147
96
|
}
|
|
148
97
|
/**
|
|
149
98
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
@@ -176,14 +125,14 @@ class d extends c {
|
|
|
176
125
|
* @param args
|
|
177
126
|
* @returns
|
|
178
127
|
*/
|
|
179
|
-
usePlugin(t, ...
|
|
180
|
-
return this.pluginManager.instUsePlugin(this, t, ...
|
|
128
|
+
usePlugin(t, ...e) {
|
|
129
|
+
return this.pluginManager.instUsePlugin(this, t, ...e);
|
|
181
130
|
}
|
|
182
131
|
/**
|
|
183
132
|
* {@inheritDoc PluginExtendManager.useExtend}
|
|
184
133
|
*/
|
|
185
|
-
useExtend(t, ...
|
|
186
|
-
return this.pluginManager.instUseExtend(this, t, ...
|
|
134
|
+
useExtend(t, ...e) {
|
|
135
|
+
return this.pluginManager.instUseExtend(this, t, ...e);
|
|
187
136
|
}
|
|
188
137
|
/**
|
|
189
138
|
* 初始化实例
|
|
@@ -203,16 +152,16 @@ class d extends c {
|
|
|
203
152
|
return t instanceof Promise ? t.finally(() => super.destroyThis()) : super.destroyThis();
|
|
204
153
|
}
|
|
205
154
|
}
|
|
206
|
-
class
|
|
155
|
+
class f extends a {
|
|
207
156
|
/**
|
|
208
157
|
* 全局级别的默认选项
|
|
209
158
|
*/
|
|
210
|
-
static modeOptions = new o
|
|
159
|
+
static modeOptions = new n(o);
|
|
211
160
|
/**
|
|
212
161
|
* 实例级的默认选项
|
|
213
162
|
*/
|
|
214
163
|
get modeOptions() {
|
|
215
|
-
return this._modeOptions || (this._modeOptions = new o
|
|
164
|
+
return this._modeOptions || (this._modeOptions = new n(o, void 0, this.constructor.modeOptions));
|
|
216
165
|
}
|
|
217
166
|
_modeOptions;
|
|
218
167
|
get mode() {
|
|
@@ -228,16 +177,16 @@ class m extends d {
|
|
|
228
177
|
super(), this.modeOptions.setOption(t);
|
|
229
178
|
}
|
|
230
179
|
}
|
|
231
|
-
class
|
|
180
|
+
class m extends a {
|
|
232
181
|
/**
|
|
233
182
|
* 全局级别的默认选项
|
|
234
183
|
*/
|
|
235
|
-
static defaultOptions = new
|
|
184
|
+
static defaultOptions = new u();
|
|
236
185
|
/**
|
|
237
186
|
* 实例级的默认选项
|
|
238
187
|
*/
|
|
239
188
|
get defaultOptions() {
|
|
240
|
-
return this._defaultOptions || (this._defaultOptions = new
|
|
189
|
+
return this._defaultOptions || (this._defaultOptions = new u(void 0, this.constructor.defaultOptions));
|
|
241
190
|
}
|
|
242
191
|
_defaultOptions;
|
|
243
192
|
constructor(t) {
|
|
@@ -245,12 +194,12 @@ class _ extends d {
|
|
|
245
194
|
}
|
|
246
195
|
}
|
|
247
196
|
export {
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
197
|
+
a as PluginHostEventEmitter,
|
|
198
|
+
P as TierModeOptionsPluginHost,
|
|
199
|
+
f as TierModeOptionsPluginHostEventEmitter,
|
|
200
|
+
D as TierOptionsPluginHost,
|
|
201
|
+
m as TierOptionsPluginHostEventEmitter,
|
|
202
|
+
o as commonModeName,
|
|
203
|
+
T as createTierModeOptionsPluginHost,
|
|
204
|
+
E as createTierOptionsPluginHost
|
|
256
205
|
};
|
package/dist/index-web.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./Destroyable-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./Destroyable-mrBsNabq-IFFuYfKS.cjs"),c=require("com-tools"),i=require("./createTierModeOptionsPluginHost-DyDtXKNW.cjs");if(!globalThis.CustomEvent){class e extends Event{detail;constructor(s,n){super(s,n),this.detail=n?.detail}}globalThis.CustomEvent=e}class h extends EventTarget{addEventListener(t,s,n){const o=n?.times;if(o){const r=typeof s=="function"?s:s?.handleEvent;if(r)return this.multipleListen(t,r,o)}return super.addEventListener(t,s,n),()=>{this.removeEventListener(t,s,n)}}dispatchEvent(t,s){const n=t instanceof Event?t:new CustomEvent(t,{detail:s,bubbles:!1,cancelable:!0,composed:!1});return super.dispatchEvent(n)}onceListen(t,s,n){return this.addEventListener(t,s,{...n,once:!0})}multipleListen(t,s,n){let o=0;const r=new AbortController,l=r.signal;return super.addEventListener(t,d=>{++o>=n&&r.abort(),s.call(this,d)},{signal:l}),function(){r.abort()}}}var p=class extends h{refCount=0;get isDestroyed(){return this._isDestroyed}_isDestroyed=!1;get canDestroy(){return!this.isDestroyed&&this.refCount<=0}_destroyers=[];disposeFun(e){return this._destroyers.push(e),e}cancelDisposeFun(e){let t=this._destroyers.indexOf(e);return this._destroyers.splice(t,1),e}disposeObj(e,t){let s=t?function(){return e.destroySync()}:function(){return e.destroy()};return this.disposeFun(s),e.__destroyable_destroyer=s,e}cancelDisposeObj(e){let t=e.__destroyable_destroyer;return t&&this.cancelDisposeFun(t),e}dispose(e,t){return typeof e=="function"?this.disposeFun(e):this.disposeObj(e,t)}cancelDispose(e){return typeof e=="function"?this.cancelDisposeFun(e):this.cancelDisposeObj(e)}destroyThis(){}destroySync(){if(!this.canDestroy)return this.isDestroyed;let e=this._destroyers.length;for(;--e>=0;){let t=this._destroyers[e];try{t()}catch(s){console.error("销毁函数在同步销毁时出错",this,t,s)}}this._destroyers.length=0;try{this.destroyThis()}catch(t){console.error("destroyThis 在异步销毁时出错",this,t)}return u.a(this),!0}destroy(){if(!this.canDestroy)return this.isDestroyed;let e=this._destroyers.toReversed();e.push(this.destroyThis),this._destroyers.length=0;let t=c.serialCallAllFuns(e,this,null,(s,n)=>{console.error("销毁函数在串行销毁时出错",this,n,s)});return t instanceof Promise?t.then(()=>(u.a(this),!0)):(u.a(this),!0)}};class a extends p{static isolatedPluginManager=!1;static get pluginManager(){return this.isolatedPluginManager&&!this.hasOwnProperty("_pluginManager")&&(this._pluginManager=new i.PluginExtendManager(this,this._pluginManager)),this._pluginManager}static _pluginManager=new i.PluginExtendManager(this);get pluginManager(){return this.constructor.pluginManager}static usePlugin(t,...s){return this.pluginManager.usePlugin(t,...s)}static useExtend(t){return this.pluginManager.useExtend(t)}static hasUsed(t){return this.pluginManager.hasUsed(t)}usePlugin(t,...s){return this.pluginManager.instUsePlugin(this,t,...s)}useExtend(t,...s){return this.pluginManager.instUseExtend(this,t,...s)}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 g extends a{static modeOptions=new i.TierModeOptions(i.commonModeName);get modeOptions(){return this._modeOptions||(this._modeOptions=new i.TierModeOptions(i.commonModeName,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)}}class y extends a{static defaultOptions=new i.TierOptions;get defaultOptions(){return this._defaultOptions||(this._defaultOptions=new i.TierOptions(void 0,this.constructor.defaultOptions))}_defaultOptions;constructor(t){super(),this.defaultOptions.option=t}}exports.TierModeOptionsPluginHost=i.TierModeOptionsPluginHost;exports.TierOptionsPluginHost=i.TierOptionsPluginHost;exports.commonModeName=i.commonModeName;exports.createTierModeOptionsPluginHost=i.createTierModeOptionsPluginHost;exports.createTierOptionsPluginHost=i.createTierOptionsPluginHost;exports.PluginHostEventTarget=a;exports.TierModeOptionsPluginHostEventTarget=g;exports.TierOptionsPluginHostEventTarget=y;
|
package/dist/index-web.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { a as o } from "./Destroyable-mrBsNabq-D6TYs3Zn.js";
|
|
2
2
|
import { serialCallAllFuns as g } from "com-tools";
|
|
3
3
|
import { P as a, T as u, c as l, d } from "./createTierModeOptionsPluginHost-D-fKYlcA.js";
|
|
4
4
|
import { f as P, g as D, p as b, q as x } from "./createTierModeOptionsPluginHost-D-fKYlcA.js";
|
|
5
5
|
if (!globalThis.CustomEvent) {
|
|
6
|
-
class
|
|
6
|
+
class e extends Event {
|
|
7
7
|
detail;
|
|
8
|
-
constructor(s,
|
|
9
|
-
super(s,
|
|
8
|
+
constructor(s, n) {
|
|
9
|
+
super(s, n), this.detail = n?.detail;
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
globalThis.CustomEvent =
|
|
12
|
+
globalThis.CustomEvent = e;
|
|
13
13
|
}
|
|
14
14
|
class y extends EventTarget {
|
|
15
15
|
/**
|
|
@@ -23,20 +23,20 @@ class y extends EventTarget {
|
|
|
23
23
|
* @param options - 选项
|
|
24
24
|
* @returns 返回用于移除事件监听器的函数; 也可以通过 `EventTarget#removeEventListener` 方法移除
|
|
25
25
|
*/
|
|
26
|
-
addEventListener(t, s,
|
|
27
|
-
const
|
|
28
|
-
if (
|
|
29
|
-
const
|
|
30
|
-
if (
|
|
31
|
-
return this.multipleListen(t,
|
|
26
|
+
addEventListener(t, s, n) {
|
|
27
|
+
const r = n?.times;
|
|
28
|
+
if (r) {
|
|
29
|
+
const i = typeof s == "function" ? s : s?.handleEvent;
|
|
30
|
+
if (i)
|
|
31
|
+
return this.multipleListen(t, i, r);
|
|
32
32
|
}
|
|
33
|
-
return super.addEventListener(t, s,
|
|
34
|
-
this.removeEventListener(t, s,
|
|
33
|
+
return super.addEventListener(t, s, n), () => {
|
|
34
|
+
this.removeEventListener(t, s, n);
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
37
|
dispatchEvent(t, s) {
|
|
38
|
-
const
|
|
39
|
-
return super.dispatchEvent(
|
|
38
|
+
const n = t instanceof Event ? t : new CustomEvent(t, { detail: s, bubbles: !1, cancelable: !0, composed: !1 });
|
|
39
|
+
return super.dispatchEvent(n);
|
|
40
40
|
}
|
|
41
41
|
/**
|
|
42
42
|
* 添加一次性的事件监听器;
|
|
@@ -49,8 +49,8 @@ class y extends EventTarget {
|
|
|
49
49
|
* @param options - 选项
|
|
50
50
|
* @returns removeEventListener():void; 返回用于移除一次性事件监听器的函数; 也可以通过 EventTarget 的 removeEventListener 方法移除
|
|
51
51
|
*/
|
|
52
|
-
onceListen(t, s,
|
|
53
|
-
return this.addEventListener(t, s, { ...
|
|
52
|
+
onceListen(t, s, n) {
|
|
53
|
+
return this.addEventListener(t, s, { ...n, once: !0 });
|
|
54
54
|
}
|
|
55
55
|
/**
|
|
56
56
|
* 添加监听指定次数的事件监听器;
|
|
@@ -63,133 +63,82 @@ class y extends EventTarget {
|
|
|
63
63
|
* @param times 需要监听的次数,如果小于 1 ,永远不会自动移除事件监听器,需要手动移除
|
|
64
64
|
* @returns removeEventListener():void; 返回用于移除事件监听器的函数; 不能通过 EventTarget 的 removeEventListener 方法移除
|
|
65
65
|
*/
|
|
66
|
-
multipleListen(t, s,
|
|
67
|
-
let
|
|
68
|
-
const
|
|
69
|
-
return super.addEventListener(t, (
|
|
70
|
-
++
|
|
71
|
-
}, { signal:
|
|
72
|
-
|
|
66
|
+
multipleListen(t, s, n) {
|
|
67
|
+
let r = 0;
|
|
68
|
+
const i = new AbortController(), p = i.signal;
|
|
69
|
+
return super.addEventListener(t, (c) => {
|
|
70
|
+
++r >= n && i.abort(), s.call(this, c);
|
|
71
|
+
}, { signal: p }), function() {
|
|
72
|
+
i.abort();
|
|
73
73
|
};
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* 引用计数
|
|
79
|
-
* @remarks
|
|
80
|
-
* 引用计数为 0 时,对象才会被销毁
|
|
81
|
-
*/
|
|
76
|
+
var f = class extends y {
|
|
82
77
|
refCount = 0;
|
|
83
|
-
/**
|
|
84
|
-
* 是否已经销毁
|
|
85
|
-
*/
|
|
86
78
|
get isDestroyed() {
|
|
87
79
|
return this._isDestroyed;
|
|
88
80
|
}
|
|
89
81
|
_isDestroyed = !1;
|
|
90
|
-
/**
|
|
91
|
-
* 是否可以销毁
|
|
92
|
-
*/
|
|
93
82
|
get canDestroy() {
|
|
94
83
|
return !this.isDestroyed && this.refCount <= 0;
|
|
95
84
|
}
|
|
96
|
-
/**
|
|
97
|
-
* 销毁者
|
|
98
|
-
*/
|
|
99
85
|
_destroyers = [];
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
* @param fun
|
|
103
|
-
* @returns 返回销毁者的顺序
|
|
104
|
-
*/
|
|
105
|
-
disposeFun(t) {
|
|
106
|
-
return this._destroyers.push(t), t;
|
|
86
|
+
disposeFun(e) {
|
|
87
|
+
return this._destroyers.push(e), e;
|
|
107
88
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
* @returns
|
|
112
|
-
*/
|
|
113
|
-
cancelDisposeFun(t) {
|
|
114
|
-
const s = this._destroyers.indexOf(t);
|
|
115
|
-
return this._destroyers.splice(s, 1), t;
|
|
89
|
+
cancelDisposeFun(e) {
|
|
90
|
+
let t = this._destroyers.indexOf(e);
|
|
91
|
+
return this._destroyers.splice(t, 1), e;
|
|
116
92
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
* @param sync - 表示是否使用 `obj.destroySync()` 方法进行销毁;默认使用 `obj.destroy()` 方法进行销毁
|
|
121
|
-
* @returns
|
|
122
|
-
*/
|
|
123
|
-
disposeObj(t, s) {
|
|
124
|
-
const e = s ? function() {
|
|
125
|
-
return t.destroySync();
|
|
93
|
+
disposeObj(e, t) {
|
|
94
|
+
let s = t ? function() {
|
|
95
|
+
return e.destroySync();
|
|
126
96
|
} : function() {
|
|
127
|
-
return
|
|
97
|
+
return e.destroy();
|
|
128
98
|
};
|
|
129
|
-
return this.disposeFun(
|
|
99
|
+
return this.disposeFun(s), e.__destroyable_destroyer = s, e;
|
|
130
100
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
* @returns
|
|
135
|
-
*/
|
|
136
|
-
cancelDisposeObj(t) {
|
|
137
|
-
const s = t.__destroyable_destroyer;
|
|
138
|
-
return s && this.cancelDisposeFun(s), t;
|
|
101
|
+
cancelDisposeObj(e) {
|
|
102
|
+
let t = e.__destroyable_destroyer;
|
|
103
|
+
return t && this.cancelDisposeFun(t), e;
|
|
139
104
|
}
|
|
140
|
-
dispose(
|
|
141
|
-
return typeof
|
|
105
|
+
dispose(e, t) {
|
|
106
|
+
return typeof e == "function" ? this.disposeFun(e) : this.disposeObj(e, t);
|
|
142
107
|
}
|
|
143
|
-
cancelDispose(
|
|
144
|
-
return typeof
|
|
108
|
+
cancelDispose(e) {
|
|
109
|
+
return typeof e == "function" ? this.cancelDisposeFun(e) : this.cancelDisposeObj(e);
|
|
145
110
|
}
|
|
146
|
-
/**
|
|
147
|
-
* 自己的销毁方法
|
|
148
|
-
* @remarks
|
|
149
|
-
* 子类根据需要进行重载
|
|
150
|
-
*/
|
|
151
111
|
destroyThis() {
|
|
152
112
|
}
|
|
153
|
-
/**
|
|
154
|
-
* 同步销毁
|
|
155
|
-
* @remarks
|
|
156
|
-
* 会逆序依次同步调用所有销毁函数,并不会等待上一个销毁函数异步执行完成
|
|
157
|
-
*/
|
|
158
113
|
destroySync() {
|
|
159
114
|
if (!this.canDestroy) return this.isDestroyed;
|
|
160
|
-
let
|
|
161
|
-
for (; --
|
|
162
|
-
|
|
115
|
+
let e = this._destroyers.length;
|
|
116
|
+
for (; --e >= 0; ) {
|
|
117
|
+
let t = this._destroyers[e];
|
|
163
118
|
try {
|
|
164
|
-
|
|
165
|
-
} catch (
|
|
166
|
-
console.error("销毁函数在同步销毁时出错", this,
|
|
119
|
+
t();
|
|
120
|
+
} catch (s) {
|
|
121
|
+
console.error("销毁函数在同步销毁时出错", this, t, s);
|
|
167
122
|
}
|
|
168
123
|
}
|
|
169
124
|
this._destroyers.length = 0;
|
|
170
125
|
try {
|
|
171
126
|
this.destroyThis();
|
|
172
|
-
} catch (
|
|
173
|
-
console.error("destroyThis 在异步销毁时出错", this,
|
|
127
|
+
} catch (t) {
|
|
128
|
+
console.error("destroyThis 在异步销毁时出错", this, t);
|
|
174
129
|
}
|
|
175
130
|
return o(this), !0;
|
|
176
131
|
}
|
|
177
|
-
/**
|
|
178
|
-
* 串行销毁
|
|
179
|
-
* @remarks
|
|
180
|
-
* 会逆序依次执行销毁,并且只有上一个销毁完成之后才会执行下一个销毁
|
|
181
|
-
* @returns 如果所有的销毁函数都是同步的,那么返回 true;如果有任何一个销毁函数是异步的,那么返回一个 Promise 对象
|
|
182
|
-
*/
|
|
183
132
|
destroy() {
|
|
184
133
|
if (!this.canDestroy) return this.isDestroyed;
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
console.error("销毁函数在串行销毁时出错", this,
|
|
134
|
+
let e = this._destroyers.toReversed();
|
|
135
|
+
e.push(this.destroyThis), this._destroyers.length = 0;
|
|
136
|
+
let t = g(e, this, null, (s, n) => {
|
|
137
|
+
console.error("销毁函数在串行销毁时出错", this, n, s);
|
|
189
138
|
});
|
|
190
|
-
return
|
|
139
|
+
return t instanceof Promise ? t.then(() => (o(this), !0)) : (o(this), !0);
|
|
191
140
|
}
|
|
192
|
-
}
|
|
141
|
+
};
|
|
193
142
|
class h extends f {
|
|
194
143
|
/**
|
|
195
144
|
* 是否使用独立的插件管理器
|
|
@@ -298,7 +247,7 @@ class M extends h {
|
|
|
298
247
|
super(), this.modeOptions.setOption(t);
|
|
299
248
|
}
|
|
300
249
|
}
|
|
301
|
-
class
|
|
250
|
+
class v extends h {
|
|
302
251
|
/**
|
|
303
252
|
* 全局级别的默认选项
|
|
304
253
|
*/
|
|
@@ -319,7 +268,7 @@ export {
|
|
|
319
268
|
P as TierModeOptionsPluginHost,
|
|
320
269
|
M as TierModeOptionsPluginHostEventTarget,
|
|
321
270
|
D as TierOptionsPluginHost,
|
|
322
|
-
|
|
271
|
+
v as TierOptionsPluginHostEventTarget,
|
|
323
272
|
l as commonModeName,
|
|
324
273
|
b as createTierModeOptionsPluginHost,
|
|
325
274
|
x as createTierOptionsPluginHost
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AbstractConstructor, ClassType } from "type-tls";
|
|
2
2
|
import { TierModeOptions } from "../../options-manager/TierModeOptions";
|
|
3
|
-
import { PluginHost } from "../../../plugin-host/PluginHost";
|
|
3
|
+
import { PluginHost, type EventMap } from "../../../plugin-host/PluginHost";
|
|
4
4
|
/**
|
|
5
5
|
* 层级模式选项插件的宿主
|
|
6
6
|
* @remarks
|
|
@@ -10,7 +10,7 @@ import { PluginHost } from "../../../plugin-host/PluginHost";
|
|
|
10
10
|
* 之所以没写在该类中的函数中,是因为 `this.pluginManager.created(this)` 通常会在构建函数执行的最后时才调用;
|
|
11
11
|
* 如果像下面写在该类的构建函数中,然后子类通过 `super()` 来调用,这样就会导致 `this.pluginManager.created(this)` 不是在最后的执行;
|
|
12
12
|
*/
|
|
13
|
-
export declare class TierModeOptionsPluginHost<Host, HostClass extends AbstractConstructor<Host> = ClassType<Host>, Options extends {} = any, Mode extends string | number = string> extends PluginHost<Host, HostClass> {
|
|
13
|
+
export declare class TierModeOptionsPluginHost<Host, HostClass extends AbstractConstructor<Host> = ClassType<Host>, Options extends {} = any, Mode extends string | number = string, EM extends EventMap<EM> = any> extends PluginHost<Host, HostClass, EM> {
|
|
14
14
|
/**
|
|
15
15
|
* 全局级别的默认选项
|
|
16
16
|
*/
|
package/dist/options/options-plugin-host/tier-mode-options/TierModeOptionsPluginHost.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TierModeOptionsPluginHost.d.ts","sourceRoot":"","sources":["../../../../src/options/options-plugin-host/tier-mode-options/TierModeOptionsPluginHost.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAC,SAAS,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"TierModeOptionsPluginHost.d.ts","sourceRoot":"","sources":["../../../../src/options/options-plugin-host/tier-mode-options/TierModeOptionsPluginHost.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAC,SAAS,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAK5E;;;;;;;;GAQG;AACH,qBAAa,yBAAyB,CAAC,IAAI,EAAC,SAAS,SAAS,mBAAmB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,EAAC,OAAO,SAAS,EAAE,GAAG,GAAG,EAAE,IAAI,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAC,EAAE,SAAS,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG,CAAG,SAAQ,UAAU,CAAC,IAAI,EAAC,SAAS,EAAC,EAAE,CAAC;IAC7O;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,WAAW,+BAAoD;IAE/E;;OAEG;IACH,IAAI,WAAW,mCAEd;IACD,SAAS,CAAC,YAAY,EAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAExD,IAAI,IAAI,SAEP;IACD,IAAI,IAAI,CAAC,KAAK,MAAA,EAEb;IAED,IAAI,OAAO,YAEV;gBAGW,OAAO,EAAE,OAAO;CAI7B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TierModeOptions } from "../../options-manager/TierModeOptions";
|
|
2
2
|
import { PluginHostEventEmitter } from "../../../plugin-host/PluginHostEventEmitter";
|
|
3
|
-
import type { EventMap } from "../../../plugin-host/PluginHostEventEmitter";
|
|
4
3
|
import type { AbstractConstructor, ClassType } from "type-tls";
|
|
4
|
+
import type { EventMap } from "@gby/destroyable";
|
|
5
5
|
/**
|
|
6
6
|
* 层级模式选项插件的宿主
|
|
7
7
|
* @remarks
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TierModeOptionsPluginHostEventEmitter.d.ts","sourceRoot":"","sources":["../../../../src/options/options-plugin-host/tier-mode-options/TierModeOptionsPluginHostEventEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"TierModeOptionsPluginHostEventEmitter.d.ts","sourceRoot":"","sources":["../../../../src/options/options-plugin-host/tier-mode-options/TierModeOptionsPluginHostEventEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAErF,OAAO,KAAK,EAAE,mBAAmB,EAAC,SAAS,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjD;;;;;;;;GAQG;AACH,qBAAa,qCAAqC,CAAC,IAAI,EAAE,SAAS,SAAS,mBAAmB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,SAAS,EAAE,GAAG,GAAG,EAAE,IAAI,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,EAAE,SAAS,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG,CAAE,SAAQ,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;IACzQ;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,WAAW,+BAAoD;IAE/E;;OAEG;IACH,IAAI,WAAW,mCAEd;IACD,SAAS,CAAC,YAAY,EAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAExD,IAAI,IAAI,SAEP;IACD,IAAI,IAAI,CAAC,KAAK,MAAA,EAEb;IAED,IAAI,OAAO,YAEV;gBAGW,OAAO,EAAE,OAAO;CAI7B"}
|
package/dist/options/options-plugin-host/tier-mode-options/createTierModeOptionsPluginHost.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export declare function createTierModeOptionsPluginHost<P extends new (...args:
|
|
|
17
17
|
get mode(): Mode;
|
|
18
18
|
set mode(value: Mode);
|
|
19
19
|
get options(): Options;
|
|
20
|
-
get pluginManager(): import("../../..").PluginExtendManager<Host, HostClass>;
|
|
20
|
+
get pluginManager(): import("../../..").PluginExtendManager<Host, HostClass, any>;
|
|
21
21
|
usePlugin<P_1 extends import("../../..").AnyIPlugin<Host, HostClass>>(plugin: P_1, ...args: import("../../..").PluginUseArgs<P_1>): ReturnType<P_1["onUse"]>;
|
|
22
22
|
useExtend<E extends import("../../..").AnyIExtend<HostClass>>(ext: import("../../..").ExtendOptions<HostClass, E>, ...args: ConstructorParameters<HostClass>): E;
|
|
23
23
|
init(...args: any): any;
|
|
@@ -52,8 +52,8 @@ export declare function createTierModeOptionsPluginHost<P extends new (...args:
|
|
|
52
52
|
*/
|
|
53
53
|
readonly modeOptions: TierModeOptions<string, Options>;
|
|
54
54
|
isolatedPluginManager: boolean;
|
|
55
|
-
get pluginManager(): import("../../..").PluginExtendManager<any, any>;
|
|
56
|
-
_pluginManager: import("../../..").PluginExtendManager<any, any>;
|
|
55
|
+
get pluginManager(): import("../../..").PluginExtendManager<any, any, any>;
|
|
56
|
+
_pluginManager: import("../../..").PluginExtendManager<any, any, any>;
|
|
57
57
|
usePlugin<HostClass extends AbstractConstructor, Plugin extends import("../../..").AnyIPlugin<InstanceType<HostClass>, HostClass>>(this: HostClass, plugin: Plugin, ...args: import("../../..").PluginUseArgs<Plugin>): any;
|
|
58
58
|
useExtend<HostClass extends AbstractConstructor, E extends import("../../..").AnyIExtend<HostClass>>(this: HostClass, ext: import("../../..").ExtendOptions<HostClass, E>): E;
|
|
59
59
|
hasUsed(plugin: any): boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TierOptions } from "../../options-manager/index";
|
|
2
|
-
import { PluginHost } from "../../../plugin-host/PluginHost";
|
|
2
|
+
import { PluginHost, type EventMap } from "../../../plugin-host/PluginHost";
|
|
3
3
|
import type { AbstractConstructor, ClassType } from "type-tls";
|
|
4
4
|
/**
|
|
5
5
|
* 层级选项插件的宿主
|
|
@@ -10,7 +10,7 @@ import type { AbstractConstructor, ClassType } from "type-tls";
|
|
|
10
10
|
* 之所以没写在该类中的函数中,是因为 `this.pluginManager.created(this)` 通常会在构建函数执行的最后时才调用;
|
|
11
11
|
* 如果像下面写在该类的构建函数中,然后子类通过 `super()` 来调用,这样就会导致 `this.pluginManager.created(this)` 不是在最后的执行;
|
|
12
12
|
*/
|
|
13
|
-
export declare class TierOptionsPluginHost<Host, HostClass extends AbstractConstructor<Host> = ClassType<Host>, Options extends {} = any> extends PluginHost<Host, HostClass> {
|
|
13
|
+
export declare class TierOptionsPluginHost<Host, HostClass extends AbstractConstructor<Host> = ClassType<Host>, Options extends {} = any, EM extends EventMap<EM> = any> extends PluginHost<Host, HostClass, EM> {
|
|
14
14
|
/**
|
|
15
15
|
* 全局级别的默认选项
|
|
16
16
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TierOptionsPluginHost.d.ts","sourceRoot":"","sources":["../../../../src/options/options-plugin-host/tier-options/TierOptionsPluginHost.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"TierOptionsPluginHost.d.ts","sourceRoot":"","sources":["../../../../src/options/options-plugin-host/tier-options/TierOptionsPluginHost.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAC,SAAS,EAAE,MAAM,UAAU,CAAC;AAO9D;;;;;;;;GAQG;AACH,qBAAa,qBAAqB,CAAC,IAAI,EAAE,SAAS,SAAS,mBAAmB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,SAAS,EAAE,GAAG,GAAG,EAAC,EAAE,SAAS,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG,CAAE,SAAQ,UAAU,CAAC,IAAI,EAAE,SAAS,EAAC,EAAE,CAAC;IACpM;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,cAAc,mBAA0B;IAGxD;;OAEG;IACH,IAAI,cAAc,yBAEjB;IACD,SAAS,CAAC,eAAe,EAAG,WAAW,CAAC,OAAO,CAAC,CAAC;gBAErC,OAAO,EAAE,OAAO;CAI7B"}
|
package/dist/options/options-plugin-host/tier-options/TierOptionsPluginHostEventEmitter.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TierOptions } from "../../options-manager/index";
|
|
2
2
|
import { PluginHostEventEmitter } from "../../../plugin-host/PluginHostEventEmitter";
|
|
3
|
-
import type { EventMap } from "../../../plugin-host/PluginHostEventEmitter";
|
|
4
3
|
import type { AbstractConstructor, ClassType } from "type-tls";
|
|
4
|
+
import type { EventMap } from "@gby/destroyable";
|
|
5
5
|
/**
|
|
6
6
|
* 层级选项插件的宿主,继承自 PluginHostEventEmitter
|
|
7
7
|
* @remarks
|
package/dist/options/options-plugin-host/tier-options/TierOptionsPluginHostEventEmitter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TierOptionsPluginHostEventEmitter.d.ts","sourceRoot":"","sources":["../../../../src/options/options-plugin-host/tier-options/TierOptionsPluginHostEventEmitter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"TierOptionsPluginHostEventEmitter.d.ts","sourceRoot":"","sources":["../../../../src/options/options-plugin-host/tier-options/TierOptionsPluginHostEventEmitter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,KAAK,EAAE,mBAAmB,EAAC,SAAS,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAMjD;;;;;;;;GAQG;AACH,qBAAa,iCAAiC,CAAC,IAAI,EAAE,SAAS,SAAS,mBAAmB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,SAAS,EAAE,GAAG,GAAG,EAAC,EAAE,SAAS,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG,CAAE,SAAQ,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;IAC7N;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,cAAc,mBAA0B;IAGxD;;OAEG;IACH,IAAI,cAAc,yBAEjB;IACD,SAAS,CAAC,eAAe,EAAG,WAAW,CAAC,OAAO,CAAC,CAAC;gBAErC,OAAO,EAAE,OAAO;CAI7B"}
|
|
@@ -14,7 +14,7 @@ export declare function createTierOptionsPluginHost<P extends new (...args: any)
|
|
|
14
14
|
*/
|
|
15
15
|
get defaultOptions(): TierOptions<Options>;
|
|
16
16
|
_defaultOptions: TierOptions<Options>;
|
|
17
|
-
get pluginManager(): import("../../..").PluginExtendManager<Host, HostClass>;
|
|
17
|
+
get pluginManager(): import("../../..").PluginExtendManager<Host, HostClass, any>;
|
|
18
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;
|
|
@@ -49,8 +49,8 @@ export declare function createTierOptionsPluginHost<P extends new (...args: any)
|
|
|
49
49
|
*/
|
|
50
50
|
readonly defaultOptions: TierOptions<Options>;
|
|
51
51
|
isolatedPluginManager: boolean;
|
|
52
|
-
get pluginManager(): import("../../..").PluginExtendManager<any, any>;
|
|
53
|
-
_pluginManager: import("../../..").PluginExtendManager<any, any>;
|
|
52
|
+
get pluginManager(): import("../../..").PluginExtendManager<any, any, any>;
|
|
53
|
+
_pluginManager: import("../../..").PluginExtendManager<any, any, any>;
|
|
54
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;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { PluginExtendManager } from "../plugin-manager";
|
|
2
2
|
import type { ExtendOptions, AnyIExtend, AnyIPlugin, PluginUseArgs, PluginUseReturn } from "../plugin-manager/index";
|
|
3
3
|
import { Destroyable } from "@gby/destroyable";
|
|
4
|
+
import type { EventMap } from "@gby/destroyable";
|
|
5
|
+
export type { EventMap };
|
|
4
6
|
import type { IPluginHost } from "./type";
|
|
5
7
|
import type { AbstractConstructor, ClassType } from "type-tls";
|
|
6
8
|
/**
|
|
@@ -28,7 +30,7 @@ import type { AbstractConstructor, ClassType } from "type-tls";
|
|
|
28
30
|
* 1. 子类可以通过继承来实现自定义的 Host
|
|
29
31
|
* 2. 子类可以通过继承来实现自定义的 HostClass
|
|
30
32
|
*/
|
|
31
|
-
export declare class PluginHost<Host, HostClass extends AbstractConstructor<Host> = ClassType<Host
|
|
33
|
+
export declare class PluginHost<Host, HostClass extends AbstractConstructor<Host> = ClassType<Host>, EM extends EventMap<EM> = any> extends Destroyable<EM> implements IPluginHost<Host, HostClass> {
|
|
32
34
|
/**
|
|
33
35
|
* 是否使用独立的插件管理器
|
|
34
36
|
* @defaultValue false
|
|
@@ -37,8 +39,8 @@ export declare class PluginHost<Host, HostClass extends AbstractConstructor<Host
|
|
|
37
39
|
/**
|
|
38
40
|
* 插件管理器
|
|
39
41
|
*/
|
|
40
|
-
static get pluginManager(): PluginExtendManager<any, any>;
|
|
41
|
-
static _pluginManager: PluginExtendManager<any, any>;
|
|
42
|
+
static get pluginManager(): PluginExtendManager<any, any, any>;
|
|
43
|
+
static _pluginManager: PluginExtendManager<any, any, any>;
|
|
42
44
|
/**
|
|
43
45
|
* 插件管理器 {@link PluginHost.pluginManager}
|
|
44
46
|
*/
|
|
@@ -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,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,
|
|
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,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,QAAQ,EAAC,CAAC;AACxB,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,EAAE,EAAE,SAAS,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG,CAAE,SAAQ,WAAW,CAAC,EAAE,CAAE,YAAW,WAAW,CAAC,IAAI,EAAC,SAAS,CAAC;IACvL;;;OAGG;IACH,MAAM,CAAC,qBAAqB,UAAS;IAErC;;OAEG;IACH,MAAM,KAAK,aAAa,uCAKvB;IACD,MAAM,CAAC,cAAc,qCAA0C;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,10 +1,9 @@
|
|
|
1
1
|
import { PluginExtendManager } from "../plugin-manager";
|
|
2
2
|
import type { ExtendOptions, AnyIExtend, AnyIPlugin, PluginUseArgs, PluginUseReturn } from "../plugin-manager/index";
|
|
3
3
|
import { DestroyableEventEmitter } from "@gby/destroyable/node";
|
|
4
|
-
import type { EventMap } from "@gby/destroyable/node";
|
|
5
4
|
import type { IPluginHost } from "./type";
|
|
6
5
|
import type { AbstractConstructor, ClassType } from "type-tls";
|
|
7
|
-
|
|
6
|
+
import type { EventMap } from "@gby/destroyable";
|
|
8
7
|
/**
|
|
9
8
|
* 插件的宿主
|
|
10
9
|
*
|
|
@@ -25,8 +24,8 @@ export declare class PluginHostEventEmitter<Host, HostClass extends AbstractCons
|
|
|
25
24
|
/**
|
|
26
25
|
* 插件管理器
|
|
27
26
|
*/
|
|
28
|
-
static get pluginManager(): PluginExtendManager<any, any>;
|
|
29
|
-
static _pluginManager: PluginExtendManager<any, any>;
|
|
27
|
+
static get pluginManager(): PluginExtendManager<any, any, any>;
|
|
28
|
+
static _pluginManager: PluginExtendManager<any, any, any>;
|
|
30
29
|
/**
|
|
31
30
|
* 插件管理器 {@link PluginHost.pluginManager}
|
|
32
31
|
*/
|
|
@@ -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,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAErH,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;
|
|
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;AAEhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIjD;;;;;;;;;;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,uCAKvB;IACD,MAAM,CAAC,cAAc,qCAA0C;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"}
|
|
@@ -23,8 +23,8 @@ export declare class PluginHostEventTarget<Host, HostClass extends AbstractConst
|
|
|
23
23
|
/**
|
|
24
24
|
* 插件管理器
|
|
25
25
|
*/
|
|
26
|
-
static get pluginManager(): PluginExtendManager<any, any>;
|
|
27
|
-
static _pluginManager: PluginExtendManager<any, any>;
|
|
26
|
+
static get pluginManager(): PluginExtendManager<any, any, any>;
|
|
27
|
+
static _pluginManager: PluginExtendManager<any, any, any>;
|
|
28
28
|
/**
|
|
29
29
|
* 插件管理器 {@link PluginHost.pluginManager}
|
|
30
30
|
*/
|
|
@@ -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,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,
|
|
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,uCAKvB;IACD,MAAM,CAAC,cAAc,qCAA0C;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"}
|
|
@@ -81,8 +81,8 @@ export declare function createPluginHost<P extends new (...args: any) => Object>
|
|
|
81
81
|
/**
|
|
82
82
|
* 插件管理器
|
|
83
83
|
*/
|
|
84
|
-
get pluginManager(): PluginExtendManager<any, any>;
|
|
85
|
-
_pluginManager: PluginExtendManager<any, any>;
|
|
84
|
+
get pluginManager(): PluginExtendManager<any, any, any>;
|
|
85
|
+
_pluginManager: PluginExtendManager<any, any, any>;
|
|
86
86
|
/**
|
|
87
87
|
* {@inheritDoc PluginExtendManager.usePlugin}
|
|
88
88
|
*/
|
|
@@ -102,7 +102,7 @@ export declare function becomePluginHost_Extends<HostClass extends Constructor>(
|
|
|
102
102
|
* @returns
|
|
103
103
|
*/
|
|
104
104
|
destroy(): any;
|
|
105
|
-
}, /*elided*/ any & HostClass>;
|
|
105
|
+
}, /*elided*/ any & HostClass, any>;
|
|
106
106
|
_pluginManager: PluginExtendManager<{
|
|
107
107
|
[x: string]: any;
|
|
108
108
|
/**
|
|
@@ -132,7 +132,7 @@ export declare function becomePluginHost_Extends<HostClass extends Constructor>(
|
|
|
132
132
|
* @returns
|
|
133
133
|
*/
|
|
134
134
|
destroy(): any;
|
|
135
|
-
}, /*elided*/ any & HostClass>;
|
|
135
|
+
}, /*elided*/ any & HostClass, any>;
|
|
136
136
|
/**
|
|
137
137
|
* {@inheritDoc PluginExtendManager.usePlugin}
|
|
138
138
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AbstractConstructor } from "type-tls";
|
|
2
|
-
import { Destroyable } from "@gby/destroyable";
|
|
2
|
+
import { Destroyable, type EventMap } from "@gby/destroyable";
|
|
3
3
|
import type { IExtend, AnyIExtend } from "./IExtend";
|
|
4
4
|
import type { ExtendOptions } from "./extend";
|
|
5
5
|
import type { AsyncableArray } from "./type";
|
|
@@ -11,7 +11,7 @@ import type { AsyncableArray } from "./type";
|
|
|
11
11
|
* 支持插件的级联(通过 parent):当子类创建了子类插件管理者时,为了能让父类插件管理者的插件生效,需要将父类插件管理者设置为其 parent
|
|
12
12
|
*
|
|
13
13
|
*/
|
|
14
|
-
export declare class ExtendManager<HostClass extends AbstractConstructor> extends Destroyable {
|
|
14
|
+
export declare class ExtendManager<HostClass extends AbstractConstructor, EM extends EventMap<EM> = any> extends Destroyable<EM> {
|
|
15
15
|
/**
|
|
16
16
|
* 父级插件管理者
|
|
17
17
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtendManager.d.ts","sourceRoot":"","sources":["../../src/plugin-manager/ExtendManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"ExtendManager.d.ts","sourceRoot":"","sources":["../../src/plugin-manager/ExtendManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG9D,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAE7C;;;;;;;GAOG;AACH,qBAAa,aAAa,CAAC,SAAS,SAAS,mBAAmB,EAAC,EAAE,SAAS,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG,CAAE,SAAQ,WAAW,CAAC,EAAE,CAAC;IAEnH;;;;;OAKG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAEnC;;OAEG;IACH,IAAI,EAAG,SAAS,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,OAAO,0BAAiC;IAIjD;;;OAGG;gBACS,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI;IAQvD,WAAW;IAMpB;;;;OAIG;IACH,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO;IAI7B;;;;OAIG;IACH,GAAG,CAAC,CAAC,SAAS,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC;IAO5E;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,SAAS,UAAU,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC;IAO9J;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC,GAAG,cAAc;IActG;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,GAAE,cAAc;IAatE;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC,GAAE,cAAc;CAe9D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type AbstractConstructor, type ClassType } from "type-tls";
|
|
2
|
-
import { Destroyable } from "@gby/destroyable";
|
|
2
|
+
import { Destroyable, type EventMap } from "@gby/destroyable";
|
|
3
3
|
import type { IExtend, AnyIExtend } from "./IExtend";
|
|
4
4
|
import type { AnyIPlugin, IPlugin, PluginUseArgs, PluginUseReturn } from "./IPlugin";
|
|
5
5
|
import type { ExtendOptions } from "./extend";
|
|
@@ -17,7 +17,7 @@ export declare const extendMark: unique symbol;
|
|
|
17
17
|
* 支持插件的级联(通过 parent):当子类创建了子类插件管理者时,为了能让父类插件管理者的插件生效,需要将父类插件管理者设置为其 parent
|
|
18
18
|
*
|
|
19
19
|
*/
|
|
20
|
-
export declare class PluginExtendManager<Host, HostClass extends AbstractConstructor<Host> = ClassType<Host
|
|
20
|
+
export declare class PluginExtendManager<Host, HostClass extends AbstractConstructor<Host> = ClassType<Host>, EM extends EventMap<EM> = any> extends Destroyable<EM> {
|
|
21
21
|
/**
|
|
22
22
|
* 父级插件管理者
|
|
23
23
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginExtendManager.d.ts","sourceRoot":"","sources":["../../src/plugin-manager/PluginExtendManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,mBAAmB,EAAE,KAAK,SAAS,EAAiB,MAAM,UAAU,CAAC;AACrG,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"PluginExtendManager.d.ts","sourceRoot":"","sources":["../../src/plugin-manager/PluginExtendManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,mBAAmB,EAAE,KAAK,SAAS,EAAiB,MAAM,UAAU,CAAC;AACrG,OAAO,EAAE,WAAW,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG9D,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAG7C;;GAEG;AACH,eAAO,MAAM,UAAU,eAAmB,CAAC;AAG3C;;;;;;;;GAQG;AACH,qBAAa,mBAAmB,CAAC,IAAI,EAAC,SAAS,SAAS,mBAAmB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,EAAC,EAAE,SAAS,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG,CAAE,SAAQ,WAAW,CAAC,EAAE,CAAC;IAEtJ;;;;;OAKG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAC,GAAG,EAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAE7C;;OAEG;IACH,IAAI,EAAG,SAAS,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,OAAO,0DAA6D;IAG7E;;OAEG;gBACS,IAAI,CAAC,EAAE,SAAS,EAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC,GAAG,EAAC,GAAG,CAAC,GAAG,IAAI;IAQhE,WAAW;IAMpB;;;;OAIG;IACH,OAAO,CAAC,MAAM,EAAE,GAAG,GAAE,OAAO;IAK5B;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,GAAG,GAAE,GAAG;IAS7B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC,IAAI,EAAC,SAAS,CAAC;IAOxD;;;;OAIG;IACH,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,GAAE,CAAC;IAO9E;;;;;;OAMG;IACH,aAAa,CAAC,CAAC,SAAS,UAAU,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,EAAG,GAAG,IAAI,EAAC,qBAAqB,CAAC,SAAS,CAAC,GAAE,CAAC;IAOhK;;;;OAIG;IACH,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,IAAI,EAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,EAAC,GAAG,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAOxG;;;;;;OAMG;IACH,aAAa,CAAC,CAAC,SAAS,UAAU,CAAC,IAAI,EAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAShI;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAG,GAAG,IAAI,EAAC,GAAG,GAAE,cAAc;IAarD;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAC,GAAG,IAAI,EAAC,GAAG,GAAE,cAAc;IAajD;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,EAAE,IAAI,GAAE,cAAc;CAgB3C"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type AbstractClassType } from "type-tls";
|
|
2
2
|
import type { AnyIPlugin, IPlugin, PluginUseArgs, PluginUseReturn } from "./IPlugin";
|
|
3
|
-
import { Destroyable } from "@gby/destroyable";
|
|
3
|
+
import { Destroyable, type EventMap } from "@gby/destroyable";
|
|
4
4
|
import type { AsyncableArray } from "./type";
|
|
5
5
|
/**
|
|
6
6
|
* 插件管理者
|
|
@@ -9,7 +9,7 @@ import type { AsyncableArray } from "./type";
|
|
|
9
9
|
* 负责管理插件的注册、应用 等
|
|
10
10
|
* 支持插件的级联(通过 parent):当子类创建了子类插件管理者时,为了能让父类插件管理者的插件生效,需要将父类插件管理者设置为其 parent
|
|
11
11
|
*/
|
|
12
|
-
export declare class PluginManager<Host, HostClass = AbstractClassType<Host
|
|
12
|
+
export declare class PluginManager<Host, HostClass = AbstractClassType<Host>, EM extends EventMap<EM> = any> extends Destroyable<EM> {
|
|
13
13
|
/**
|
|
14
14
|
* 父级插件管理者
|
|
15
15
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginManager.d.ts","sourceRoot":"","sources":["../../src/plugin-manager/PluginManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,iBAAiB,EAAiB,MAAM,UAAU,CAAC;AACnF,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"PluginManager.d.ts","sourceRoot":"","sources":["../../src/plugin-manager/PluginManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,iBAAiB,EAAiB,MAAM,UAAU,CAAC;AACnF,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAE7C;;;;;;GAMG;AACH,qBAAa,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,EAAC,EAAE,SAAS,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG,CAAE,SAAQ,WAAW,CAAC,EAAE,CAAC;IACvH;;;;;OAKG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAGxC;;OAEG;IACH,IAAI,EAAG,SAAS,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,OAAO,qCAA4C;IAG5D;;OAEG;gBACS,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI;IAQ5D,WAAW;IAOpB;;;;OAIG;IACH,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO;IAI7B;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,GAAG,GAAE,GAAG;IAS7B;;;;OAIG;IACH,GAAG,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;IAOpG;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,SAAS,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAQ3H;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,cAAc;IAYtD;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,GAAE,cAAc;IAanD;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,EAAE,IAAI,GAAE,cAAc;CAe3C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "plugin-tls",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.1.0",
|
|
4
4
|
"description": "plugin-tls 是插件系统相应的工具,可快速地让任何模块具备插件机制",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"vite-node": "latest"
|
|
65
65
|
},
|
|
66
66
|
"dependencies": {
|
|
67
|
-
"@gby/destroyable": "^
|
|
67
|
+
"@gby/destroyable": "^5.2.0",
|
|
68
68
|
"com-tools": "^2.22.1",
|
|
69
69
|
"deepmerge-ts": "^7.1.5",
|
|
70
70
|
"type-tls": "^3.11.0"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const n=require("com-tools");class h{refCount=0;get isDestroyed(){return this._isDestroyed}_isDestroyed=!1;get canDestroy(){return!this.isDestroyed&&this.refCount<=0}_destroyers=[];disposeFun(e){return this._destroyers.push(e),e}cancelDisposeFun(e){const s=this._destroyers.indexOf(e);return this._destroyers.splice(s,1),e}disposeObj(e,s){const t=s?function(){return e.destroySync()}:function(){return e.destroy()};return this.disposeFun(t),e.__destroyable_destroyer=t,e}cancelDisposeObj(e){const s=e.__destroyable_destroyer;return s&&this.cancelDisposeFun(s),e}dispose(e,s){return typeof e=="function"?this.disposeFun(e):this.disposeObj(e,s)}cancelDispose(e){return typeof e=="function"?this.cancelDisposeFun(e):this.cancelDisposeObj(e)}destroyThis(){}destroySync(){if(!this.canDestroy)return this.isDestroyed;let e=this._destroyers.length;for(;--e>=0;){const s=this._destroyers[e];try{s()}catch(t){console.error("销毁函数在同步销毁时出错",this,s,t)}}this._destroyers.length=0;try{this.destroyThis()}catch(s){console.error("destroyThis 在异步销毁时出错",this,s)}return o(this),!0}destroy(){if(!this.canDestroy)return this.isDestroyed;const e=this._destroyers.toReversed();e.push(this.destroyThis),this._destroyers.length=0;const s=n.serialCallAllFuns(e,this,null,(t,i)=>{console.error("销毁函数在串行销毁时出错",this,i,t)});return s instanceof Promise?s.then(()=>(o(this),!0)):(o(this),!0)}}function c(){throw"已销毁"}function o(r){for(var e in r)!(e in h.prototype)&&typeof r[e]=="function"&&(r[e]=c);return r._isDestroyed=!0,!0}exports.i=o;
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
import { serialCallAllFuns as n } from "com-tools";
|
|
2
|
-
class h {
|
|
3
|
-
/**
|
|
4
|
-
* 引用计数
|
|
5
|
-
* @remarks
|
|
6
|
-
* 引用计数为 0 时,对象才会被销毁
|
|
7
|
-
*/
|
|
8
|
-
refCount = 0;
|
|
9
|
-
/**
|
|
10
|
-
* 是否已经销毁
|
|
11
|
-
*/
|
|
12
|
-
get isDestroyed() {
|
|
13
|
-
return this._isDestroyed;
|
|
14
|
-
}
|
|
15
|
-
_isDestroyed = !1;
|
|
16
|
-
/**
|
|
17
|
-
* 是否可以销毁
|
|
18
|
-
*/
|
|
19
|
-
get canDestroy() {
|
|
20
|
-
return !this.isDestroyed && this.refCount <= 0;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* 销毁者
|
|
24
|
-
*/
|
|
25
|
-
_destroyers = [];
|
|
26
|
-
/**
|
|
27
|
-
* 添加销毁者
|
|
28
|
-
* @param fun
|
|
29
|
-
* @returns 返回销毁者的顺序
|
|
30
|
-
*/
|
|
31
|
-
disposeFun(e) {
|
|
32
|
-
return this._destroyers.push(e), e;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* 取消销毁者函数
|
|
36
|
-
* @param fun
|
|
37
|
-
* @returns
|
|
38
|
-
*/
|
|
39
|
-
cancelDisposeFun(e) {
|
|
40
|
-
const s = this._destroyers.indexOf(e);
|
|
41
|
-
return this._destroyers.splice(s, 1), e;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* 添加销毁对象
|
|
45
|
-
* @param obj
|
|
46
|
-
* @param sync - 表示是否使用 `obj.destroySync()` 方法进行销毁;默认使用 `obj.destroy()` 方法进行销毁
|
|
47
|
-
* @returns
|
|
48
|
-
*/
|
|
49
|
-
disposeObj(e, s) {
|
|
50
|
-
const t = s ? function() {
|
|
51
|
-
return e.destroySync();
|
|
52
|
-
} : function() {
|
|
53
|
-
return e.destroy();
|
|
54
|
-
};
|
|
55
|
-
return this.disposeFun(t), e.__destroyable_destroyer = t, e;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* 取消销毁者函数
|
|
59
|
-
* @param fun
|
|
60
|
-
* @returns
|
|
61
|
-
*/
|
|
62
|
-
cancelDisposeObj(e) {
|
|
63
|
-
const s = e.__destroyable_destroyer;
|
|
64
|
-
return s && this.cancelDisposeFun(s), e;
|
|
65
|
-
}
|
|
66
|
-
dispose(e, s) {
|
|
67
|
-
return typeof e == "function" ? this.disposeFun(e) : this.disposeObj(e, s);
|
|
68
|
-
}
|
|
69
|
-
cancelDispose(e) {
|
|
70
|
-
return typeof e == "function" ? this.cancelDisposeFun(e) : this.cancelDisposeObj(e);
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* 自己的销毁方法
|
|
74
|
-
* @remarks
|
|
75
|
-
* 子类根据需要进行重载
|
|
76
|
-
*/
|
|
77
|
-
destroyThis() {
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* 同步销毁
|
|
81
|
-
* @remarks
|
|
82
|
-
* 会逆序依次同步调用所有销毁函数,并不会等待上一个销毁函数异步执行完成
|
|
83
|
-
*/
|
|
84
|
-
destroySync() {
|
|
85
|
-
if (!this.canDestroy) return this.isDestroyed;
|
|
86
|
-
let e = this._destroyers.length;
|
|
87
|
-
for (; --e >= 0; ) {
|
|
88
|
-
const s = this._destroyers[e];
|
|
89
|
-
try {
|
|
90
|
-
s();
|
|
91
|
-
} catch (t) {
|
|
92
|
-
console.error("销毁函数在同步销毁时出错", this, s, t);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
this._destroyers.length = 0;
|
|
96
|
-
try {
|
|
97
|
-
this.destroyThis();
|
|
98
|
-
} catch (s) {
|
|
99
|
-
console.error("destroyThis 在异步销毁时出错", this, s);
|
|
100
|
-
}
|
|
101
|
-
return o(this), !0;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* 串行销毁
|
|
105
|
-
* @remarks
|
|
106
|
-
* 会逆序依次执行销毁,并且只有上一个销毁完成之后才会执行下一个销毁
|
|
107
|
-
* @returns 如果所有的销毁函数都是同步的,那么返回 true;如果有任何一个销毁函数是异步的,那么返回一个 Promise 对象
|
|
108
|
-
*/
|
|
109
|
-
destroy() {
|
|
110
|
-
if (!this.canDestroy) return this.isDestroyed;
|
|
111
|
-
const e = this._destroyers.toReversed();
|
|
112
|
-
e.push(this.destroyThis), this._destroyers.length = 0;
|
|
113
|
-
const s = n(e, this, null, (t, i) => {
|
|
114
|
-
console.error("销毁函数在串行销毁时出错", this, i, t);
|
|
115
|
-
});
|
|
116
|
-
return s instanceof Promise ? s.then(() => (o(this), !0)) : (o(this), !0);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
function c() {
|
|
120
|
-
throw "已销毁";
|
|
121
|
-
}
|
|
122
|
-
function o(r) {
|
|
123
|
-
for (var e in r)
|
|
124
|
-
!(e in h.prototype) && typeof r[e] == "function" && (r[e] = c);
|
|
125
|
-
return r._isDestroyed = !0, !0;
|
|
126
|
-
}
|
|
127
|
-
export {
|
|
128
|
-
o as i
|
|
129
|
-
};
|