@idlebox/common 1.4.8 → 1.4.10

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.
Files changed (50) hide show
  1. package/lib/cjs/__create_index.generated.cjs.map +1 -1
  2. package/lib/cjs/lifecycle/dispose/debug.cjs +26 -0
  3. package/lib/cjs/lifecycle/dispose/debug.cjs.map +10 -0
  4. package/lib/cjs/lifecycle/dispose/lifecycle.async.cjs +14 -0
  5. package/lib/cjs/lifecycle/dispose/lifecycle.async.cjs.map +1 -1
  6. package/lib/cjs/lifecycle/dispose/lifecycle.cjs.map +1 -1
  7. package/lib/cjs/lifecycle/dispose/lifecycle.global.cjs +5 -1
  8. package/lib/cjs/lifecycle/dispose/lifecycle.global.cjs.map +1 -1
  9. package/lib/cjs/lifecycle/dispose/lifecycle.sync.cjs +14 -0
  10. package/lib/cjs/lifecycle/dispose/lifecycle.sync.cjs.map +1 -1
  11. package/lib/cjs/lifecycle/event/event.cjs +3 -1
  12. package/lib/cjs/lifecycle/event/event.cjs.map +1 -1
  13. package/lib/cjs/string/castCase.cjs +18 -10
  14. package/lib/cjs/string/castCase.cjs.map +1 -1
  15. package/lib/esm/__create_index.generated.d.ts.map +1 -1
  16. package/lib/esm/__create_index.generated.js.map +1 -1
  17. package/lib/esm/lifecycle/dispose/debug.d.ts +7 -0
  18. package/lib/esm/lifecycle/dispose/debug.d.ts.map +10 -0
  19. package/lib/esm/lifecycle/dispose/debug.js +21 -0
  20. package/lib/esm/lifecycle/dispose/debug.js.map +10 -0
  21. package/lib/esm/lifecycle/dispose/lifecycle.async.d.ts +3 -0
  22. package/lib/esm/lifecycle/dispose/lifecycle.async.d.ts.map +1 -1
  23. package/lib/esm/lifecycle/dispose/lifecycle.async.js +14 -0
  24. package/lib/esm/lifecycle/dispose/lifecycle.async.js.map +1 -1
  25. package/lib/esm/lifecycle/dispose/lifecycle.d.ts +4 -0
  26. package/lib/esm/lifecycle/dispose/lifecycle.d.ts.map +1 -1
  27. package/lib/esm/lifecycle/dispose/lifecycle.global.d.ts +1 -1
  28. package/lib/esm/lifecycle/dispose/lifecycle.global.d.ts.map +1 -1
  29. package/lib/esm/lifecycle/dispose/lifecycle.global.js +5 -1
  30. package/lib/esm/lifecycle/dispose/lifecycle.global.js.map +1 -1
  31. package/lib/esm/lifecycle/dispose/lifecycle.js.map +1 -1
  32. package/lib/esm/lifecycle/dispose/lifecycle.sync.d.ts +3 -0
  33. package/lib/esm/lifecycle/dispose/lifecycle.sync.d.ts.map +1 -1
  34. package/lib/esm/lifecycle/dispose/lifecycle.sync.js +14 -0
  35. package/lib/esm/lifecycle/dispose/lifecycle.sync.js.map +1 -1
  36. package/lib/esm/lifecycle/event/event.d.ts +2 -1
  37. package/lib/esm/lifecycle/event/event.d.ts.map +1 -1
  38. package/lib/esm/lifecycle/event/event.js +3 -1
  39. package/lib/esm/lifecycle/event/event.js.map +1 -1
  40. package/lib/esm/string/castCase.d.ts.map +1 -1
  41. package/lib/esm/string/castCase.js +18 -10
  42. package/lib/esm/string/castCase.js.map +1 -1
  43. package/package.json +6 -3
  44. package/src/lifecycle/dispose/debug.ts +27 -0
  45. package/src/lifecycle/dispose/lifecycle.async.ts +10 -0
  46. package/src/lifecycle/dispose/lifecycle.global.ts +6 -2
  47. package/src/lifecycle/dispose/lifecycle.sync.ts +10 -0
  48. package/src/lifecycle/dispose/lifecycle.ts +6 -0
  49. package/src/lifecycle/event/event.ts +1 -1
  50. package/src/string/castCase.ts +16 -10
@@ -6,5 +6,5 @@
6
6
  "../../../../src/lifecycle/dispose/lifecycle.ts"
7
7
  ],
8
8
  "names": [],
