@idlebox/common 1.5.6 → 1.5.7
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/lib/lifecycle/event/event.d.ts.map +1 -1
- package/lib/lifecycle/event/event.js +13 -5
- package/lib/lifecycle/event/event.js.map +1 -1
- package/lib/lifecycle/event/type.d.ts +7 -0
- package/lib/lifecycle/event/type.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/lifecycle/event/event.ts +15 -6
- package/src/lifecycle/event/type.ts +9 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/event/event.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE5E;;GAEG;AACH,qBAAa,OAAO,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;aAKhC,WAAW,CAAC,EAAE,MAAM;IAJhD,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;IACvD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,6BAA6B,CAAS;gBAElB,WAAW,CAAC,EAAE,MAAM,YAAA;
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/event/event.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE5E;;GAEG;AACH,qBAAa,OAAO,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;aAKhC,WAAW,CAAC,EAAE,MAAM;IAJhD,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;IACvD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,6BAA6B,CAAS;gBAElB,WAAW,CAAC,EAAE,MAAM,YAAA;IAczC,aAAa;IAIb,IAAI,CAAC,IAAI,EAAE,CAAC;IAiBZ,WAAW,CAAC,IAAI,EAAE,CAAC;IAqB1B,IAAI,QAAQ,IAAI,aAAa,CAAC,CAAC,CAAC,CAE/B;IAED,IAAI,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,CAE5B;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW;IAqB9C;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW;IAS5C;;OAEG;IACH,OAAO,CAAC,UAAU,CAAC,CAAgB;IACnC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC;IAUlB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,SAAS,CAAS;IAC1B,IAAW,WAAW,YAErB;IAED;;;OAGG;IACH,OAAO;IAwBP,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,aAAgB;IAEzC,OAAO,CAAC,mBAAmB;CAK3B"}
|
|
@@ -13,6 +13,17 @@ export class Emitter {
|
|
|
13
13
|
_something_change_during_call = false;
|
|
14
14
|
constructor(displayName) {
|
|
15
15
|
this.displayName = displayName;
|
|
16
|
+
this.handle = Object.defineProperties(this.handle.bind(this), {
|
|
17
|
+
once: {
|
|
18
|
+
get: () => this.once.bind(this),
|
|
19
|
+
},
|
|
20
|
+
wait: {
|
|
21
|
+
get: () => this.wait.bind(this),
|
|
22
|
+
},
|
|
23
|
+
hasDisposed: {
|
|
24
|
+
get: () => this._disposed,
|
|
25
|
+
},
|
|
26
|
+
});
|
|
16
27
|
}
|
|
17
28
|
listenerCount() {
|
|
18
29
|
return this._callbacks?.length ?? 0;
|
|
@@ -56,13 +67,10 @@ export class Emitter {
|
|
|
56
67
|
}
|
|
57
68
|
}
|
|
58
69
|
get register() {
|
|
59
|
-
return
|
|
60
|
-
once: this.once.bind(this),
|
|
61
|
-
wait: this.wait.bind(this),
|
|
62
|
-
});
|
|
70
|
+
return this.handle;
|
|
63
71
|
}
|
|
64
72
|
get event() {
|
|
65
|
-
return this.
|
|
73
|
+
return this.handle;
|
|
66
74
|
}
|
|
67
75
|
/**
|
|
68
76
|
* 添加监听器
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../../src/lifecycle/event/event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAGvD;;GAEG;AACH,MAAM,OAAO,OAAO;IAKS;IAJlB,UAAU,CAAmC;IAC/C,SAAS,GAAG,KAAK,CAAC;IAClB,6BAA6B,GAAG,KAAK,CAAC;IAE9C,YAA4B,WAAoB;QAApB,gBAAW,GAAX,WAAW,CAAS;
|
|
1
|
+
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../../src/lifecycle/event/event.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,11 +35,18 @@ export interface IEventEmitter<T = unknown> extends IDisposable {
|
|
|
35
35
|
* @param callback 回调函数
|
|
36
36
|
*/
|
|
37
37
|
once(callback: EventHandler<T>): IDisposable;
|
|
38
|
+
/**
|
|
39
|
+
* 创建一个等待下次触发的promise
|
|
40
|
+
*/
|
|
41
|
+
wait(): Promise<T>;
|
|
42
|
+
readonly hasDisposed: boolean;
|
|
38
43
|
}
|
|
39
44
|
export type EventHandler<T> = (data: T) => void;
|
|
40
45
|
export interface EventRegister<T> {
|
|
41
46
|
(callback: EventHandler<T>): IDisposable;
|
|
42
47
|
once(callback: EventHandler<T>): IDisposable;
|
|
48
|
+
wait(): IDisposable;
|
|
49
|
+
readonly hasDisposed: boolean;
|
|
43
50
|
}
|
|
44
51
|
export type EventEmitterMap<T extends Record<string, unknown>> = {
|
|
45
52
|
[K in keyof T]: Emitter<T[K]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/event/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,WAAW;IAC9D;;OAEG;IACH,aAAa,IAAI,MAAM,CAAC;IAExB;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAEpB;;;;;;OAMG;IACH,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAEjC;;;OAGG;IACH,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/event/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,WAAW;IAC9D;;OAEG;IACH,aAAa,IAAI,MAAM,CAAC;IAExB;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAEpB;;;;;;OAMG;IACH,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAEjC;;;OAGG;IACH,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;IAE7C;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IAEnB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAEhD,MAAM,WAAW,aAAa,CAAC,CAAC;IAC/B,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;IACzC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;IAC7C,IAAI,IAAI,WAAW,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;KAC/D,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC7B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@idlebox/common",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.5.
|
|
4
|
+
"version": "1.5.7",
|
|
5
5
|
"description": "Common utilities",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"utilities",
|
|
@@ -19,12 +19,12 @@
|
|
|
19
19
|
"sideEffects": false,
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@types/debug": "^4.1.12",
|
|
22
|
-
"@build-script/single-dog-asset": "latest",
|
|
23
22
|
"@build-script/autoindex": "^0.0.11",
|
|
23
|
+
"@build-script/single-dog-asset": "latest",
|
|
24
|
+
"@build-script/codegen": "^1.0.14",
|
|
24
25
|
"@idlebox/itypes": "^1.0.14",
|
|
25
|
-
"@mpis/publisher": "^0.0.
|
|
26
|
-
"@mpis/run": "^0.0.
|
|
27
|
-
"@build-script/codegen": "^1.0.13"
|
|
26
|
+
"@mpis/publisher": "^0.0.12",
|
|
27
|
+
"@mpis/run": "^0.0.15"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"debug": "^4.4.1",
|
|
@@ -14,7 +14,19 @@ export class Emitter<T = unknown> implements IEventEmitter<T> {
|
|
|
14
14
|
private executing = false;
|
|
15
15
|
private _something_change_during_call = false;
|
|
16
16
|
|
|
17
|
-
constructor(public readonly displayName?: string) {
|
|
17
|
+
constructor(public readonly displayName?: string) {
|
|
18
|
+
this.handle = Object.defineProperties(this.handle.bind(this), {
|
|
19
|
+
once: {
|
|
20
|
+
get: () => this.once.bind(this),
|
|
21
|
+
},
|
|
22
|
+
wait: {
|
|
23
|
+
get: () => this.wait.bind(this),
|
|
24
|
+
},
|
|
25
|
+
hasDisposed: {
|
|
26
|
+
get: () => this._disposed,
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
}
|
|
18
30
|
|
|
19
31
|
public listenerCount() {
|
|
20
32
|
return this._callbacks?.length ?? 0;
|
|
@@ -59,14 +71,11 @@ export class Emitter<T = unknown> implements IEventEmitter<T> {
|
|
|
59
71
|
}
|
|
60
72
|
|
|
61
73
|
get register(): EventRegister<T> {
|
|
62
|
-
return
|
|
63
|
-
once: this.once.bind(this),
|
|
64
|
-
wait: this.wait.bind(this),
|
|
65
|
-
});
|
|
74
|
+
return this.handle as any;
|
|
66
75
|
}
|
|
67
76
|
|
|
68
77
|
get event(): EventRegister<T> {
|
|
69
|
-
return this.
|
|
78
|
+
return this.handle as any;
|
|
70
79
|
}
|
|
71
80
|
|
|
72
81
|
/**
|
|
@@ -41,6 +41,13 @@ export interface IEventEmitter<T = unknown> extends IDisposable {
|
|
|
41
41
|
* @param callback 回调函数
|
|
42
42
|
*/
|
|
43
43
|
once(callback: EventHandler<T>): IDisposable;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* 创建一个等待下次触发的promise
|
|
47
|
+
*/
|
|
48
|
+
wait(): Promise<T>;
|
|
49
|
+
|
|
50
|
+
readonly hasDisposed: boolean;
|
|
44
51
|
}
|
|
45
52
|
|
|
46
53
|
export type EventHandler<T> = (data: T) => void;
|
|
@@ -48,6 +55,8 @@ export type EventHandler<T> = (data: T) => void;
|
|
|
48
55
|
export interface EventRegister<T> {
|
|
49
56
|
(callback: EventHandler<T>): IDisposable;
|
|
50
57
|
once(callback: EventHandler<T>): IDisposable;
|
|
58
|
+
wait(): IDisposable;
|
|
59
|
+
readonly hasDisposed: boolean;
|
|
51
60
|
}
|
|
52
61
|
|
|
53
62
|
export type EventEmitterMap<T extends Record<string, unknown>> = {
|