@idlebox/common 1.4.12 → 1.4.13
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/array/arrayDiff.d.ts +18 -0
- package/lib/array/arrayDiff.d.ts.map +1 -0
- package/lib/array/arrayDiff.js +23 -0
- package/lib/array/arrayDiff.js.map +1 -0
- package/lib/array/arraySame.d.ts +6 -0
- package/lib/array/arraySame.d.ts.map +1 -0
- package/lib/array/arraySame.js +16 -0
- package/lib/array/arraySame.js.map +1 -0
- package/lib/array/arrayUnique.d.ts +21 -0
- package/lib/array/arrayUnique.d.ts.map +1 -0
- package/lib/array/arrayUnique.js +43 -0
- package/lib/array/arrayUnique.js.map +1 -0
- package/lib/array/normalizeArray.d.ts +6 -0
- package/lib/array/normalizeArray.d.ts.map +1 -0
- package/lib/array/normalizeArray.js +14 -0
- package/lib/array/normalizeArray.js.map +1 -0
- package/lib/array/sortAlpha.d.ts +8 -0
- package/lib/array/sortAlpha.d.ts.map +1 -0
- package/lib/array/sortAlpha.js +16 -0
- package/lib/array/sortAlpha.js.map +1 -0
- package/lib/autoindex.d.ts +184 -0
- package/lib/autoindex.d.ts.map +1 -0
- package/lib/autoindex.js +256 -0
- package/lib/autoindex.js.map +1 -0
- package/lib/date/consts.d.ts +6 -0
- package/lib/date/consts.d.ts.map +1 -0
- package/lib/date/consts.js +6 -0
- package/lib/date/consts.js.map +1 -0
- package/lib/date/isInvalid.d.ts +5 -0
- package/lib/date/isInvalid.d.ts.map +1 -0
- package/lib/date/isInvalid.js +7 -0
- package/lib/date/isInvalid.js.map +1 -0
- package/lib/date/sibling.d.ts +8 -0
- package/lib/date/sibling.d.ts.map +1 -0
- package/lib/date/sibling.js +29 -0
- package/lib/date/sibling.js.map +1 -0
- package/lib/date/timeString.d.ts +46 -0
- package/lib/date/timeString.d.ts.map +1 -0
- package/lib/date/timeString.js +126 -0
- package/lib/date/timeString.js.map +1 -0
- package/lib/date/unix.d.ts +9 -0
- package/lib/date/unix.d.ts.map +1 -0
- package/lib/date/unix.js +13 -0
- package/lib/date/unix.js.map +1 -0
- package/lib/debugging/serializable.d.ts +13 -0
- package/lib/debugging/serializable.d.ts.map +1 -0
- package/lib/debugging/serializable.js +124 -0
- package/lib/debugging/serializable.js.map +1 -0
- package/lib/debugging/tryInspect.d.ts +6 -0
- package/lib/debugging/tryInspect.d.ts.map +1 -0
- package/lib/debugging/tryInspect.js +40 -0
- package/lib/debugging/tryInspect.js.map +1 -0
- package/lib/error/convertUnknown.d.ts +2 -0
- package/lib/error/convertUnknown.d.ts.map +1 -0
- package/lib/error/convertUnknown.js +9 -0
- package/lib/error/convertUnknown.js.map +1 -0
- package/lib/error/getFrame.d.ts +6 -0
- package/lib/error/getFrame.d.ts.map +1 -0
- package/lib/error/getFrame.js +14 -0
- package/lib/error/getFrame.js.map +1 -0
- package/lib/error/known.d.ts +14 -0
- package/lib/error/known.d.ts.map +1 -0
- package/lib/error/known.js +34 -0
- package/lib/error/known.js.map +1 -0
- package/lib/error/pretty.d.ts +39 -0
- package/lib/error/pretty.d.ts.map +1 -0
- package/lib/error/pretty.js +348 -0
- package/lib/error/pretty.js.map +1 -0
- package/lib/error/pretty.vscode.d.ts +12 -0
- package/lib/error/pretty.vscode.d.ts.map +1 -0
- package/lib/error/pretty.vscode.js +95 -0
- package/lib/error/pretty.vscode.js.map +1 -0
- package/lib/error-wellknown/exit.error.d.ts +10 -0
- package/lib/error-wellknown/exit.error.d.ts.map +1 -0
- package/lib/error-wellknown/exit.error.js +14 -0
- package/lib/error-wellknown/exit.error.js.map +1 -0
- package/lib/function/asyncCallbackList.d.ts +29 -0
- package/lib/function/asyncCallbackList.d.ts.map +1 -0
- package/lib/function/asyncCallbackList.js +63 -0
- package/lib/function/asyncCallbackList.js.map +1 -0
- package/lib/function/callbackList.d.ts +34 -0
- package/lib/function/callbackList.d.ts.map +1 -0
- package/lib/function/callbackList.js +74 -0
- package/lib/function/callbackList.js.map +1 -0
- package/lib/function/delayCallbackList.d.ts +17 -0
- package/lib/function/delayCallbackList.d.ts.map +1 -0
- package/lib/function/delayCallbackList.js +36 -0
- package/lib/function/delayCallbackList.js.map +1 -0
- package/lib/function/functionName.d.ts +22 -0
- package/lib/function/functionName.d.ts.map +1 -0
- package/lib/function/functionName.js +27 -0
- package/lib/function/functionName.js.map +1 -0
- package/lib/lifecycle/dispose/bridges/rxjs.d.ts +8 -0
- package/lib/lifecycle/dispose/bridges/rxjs.d.ts.map +1 -0
- package/lib/lifecycle/dispose/bridges/rxjs.js +4 -0
- package/lib/lifecycle/dispose/bridges/rxjs.js.map +1 -0
- package/lib/lifecycle/dispose/debug.d.ts +7 -0
- package/lib/lifecycle/dispose/debug.d.ts.map +1 -0
- package/lib/lifecycle/dispose/debug.js +22 -0
- package/lib/lifecycle/dispose/debug.js.map +1 -0
- package/lib/lifecycle/dispose/disposableEvent.d.ts +17 -0
- package/lib/lifecycle/dispose/disposableEvent.d.ts.map +1 -0
- package/lib/lifecycle/dispose/disposableEvent.js +75 -0
- package/lib/lifecycle/dispose/disposableEvent.js.map +1 -0
- package/lib/lifecycle/dispose/disposedError.d.ts +11 -0
- package/lib/lifecycle/dispose/disposedError.d.ts.map +1 -0
- package/lib/lifecycle/dispose/disposedError.js +28 -0
- package/lib/lifecycle/dispose/disposedError.js.map +1 -0
- package/lib/lifecycle/dispose/lifecycle.async.d.ts +46 -0
- package/lib/lifecycle/dispose/lifecycle.async.d.ts.map +1 -0
- package/lib/lifecycle/dispose/lifecycle.async.js +110 -0
- package/lib/lifecycle/dispose/lifecycle.async.js.map +1 -0
- package/lib/lifecycle/dispose/lifecycle.d.ts +27 -0
- package/lib/lifecycle/dispose/lifecycle.d.ts.map +1 -0
- package/lib/lifecycle/dispose/lifecycle.global.d.ts +29 -0
- package/lib/lifecycle/dispose/lifecycle.global.d.ts.map +1 -0
- package/lib/lifecycle/dispose/lifecycle.global.js +57 -0
- package/lib/lifecycle/dispose/lifecycle.global.js.map +1 -0
- package/lib/lifecycle/dispose/lifecycle.js +42 -0
- package/lib/lifecycle/dispose/lifecycle.js.map +1 -0
- package/lib/lifecycle/dispose/lifecycle.sync.d.ts +45 -0
- package/lib/lifecycle/dispose/lifecycle.sync.d.ts.map +1 -0
- package/lib/lifecycle/dispose/lifecycle.sync.js +114 -0
- package/lib/lifecycle/dispose/lifecycle.sync.js.map +1 -0
- package/lib/lifecycle/event/event.d.ts +53 -0
- package/lib/lifecycle/event/event.d.ts.map +1 -0
- package/lib/lifecycle/event/event.js +137 -0
- package/lib/lifecycle/event/event.js.map +1 -0
- package/lib/lifecycle/event/memorized.d.ts +17 -0
- package/lib/lifecycle/event/memorized.d.ts.map +1 -0
- package/lib/lifecycle/event/memorized.js +34 -0
- package/lib/lifecycle/event/memorized.js.map +1 -0
- package/lib/lifecycle/promise/cancel.d.ts +10 -0
- package/lib/lifecycle/promise/cancel.d.ts.map +1 -0
- package/lib/lifecycle/promise/cancel.js +15 -0
- package/lib/lifecycle/promise/cancel.js.map +1 -0
- package/lib/lifecycle/promise/cancellationToken/driver.browser.d.ts +11 -0
- package/lib/lifecycle/promise/cancellationToken/driver.browser.d.ts.map +1 -0
- package/lib/lifecycle/promise/cancellationToken/driver.browser.js +42 -0
- package/lib/lifecycle/promise/cancellationToken/driver.browser.js.map +1 -0
- package/lib/lifecycle/promise/cancellationToken/driver.common.d.ts +11 -0
- package/lib/lifecycle/promise/cancellationToken/driver.common.d.ts.map +1 -0
- package/lib/lifecycle/promise/cancellationToken/driver.common.js +38 -0
- package/lib/lifecycle/promise/cancellationToken/driver.common.js.map +1 -0
- package/lib/lifecycle/promise/cancellationToken/source.d.ts +27 -0
- package/lib/lifecycle/promise/cancellationToken/source.d.ts.map +1 -0
- package/lib/lifecycle/promise/cancellationToken/source.js +26 -0
- package/lib/lifecycle/promise/cancellationToken/source.js.map +1 -0
- package/lib/lifecycle/promise/deferredPromise.d.ts +55 -0
- package/lib/lifecycle/promise/deferredPromise.d.ts.map +1 -0
- package/lib/lifecycle/promise/deferredPromise.js +114 -0
- package/lib/lifecycle/promise/deferredPromise.js.map +1 -0
- package/lib/lifecycle/timeout/interval.d.ts +27 -0
- package/lib/lifecycle/timeout/interval.d.ts.map +1 -0
- package/lib/lifecycle/timeout/interval.js +58 -0
- package/lib/lifecycle/timeout/interval.js.map +1 -0
- package/lib/lifecycle/timeout/timeout.d.ts +16 -0
- package/lib/lifecycle/timeout/timeout.d.ts.map +1 -0
- package/lib/lifecycle/timeout/timeout.js +53 -0
- package/lib/lifecycle/timeout/timeout.js.map +1 -0
- package/lib/lifecycle/timeout/timeoutError.d.ts +11 -0
- package/lib/lifecycle/timeout/timeoutError.d.ts.map +1 -0
- package/lib/lifecycle/timeout/timeoutError.js +16 -0
- package/lib/lifecycle/timeout/timeoutError.js.map +1 -0
- package/lib/log/logger.d.ts +46 -0
- package/lib/log/logger.d.ts.map +1 -0
- package/lib/log/logger.js +95 -0
- package/lib/log/logger.js.map +1 -0
- package/lib/mapSet/customSet.d.ts +31 -0
- package/lib/mapSet/customSet.d.ts.map +1 -0
- package/lib/mapSet/customSet.js +70 -0
- package/lib/mapSet/customSet.js.map +1 -0
- package/lib/mapSet/extendMap.d.ts +21 -0
- package/lib/mapSet/extendMap.d.ts.map +1 -0
- package/lib/mapSet/extendMap.js +26 -0
- package/lib/mapSet/extendMap.js.map +1 -0
- package/lib/misc/assertNotNull.d.ts +12 -0
- package/lib/misc/assertNotNull.d.ts.map +1 -0
- package/lib/misc/assertNotNull.js +20 -0
- package/lib/misc/assertNotNull.js.map +1 -0
- package/lib/misc/package.json.d.ts +100 -0
- package/lib/misc/package.json.d.ts.map +1 -0
- package/lib/misc/package.json.js +37 -0
- package/lib/misc/package.json.js.map +1 -0
- package/lib/object/definePublicConstant.d.ts +3 -0
- package/lib/object/definePublicConstant.d.ts.map +1 -0
- package/lib/object/definePublicConstant.js +17 -0
- package/lib/object/definePublicConstant.js.map +1 -0
- package/lib/object/initOnRead.d.ts +8 -0
- package/lib/object/initOnRead.d.ts.map +1 -0
- package/lib/object/initOnRead.js +23 -0
- package/lib/object/initOnRead.js.map +1 -0
- package/lib/object/objectPath.d.ts +6 -0
- package/lib/object/objectPath.d.ts.map +1 -0
- package/lib/object/objectPath.js +11 -0
- package/lib/object/objectPath.js.map +1 -0
- package/lib/object/objectSame.d.ts +11 -0
- package/lib/object/objectSame.d.ts.map +1 -0
- package/lib/object/objectSame.js +51 -0
- package/lib/object/objectSame.js.map +1 -0
- package/lib/path/isAbsolute.d.ts +10 -0
- package/lib/path/isAbsolute.d.ts.map +1 -0
- package/lib/path/isAbsolute.js +12 -0
- package/lib/path/isAbsolute.js.map +1 -0
- package/lib/path/normalizePath.d.ts +23 -0
- package/lib/path/normalizePath.d.ts.map +1 -0
- package/lib/path/normalizePath.js +125 -0
- package/lib/path/normalizePath.js.map +1 -0
- package/lib/path/pathArray.d.ts +54 -0
- package/lib/path/pathArray.d.ts.map +1 -0
- package/lib/path/pathArray.js +135 -0
- package/lib/path/pathArray.js.map +1 -0
- package/lib/platform/globalObject.d.ts +9 -0
- package/lib/platform/globalObject.d.ts.map +1 -0
- package/lib/platform/globalObject.js +17 -0
- package/lib/platform/globalObject.js.map +1 -0
- package/lib/platform/globalSingleton.d.ts +29 -0
- package/lib/platform/globalSingleton.d.ts.map +1 -0
- package/lib/platform/globalSingleton.js +60 -0
- package/lib/platform/globalSingleton.js.map +1 -0
- package/lib/platform/globalSymbol.d.ts +13 -0
- package/lib/platform/globalSymbol.d.ts.map +1 -0
- package/lib/platform/globalSymbol.js +34 -0
- package/lib/platform/globalSymbol.js.map +1 -0
- package/lib/platform/os.d.ts +17 -0
- package/lib/platform/os.d.ts.map +1 -0
- package/lib/platform/os.js +57 -0
- package/lib/platform/os.js.map +1 -0
- package/lib/promise/awaitIterator.d.ts +5 -0
- package/lib/promise/awaitIterator.d.ts.map +1 -0
- package/lib/promise/awaitIterator.js +22 -0
- package/lib/promise/awaitIterator.js.map +1 -0
- package/lib/promise/finishAllPromise.d.ts +13 -0
- package/lib/promise/finishAllPromise.d.ts.map +1 -0
- package/lib/promise/finishAllPromise.js +37 -0
- package/lib/promise/finishAllPromise.js.map +1 -0
- package/lib/promise/promiseBool.d.ts +6 -0
- package/lib/promise/promiseBool.d.ts.map +1 -0
- package/lib/promise/promiseBool.js +8 -0
- package/lib/promise/promiseBool.js.map +1 -0
- package/lib/promise/promiseCollection.d.ts +11 -0
- package/lib/promise/promiseCollection.d.ts.map +1 -0
- package/lib/promise/promiseCollection.js +34 -0
- package/lib/promise/promiseCollection.js.map +1 -0
- package/lib/promise/timeoutPromiseCollection.d.ts +7 -0
- package/lib/promise/timeoutPromiseCollection.d.ts.map +1 -0
- package/lib/promise/timeoutPromiseCollection.js +20 -0
- package/lib/promise/timeoutPromiseCollection.js.map +1 -0
- package/lib/reflection/classes/hookClass.d.ts +11 -0
- package/lib/reflection/classes/hookClass.d.ts.map +1 -0
- package/lib/reflection/classes/hookClass.js +34 -0
- package/lib/reflection/classes/hookClass.js.map +1 -0
- package/lib/reflection/classes/singleton.d.ts +7 -0
- package/lib/reflection/classes/singleton.d.ts.map +1 -0
- package/lib/reflection/classes/singleton.js +30 -0
- package/lib/reflection/classes/singleton.js.map +1 -0
- package/lib/reflection/methods/bind.d.ts +5 -0
- package/lib/reflection/methods/bind.d.ts.map +1 -0
- package/lib/reflection/methods/bind.js +25 -0
- package/lib/reflection/methods/bind.js.map +1 -0
- package/lib/reflection/methods/initOnRead.d.ts +7 -0
- package/lib/reflection/methods/initOnRead.d.ts.map +1 -0
- package/lib/reflection/methods/initOnRead.js +11 -0
- package/lib/reflection/methods/initOnRead.js.map +1 -0
- package/lib/reflection/methods/memorize.d.ts +8 -0
- package/lib/reflection/methods/memorize.d.ts.map +1 -0
- package/lib/reflection/methods/memorize.js +28 -0
- package/lib/reflection/methods/memorize.js.map +1 -0
- package/lib/state/StateMachine.d.ts +19 -0
- package/lib/state/StateMachine.d.ts.map +1 -0
- package/lib/state/StateMachine.js +30 -0
- package/lib/state/StateMachine.js.map +1 -0
- package/lib/string/castCase.d.ts +17 -0
- package/lib/string/castCase.d.ts.map +1 -0
- package/lib/string/castCase.js +53 -0
- package/lib/string/castCase.js.map +1 -0
- package/lib/string/concatType.generated.d.ts +29 -0
- package/lib/string/concatType.generated.d.ts.map +1 -0
- package/lib/string/concatType.generated.js +17 -0
- package/lib/string/concatType.generated.js.map +1 -0
- package/lib/string/escapeRegexp.d.ts +3 -0
- package/lib/string/escapeRegexp.d.ts.map +1 -0
- package/lib/string/escapeRegexp.js +5 -0
- package/lib/string/escapeRegexp.js.map +1 -0
- package/lib/string/pad2.d.ts +6 -0
- package/lib/string/pad2.d.ts.map +1 -0
- package/lib/string/pad2.js +11 -0
- package/lib/string/pad2.js.map +1 -0
- package/lib/string/sizeString.d.ts +13 -0
- package/lib/string/sizeString.d.ts.map +1 -0
- package/lib/string/sizeString.js +59 -0
- package/lib/string/sizeString.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/lib/typingHelper/deep.partial.d.ts +10 -0
- package/lib/typingHelper/deep.partial.d.ts.map +1 -0
- package/lib/typingHelper/deep.partial.js +2 -0
- package/lib/typingHelper/deep.partial.js.map +1 -0
- package/lib/typingHelper/deep.readonly.d.ts +10 -0
- package/lib/typingHelper/deep.readonly.d.ts.map +1 -0
- package/lib/typingHelper/deep.readonly.js +2 -0
- package/lib/typingHelper/deep.readonly.js.map +1 -0
- package/lib/typingHelper/deep.required.d.ts +10 -0
- package/lib/typingHelper/deep.required.d.ts.map +1 -0
- package/lib/typingHelper/deep.required.js +2 -0
- package/lib/typingHelper/deep.required.js.map +1 -0
- package/lib/typingHelper/deep.writable.d.ts +10 -0
- package/lib/typingHelper/deep.writable.d.ts.map +1 -0
- package/lib/typingHelper/deep.writable.js +2 -0
- package/lib/typingHelper/deep.writable.js.map +1 -0
- package/lib/typingHelper/literal.d.ts +2 -0
- package/lib/typingHelper/literal.d.ts.map +1 -0
- package/lib/typingHelper/literal.js +2 -0
- package/lib/typingHelper/literal.js.map +1 -0
- package/package.json +3 -3
- package/src/autoindex.ts +4 -0
- package/src/string/concatType.generated.ts +9 -4
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { nameFunction } from './functionName.js';
|
|
2
|
+
/**
|
|
3
|
+
* Manage a list of callback
|
|
4
|
+
*/
|
|
5
|
+
export class CallbackList {
|
|
6
|
+
list = [];
|
|
7
|
+
running = false;
|
|
8
|
+
stop = false;
|
|
9
|
+
constructor() {
|
|
10
|
+
this.run = this.run.bind(this);
|
|
11
|
+
}
|
|
12
|
+
count() {
|
|
13
|
+
return this.list.length;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* remove all callback
|
|
17
|
+
*/
|
|
18
|
+
reset() {
|
|
19
|
+
if (this.running) {
|
|
20
|
+
throw new Error("Can not reset when it's running.");
|
|
21
|
+
}
|
|
22
|
+
this.list.length = 0;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* @param name optional name of `item` (will assign displayName to `item`)
|
|
26
|
+
* @returns function list length
|
|
27
|
+
*/
|
|
28
|
+
add(item, name) {
|
|
29
|
+
if (this.running) {
|
|
30
|
+
throw new Error("Can not add callback when it's running.");
|
|
31
|
+
}
|
|
32
|
+
if (name) {
|
|
33
|
+
nameFunction(name, item);
|
|
34
|
+
}
|
|
35
|
+
return this.list.push(item);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* @returns if removed: return `item`; if did not exists: return null
|
|
39
|
+
*/
|
|
40
|
+
remove(item) {
|
|
41
|
+
if (this.running) {
|
|
42
|
+
throw new Error("Can not remove callback when it's running.");
|
|
43
|
+
}
|
|
44
|
+
const found = this.list.indexOf(item);
|
|
45
|
+
if (found !== -1) {
|
|
46
|
+
return this.list.splice(found, 1)[0];
|
|
47
|
+
}
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* in a callback, call this.stopRun() to stop remain callbacks (not by return false)
|
|
52
|
+
* @returns {boolean} true if every callback called, false if stop in middle
|
|
53
|
+
*/
|
|
54
|
+
run(...argument) {
|
|
55
|
+
if (this.running) {
|
|
56
|
+
throw new Error("can not run CallbackList in it's callback.");
|
|
57
|
+
}
|
|
58
|
+
this.stop = false;
|
|
59
|
+
this.running = true;
|
|
60
|
+
for (const cb of this.list) {
|
|
61
|
+
if (this.stop)
|
|
62
|
+
break;
|
|
63
|
+
cb(...argument);
|
|
64
|
+
}
|
|
65
|
+
this.running = false;
|
|
66
|
+
const ret = !this.stop;
|
|
67
|
+
this.stop = false;
|
|
68
|
+
return ret;
|
|
69
|
+
}
|
|
70
|
+
stopRun() {
|
|
71
|
+
this.stop = true;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=callbackList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callbackList.js","sourceRoot":"","sources":["../../src/function/callbackList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAQjD;;GAEG;AACH,MAAM,OAAO,YAAY;IACd,IAAI,GAA2B,EAAE,CAAC;IAClC,OAAO,GAAG,KAAK,CAAC;IAChB,IAAI,GAAG,KAAK,CAAC;IAEvB;QACC,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK;QACJ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,IAA0B,EAAE,IAAa;QAC5C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACV,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAA0B;QAChC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,GAAG,QAAkB;QACxB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAElB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,IAAI;gBAAE,MAAM;YACrB,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,OAAO;QACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;CACD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface MyDelayCallback<Argument extends unknown[]> {
|
|
2
|
+
displayName?: string;
|
|
3
|
+
(...param: Argument): void;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* remember arguments after run
|
|
7
|
+
* run all later added function with memorized argument
|
|
8
|
+
*/
|
|
9
|
+
export declare class DelayCallbackList<Argument extends unknown[]> {
|
|
10
|
+
private delayArgument?;
|
|
11
|
+
private delayComplete;
|
|
12
|
+
protected list?: MyDelayCallback<Argument>[];
|
|
13
|
+
count(): number;
|
|
14
|
+
add(item: MyDelayCallback<Argument>, name?: string): void;
|
|
15
|
+
run(argument: Argument): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=delayCallbackList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delayCallbackList.d.ts","sourceRoot":"","sources":["../../src/function/delayCallbackList.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe,CAAC,QAAQ,SAAS,OAAO,EAAE;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,CAAC,GAAG,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC3B;AAED;;;GAGG;AACH,qBAAa,iBAAiB,CAAC,QAAQ,SAAS,OAAO,EAAE;IACxD,OAAO,CAAC,aAAa,CAAC,CAAW;IACjC,OAAO,CAAC,aAAa,CAAS;IAE9B,SAAS,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAM;IAElD,KAAK;IAIL,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM;IAWlD,GAAG,CAAC,QAAQ,EAAE,QAAQ;CAWtB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { nameFunction } from './functionName.js';
|
|
2
|
+
/**
|
|
3
|
+
* remember arguments after run
|
|
4
|
+
* run all later added function with memorized argument
|
|
5
|
+
*/
|
|
6
|
+
export class DelayCallbackList {
|
|
7
|
+
delayArgument;
|
|
8
|
+
delayComplete = false;
|
|
9
|
+
list = [];
|
|
10
|
+
count() {
|
|
11
|
+
return this.list?.length ?? 0;
|
|
12
|
+
}
|
|
13
|
+
add(item, name) {
|
|
14
|
+
if (name) {
|
|
15
|
+
nameFunction(name, item);
|
|
16
|
+
}
|
|
17
|
+
if (this.delayComplete) {
|
|
18
|
+
item(...this.delayArgument);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
this.list?.push(item);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
run(argument) {
|
|
25
|
+
if (this.delayComplete) {
|
|
26
|
+
throw new Error('call to delay callback twice!');
|
|
27
|
+
}
|
|
28
|
+
this.delayComplete = true;
|
|
29
|
+
this.delayArgument = argument;
|
|
30
|
+
this.list?.forEach((cb) => {
|
|
31
|
+
cb(...argument);
|
|
32
|
+
});
|
|
33
|
+
this.list = undefined;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=delayCallbackList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delayCallbackList.js","sourceRoot":"","sources":["../../src/function/delayCallbackList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAQjD;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IACrB,aAAa,CAAY;IACzB,aAAa,GAAG,KAAK,CAAC;IAEpB,IAAI,GAAiC,EAAE,CAAC;IAElD,KAAK;QACJ,OAAO,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,IAA+B,EAAE,IAAa;QACjD,IAAI,IAAI,EAAE,CAAC;YACV,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,IAAI,CAAC,aAAc,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACF,CAAC;IAED,GAAG,CAAC,QAAkB;QACrB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;QAC9B,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACzB,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IACvB,CAAC;CACD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Function with displayName
|
|
3
|
+
*/
|
|
4
|
+
export interface NamedFunction extends Function {
|
|
5
|
+
displayName: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Get displayName/name of a function
|
|
9
|
+
*/
|
|
10
|
+
export declare function functionName(func: Function): string;
|
|
11
|
+
/**
|
|
12
|
+
* Set displayName of a function
|
|
13
|
+
*/
|
|
14
|
+
export declare function nameFunction<T extends Function>(name: string, func: T): T & NamedFunction;
|
|
15
|
+
export interface MaybeNamedFunction extends Function {
|
|
16
|
+
displayName?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Assert function must have oneof displayName/name property
|
|
20
|
+
*/
|
|
21
|
+
export declare function assertFunctionHasName(func: MaybeNamedFunction): void;
|
|
22
|
+
//# sourceMappingURL=functionName.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functionName.d.ts","sourceRoot":"","sources":["../../src/function/functionName.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC9C,WAAW,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,UAE1C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,aAAa,CAOzF;AAED,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,QAK7D"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get displayName/name of a function
|
|
3
|
+
*/
|
|
4
|
+
export function functionName(func) {
|
|
5
|
+
return func.displayName || func.name;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Set displayName of a function
|
|
9
|
+
*/
|
|
10
|
+
export function nameFunction(name, func) {
|
|
11
|
+
return Object.assign(func, {
|
|
12
|
+
displayName: name,
|
|
13
|
+
inspect() {
|
|
14
|
+
return `[Function: ${name}]`;
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Assert function must have oneof displayName/name property
|
|
20
|
+
*/
|
|
21
|
+
export function assertFunctionHasName(func) {
|
|
22
|
+
if (!func.displayName && !func.name) {
|
|
23
|
+
console.error(func);
|
|
24
|
+
throw new TypeError('function must have name!');
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=functionName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functionName.js","sourceRoot":"","sources":["../../src/function/functionName.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAc;IAC1C,OAAQ,IAAsB,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAqB,IAAY,EAAE,IAAO;IACrE,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;QAC1B,WAAW,EAAE,IAAI;QACjB,OAAO;YACN,OAAO,cAAc,IAAI,GAAG,CAAC;QAC9B,CAAC;KACD,CAAC,CAAC;AACJ,CAAC;AAMD;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAwB;IAC7D,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpB,MAAM,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAC;IACjD,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rxjs.d.ts","sourceRoot":"","sources":["../../../../src/lifecycle/dispose/bridges/rxjs.ts"],"names":[],"mappings":"AAAA,UAAU,cAAc;IACvB,WAAW,IAAI,IAAI,CAAC;CACpB;AACD,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,cAAc;;EAEtE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rxjs.js","sourceRoot":"","sources":["../../../../src/lifecycle/dispose/bridges/rxjs.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,0BAA0B,CAAC,YAA4B;IACtE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import debug from 'debug';
|
|
2
|
+
import type { IAsyncDisposable, IDisposable } from './lifecycle.js';
|
|
3
|
+
/** @internal */
|
|
4
|
+
export declare const _debug_dispose: debug.Debugger;
|
|
5
|
+
/** @internal */
|
|
6
|
+
export declare function dispose_name(dis: IDisposable | IAsyncDisposable, defaultName?: string): string;
|
|
7
|
+
//# sourceMappingURL=debug.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/dispose/debug.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEpE,gBAAgB;AAChB,eAAO,MAAM,cAAc,gBAAmB,CAAC;AAE/C,gBAAgB;AAChB,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,gBAAgB,EAAE,WAAW,SAAc,GAAG,MAAM,CAEnG"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import debug from 'debug';
|
|
2
|
+
/** @internal */
|
|
3
|
+
export const _debug_dispose = debug('dispose');
|
|
4
|
+
/** @internal */
|
|
5
|
+
export function dispose_name(dis, defaultName = '<unknown>') {
|
|
6
|
+
return dis.displayName || dis.name || name_of_func(dis.constructor) || name_of_func(dis.dispose) || defaultName;
|
|
7
|
+
}
|
|
8
|
+
function name_of_func(obj) {
|
|
9
|
+
const name = obj.name;
|
|
10
|
+
if (name === 'Object' ||
|
|
11
|
+
name === 'Function' ||
|
|
12
|
+
name === 'AsyncFunction' ||
|
|
13
|
+
name === 'GeneratorFunction' ||
|
|
14
|
+
name === 'AsyncGeneratorFunction' ||
|
|
15
|
+
name === 'Disposable' ||
|
|
16
|
+
name === 'AsyncDisposable' ||
|
|
17
|
+
name.toLowerCase() === 'dispose') {
|
|
18
|
+
return '';
|
|
19
|
+
}
|
|
20
|
+
return name;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=debug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/lifecycle/dispose/debug.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,gBAAgB;AAChB,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AAE/C,gBAAgB;AAChB,MAAM,UAAU,YAAY,CAAC,GAAmC,EAAE,WAAW,GAAG,WAAW;IAC1F,OAAO,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,IAAI,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC;AACjH,CAAC;AACD,SAAS,YAAY,CAAC,GAAQ;IAC7B,MAAM,IAAI,GAAW,GAAG,CAAC,IAAI,CAAC;IAE9B,IACC,IAAI,KAAK,QAAQ;QACjB,IAAI,KAAK,UAAU;QACnB,IAAI,KAAK,eAAe;QACxB,IAAI,KAAK,mBAAmB;QAC5B,IAAI,KAAK,wBAAwB;QACjC,IAAI,KAAK,YAAY;QACrB,IAAI,KAAK,iBAAiB;QAC1B,IAAI,CAAC,WAAW,EAAE,KAAK,SAAS,EAC/B,CAAC;QACF,OAAO,EAAE,CAAC;IACX,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { IDisposable } from './lifecycle.js';
|
|
2
|
+
export interface IEventListenerOptions {
|
|
3
|
+
capture?: boolean;
|
|
4
|
+
once?: boolean;
|
|
5
|
+
passive?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface IEventHostObject<T extends Function> {
|
|
8
|
+
addEventListener(type: string, handler: T, options?: IEventListenerOptions): any;
|
|
9
|
+
removeEventListener(type: string, handler: T, options?: IEventListenerOptions): any;
|
|
10
|
+
}
|
|
11
|
+
export interface IEventEmitterObject<T extends Function> {
|
|
12
|
+
addListener(type: string, handler: T): any;
|
|
13
|
+
removeListener(type: string, handler: T): any;
|
|
14
|
+
}
|
|
15
|
+
export declare function addDisposableEventListener<T extends Function>(target: IEventHostObject<T> | IEventEmitterObject<T>, type: string, options: IEventListenerOptions, handler: T): IDisposable;
|
|
16
|
+
export declare function addDisposableEventListener<T extends Function>(target: IEventHostObject<T> | IEventEmitterObject<T>, type: string, handler: T): IDisposable;
|
|
17
|
+
//# sourceMappingURL=disposableEvent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disposableEvent.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/dispose/disposableEvent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAIlD,MAAM,WAAW,qBAAqB;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,QAAQ;IACnD,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,GAAG,CAAC;IACjF,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,GAAG,CAAC;CACpF;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,QAAQ;IACtD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,GAAG,CAAC;IAC3C,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,GAAG,CAAC;CAC9C;AAED,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,QAAQ,EAC5D,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,EACpD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,qBAAqB,EAC9B,OAAO,EAAE,CAAC,GACR,WAAW,CAAC;AAEf,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,QAAQ,EAC5D,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,EACpD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,GACR,WAAW,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
export function addDisposableEventListener(target, type, _options, _handler) {
|
|
2
|
+
if (!_handler) {
|
|
3
|
+
if (typeof _options === 'function') {
|
|
4
|
+
_handler = _options;
|
|
5
|
+
_options = undefined;
|
|
6
|
+
}
|
|
7
|
+
else {
|
|
8
|
+
throw new Error('missing handler');
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
const handler = _handler;
|
|
12
|
+
const options = _options;
|
|
13
|
+
let remove;
|
|
14
|
+
if ('addEventListener' in target) {
|
|
15
|
+
if (passiveSupported === undefined || abortSupported === undefined) {
|
|
16
|
+
checkAllSupport(target);
|
|
17
|
+
}
|
|
18
|
+
const [abort, xOptions] = check(options);
|
|
19
|
+
target.addEventListener(type, handler, xOptions);
|
|
20
|
+
if (abort) {
|
|
21
|
+
remove = () => {
|
|
22
|
+
abort;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
remove = () => {
|
|
27
|
+
target.removeEventListener(type, handler, xOptions);
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
target.addListener(type, handler);
|
|
33
|
+
remove = () => {
|
|
34
|
+
target.removeListener(type, handler);
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
return { dispose: remove };
|
|
38
|
+
}
|
|
39
|
+
let passiveSupported;
|
|
40
|
+
let abortSupported;
|
|
41
|
+
function check(options = {}) {
|
|
42
|
+
if (!passiveSupported) {
|
|
43
|
+
return [undefined, (options.capture || false)];
|
|
44
|
+
}
|
|
45
|
+
if (abortSupported) {
|
|
46
|
+
const controller = new AbortController();
|
|
47
|
+
options.signal = controller.signal;
|
|
48
|
+
return [controller, options];
|
|
49
|
+
}
|
|
50
|
+
return [undefined, options];
|
|
51
|
+
}
|
|
52
|
+
function checkAllSupport(ele) {
|
|
53
|
+
passiveSupported = checkSupport('passive', ele);
|
|
54
|
+
abortSupported = typeof AbortController !== 'undefined' && checkSupport('signal', ele);
|
|
55
|
+
}
|
|
56
|
+
function checkSupport(field, ele) {
|
|
57
|
+
let supported = false;
|
|
58
|
+
try {
|
|
59
|
+
const options = {
|
|
60
|
+
get [field]() {
|
|
61
|
+
// This function will be called when the browser
|
|
62
|
+
// attempts to access the passive property.
|
|
63
|
+
supported = true;
|
|
64
|
+
return undefined;
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
ele.addEventListener('_test_', null, options);
|
|
68
|
+
ele.removeEventListener('_test_', null, options);
|
|
69
|
+
}
|
|
70
|
+
catch (err) {
|
|
71
|
+
supported = false;
|
|
72
|
+
}
|
|
73
|
+
return supported;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=disposableEvent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disposableEvent.js","sourceRoot":"","sources":["../../../src/lifecycle/dispose/disposableEvent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error when call dispose() twice
|
|
3
|
+
*/
|
|
4
|
+
export declare class DisposedError extends Error {
|
|
5
|
+
readonly previous: Error;
|
|
6
|
+
readonly inspectString: string;
|
|
7
|
+
constructor(object: any, previous: Error);
|
|
8
|
+
tryCreateConsoleWarning(): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
export declare function isDisposedError(error: any): boolean;
|
|
11
|
+
//# sourceMappingURL=disposedError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disposedError.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/dispose/disposedError.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;aAItB,QAAQ,EAAE,KAAK;IAHhC,SAAgB,aAAa,EAAE,MAAM,CAAC;gBAErC,MAAM,EAAE,GAAG,EACK,QAAQ,EAAE,KAAK;IAWnB,uBAAuB;CAMpC;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAEnD"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { tryInspect } from '../../debugging/tryInspect.js';
|
|
2
|
+
import { getErrorFrame } from '../../error/getFrame.js';
|
|
3
|
+
import { prettyFormatError } from '../../error/pretty.js';
|
|
4
|
+
/**
|
|
5
|
+
* Error when call dispose() twice
|
|
6
|
+
*/
|
|
7
|
+
export class DisposedError extends Error {
|
|
8
|
+
previous;
|
|
9
|
+
inspectString;
|
|
10
|
+
constructor(object, previous) {
|
|
11
|
+
const insp = tryInspect(object);
|
|
12
|
+
super(`Object [${insp}] has already disposed ${getErrorFrame(previous, 2)}.`);
|
|
13
|
+
this.previous = previous;
|
|
14
|
+
this.inspectString = insp;
|
|
15
|
+
this.name = 'Warning';
|
|
16
|
+
this.tryCreateConsoleWarning().catch(() => { });
|
|
17
|
+
}
|
|
18
|
+
async tryCreateConsoleWarning() {
|
|
19
|
+
console.error('DisposedWarning: duplicate dispose.');
|
|
20
|
+
console.error(' * first dispose:\n%s', prettyFormatError(this.previous, false));
|
|
21
|
+
console.error(' * current dispose:\n%s', prettyFormatError(this, false));
|
|
22
|
+
console.error(' * Object: %s', this.inspectString);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export function isDisposedError(error) {
|
|
26
|
+
return error instanceof DisposedError;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=disposedError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disposedError.js","sourceRoot":"","sources":["../../../src/lifecycle/dispose/disposedError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK;IAItB;IAHD,aAAa,CAAS;IACtC,YACC,MAAW,EACK,QAAe;QAE/B,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,KAAK,CAAC,WAAW,IAAI,0BAA0B,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QAH9D,aAAQ,GAAR,QAAQ,CAAO;QAK/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QAEtB,IAAI,CAAC,uBAAuB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IAEM,KAAK,CAAC,uBAAuB;QACnC,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACrD,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC;CACD;AAED,MAAM,UAAU,eAAe,CAAC,KAAU;IACzC,OAAO,KAAK,YAAY,aAAa,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type debug from 'debug';
|
|
2
|
+
import { Emitter, type EventRegister } from '../event/event.js';
|
|
3
|
+
import type { IAsyncDisposable, IDisposableEvents } from './lifecycle.js';
|
|
4
|
+
interface _DOMAsyncDisposable {
|
|
5
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Async version of Disposable
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export declare class AsyncDisposable implements IAsyncDisposable, IDisposableEvents {
|
|
12
|
+
private readonly _disposables;
|
|
13
|
+
protected readonly _onDisposeError: Emitter<Error>;
|
|
14
|
+
readonly onDisposeError: EventRegister<Error>;
|
|
15
|
+
protected readonly _onBeforeDispose: Emitter<void>;
|
|
16
|
+
readonly onBeforeDispose: EventRegister<void>;
|
|
17
|
+
private _disposed?;
|
|
18
|
+
readonly displayName?: string;
|
|
19
|
+
/** @internal */
|
|
20
|
+
protected readonly _logger: debug.Debugger;
|
|
21
|
+
constructor(displayName?: string);
|
|
22
|
+
get hasDisposed(): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* @throws if already disposed
|
|
25
|
+
*/
|
|
26
|
+
assertNotDisposed(): void;
|
|
27
|
+
/**
|
|
28
|
+
* register a disposable object
|
|
29
|
+
*/
|
|
30
|
+
_register<T extends IAsyncDisposable>(d: T): T;
|
|
31
|
+
_register<T extends IAsyncDisposable & IDisposableEvents>(d: T, autoDereference?: boolean): T;
|
|
32
|
+
_unregister(d: IAsyncDisposable): boolean;
|
|
33
|
+
protected __finalize_dispose(): IAsyncDisposable[];
|
|
34
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
35
|
+
static fromWeb(disposable: _DOMAsyncDisposable): IAsyncDisposable;
|
|
36
|
+
toWeb(): _DOMAsyncDisposable;
|
|
37
|
+
dispose(): Promise<void>;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
42
|
+
export declare class AsyncDisposableUnordered extends AsyncDisposable {
|
|
43
|
+
dispose(): Promise<void>;
|
|
44
|
+
}
|
|
45
|
+
export {};
|
|
46
|
+
//# sourceMappingURL=lifecycle.async.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.async.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/dispose/lifecycle.async.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE1E,UAAU,mBAAmB;IAC5B,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED;;;GAGG;AACH,qBAAa,eAAgB,YAAW,gBAAgB,EAAE,iBAAiB;IAC1E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IAEvD,SAAS,CAAC,QAAQ,CAAC,eAAe,iBAAwB;IAC1D,SAAgB,cAAc,EAAE,aAAa,CAAC,KAAK,CAAC,CAAiC;IAErF,SAAS,CAAC,QAAQ,CAAC,gBAAgB,gBAAuB;IAC1D,SAAgB,eAAe,EAAE,aAAa,CAAC,IAAI,CAAC,CAAkC;IAEtF,OAAO,CAAC,SAAS,CAAC,CAAQ;IAC1B,SAAgB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErC,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC;gBAE/B,WAAW,CAAC,EAAE,MAAM;IAWhC,IAAW,WAAW,YAErB;IAED;;OAEG;IACI,iBAAiB;IAMxB;;OAEG;IACI,SAAS,CAAC,CAAC,SAAS,gBAAgB,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC;IAC9C,SAAS,CAAC,CAAC,SAAS,gBAAgB,GAAG,iBAAiB,EAAE,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,CAAC;IAa7F,WAAW,CAAC,CAAC,EAAE,gBAAgB;IAKtC,SAAS,CAAC,kBAAkB;IAe5B,CAAC,MAAM,CAAC,YAAY,CAAC;IAGrB,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,mBAAmB,GAAG,gBAAgB;IAMjE,KAAK,IAAI,mBAAmB;IAIf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAUrC;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,eAAe;IAC7C,OAAO;CAYtB"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { convertCatchedError } from '../../error/convertUnknown.js';
|
|
2
|
+
import { Emitter } from '../event/event.js';
|
|
3
|
+
import { _debug_dispose, dispose_name } from './debug.js';
|
|
4
|
+
import { DisposedError } from './disposedError.js';
|
|
5
|
+
/**
|
|
6
|
+
* Async version of Disposable
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export class AsyncDisposable {
|
|
10
|
+
_disposables = [];
|
|
11
|
+
_onDisposeError = new Emitter();
|
|
12
|
+
onDisposeError = this._onDisposeError.register;
|
|
13
|
+
_onBeforeDispose = new Emitter();
|
|
14
|
+
onBeforeDispose = this._onBeforeDispose.register;
|
|
15
|
+
_disposed;
|
|
16
|
+
displayName;
|
|
17
|
+
/** @internal */
|
|
18
|
+
_logger;
|
|
19
|
+
constructor(displayName) {
|
|
20
|
+
if (displayName !== undefined) {
|
|
21
|
+
this.displayName = displayName;
|
|
22
|
+
}
|
|
23
|
+
else if (!this.displayName) {
|
|
24
|
+
displayName = dispose_name(this, 'AsyncDisposable');
|
|
25
|
+
this.displayName = displayName;
|
|
26
|
+
}
|
|
27
|
+
this._logger = _debug_dispose.extend(this.displayName);
|
|
28
|
+
}
|
|
29
|
+
get hasDisposed() {
|
|
30
|
+
return !!this._disposed;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* @throws if already disposed
|
|
34
|
+
*/
|
|
35
|
+
assertNotDisposed() {
|
|
36
|
+
if (this._disposed) {
|
|
37
|
+
throw new DisposedError(this, this._disposed);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
_register(d, deref) {
|
|
41
|
+
if (this._logger.enabled)
|
|
42
|
+
this._logger(`register ${dispose_name(d)}`);
|
|
43
|
+
this.assertNotDisposed();
|
|
44
|
+
this._disposables.unshift(d);
|
|
45
|
+
if (deref) {
|
|
46
|
+
d.onBeforeDispose(() => {
|
|
47
|
+
this._unregister(d);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return d;
|
|
51
|
+
}
|
|
52
|
+
_unregister(d) {
|
|
53
|
+
if (this._logger.enabled)
|
|
54
|
+
this._logger(`unregister ${dispose_name(d)}`);
|
|
55
|
+
return this._disposables.splice(this._disposables.indexOf(d), 1).length > 0;
|
|
56
|
+
}
|
|
57
|
+
__finalize_dispose() {
|
|
58
|
+
if (this._disposed) {
|
|
59
|
+
console.warn(new DisposedError(this, this._disposed).message);
|
|
60
|
+
return [];
|
|
61
|
+
}
|
|
62
|
+
this._onBeforeDispose.fireNoError();
|
|
63
|
+
this._disposed = new Error('disposed');
|
|
64
|
+
this._disposables.push(this._onBeforeDispose);
|
|
65
|
+
this._disposables.push(this._onDisposeError);
|
|
66
|
+
return this._disposables;
|
|
67
|
+
}
|
|
68
|
+
[Symbol.asyncDispose]() {
|
|
69
|
+
return this.dispose();
|
|
70
|
+
}
|
|
71
|
+
static fromWeb(disposable) {
|
|
72
|
+
if (!('dispose' in disposable)) {
|
|
73
|
+
Object.assign(disposable, { dispose: disposable[Symbol.asyncDispose] });
|
|
74
|
+
}
|
|
75
|
+
return disposable;
|
|
76
|
+
}
|
|
77
|
+
toWeb() {
|
|
78
|
+
return this;
|
|
79
|
+
}
|
|
80
|
+
async dispose() {
|
|
81
|
+
for (const cb of this.__finalize_dispose()) {
|
|
82
|
+
try {
|
|
83
|
+
if (this._logger.enabled)
|
|
84
|
+
this._logger(`dispose ${dispose_name(cb)}`);
|
|
85
|
+
await cb.dispose();
|
|
86
|
+
}
|
|
87
|
+
catch (e) {
|
|
88
|
+
this._onDisposeError.fireNoError(convertCatchedError(e));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* @internal
|
|
95
|
+
*/
|
|
96
|
+
export class AsyncDisposableUnordered extends AsyncDisposable {
|
|
97
|
+
async dispose() {
|
|
98
|
+
const ps = this.__finalize_dispose().map((d) => {
|
|
99
|
+
if (this._logger.enabled)
|
|
100
|
+
this._logger(`dispose ${dispose_name(d)}`);
|
|
101
|
+
return Promise.resolve()
|
|
102
|
+
.then(() => d.dispose())
|
|
103
|
+
.catch((e) => {
|
|
104
|
+
this._onDisposeError.fireNoError(convertCatchedError(e));
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
await Promise.allSettled(ps);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=lifecycle.async.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.async.js","sourceRoot":"","sources":["../../../src/lifecycle/dispose/lifecycle.async.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAsB,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOnD;;;GAGG;AACH,MAAM,OAAO,eAAe;IACV,YAAY,GAAuB,EAAE,CAAC;IAEpC,eAAe,GAAG,IAAI,OAAO,EAAS,CAAC;IAC1C,cAAc,GAAyB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;IAElE,gBAAgB,GAAG,IAAI,OAAO,EAAQ,CAAC;IAC1C,eAAe,GAAwB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;IAE9E,SAAS,CAAS;IACV,WAAW,CAAU;IAErC,gBAAgB;IACG,OAAO,CAAiB;IAE3C,YAAY,WAAoB;QAC/B,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAChC,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9B,WAAW,GAAG,YAAY,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;YACpD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxD,CAAC;IAED,IAAW,WAAW;QACrB,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IACzB,CAAC;IAED;;OAEG;IACI,iBAAiB;QACvB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;IACF,CAAC;IAOM,SAAS,CAAsE,CAAI,EAAE,KAAe;QAC1G,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,CAAC,YAAY,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,KAAK,EAAE,CAAC;YACV,CAAuB,CAAC,eAAe,CAAC,GAAG,EAAE;gBAC7C,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,CAAC;IACV,CAAC;IAEM,WAAW,CAAC,CAAmB;QACrC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,CAAC,cAAc,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7E,CAAC;IAES,kBAAkB;QAC3B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9D,OAAO,EAAE,CAAC;QACX,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;QAEvC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE7C,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED,CAAC,MAAM,CAAC,YAAY,CAAC;QACpB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,UAA+B;QAC7C,IAAI,CAAC,CAAC,SAAS,IAAI,UAAU,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,UAAyC,CAAC;IAClD,CAAC;IACD,KAAK;QACJ,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,KAAK,CAAC,OAAO;QACnB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACJ,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO;oBAAE,IAAI,CAAC,OAAO,CAAC,WAAW,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACtE,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;YACpB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,CAAC;QACF,CAAC;IACF,CAAC;CACD;AAED;;GAEG;AACH,MAAM,OAAO,wBAAyB,SAAQ,eAAe;IACnD,KAAK,CAAC,OAAO;QACrB,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9C,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE,IAAI,CAAC,OAAO,CAAC,WAAW,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrE,OAAO,OAAO,CAAC,OAAO,EAAE;iBACtB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;iBACvB,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBACZ,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;CACD"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { EventRegister } from '../event/event.js';
|
|
2
|
+
/**
|
|
3
|
+
* @private
|
|
4
|
+
*/
|
|
5
|
+
export interface IDisposableEvents {
|
|
6
|
+
onDisposeError: EventRegister<Error>;
|
|
7
|
+
onBeforeDispose: EventRegister<void>;
|
|
8
|
+
readonly hasDisposed: boolean;
|
|
9
|
+
}
|
|
10
|
+
/** @public */
|
|
11
|
+
export interface IDisposable {
|
|
12
|
+
dispose(): void;
|
|
13
|
+
readonly name?: string;
|
|
14
|
+
readonly displayName?: string;
|
|
15
|
+
}
|
|
16
|
+
/** @public */
|
|
17
|
+
export interface IAsyncDisposable {
|
|
18
|
+
dispose(): void | Promise<void>;
|
|
19
|
+
name?: string;
|
|
20
|
+
displayName?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Convert "dispose function" to disposable object
|
|
24
|
+
* @public
|
|
25
|
+
*/
|
|
26
|
+
export declare function toDisposable(fn_or_obj: Disposable | AsyncDisposable | (() => void)): IDisposable;
|
|
27
|
+
//# sourceMappingURL=lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/dispose/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,cAAc,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,eAAe,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC9B;AAED,cAAc;AACd,MAAM,WAAW,WAAW;IAC3B,OAAO,IAAI,IAAI,CAAC;IAEhB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAK9B;AAED,cAAc;AACd,MAAM,WAAW,gBAAgB;IAChC,OAAO,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CAIrB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,UAAU,GAAG,eAAe,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,WAAW,CAiChG"}
|