9
- "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;CAChB;AAED,cAAc;AACd,MAAM,WAAW,gBAAgB;IAChC,OAAO,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,WAAW,CAExD"
9
+ "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,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;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;CACrB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,WAAW,CAExD"
10
10
  }
@@ -1,5 +1,5 @@
1
- import type { IDisposable } from './lifecycle.js';
2
1
  import { AsyncDisposable } from './lifecycle.async.js';
2
+ import type { IDisposable } from './lifecycle.js';
3
3
  /**
4
4
  * Add object into global disposable store, it will be dispose when call to `disposeGlobal`
5
5
  */
@@ -6,5 +6,5 @@
6
6
  "../../../../src/lifecycle/dispose/lifecycle.global.ts"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAQvD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,QAE1D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,kBAMlC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,kBAS5B;AAED;;;GAGG;AACH,8BAAsB,eAAgB,SAAQ,eAAe;IAC5D,uDAAuD;IACvD,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI;IAET,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAK9C"
9
+ "mappings": "AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAUlD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,QAE1D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,kBAMlC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,kBAU5B;AAED;;;GAGG;AACH,8BAAsB,eAAgB,SAAQ,eAAe;IAC5D,uDAAuD;IACvD,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI;IAET,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAK9C"
10
10
  }
@@ -1,10 +1,12 @@
1
1
  import { globalSingletonStrong } from '../../platform/globalSingleton.js';
2
2
  import { createSymbol } from '../../platform/globalSymbol.js';
3
+ import { _debug_dispose } from './debug.js';
3
4
  import { AsyncDisposable } from './lifecycle.async.js';
4
5
  const symbol = createSymbol('lifecycle', 'application');
5
6
  function create() {
6
- return new AsyncDisposable();
7
+ return new AsyncDisposable('global');
7
8
  }
9
+ const logger = _debug_dispose.extend('global');
8
10
  /**
9
11
  * Add object into global disposable store, it will be dispose when call to `disposeGlobal`
10
12
  */
@@ -35,6 +37,8 @@ export function disposeGlobal() {
35
37
  if (obj) {
36
38
  return Promise.resolve(obj.dispose());
37
39
  }
40
+ if (logger.enabled)
41
+ logger(`dispose global (not exists)`);
38
42
  return Promise.resolve();
39
43
  }
40
44
  /**
@@ -6,5 +6,5 @@
6
6
  "../../../../src/lifecycle/dispose/lifecycle.global.ts"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AAExD,SAAS,MAAM;IACd,OAAO,IAAI,eAAe,EAAE,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAmB;IAC1D,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IAClC,MAAM,GAAG,GAAG,qBAAqB,CAAkB,MAAM,CAAC,CAAC;IAC3D,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa;IAC5B,MAAM,GAAG,GAAG,qBAAqB,CAAkB,MAAM,CAAC,CAAC;IAC3D,IAAI,GAAG,EAAE,WAAW,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,GAAG,EAAE,CAAC;QACT,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,OAAgB,eAAgB,SAAQ,eAAe;IAI5C,KAAK,CAAC,OAAO;QAC5B,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YACnC,IAAI,CAAC,IAAI,EAAE,CAAC;QACb,CAAC,CAAC,CAAC;IACJ,CAAC;CACD"
9
+ "mappings": "AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AAExD,SAAS,MAAM;IACd,OAAO,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAE/C;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAmB;IAC1D,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IAClC,MAAM,GAAG,GAAG,qBAAqB,CAAkB,MAAM,CAAC,CAAC;IAC3D,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa;IAC5B,MAAM,GAAG,GAAG,qBAAqB,CAAkB,MAAM,CAAC,CAAC;IAC3D,IAAI,GAAG,EAAE,WAAW,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,GAAG,EAAE,CAAC;QACT,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,MAAM,CAAC,OAAO;QAAE,MAAM,CAAC,6BAA6B,CAAC,CAAC;IAC1D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,OAAgB,eAAgB,SAAQ,eAAe;IAI5C,KAAK,CAAC,OAAO;QAC5B,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YACnC,IAAI,CAAC,IAAI,EAAE,CAAC;QACb,CAAC,CAAC,CAAC;IACJ,CAAC;CACD"
10
10
  }
@@ -6,5 +6,5 @@
6
6
  "../../../../src/lifecycle/dispose/lifecycle.ts"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "AAqBA;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,EAAc;IAC1C,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACxB,CAAC"
9
+ "mappings": "AA2BA;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,EAAc;IAC1C,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACxB,CAAC"
10
10
  }
@@ -10,12 +10,15 @@ export declare abstract class DisposableOnce implements IDisposable {
10
10
  * Standalone disposable class, can use as instance or base class.
11
11
  */
