floating-live 0.16.0-alpha.4 → 0.16.0-alpha.5
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/app.d.ts +4 -2
- package/dist/app.js +11 -5
- package/dist/plugin/context/CommonPluginContext.d.ts +1 -0
- package/dist/plugin/context/CommonPluginContext.js +9 -4
- package/dist/plugin/types.d.ts +1 -0
- package/dist/utils/EventEmitter.d.ts +2 -2
- package/dist/utils/EventEmitter.js +4 -4
- package/package.json +1 -1
package/dist/app.d.ts
CHANGED
|
@@ -10,9 +10,10 @@ export declare class App extends CustomEventEmitter implements PluginContext {
|
|
|
10
10
|
private pluginManager;
|
|
11
11
|
private commandManager;
|
|
12
12
|
private valueManager;
|
|
13
|
+
private abortController;
|
|
13
14
|
constructor();
|
|
14
|
-
on<K extends keyof AppEventDetailMap>(type: K, listener: AppEventListener<AppEventDetailMap[K]
|
|
15
|
-
once<K extends keyof AppEventDetailMap>(type: K, listener: AppEventListener<AppEventDetailMap[K]
|
|
15
|
+
on<K extends keyof AppEventDetailMap>(type: K, listener: AppEventListener<AppEventDetailMap[K]>, signal?: AbortSignal): void;
|
|
16
|
+
once<K extends keyof AppEventDetailMap>(type: K, listener: AppEventListener<AppEventDetailMap[K]>, signal?: AbortSignal): void;
|
|
16
17
|
off<K extends keyof AppEventDetailMap>(type: K, listener: AppEventListener<AppEventDetailMap[K]>): void;
|
|
17
18
|
emit<K extends keyof AppEventDetailMap>(type: K, detail: AppEventDetailMap[K], options?: AppEventEmitOptions & EventInit): void;
|
|
18
19
|
/** 发送错误 */
|
|
@@ -43,4 +44,5 @@ export declare class App extends CustomEventEmitter implements PluginContext {
|
|
|
43
44
|
destroy(): void;
|
|
44
45
|
/** 拓展值 */
|
|
45
46
|
define(): void;
|
|
47
|
+
get signal(): AbortSignal;
|
|
46
48
|
}
|
package/dist/app.js
CHANGED
|
@@ -7,16 +7,17 @@ import { ValueManager } from "./value/manager";
|
|
|
7
7
|
export class App extends CustomEventEmitter {
|
|
8
8
|
constructor() {
|
|
9
9
|
super();
|
|
10
|
+
this.abortController = new AbortController();
|
|
10
11
|
this.hookManager = new HookManager(this);
|
|
11
12
|
this.pluginManager = new PluginManager(this);
|
|
12
13
|
this.commandManager = new CommandManager(this);
|
|
13
14
|
this.valueManager = new ValueManager(this);
|
|
14
15
|
}
|
|
15
|
-
on(type, listener) {
|
|
16
|
-
super.on(type, listener);
|
|
16
|
+
on(type, listener, signal = this.signal) {
|
|
17
|
+
super.on(type, listener, signal);
|
|
17
18
|
}
|
|
18
|
-
once(type, listener) {
|
|
19
|
-
super.once(type, listener);
|
|
19
|
+
once(type, listener, signal = this.signal) {
|
|
20
|
+
super.once(type, listener, signal);
|
|
20
21
|
}
|
|
21
22
|
off(type, listener) {
|
|
22
23
|
super.off(type, listener);
|
|
@@ -119,8 +120,13 @@ export class App extends CustomEventEmitter {
|
|
|
119
120
|
setValue(name, value) {
|
|
120
121
|
this.valueManager.set(name, value);
|
|
121
122
|
}
|
|
122
|
-
destroy() {
|
|
123
|
+
destroy() {
|
|
124
|
+
this.abortController.abort();
|
|
125
|
+
}
|
|
123
126
|
//--- 其他 ---//
|
|
124
127
|
/** 拓展值 */
|
|
125
128
|
define() { }
|
|
129
|
+
get signal() {
|
|
130
|
+
return this.abortController.signal;
|
|
131
|
+
}
|
|
126
132
|
}
|
|
@@ -9,7 +9,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
|
|
|
9
9
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
10
10
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
11
11
|
};
|
|
12
|
-
var _CommonPluginContext_app, _CommonPluginContext_registered;
|
|
12
|
+
var _CommonPluginContext_app, _CommonPluginContext_abortController, _CommonPluginContext_registered;
|
|
13
13
|
import { AppError } from "../../error";
|
|
14
14
|
class ListMap extends Map {
|
|
15
15
|
addItem(key, value) {
|
|
@@ -35,6 +35,8 @@ export class CommonPluginContext {
|
|
|
35
35
|
constructor(app, pluginName) {
|
|
36
36
|
/** 主程序,插件不可访问 */
|
|
37
37
|
_CommonPluginContext_app.set(this, void 0);
|
|
38
|
+
/** AbortController,插件不可访问 */
|
|
39
|
+
_CommonPluginContext_abortController.set(this, new AbortController());
|
|
38
40
|
_CommonPluginContext_registered.set(this, {
|
|
39
41
|
plugins: new Set(),
|
|
40
42
|
values: new Set(),
|
|
@@ -262,12 +264,15 @@ export class CommonPluginContext {
|
|
|
262
264
|
}
|
|
263
265
|
}
|
|
264
266
|
destroy() {
|
|
265
|
-
const { plugins,
|
|
267
|
+
const { plugins, values, hooks, commands } = __classPrivateFieldGet(this, _CommonPluginContext_registered, "f");
|
|
266
268
|
plugins.forEach((pluginName) => __classPrivateFieldGet(this, _CommonPluginContext_app, "f").unregister(pluginName));
|
|
267
|
-
events.forEach((listenerList, eventName) => listenerList.forEach((listener) => __classPrivateFieldGet(this, _CommonPluginContext_app, "f").off(eventName, listener)));
|
|
268
269
|
hooks.forEach((hookList, name) => hookList.forEach((hookFunc) => __classPrivateFieldGet(this, _CommonPluginContext_app, "f").off(name, hookFunc)));
|
|
269
270
|
commands.forEach((name) => __classPrivateFieldGet(this, _CommonPluginContext_app, "f").unregisterCommand(name));
|
|
270
271
|
values.forEach((name) => __classPrivateFieldGet(this, _CommonPluginContext_app, "f").unregisterValue(name));
|
|
272
|
+
__classPrivateFieldGet(this, _CommonPluginContext_abortController, "f").abort();
|
|
273
|
+
}
|
|
274
|
+
get signal() {
|
|
275
|
+
return __classPrivateFieldGet(this, _CommonPluginContext_abortController, "f").signal;
|
|
271
276
|
}
|
|
272
277
|
}
|
|
273
|
-
_CommonPluginContext_app = new WeakMap(), _CommonPluginContext_registered = new WeakMap();
|
|
278
|
+
_CommonPluginContext_app = new WeakMap(), _CommonPluginContext_abortController = new WeakMap(), _CommonPluginContext_registered = new WeakMap();
|
package/dist/plugin/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare class CustomEventEmitter extends EventTarget {
|
|
2
|
-
on(type: string, listener: (e: any) => void): void;
|
|
3
|
-
once(type: string, listener: (e: any) => void): void;
|
|
2
|
+
on(type: string, listener: (e: any) => void, signal?: AbortSignal): void;
|
|
3
|
+
once(type: string, listener: (e: any) => void, signal?: AbortSignal): void;
|
|
4
4
|
off(type: string, listener: (e: any) => void): void;
|
|
5
5
|
emit(type: string, detail: any, options?: EventInit): void;
|
|
6
6
|
}
|
|
@@ -10,11 +10,11 @@ function getListenerCallback(listener) {
|
|
|
10
10
|
return newItem;
|
|
11
11
|
}
|
|
12
12
|
export class CustomEventEmitter extends EventTarget {
|
|
13
|
-
on(type, listener) {
|
|
14
|
-
this.addEventListener(type, getListenerCallback(listener));
|
|
13
|
+
on(type, listener, signal) {
|
|
14
|
+
this.addEventListener(type, getListenerCallback(listener), { signal });
|
|
15
15
|
}
|
|
16
|
-
once(type, listener) {
|
|
17
|
-
this.addEventListener(type, getListenerCallback(listener), { once: true });
|
|
16
|
+
once(type, listener, signal) {
|
|
17
|
+
this.addEventListener(type, getListenerCallback(listener), { once: true, signal });
|
|
18
18
|
}
|
|
19
19
|
off(type, listener) {
|
|
20
20
|
this.removeEventListener(type, getListenerCallback(listener));
|