@idlebox/common 1.5.20 → 1.5.21
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/{autoindex.d.ts → autoindex.generated.d.ts} +5 -2
- package/lib/autoindex.generated.d.ts.map +1 -0
- package/lib/{autoindex.js → autoindex.generated.js} +18 -5
- package/lib/autoindex.generated.js.map +1 -0
- package/lib/error/convert-unknown.d.ts.map +1 -1
- package/lib/error/convert-unknown.js +4 -0
- package/lib/error/convert-unknown.js.map +1 -1
- package/lib/lifecycle/dispose/async-disposable.d.ts +11 -2
- package/lib/lifecycle/dispose/async-disposable.d.ts.map +1 -1
- package/lib/lifecycle/dispose/async-disposable.js +26 -6
- package/lib/lifecycle/dispose/async-disposable.js.map +1 -1
- package/lib/lifecycle/dispose/bridges/native.d.ts +2 -2
- package/lib/lifecycle/dispose/bridges/native.d.ts.map +1 -1
- package/lib/lifecycle/dispose/bridges/native.js +5 -5
- package/lib/lifecycle/dispose/bridges/native.js.map +1 -1
- package/lib/lifecycle/dispose/bridges/streams.d.ts +12 -0
- package/lib/lifecycle/dispose/bridges/streams.d.ts.map +1 -1
- package/lib/lifecycle/dispose/bridges/streams.js +30 -30
- package/lib/lifecycle/dispose/bridges/streams.js.map +1 -1
- package/lib/lifecycle/dispose/disposable.d.ts +9 -9
- package/lib/lifecycle/dispose/disposable.d.ts.map +1 -1
- package/lib/lifecycle/dispose/disposable.js +16 -9
- package/lib/lifecycle/dispose/disposable.js.map +1 -1
- package/lib/lifecycle/dispose/sync-disposable.d.ts +6 -1
- package/lib/lifecycle/dispose/sync-disposable.d.ts.map +1 -1
- package/lib/lifecycle/dispose/sync-disposable.js +21 -5
- package/lib/lifecycle/dispose/sync-disposable.js.map +1 -1
- package/lib/lifecycle/event/event.d.ts +1 -1
- package/lib/lifecycle/event/event.d.ts.map +1 -1
- package/lib/lifecycle/event/event.js +3 -3
- package/lib/lifecycle/event/event.js.map +1 -1
- package/lib/lifecycle/event/type.d.ts +2 -2
- package/lib/lifecycle/event/type.d.ts.map +1 -1
- package/lib/promise/is-promise.d.ts +2 -0
- package/lib/promise/is-promise.d.ts.map +1 -0
- package/lib/promise/is-promise.js +4 -0
- package/lib/promise/is-promise.js.map +1 -0
- package/lib/reflection/methods/bind.d.ts +1 -1
- package/lib/reflection/methods/bind.d.ts.map +1 -1
- package/lib/schedule/interval.d.ts +1 -1
- package/lib/schedule/interval.d.ts.map +1 -1
- package/lib/schedule/timeout.d.ts +2 -2
- package/lib/schedule/timeout.d.ts.map +1 -1
- package/lib/state/simple-state-machine.d.ts +1 -1
- package/lib/state/simple-state-machine.d.ts.map +1 -1
- package/package.json +11 -7
- package/src/{autoindex.ts → autoindex.generated.ts} +18 -4
- package/src/error/convert-unknown.ts +4 -0
- package/src/lifecycle/dispose/async-disposable.ts +25 -6
- package/src/lifecycle/dispose/bridges/native.ts +5 -7
- package/src/lifecycle/dispose/bridges/streams.ts +46 -36
- package/src/lifecycle/dispose/disposable.ts +29 -16
- package/src/lifecycle/dispose/sync-disposable.ts +21 -5
- package/src/lifecycle/event/event.ts +3 -3
- package/src/lifecycle/event/type.ts +2 -2
- package/src/promise/is-promise.ts +3 -0
- package/src/schedule/timeout.ts +2 -2
- package/lib/autoindex.d.ts.map +0 -1
- package/lib/autoindex.js.map +0 -1
|
@@ -8,7 +8,7 @@ import { DuplicateDisposedError } from './disposedError.js';
|
|
|
8
8
|
*/
|
|
9
9
|
export class DisposableOnce {
|
|
10
10
|
_disposed;
|
|
11
|
-
get
|
|
11
|
+
get disposed() {
|
|
12
12
|
return !!this._disposed;
|
|
13
13
|
}
|
|
14
14
|
dispose() {
|
|
@@ -28,9 +28,16 @@ export class DisposableOnce {
|
|
|
28
28
|
* 完整版disposable类
|
|
29
29
|
* 可以继承
|
|
30
30
|
* 也可以直接用(相当于一个DisposableStack)
|
|
31
|
+
*
|
|
32
|
+
* 抛出异常的行为会延迟到所有资源都尝试释放完毕之后,因此显然只会抛出其中一个异常给dispose()的调用者
|
|
33
|
+
* 每一个资源释放失败,都会分别触发onDisposeError事件,如果此事件存在监听器,则最后不会抛出异常(处非监听器本身重新抛出)
|
|
34
|
+
* 不支持在dispose过程中添加onError事件监听器
|
|
35
|
+
*
|
|
31
36
|
*/
|
|
32
37
|
export class EnhancedDisposable extends AbstractEnhancedDisposable {
|
|
33
38
|
_dispose(disposables) {
|
|
39
|
+
const hasListener = this._onDisposeError.listenerCount() > 0;
|
|
40
|
+
let lastError = null;
|
|
34
41
|
for (const item of disposables.values()) {
|
|
35
42
|
try {
|
|
36
43
|
if (this._logger.enabled)
|
|
@@ -38,13 +45,22 @@ export class EnhancedDisposable extends AbstractEnhancedDisposable {
|
|
|
38
45
|
item.dispose();
|
|
39
46
|
}
|
|
40
47
|
catch (e) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
48
|
+
if (hasListener) {
|
|
49
|
+
try {
|
|
50
|
+
this._onDisposeError.fire(convertCaughtError(e));
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
lastError = e;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
lastError = e;
|
|
45
58
|
}
|
|
46
59
|
}
|
|
47
60
|
}
|
|
61
|
+
if (lastError) {
|
|
62
|
+
throw lastError;
|
|
63
|
+
}
|
|
48
64
|
}
|
|
49
65
|
/// compitable with stack
|
|
50
66
|
[Symbol.dispose] = this.dispose;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-disposable.js","sourceRoot":"","sources":["../../../src/lifecycle/dispose/sync-disposable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAyB,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAoB,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;GAEG;AACH,MAAM,OAAgB,cAAc;IAC3B,SAAS,CAAoB;IAErC,IAAW,
|
|
1
|
+
{"version":3,"file":"sync-disposable.js","sourceRoot":"","sources":["../../../src/lifecycle/dispose/sync-disposable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAyB,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAoB,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;GAEG;AACH,MAAM,OAAgB,cAAc;IAC3B,SAAS,CAAoB;IAErC,IAAW,QAAQ;QAClB,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IACzB,CAAC;IACM,OAAO;QACb,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,CAAC,GAAG,IAAI,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3D,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,OAAO;QACR,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,sBAAsB,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjB,CAAC;IACD,CAAC,MAAM,CAAC,OAAO,CAAC;QACf,IAAI,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;CAED;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,kBAAmB,SAAQ,0BAAiC;IACrD,QAAQ,CAAC,WAAmC;QAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAE7D,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC;gBACJ,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO;oBAAE,IAAI,CAAC,OAAO,CAAC,WAAW,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,IAAI,WAAW,EAAE,CAAC;oBACjB,IAAI,CAAC;wBACJ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClD,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACZ,SAAS,GAAG,CAAC,CAAC;oBACf,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,SAAS,GAAG,CAAC,CAAC;gBACf,CAAC;YACF,CAAC;QACF,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACf,MAAM,SAAS,CAAC;QACjB,CAAC;IACF,CAAC;IAED,yBAAyB;IAClB,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;CACvC"}
|
|
@@ -31,7 +31,7 @@ export declare class Emitter<T = unknown> implements IEventEmitter<T> {
|
|
|
31
31
|
wait(): Promise<T>;
|
|
32
32
|
private checkDeleted;
|
|
33
33
|
private _disposed;
|
|
34
|
-
get
|
|
34
|
+
get disposed(): boolean;
|
|
35
35
|
/**
|
|
36
36
|
* 运行过程中可以dispose,本次运行仍然会继续到最后
|
|
37
37
|
* 但立即不能再次调用类似handle的方法
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/event/event.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAIhF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAI5E;;GAEG;AACH,qBAAa,OAAO,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;aAKhC,WAAW,EAAE,MAAM;IAJ/C,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,GAAE,MAAsB;IAiBxD,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;;;OAGG;IACH,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW;IAsB9C;;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,
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/event/event.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAIhF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAI5E;;GAEG;AACH,qBAAa,OAAO,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;aAKhC,WAAW,EAAE,MAAM;IAJ/C,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,GAAE,MAAsB;IAiBxD,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;;;OAGG;IACH,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW;IAsB9C;;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,QAAQ,YAElB;IAED;;;OAGG;IACH,OAAO;IA8BP,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,aAAgB;IAEzC,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAW5C,OAAO,CAAC,mBAAmB;CAK3B"}
|
|
@@ -22,7 +22,7 @@ export class Emitter {
|
|
|
22
22
|
wait: {
|
|
23
23
|
get: () => this.wait.bind(this),
|
|
24
24
|
},
|
|
25
|
-
|
|
25
|
+
disposed: {
|
|
26
26
|
get: () => this._disposed,
|
|
27
27
|
},
|
|
28
28
|
});
|
|
@@ -135,7 +135,7 @@ export class Emitter {
|
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
137
|
_disposed = false;
|
|
138
|
-
get
|
|
138
|
+
get disposed() {
|
|
139
139
|
return this._disposed;
|
|
140
140
|
}
|
|
141
141
|
/**
|
|
@@ -153,7 +153,7 @@ export class Emitter {
|
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
155
|
this._waittings = undefined;
|
|
156
|
-
const trace = createStackTraceHolder('disposed');
|
|
156
|
+
const trace = createStackTraceHolder('disposed', this.dispose);
|
|
157
157
|
const makeUnCallable = (name) => {
|
|
158
158
|
Object.assign(this, {
|
|
159
159
|
[name]() {
|
|
@@ -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,mBAAmB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChF,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,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAEzC;;GAEG;AACH,MAAM,OAAO,OAAO;IAKS;IAJlB,UAAU,CAAmC;IAC/C,SAAS,GAAG,KAAK,CAAC;IAClB,6BAA6B,GAAG,KAAK,CAAC;IAE9C,YAA4B,cAAsB,aAAa;QAAnC,gBAAW,GAAX,WAAW,CAAwB;QAC9D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC7D,IAAI,EAAE;gBACL,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;aAC/B;YACD,IAAI,EAAE;gBACL,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;aAC/B;YACD,
|
|
1
|
+
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../../src/lifecycle/event/event.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,7 +44,7 @@ export interface IEventEmitter<T = unknown> extends IDisposable {
|
|
|
44
44
|
* 创建一个等待下次触发的promise
|
|
45
45
|
*/
|
|
46
46
|
wait(): Promise<T>;
|
|
47
|
-
readonly
|
|
47
|
+
readonly disposed: boolean;
|
|
48
48
|
}
|
|
49
49
|
export type EventHandler<T> = (data: T) => void;
|
|
50
50
|
/**
|
|
@@ -54,7 +54,7 @@ export interface EventRegister<T> {
|
|
|
54
54
|
(callback: EventHandler<T>): IDisposable;
|
|
55
55
|
once(callback: EventHandler<T>): IDisposable;
|
|
56
56
|
wait(): IDisposable;
|
|
57
|
-
readonly
|
|
57
|
+
readonly disposed: boolean;
|
|
58
58
|
}
|
|
59
59
|
export type EventEmitterMap<T extends Record<string, unknown>> = {
|
|
60
60
|
[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;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;IAE/C;;OAEG;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,
|
|
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;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;IAE/C;;OAEG;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,QAAQ,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAEhD;;GAEG;AACH,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,QAAQ,EAAE,OAAO,CAAC;CAC3B;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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-promise.d.ts","sourceRoot":"","sources":["../../src/promise/is-promise.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,CAE7E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-promise.js","sourceRoot":"","sources":["../../src/promise/is-promise.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAAC,MAAe;IAC5C,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,OAAQ,MAAc,CAAC,IAAI,KAAK,UAAU,CAAC;AACpG,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function bindThis(method: Function, context: ClassMethodDecoratorContext): (((this: any, ...args: any[]) => any) & import("../../autoindex.js").NamedObject) | undefined;
|
|
1
|
+
export declare function bindThis(method: Function, context: ClassMethodDecoratorContext): (((this: any, ...args: any[]) => any) & import("../../autoindex.generated.js").NamedObject) | undefined;
|
|
2
2
|
//# sourceMappingURL=bind.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bind.d.ts","sourceRoot":"","sources":["../../../src/reflection/methods/bind.ts"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,YAKL,GAAG,WAAW,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"bind.d.ts","sourceRoot":"","sources":["../../../src/reflection/methods/bind.ts"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,YAKL,GAAG,WAAW,GAAG,EAAE,4EAS5F"}
|
|
@@ -18,7 +18,7 @@ export declare class Interval extends EnhancedDisposable {
|
|
|
18
18
|
private readonly ms;
|
|
19
19
|
private readonly unref;
|
|
20
20
|
private readonly _emitter;
|
|
21
|
-
readonly onTick: import("../autoindex.js").EventRegister<void>;
|
|
21
|
+
readonly onTick: import("../autoindex.generated.js").EventRegister<void>;
|
|
22
22
|
private timer?;
|
|
23
23
|
constructor(ms: number, unref?: boolean);
|
|
24
24
|
fire(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interval.d.ts","sourceRoot":"","sources":["../../src/schedule/interval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAK7E;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,KAAK,UAAQ;;;EAarE;AAED;;;;GAIG;AACH,qBAAa,QAAS,SAAQ,kBAAkB;IAM9C,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,KAAK;IANvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;IAChE,SAAgB,MAAM,
|
|
1
|
+
{"version":3,"file":"interval.d.ts","sourceRoot":"","sources":["../../src/schedule/interval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAK7E;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,KAAK,UAAQ;;;EAarE;AAED;;;;GAIG;AACH,qBAAa,QAAS,SAAQ,kBAAkB;IAM9C,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,KAAK;IANvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;IAChE,SAAgB,MAAM,0DAAuB;IAC7C,OAAO,CAAC,KAAK,CAAC,CAAc;gBAGV,EAAE,EAAE,MAAM,EACV,KAAK,UAAQ;IAM/B,IAAI;IAIJ,MAAM;IAKN,KAAK;IAKI,OAAO;IAKhB,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG;CAUzD"}
|
|
@@ -10,6 +10,6 @@ export declare function timeout(ms: number, error?: string, unref?: boolean): Pr
|
|
|
10
10
|
* @returns promise resolve after specific time
|
|
11
11
|
*/
|
|
12
12
|
export declare function sleep(ms: number, unref?: boolean): Promise<void>;
|
|
13
|
-
export declare function raceTimeout<T>(ms: number, p: PromiseLike<T>):
|
|
14
|
-
export declare function raceTimeout<T>(ms: number, message: string, p: PromiseLike<T>):
|
|
13
|
+
export declare function raceTimeout<T>(ms: number, p: PromiseLike<T>): Promise<T>;
|
|
14
|
+
export declare function raceTimeout<T>(ms: number, message: string, p: PromiseLike<T>): Promise<T>;
|
|
15
15
|
//# sourceMappingURL=timeout.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../src/schedule/timeout.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,SAAgB,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAOxF;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAO9D;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../src/schedule/timeout.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,SAAgB,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAOxF;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAO9D;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAC1E,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -9,7 +9,7 @@ export declare class SimpleStateMachine<StateType, EventType> {
|
|
|
9
9
|
protected currentState: StateType;
|
|
10
10
|
protected readonly rules: ISsmRuleMap<StateType, EventType>;
|
|
11
11
|
private readonly _onStateChange;
|
|
12
|
-
readonly onStateChange: import("../autoindex.js").EventRegister<IStateChangeEvent<StateType, EventType>>;
|
|
12
|
+
readonly onStateChange: import("../autoindex.generated.js").EventRegister<IStateChangeEvent<StateType, EventType>>;
|
|
13
13
|
constructor(rules: ISsmRuleMap<StateType, EventType>, init_state: StateType);
|
|
14
14
|
protected moveTo(state: StateType): void;
|
|
15
15
|
getName(): StateType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-state-machine.d.ts","sourceRoot":"","sources":["../../src/state/simple-state-machine.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,CAAC,SAAS,EAAE,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAElG,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC;AAE7D,MAAM,WAAW,iBAAiB,CAAC,SAAS,EAAE,SAAS;IACtD,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,SAAS,CAAC;IACd,MAAM,EAAE,SAAS,CAAC;CAClB;AAED,qBAAa,kBAAkB,CAAC,SAAS,EAAE,SAAS;IACnD,UAAkB,YAAY,EAAE,SAAS,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAE5D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0D;IACzF,SAAgB,aAAa,
|
|
1
|
+
{"version":3,"file":"simple-state-machine.d.ts","sourceRoot":"","sources":["../../src/state/simple-state-machine.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,CAAC,SAAS,EAAE,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAElG,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC;AAE7D,MAAM,WAAW,iBAAiB,CAAC,SAAS,EAAE,SAAS;IACtD,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,SAAS,CAAC;IACd,MAAM,EAAE,SAAS,CAAC;CAClB;AAED,qBAAa,kBAAkB,CAAC,SAAS,EAAE,SAAS;IACnD,UAAkB,YAAY,EAAE,SAAS,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAE5D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0D;IACzF,SAAgB,aAAa,6FAAgC;gBAEjD,KAAK,EAAE,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,UAAU,EAAE,SAAS;IAK3E,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS;IAMjC,OAAO;IAIP,MAAM,CAAC,KAAK,EAAE,SAAS;CAcvB"}
|
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.21",
|
|
5
5
|
"description": "Common utilities",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"utilities",
|
|
@@ -11,8 +11,12 @@
|
|
|
11
11
|
],
|
|
12
12
|
"exports": {
|
|
13
13
|
".": {
|
|
14
|
-
"
|
|
15
|
-
|
|
14
|
+
"esbuild": {
|
|
15
|
+
"early-loader": "./src/early-loader.devel.ts",
|
|
16
|
+
"generate": "./src/generate.devel.ts"
|
|
17
|
+
},
|
|
18
|
+
"source": "./src/autoindex.generated.ts",
|
|
19
|
+
"default": "./lib/autoindex.generated.js"
|
|
16
20
|
},
|
|
17
21
|
"./package.json": "./package.json"
|
|
18
22
|
},
|
|
@@ -20,16 +24,16 @@
|
|
|
20
24
|
"devDependencies": {
|
|
21
25
|
"@types/debug": "^4.1.13",
|
|
22
26
|
"@build-script/autoindex": "^0.0.21",
|
|
23
|
-
"@build-script/codegen": "^1.0.21",
|
|
24
|
-
"@mpis/publisher": "^0.0.19",
|
|
25
27
|
"@build-script/baseline-rig": "latest",
|
|
28
|
+
"@build-script/codegen": "^1.0.21",
|
|
26
29
|
"@idlebox/itypes": "^1.0.19",
|
|
30
|
+
"@mpis/publisher": "^0.0.19",
|
|
27
31
|
"@mpis/run": "^0.0.25"
|
|
28
32
|
},
|
|
29
33
|
"dependencies": {
|
|
30
34
|
"debug": "^4.4.3",
|
|
31
35
|
"tslib": "^2.8.1",
|
|
32
|
-
"@idlebox/errors": "^0.1.
|
|
36
|
+
"@idlebox/errors": "^0.1.20"
|
|
33
37
|
},
|
|
34
38
|
"license": "MIT",
|
|
35
39
|
"author": "GongT <admin@gongt.me>",
|
|
@@ -38,7 +42,7 @@
|
|
|
38
42
|
"url": "git+https://github.com/GongT/baobao.git",
|
|
39
43
|
"directory": "@idlebox/common"
|
|
40
44
|
},
|
|
41
|
-
"main": "./lib/autoindex.js",
|
|
45
|
+
"main": "./lib/autoindex.generated.js",
|
|
42
46
|
"scripts": {
|
|
43
47
|
"build": "mpis-run build",
|
|
44
48
|
"watch": "mpis-run watch",
|
|
@@ -83,6 +83,13 @@
|
|
|
83
83
|
export { isSerializable } from "./debugging/serializable.js";
|
|
84
84
|
export { getTypeOf } from "./debugging/serializable.js";
|
|
85
85
|
export { assertSerializable } from "./debugging/serializable.js";
|
|
86
|
+
/* early-loader.devel.ts */
|
|
87
|
+
// Identifiers (5)
|
|
88
|
+
/* export { convertCaughtError } from "early-loader.devel.ts" # no rename early-loader.devel.ts */
|
|
89
|
+
/* export { createStackTraceHolder } from "early-loader.devel.ts" # no rename early-loader.devel.ts */
|
|
90
|
+
/* export { globalObject } from "early-loader.devel.ts" # no rename early-loader.devel.ts */
|
|
91
|
+
/* export { prettyFormatError } from "early-loader.devel.ts" # no rename early-loader.devel.ts */
|
|
92
|
+
/* export { prettyPrintError } from "early-loader.devel.ts" # no rename early-loader.devel.ts */
|
|
86
93
|
/* error/cause.ts */
|
|
87
94
|
// Identifiers (2)
|
|
88
95
|
export { getRootCause } from "./error/cause.js";
|
|
@@ -127,6 +134,8 @@
|
|
|
127
134
|
/* function/noop.ts */
|
|
128
135
|
// Identifiers (1)
|
|
129
136
|
export { noop } from "./function/noop.js";
|
|
137
|
+
/* generate.devel.ts */
|
|
138
|
+
// Identifiers (0)
|
|
130
139
|
/* iterate/merge-iterable.ts */
|
|
131
140
|
// Identifiers (4)
|
|
132
141
|
export { mergeIterables } from "./iterate/merge-iterable.js";
|
|
@@ -156,9 +165,10 @@
|
|
|
156
165
|
export { functionToDisposable } from "./lifecycle/dispose/bridges/function.js";
|
|
157
166
|
export { disposerFunction } from "./lifecycle/dispose/bridges/function.js";
|
|
158
167
|
/* lifecycle/dispose/bridges/native.ts */
|
|
159
|
-
// Identifiers (
|
|
168
|
+
// Identifiers (3)
|
|
160
169
|
export { fromNativeDisposable } from "./lifecycle/dispose/bridges/native.js";
|
|
161
|
-
export {
|
|
170
|
+
export { toNativeDisposableAsync } from "./lifecycle/dispose/bridges/native.js";
|
|
171
|
+
export { toNativeDisposableSync } from "./lifecycle/dispose/bridges/native.js";
|
|
162
172
|
/* lifecycle/dispose/bridges/streams.ts */
|
|
163
173
|
// Identifiers (2)
|
|
164
174
|
export { closableToDisposable } from "./lifecycle/dispose/bridges/streams.js";
|
|
@@ -166,9 +176,10 @@
|
|
|
166
176
|
/* lifecycle/dispose/debug.ts */
|
|
167
177
|
// Identifiers (0)
|
|
168
178
|
/* lifecycle/dispose/disposable.ts */
|
|
169
|
-
// Identifiers (
|
|
179
|
+
// Identifiers (6)
|
|
170
180
|
export { DuplicateDisposeAction } from "./lifecycle/dispose/disposable.js";
|
|
171
181
|
export type { IDisposableEvents } from "./lifecycle/dispose/disposable.js";
|
|
182
|
+
export type { IBackReferenceDisposableEvent } from "./lifecycle/dispose/disposable.js";
|
|
172
183
|
export type { IDisposable } from "./lifecycle/dispose/disposable.js";
|
|
173
184
|
export type { IAsyncDisposable } from "./lifecycle/dispose/disposable.js";
|
|
174
185
|
export { AbstractEnhancedDisposable } from "./lifecycle/dispose/disposable.js";
|
|
@@ -312,6 +323,9 @@
|
|
|
312
323
|
export type { ProgressCallback } from "./promise/deferred-promise.js";
|
|
313
324
|
export type { IProgressHolder } from "./promise/deferred-promise.js";
|
|
314
325
|
export { DeferredPromise } from "./promise/deferred-promise.js";
|
|
326
|
+
/* promise/is-promise.ts */
|
|
327
|
+
// Identifiers (1)
|
|
328
|
+
export { isPromiseLike } from "./promise/is-promise.js";
|
|
315
329
|
/* promise/promise-bool.ts */
|
|
316
330
|
// Identifiers (1)
|
|
317
331
|
export { promiseBool } from "./promise/promise-bool.js";
|
|
@@ -321,7 +335,7 @@
|
|
|
321
335
|
/* re-export.ts */
|
|
322
336
|
// Identifiers (0)
|
|
323
337
|
// References (1)
|
|
324
|
-
export * from "@idlebox/errors";
|
|
338
|
+
export * from "@idlebox/errors"; /* reexport from node_modules */
|
|
325
339
|
/* reflection/classes/pointer.ts */
|
|
326
340
|
// Identifiers (2)
|
|
327
341
|
export type { Ref } from "./reflection/classes/pointer.js";
|
|
@@ -3,30 +3,49 @@ import { dispose_name } from './debug.js';
|
|
|
3
3
|
import { AbstractEnhancedDisposable, type IAsyncDisposable } from './disposable.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* 完整版disposable类
|
|
7
|
+
* 可以继承
|
|
8
|
+
* 也可以直接用(相当于一个DisposableStack)
|
|
9
|
+
*
|
|
10
|
+
* 抛出异常的行为会延迟到所有资源都尝试释放完毕之后,因此显然只会抛出其中一个异常给dispose()的调用者
|
|
11
|
+
* 每一个资源释放失败,都会分别触发onDisposeError事件,如果此事件存在监听器,则最后不会抛出异常(处非监听器本身重新抛出)
|
|
12
|
+
* 不支持在dispose过程中添加onError事件监听器
|
|
13
|
+
*
|
|
7
14
|
* @public
|
|
8
15
|
*/
|
|
9
16
|
export class EnhancedAsyncDisposable extends AbstractEnhancedDisposable<true> implements IAsyncDisposable {
|
|
10
17
|
protected override async _dispose(disposables: readonly IAsyncDisposable[]): Promise<void> {
|
|
18
|
+
const hasListener = this._onDisposeError.listenerCount() > 0;
|
|
19
|
+
|
|
20
|
+
let lastError = null;
|
|
11
21
|
for (const d of disposables) {
|
|
12
22
|
try {
|
|
13
23
|
if (this._logger.enabled) this._logger(`dispose ${dispose_name(d)}`);
|
|
14
24
|
await d.dispose();
|
|
15
25
|
} catch (e) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
26
|
+
if (hasListener) {
|
|
27
|
+
try {
|
|
28
|
+
this._onDisposeError.fire(convertCaughtError(e));
|
|
29
|
+
} catch (e) {
|
|
30
|
+
lastError = e;
|
|
31
|
+
}
|
|
32
|
+
} else {
|
|
33
|
+
lastError = e;
|
|
20
34
|
}
|
|
21
35
|
}
|
|
22
36
|
}
|
|
37
|
+
if (lastError) {
|
|
38
|
+
throw lastError;
|
|
39
|
+
}
|
|
23
40
|
}
|
|
24
41
|
|
|
25
42
|
[Symbol.asyncDispose] = this.dispose;
|
|
26
43
|
}
|
|
27
44
|
|
|
28
45
|
/**
|
|
29
|
-
*
|
|
46
|
+
* 和EnhancedAsyncDisposable相同,但是同时释放所有资源
|
|
47
|
+
* 并且忽略任何错误
|
|
48
|
+
*
|
|
30
49
|
* @public
|
|
31
50
|
*/
|
|
32
51
|
export class UnorderedAsyncDisposable extends EnhancedAsyncDisposable {
|
|
@@ -14,11 +14,9 @@ export function fromNativeDisposable(disposable: any): any {
|
|
|
14
14
|
return disposable as any;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
export function
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
return disposable as any;
|
|
17
|
+
export function toNativeDisposableAsync(disposable: IAsyncDisposable): AsyncDisposable {
|
|
18
|
+
return Object.assign(disposable, { [Symbol.asyncDispose]: disposable.dispose }) as any;
|
|
19
|
+
}
|
|
20
|
+
export function toNativeDisposableSync(disposable: IDisposable): Disposable {
|
|
21
|
+
return Object.assign(disposable, { [Symbol.dispose]: disposable.dispose }) as any;
|
|
24
22
|
}
|
|
@@ -2,37 +2,42 @@ import { defineInspectMethod } from '../../../debugging/inspect.js';
|
|
|
2
2
|
import { objectName } from '../../../debugging/object-with-name.js';
|
|
3
3
|
import type { IAsyncDisposable } from '../disposable.js';
|
|
4
4
|
|
|
5
|
-
type ClosableAsync =
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
type ClosableAsync =
|
|
6
|
+
| {
|
|
7
|
+
closed?: boolean;
|
|
8
|
+
close(): Promise<any>;
|
|
9
|
+
}
|
|
10
|
+
| {
|
|
11
|
+
closed?: boolean;
|
|
12
|
+
close(cb: (e?: Error) => void): any;
|
|
13
|
+
};
|
|
9
14
|
|
|
10
15
|
/**
|
|
11
16
|
* Convert "close()"-able object to disposable
|
|
17
|
+
*
|
|
18
|
+
* FIXME: 关闭事件不同步
|
|
19
|
+
*
|
|
12
20
|
* @public
|
|
13
21
|
*/
|
|
14
22
|
export function closableToDisposable<T extends ClosableAsync>(closable: T): IAsyncDisposable {
|
|
15
|
-
const promised = closable.close.length === 0;
|
|
16
|
-
|
|
17
23
|
return defineInspectMethod(
|
|
18
24
|
{
|
|
19
25
|
get displayName() {
|
|
20
26
|
return `closable(${objectName(closable) || 'unknown'})`;
|
|
21
27
|
},
|
|
22
28
|
dispose(): Promise<void> {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
} else {
|
|
31
|
-
resolve();
|
|
32
|
-
}
|
|
33
|
-
});
|
|
29
|
+
return new Promise<void>((resolve, reject) => {
|
|
30
|
+
const mayPromise = closable.close((error) => {
|
|
31
|
+
if (error) {
|
|
32
|
+
reject(error);
|
|
33
|
+
} else {
|
|
34
|
+
resolve();
|
|
35
|
+
}
|
|
34
36
|
});
|
|
35
|
-
|
|
37
|
+
if (typeof mayPromise?.then === 'function') {
|
|
38
|
+
mayPromise.then(resolve, reject);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
36
41
|
},
|
|
37
42
|
},
|
|
38
43
|
(_depth, options) => {
|
|
@@ -41,37 +46,42 @@ export function closableToDisposable<T extends ClosableAsync>(closable: T): IAsy
|
|
|
41
46
|
);
|
|
42
47
|
}
|
|
43
48
|
|
|
44
|
-
type EndableAsync =
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
49
|
+
type EndableAsync =
|
|
50
|
+
| {
|
|
51
|
+
ended?: boolean;
|
|
52
|
+
end(): Promise<any>;
|
|
53
|
+
}
|
|
54
|
+
| {
|
|
55
|
+
ended?: boolean;
|
|
56
|
+
end(cb: (e?: Error) => void): any;
|
|
57
|
+
};
|
|
48
58
|
|
|
49
59
|
/**
|
|
50
60
|
* Convert "end()"-able object to disposable
|
|
61
|
+
*
|
|
62
|
+
* FIXME: 关闭事件不同步
|
|
63
|
+
*
|
|
51
64
|
* @public
|
|
52
65
|
*/
|
|
53
66
|
export function endableToDisposable<T extends EndableAsync>(endable: T): IAsyncDisposable {
|
|
54
|
-
const promised = endable.end.length === 0;
|
|
55
|
-
|
|
56
67
|
return defineInspectMethod(
|
|
57
68
|
{
|
|
58
69
|
get displayName() {
|
|
59
70
|
return `endable(${objectName(endable) || 'unknown'})`;
|
|
60
71
|
},
|
|
61
72
|
dispose(): Promise<void> {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
} else {
|
|
70
|
-
resolve();
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
+
return new Promise<void>((resolve, reject) => {
|
|
74
|
+
const mayPromise = endable.end((error) => {
|
|
75
|
+
if (error) {
|
|
76
|
+
reject(error);
|
|
77
|
+
} else {
|
|
78
|
+
resolve();
|
|
79
|
+
}
|
|
73
80
|
});
|
|
74
|
-
|
|
81
|
+
if (typeof mayPromise?.then === 'function') {
|
|
82
|
+
mayPromise.then(resolve, reject);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
75
85
|
},
|
|
76
86
|
},
|
|
77
87
|
(_depth, options) => {
|