12
12
  export declare class Disposable implements IDisposable, IDisposableEvents {
13
+ #private;
14
+ readonly displayName?: string | undefined;
13
15
  private readonly _disposables;
14
16
  protected readonly _onDisposeError: Emitter<Error>;
15
17
  readonly onDisposeError: EventRegister<Error>;
16
18
  protected readonly _onBeforeDispose: Emitter<void>;
17
19
  readonly onBeforeDispose: EventRegister<void>;
18
20
  private _disposed?;
21
+ constructor(displayName?: string | undefined);
19
22
  get hasDisposed(): boolean;
20
23
  /**
21
24
  * @throws if already disposed
@@ -6,5 +6,5 @@
6
6
  "../../../../src/lifecycle/dispose/lifecycle.sync.ts"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAErE,8BAAsB,cAAe,YAAW,WAAW;IAC1D,OAAO,CAAC,SAAS,CAAC,CAAQ;IAE1B,IAAW,WAAW,YAErB;IACM,OAAO,IAAI,IAAI;IAStB,SAAS,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI;CACnC;AAED;;GAEG;AACH,qBAAa,UAAW,YAAW,WAAW,EAAE,iBAAiB;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAElD,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;IAE1B,IAAW,WAAW,YAErB;IAED;;OAEG;IACI,iBAAiB;IAMxB;;OAEG;IACI,SAAS,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC;IACzC,SAAS,CAAC,CAAC,SAAS,WAAW,GAAG,iBAAiB,EAAE,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,CAAC;IAYxF,WAAW,CAAC,CAAC,EAAE,WAAW;IAI1B,OAAO,IAAI,IAAI;CAuBtB"
9
+ "mappings": "AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAErE,8BAAsB,cAAe,YAAW,WAAW;IAC1D,OAAO,CAAC,SAAS,CAAC,CAAQ;IAE1B,IAAW,WAAW,YAErB;IACM,OAAO,IAAI,IAAI;IAStB,SAAS,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI;CACnC;AAED;;GAEG;AACH,qBAAa,UAAW,YAAW,WAAW,EAAE,iBAAiB;;aAapC,WAAW,CAAC,EAAE,MAAM;IAZhD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAElD,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;gBAIE,WAAW,CAAC,EAAE,MAAM,YAAA;IAIhD,IAAW,WAAW,YAErB;IAED;;OAEG;IACI,iBAAiB;IAMxB;;OAEG;IACI,SAAS,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC;IACzC,SAAS,CAAC,CAAC,SAAS,WAAW,GAAG,iBAAiB,EAAE,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,CAAC;IAaxF,WAAW,CAAC,CAAC,EAAE,WAAW;IAK1B,OAAO,IAAI,IAAI;CAwBtB"
10
10
  }
@@ -1,4 +1,5 @@
1
1
  import { Emitter } from '../event/event.js';
2
+ import { _debug_dispose, dispose_name } from './debug.js';
2
3
  import { DisposedError } from './disposedError.js';
3
4
  export class DisposableOnce {
4
5
  _disposed;
@@ -18,12 +19,19 @@ export class DisposableOnce {
18
19
  * Standalone disposable class, can use as instance or base class.
19
20
  */
20
21
  export class Disposable {
22
+ displayName;
21
23
  _disposables = [];
22
24
  _onDisposeError = new Emitter();
23
25
  onDisposeError = this._onDisposeError.register;
24
26
  _onBeforeDispose = new Emitter();
25
27
  onBeforeDispose = this._onBeforeDispose.register;
26
28
  _disposed;
29
+ /** @internal */
30
+ #logger;
31
+ constructor(displayName) {
32
+ this.displayName = displayName;
33
+ this.#logger = _debug_dispose.extend(this.displayName || 'async-disposable');
34
+ }
27
35
  get hasDisposed() {
28
36
  return !!this._disposed;
29
37
  }
@@ -36,6 +44,8 @@ export class Disposable {
36
44
  }
37
45
  }
38
46
  _register(d, autoDereference) {
47
+ if (this.#logger.enabled)
48
+ this.#logger(`register ${dispose_name(d)}`);
39
49
  this.assertNotDisposed();
40
50
  this._disposables.unshift(d);
41
51
  if (autoDereference) {
@@ -46,6 +56,8 @@ export class Disposable {
46
56
  return d;
47
57
  }
48
58
  _unregister(d) {
59
+ if (this.#logger.enabled)
60
+ this.#logger(`unregister ${dispose_name(d)}`);
49
61
  return this._disposables.splice(this._disposables.indexOf(d), 1).length > 0;
50
62
  }
51
63
  dispose() {
@@ -59,6 +71,8 @@ export class Disposable {
59
71
  this._disposables.push(this._onDisposeError);
60
72
  for (const item of this._disposables.values()) {
61
73
  try {
74
+ if (this.#logger.enabled)
75
+ this.#logger(`register ${dispose_name(item)}`);
62
76
  item.dispose();
63
77
  }
64
78
  catch (e) {
@@ -6,5 +6,5 @@
6
6
  "../../../../src/lifecycle/dispose/lifecycle.sync.ts"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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"
9
+ "mappings": "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"
10
10
  }
@@ -7,9 +7,10 @@ type DeferFn = () => void;
7
7
  * @public
8
8
  */
9
9
  export declare class Emitter<T> implements IDisposable {
10
+ readonly displayName?: string | undefined;
10
11
  protected readonly _callbacks: EventHandler<T>[];
11
12
  private executing;
12
- constructor();
13
+ constructor(displayName?: string | undefined);
13
14
  /**
14
15
  * @returns 当前注册回调数量
15
16
  */
@@ -6,5 +6,5 @@
6
6
  "../../../../src/lifecycle/event/event.ts"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAEhD,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC;AAE1E,KAAK,OAAO,GAAG,MAAM,IAAI,CAAC;AAE1B;;;GAGG;AACH,qBAAa,OAAO,CAAC,CAAC,CAAE,YAAW,WAAW;IAC7C,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAM;IACtD,OAAO,CAAC,SAAS,CAAS;;IAM1B;;OAEG;IACI,aAAa;IAIpB;;;OAGG;IACI,IAAI,CAAC,IAAI,EAAE,CAAC;IAanB;;OAEG;IACI,WAAW,CAAC,IAAI,EAAE,CAAC;IAc1B;;OAEG;IACH,IAAI,QAAQ,IAAI,aAAa,CAAC,CAAC,CAAC,CAE/B;IAED;;;OAGG;IACH,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW;IAwB9C;;;OAGG;IACH,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW;IAS5C,OAAO,CAAC,MAAM,CAAiB;IACxB,KAAK,CAAC,EAAE,EAAE,OAAO;IAGxB,OAAO,CAAC,OAAO;IAOf,OAAO;IAWP,OAAO,CAAC,mBAAmB;CAK3B"
9
+ "mappings": "AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAEhD,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC;AAE1E,KAAK,OAAO,GAAG,MAAM,IAAI,CAAC;AAE1B;;;GAGG;AACH,qBAAa,OAAO,CAAC,CAAC,CAAE,YAAW,WAAW;aAIjB,WAAW,CAAC,EAAE,MAAM;IAHhD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAM;IACtD,OAAO,CAAC,SAAS,CAAS;gBAEE,WAAW,CAAC,EAAE,MAAM,YAAA;IAIhD;;OAEG;IACI,aAAa;IAIpB;;;OAGG;IACI,IAAI,CAAC,IAAI,EAAE,CAAC;IAanB;;OAEG;IACI,WAAW,CAAC,IAAI,EAAE,CAAC;IAc1B;;OAEG;IACH,IAAI,QAAQ,IAAI,aAAa,CAAC,CAAC,CAAC,CAE/B;IAED;;;OAGG;IACH,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW;IAwB9C;;;OAGG;IACH,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW;IAS5C,OAAO,CAAC,MAAM,CAAiB;IACxB,KAAK,CAAC,EAAE,EAAE,OAAO;IAGxB,OAAO,CAAC,OAAO;IAOf,OAAO;IAWP,OAAO,CAAC,mBAAmB;CAK3B"
10
10
  }
@@ -3,9 +3,11 @@
3
3
  * @public
4
4
  */
5
5
  export class Emitter {
6
+ displayName;
6
7
  _callbacks = [];
7
8
  executing = false;
8
- constructor() {
9
+ constructor(displayName) {
10
+ this.displayName = displayName;
9
11
  this.handle = this.handle.bind(this);
10
12
  }
11
13
  /**
@@ -6,5 +6,5 @@
6
6
  "../../../../src/lifecycle/event/event.ts"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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"
9
+ "mappings": "AAQA;;;GAGG;AACH,MAAM,OAAO,OAAO;IAIS;IAHT,UAAU,GAAsB,EAAE,CAAC;IAC9C,SAAS,GAAG,KAAK,CAAC;IAE1B,YAA4B,WAAoB;QAApB,gBAAW,GAAX,WAAW,CAAS;QAC/C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,aAAa;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,IAAI,CAAC,IAAO;QAClB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC;YACJ,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACxB,CAAC;IACF,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,IAAO;QACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC;gBACJ,QAAQ,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YACrC,CAAC;QACF,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,QAAyB;QAC/B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7B,IAAI,CAAC,QAAQ;gBAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,GAAG,EAAE;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBAClB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAClC,CAAC;QACF,CAAC,CAAC;QACF,OAAO;YACN,OAAO,EAAE,GAAG,EAAE;gBACb,QAAQ,GAAG,IAAI,CAAC;gBAChB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACpB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACP,WAAW,EAAE,CAAC;gBACf,CAAC;YACF,CAAC;SACD,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,QAAyB;QAC7B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACvC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,UAAU,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACnB,CAAC;IAEO,MAAM,GAAc,EAAE,CAAC;IACxB,KAAK,CAAC,EAAW;QACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IACO,OAAO;QACd,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,EAAE,EAAE,CAAC;QACN,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,OAAO;QACN,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,WAAW;YACf,IAAI,CAAC,IAAI;gBACT,IAAI,CAAC,MAAM;oBACV,GAAG,EAAE;wBACJ,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;oBACtC,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB;QAC1B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACtD,CAAC;IACF,CAAC;CACD"
10
10
  }
@@ -6,5 +6,5 @@
6
6
  "../../../src/string/castCase.ts"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "AAAA,cAAc;AACd,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,UAMpC;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAE/D;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAEjE;AAED,cAAc;AACd,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,UASrC;AAED,cAAc;AACd,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,UAS5C"
9
+ "mappings": "AACA,cAAc;AACd,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,UAMpC;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAG/D;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAGjE;AAKD,cAAc;AACd,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,UASrC;AAED,cAAc;AACd,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,UAS5C"
10
10
  }
@@ -1,45 +1,53 @@
1
+ const splittersAndLower = /[-.\/_]+[a-z]/g;
1
2
  /** @public */
2
3
  export function camelCase(str) {
3
4
  return str
4
- .replace(/[-.\/_]+[a-z]/g, (s) => {
5
+ .replace(splittersAndLower, (s) => {
5
6
  return s[1]?.toUpperCase();
6
7
  })
7
- .replace(/[-.\/_]+/g, '');
8
+ .replace(spliters, '');
8
9
  }
9
10
  /**
10
11
  * Uppercase first char
11
12
  * @public
12
13
  */
13
14
  export function ucfirst(str) {
14
- return (str[0]?.toUpperCase() + str.slice(1));
15
+ if (!str)
16
+ return str;
17
+ return (str[0].toUpperCase() + str.slice(1));
15
18
  }
16
19
  /**
17
20
  * lowercase first char
18
21
  * @public
19
22
  */
20
23
  export function lcfirst(str) {
21
- return (str[0]?.toLowerCase() + str.slice(1));
24
+ if (!str)
25
+ return str;
26
+ return (str[0].toLowerCase() + str.slice(1));
22
27
  }
28
+ const prefixCapitals = /^[A-Z]+/;
29
+ const allCapitals = /[A-Z]+/g;
30
+ const spliters = /[-.\/_]+/g;
23
31
  /** @public */
24
32
  export function linux_case(str) {
25
33
  return str
26
- .replace(/^[A-Z]+/, (s) => {
34
+ .replace(prefixCapitals, (s) => {
27
35
  return s.toLowerCase();
28
36
  })
29
- .replace(/[A-Z]+/g, (s) => {
37
+ .replace(allCapitals, (s) => {
30
38
  return `_${s.toLowerCase()}`;
31
39
  })
32
- .replace(/[-.\/_]+/g, '_');
40
+ .replace(spliters, '_');
33
41
  }
34
42
  /** @public */
35
43
  export function linux_case_hyphen(str) {
36
44
  return str
37
- .replace(/^[A-Z]/, (s) => {
45
+ .replace(prefixCapitals, (s) => {
38
46
  return s.toLowerCase();
39
47
  })
40
- .replace(/[A-Z]+/g, (s) => {
48
+ .replace(allCapitals, (s) => {
41
49
  return `-${s.toLowerCase()}`;
42
50
  })
43
- .replace(/[-.\/_]+/g, '-');
51
+ .replace(spliters, '-');
44
52
  }
45
53
  //# sourceMappingURL=castCase.js.map
@@ -6,5 +6,5 @@
6
6
  "../../../src/string/castCase.ts"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "AAAA,cAAc;AACd,MAAM,UAAU,SAAS,CAAC,GAAW;IACpC,OAAO,GAAG;SACR,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE;QAChC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;IAC5B,CAAC,CAAC;SACD,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAmB,GAAM;IAC/C,OAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAmB,GAAM;IAC/C,OAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,cAAc;AACd,MAAM,UAAU,UAAU,CAAC,GAAW;IACrC,OAAO,GAAG;SACR,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;QACzB,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACxB,CAAC,CAAC;SACD,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;QACzB,OAAO,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;IAC9B,CAAC,CAAC;SACD,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,cAAc;AACd,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC5C,OAAO,GAAG;SACR,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;QACxB,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACxB,CAAC,CAAC;SACD,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;QACzB,OAAO,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;IAC9B,CAAC,CAAC;SACD,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AAC7B,CAAC"
9
+ "mappings": "AAAA,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAC3C,cAAc;AACd,MAAM,UAAU,SAAS,CAAC,GAAW;IACpC,OAAO,GAAG;SACR,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE;QACjC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;IAC5B,CAAC,CAAC;SACD,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAmB,GAAM;IAC/C,IAAI,CAAC,GAAG;QAAE,OAAO,GAAU,CAAC;IAC5B,OAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAmB,GAAM;IAC/C,IAAI,CAAC,GAAG;QAAE,OAAO,GAAU,CAAC;IAC5B,OAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,cAAc,GAAG,SAAS,CAAC;AACjC,MAAM,WAAW,GAAG,SAAS,CAAC;AAC9B,MAAM,QAAQ,GAAG,WAAW,CAAC;AAC7B,cAAc;AACd,MAAM,UAAU,UAAU,CAAC,GAAW;IACrC,OAAO,GAAG;SACR,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE;QAC9B,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACxB,CAAC,CAAC;SACD,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;QAC3B,OAAO,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;IAC9B,CAAC,CAAC;SACD,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,cAAc;AACd,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC5C,OAAO,GAAG;SACR,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE;QAC9B,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACxB,CAAC,CAAC;SACD,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;QAC3B,OAAO,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;IAC9B,CAAC,CAAC;SACD,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAC1B,CAAC"
10
10
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@idlebox/common",
3
3
  "type": "module",
4
- "version": "1.4.8",
4
+ "version": "1.4.10",
5
5
  "license": "MIT",
6
6
  "main": "./lib/cjs/__create_index.generated.cjs",
7
7
  "module": "./lib/esm/__create_index.generated.js",
@@ -18,9 +18,12 @@
18
18
  "repository": "https://github.com/GongT/baobao",
19
19
  "devDependencies": {
20
20
  "@rushstack/heft": "^0.68.2",
21
+ "@build-script/single-dog-asset": "^1.0.34",
21
22
  "@internal/local-rig": "^1.0.1",
22
- "@idlebox/itypes": "^1.0.7",
23
- "@build-script/single-dog-asset": "^1.0.34"
23
+ "@idlebox/itypes": "^1.0.7"
24
+ },
25
+ "dependencies": {
26
+ "debug": "^4.3.7"
24
27
  },
25
28
  "scripts": {
26
29
  "test": "heft test",
@@ -0,0 +1,27 @@
1
+ import debug from 'debug';
2
+ import type { IDisposable } from './lifecycle.js';
3
+
4
+ /** @internal */
5
+ export const _debug_dispose = debug('dispose');
6
+
7
+ /** @internal */
8
+ export function dispose_name(dis: IDisposable) {
9
+ return dis.displayName || dis.name || name_of_func(dis.constructor) || name_of_func(dis.dispose) || '<unknown>';
10
+ }
11
+ function name_of_func(obj: any) {
12
+ const name = obj.name;
13
+
14
+ if (
15
+ name === 'Object' ||
16
+ name === 'Function' ||
17
+ name === 'AsyncFunction' ||
18
+ name === 'GeneratorFunction' ||
19
+ name === 'AsyncGeneratorFunction' ||
20
+ name === 'Disposable' ||
21
+ name === 'AsyncDisposable'
22
+ ) {
23
+ return '';
24
+ }
25
+
26
+ return name;
27
+ }
@@ -1,5 +1,6 @@
1
1
  import { convertCatchedError } from '../../error/convertUnknown.js';
2
2
  import { Emitter, type EventRegister } from '../event/event.js';
3
+ import { _debug_dispose, dispose_name } from './debug.js';
3
4
  import { DisposedError } from './disposedError.js';
4
5
  import type { IAsyncDisposable, IDisposableEvents } from './lifecycle.js';
5
6
 
@@ -18,6 +19,12 @@ export class AsyncDisposable implements IAsyncDisposable, IDisposableEvents {
18
19
 
19
20
  private _disposed?: Error;
20
21
 
22
+ /** @internal */
23
+ readonly #logger;
24
+ constructor(public readonly displayName?: string) {
25
+ this.#logger = _debug_dispose.extend(this.displayName || 'async-disposable');
26
+ }
27
+
21
28
  public get hasDisposed() {
22
29
  return !!this._disposed;
23
30
  }
@@ -37,6 +44,7 @@ export class AsyncDisposable implements IAsyncDisposable, IDisposableEvents {
37
44
  public _register<T extends IAsyncDisposable>(d: T): T;
38
45
  public _register<T extends IAsyncDisposable & IDisposableEvents>(d: T, autoDereference?: boolean): T;
39
46
  public _register<T extends IAsyncDisposable | (IAsyncDisposable & IDisposableEvents)>(d: T, deref?: boolean): T {
47
+ if (this.#logger.enabled) this.#logger(`register ${dispose_name(d)}`);
40
48
  this.assertNotDisposed();
41
49
  this._disposables.unshift(d);
42
50
  if (deref) {
@@ -48,6 +56,7 @@ export class AsyncDisposable implements IAsyncDisposable, IDisposableEvents {
48
56
  }
49
57
 
50
58
  public _unregister(d: IAsyncDisposable) {
59
+ if (this.#logger.enabled) this.#logger(`unregister ${dispose_name(d)}`);
51
60
  return this._disposables.splice(this._disposables.indexOf(d), 1).length > 0;
52
61
  }
53
62
 
@@ -63,6 +72,7 @@ export class AsyncDisposable implements IAsyncDisposable, IDisposableEvents {
63
72
  this._disposables.push(this._onDisposeError);
64
73
  for (const cb of this._disposables) {
65
74
  try {
75
+ if (this.#logger.enabled) this.#logger(`dispose ${dispose_name(cb)}`);
66
76
  await cb.dispose();
67
77
  } catch (e) {
68
78
  this._onDisposeError.fire(convertCatchedError(e));
@@ -1,14 +1,17 @@
1
1
  import { globalSingletonStrong } from '../../platform/globalSingleton.js';
2
2
  import { createSymbol } from '../../platform/globalSymbol.js';
3
- import type { IDisposable } from './lifecycle.js';
3
+ import { _debug_dispose } from './debug.js';
4
4
  import { AsyncDisposable } from './lifecycle.async.js';
5
+ import type { IDisposable } from './lifecycle.js';
5
6
 
6
7
  const symbol = createSymbol('lifecycle', 'application');
7
8
 
8
9
  function create() {
9
- return new AsyncDisposable();
10
+ return new AsyncDisposable('global');
10
11
  }
11
12
 
13
+ const logger = _debug_dispose.extend('global');
14
+
12
15
  /**
13
16
  * Add object into global disposable store, it will be dispose when call to `disposeGlobal`
14
17
  */
@@ -41,6 +44,7 @@ export function disposeGlobal() {
41
44
  if (obj) {
42
45
  return Promise.resolve(obj.dispose());
43
46
  }
47
+ if (logger.enabled) logger(`dispose global (not exists)`);
44
48
  return Promise.resolve();
45
49
  }
46
50
 
@@ -1,4 +1,5 @@
1
1
  import { Emitter, type EventRegister } from '../event/event.js';
2
+ import { _debug_dispose, dispose_name } from './debug.js';
2
3
  import { DisposedError } from './disposedError.js';
3
4
  import type { IDisposable, IDisposableEvents } from './lifecycle.js';
4
5
 
@@ -34,6 +35,12 @@ export class Disposable implements IDisposable, IDisposableEvents {
34
35
 
35
36
  private _disposed?: Error;
36
37
 
38
+ /** @internal */
39
+ readonly #logger;
40
+ constructor(public readonly displayName?: string) {
41
+ this.#logger = _debug_dispose.extend(this.displayName || 'async-disposable');
42
+ }
43
+
37
44
  public get hasDisposed() {
38
45
  return !!this._disposed;
39
46
  }
@@ -53,6 +60,7 @@ export class Disposable implements IDisposable, IDisposableEvents {
53
60
  public _register<T extends IDisposable>(d: T): T;
54
61
  public _register<T extends IDisposable & IDisposableEvents>(d: T, autoDereference?: boolean): T;
55
62
  public _register<T extends IDisposable | (IDisposable & IDisposableEvents)>(d: T, autoDereference?: boolean): T {
63
+ if (this.#logger.enabled) this.#logger(`register ${dispose_name(d)}`);
56
64
  this.assertNotDisposed();
57
65
  this._disposables.unshift(d);
58
66
  if (autoDereference) {
@@ -64,6 +72,7 @@ export class Disposable implements IDisposable, IDisposableEvents {
64
72
  }
65
73
 
66
74
  public _unregister(d: IDisposable) {
75
+ if (this.#logger.enabled) this.#logger(`unregister ${dispose_name(d)}`);
67
76
  return this._disposables.splice(this._disposables.indexOf(d), 1).length > 0;
68
77
  }
69
78
 
@@ -79,6 +88,7 @@ export class Disposable implements IDisposable, IDisposableEvents {
79
88
  this._disposables.push(this._onDisposeError);
80
89
  for (const item of this._disposables.values()) {
81
90
  try {
91
+ if (this.#logger.enabled) this.#logger(`register ${dispose_name(item)}`);
82
92
  item.dispose();
83
93
  } catch (e) {
84
94
  if (e instanceof Error) {
@@ -12,11 +12,17 @@ export interface IDisposableEvents {
12
12
  /** @public */
13
13
  export interface IDisposable {
14
14
  dispose(): void;
15
+
16
+ name?: string;
17
+ displayName?: string;
15
18
  }
16
19
 
17
20
  /** @public */
18
21
  export interface IAsyncDisposable {
19
22
  dispose(): void | Promise<void>;
23
+
24
+ name?: string;
25
+ displayName?: string;
20
26
  }
21
27
 
22
28
  /**
@@ -14,7 +14,7 @@ export class Emitter<T> implements IDisposable {
14
14
  protected readonly _callbacks: EventHandler<T>[] = [];
15
15
  private executing = false;
16
16
 
17
- constructor() {
17
+ constructor(public readonly displayName?: string) {
18
18
  this.handle = this.handle.bind(this);
19
19
  }
20
20
 
@@ -1,10 +1,11 @@
1
+ const splittersAndLower = /[-.\/_]+[a-z]/g;
1
2
  /** @public */
2
3
  export function camelCase(str: string) {
3
4
  return str
4
- .replace(/[-.\/_]+[a-z]/g, (s) => {
5
+ .replace(splittersAndLower, (s) => {
5
6
  return s[1]?.toUpperCase();
6
7
  })
7
- .replace(/[-.\/_]+/g, '');
8
+ .replace(spliters, '');
8
9
  }
9
10
 
10
11
  /**
@@ -12,7 +13,8 @@ export function camelCase(str: string) {
12
13
  * @public
13
14
  */
14
15
  export function ucfirst<T extends string>(str: T): Capitalize<T> {
15
- return <any>(str[0]?.toUpperCase() + str.slice(1));
16
+ if (!str) return str as any;
17
+ return <any>(str[0].toUpperCase() + str.slice(1));
16
18
  }
17
19
 
18
20
  /**
@@ -20,29 +22,33 @@ export function ucfirst<T extends string>(str: T): Capitalize<T> {
20
22
  * @public
21
23
  */
22
24
  export function lcfirst<T extends string>(str: T): Uncapitalize<T> {
23
- return <any>(str[0]?.toLowerCase() + str.slice(1));
25
+ if (!str) return str as any;
26
+ return <any>(str[0].toLowerCase() + str.slice(1));
24
27
  }
25
28
 
29
+ const prefixCapitals = /^[A-Z]+/;
30
+ const allCapitals = /[A-Z]+/g;
31
+ const spliters = /[-.\/_]+/g;
26
32
  /** @public */
27
33
  export function linux_case(str: string) {
28
34
  return str
29
- .replace(/^[A-Z]+/, (s) => {
35
+ .replace(prefixCapitals, (s) => {
30
36
  return s.toLowerCase();
31
37
  })
32
- .replace(/[A-Z]+/g, (s) => {
38
+ .replace(allCapitals, (s) => {
33
39
  return `_${s.toLowerCase()}`;
34
40
  })
35
- .replace(/[-.\/_]+/g, '_');
41
+ .replace(spliters, '_');
36
42
  }
37
43
 
38
44
  /** @public */
39
45
  export function linux_case_hyphen(str: string) {
40
46
  return str
41
- .replace(/^[A-Z]/, (s) => {
47
+ .replace(prefixCapitals, (s) => {
42
48
  return s.toLowerCase();
43
49
  })
44
- .replace(/[A-Z]+/g, (s) => {
50
+ .replace(allCapitals, (s) => {
45
51
  return `-${s.toLowerCase()}`;
46
52
  })
47
- .replace(/[-.\/_]+/g, '-');
53
+ .replace(spliters, '-');
48
54
  }