@idlebox/common 1.5.19 → 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.
Files changed (96) hide show
  1. package/lib/{autoindex.d.ts → autoindex.generated.d.ts} +9 -4
  2. package/lib/autoindex.generated.d.ts.map +1 -0
  3. package/lib/{autoindex.js → autoindex.generated.js} +25 -10
  4. package/lib/autoindex.generated.js.map +1 -0
  5. package/lib/debugging/inspect.d.ts.map +1 -1
  6. package/lib/debugging/inspect.js +26 -3
  7. package/lib/debugging/inspect.js.map +1 -1
  8. package/lib/error/cause.d.ts +3 -0
  9. package/lib/error/cause.d.ts.map +1 -0
  10. package/lib/error/cause.js +22 -0
  11. package/lib/error/cause.js.map +1 -0
  12. package/lib/error/convert-unknown.d.ts.map +1 -1
  13. package/lib/error/convert-unknown.js +4 -0
  14. package/lib/error/convert-unknown.js.map +1 -1
  15. package/lib/error/get-frame.d.ts +1 -1
  16. package/lib/error/get-frame.d.ts.map +1 -1
  17. package/lib/error/get-frame.js +11 -4
  18. package/lib/error/get-frame.js.map +1 -1
  19. package/lib/function/callback-list.js +2 -2
  20. package/lib/function/callback-list.js.map +1 -1
  21. package/lib/lifecycle/dispose/async-disposable.d.ts +11 -2
  22. package/lib/lifecycle/dispose/async-disposable.d.ts.map +1 -1
  23. package/lib/lifecycle/dispose/async-disposable.js +26 -6
  24. package/lib/lifecycle/dispose/async-disposable.js.map +1 -1
  25. package/lib/lifecycle/dispose/bridges/native.d.ts +2 -2
  26. package/lib/lifecycle/dispose/bridges/native.d.ts.map +1 -1
  27. package/lib/lifecycle/dispose/bridges/native.js +5 -5
  28. package/lib/lifecycle/dispose/bridges/native.js.map +1 -1
  29. package/lib/lifecycle/dispose/bridges/streams.d.ts +12 -0
  30. package/lib/lifecycle/dispose/bridges/streams.d.ts.map +1 -1
  31. package/lib/lifecycle/dispose/bridges/streams.js +30 -30
  32. package/lib/lifecycle/dispose/bridges/streams.js.map +1 -1
  33. package/lib/lifecycle/dispose/disposable.d.ts +15 -14
  34. package/lib/lifecycle/dispose/disposable.d.ts.map +1 -1
  35. package/lib/lifecycle/dispose/disposable.js +53 -40
  36. package/lib/lifecycle/dispose/disposable.js.map +1 -1
  37. package/lib/lifecycle/dispose/disposedError.d.ts +6 -6
  38. package/lib/lifecycle/dispose/disposedError.d.ts.map +1 -1
  39. package/lib/lifecycle/dispose/disposedError.js +32 -25
  40. package/lib/lifecycle/dispose/disposedError.js.map +1 -1
  41. package/lib/lifecycle/dispose/sync-disposable.d.ts +6 -1
  42. package/lib/lifecycle/dispose/sync-disposable.d.ts.map +1 -1
  43. package/lib/lifecycle/dispose/sync-disposable.js +24 -7
  44. package/lib/lifecycle/dispose/sync-disposable.js.map +1 -1
  45. package/lib/lifecycle/event/event.d.ts +1 -1
  46. package/lib/lifecycle/event/event.d.ts.map +1 -1
  47. package/lib/lifecycle/event/event.js +3 -3
  48. package/lib/lifecycle/event/event.js.map +1 -1
  49. package/lib/lifecycle/event/type.d.ts +2 -2
  50. package/lib/lifecycle/event/type.d.ts.map +1 -1
  51. package/lib/log/logger.js +1 -1
  52. package/lib/log/logger.js.map +1 -1
  53. package/lib/platform/os.d.ts +1 -0
  54. package/lib/platform/os.d.ts.map +1 -1
  55. package/lib/platform/os.js +1 -0
  56. package/lib/platform/os.js.map +1 -1
  57. package/lib/promise/is-promise.d.ts +2 -0
  58. package/lib/promise/is-promise.d.ts.map +1 -0
  59. package/lib/promise/is-promise.js +4 -0
  60. package/lib/promise/is-promise.js.map +1 -0
  61. package/lib/reflection/methods/bind.d.ts +1 -1
  62. package/lib/reflection/methods/bind.d.ts.map +1 -1
  63. package/lib/schedule/interval.d.ts +1 -1
  64. package/lib/schedule/interval.d.ts.map +1 -1
  65. package/lib/schedule/timeout.d.ts +2 -2
  66. package/lib/schedule/timeout.d.ts.map +1 -1
  67. package/lib/state/simple-state-machine.d.ts +1 -1
  68. package/lib/state/simple-state-machine.d.ts.map +1 -1
  69. package/lib/typing-helper/deep.writable.d.ts.map +1 -1
  70. package/package.json +13 -9
  71. package/src/{autoindex.ts → autoindex.generated.ts} +25 -9
  72. package/src/debugging/inspect.ts +25 -3
  73. package/src/error/cause.ts +21 -0
  74. package/src/error/convert-unknown.ts +4 -0
  75. package/src/error/get-frame.ts +10 -4
  76. package/src/function/callback-list.ts +2 -2
  77. package/src/lifecycle/dispose/async-disposable.ts +25 -6
  78. package/src/lifecycle/dispose/bridges/native.ts +5 -7
  79. package/src/lifecycle/dispose/bridges/streams.ts +46 -36
  80. package/src/lifecycle/dispose/disposable.ts +71 -52
  81. package/src/lifecycle/dispose/disposedError.ts +33 -26
  82. package/src/lifecycle/dispose/sync-disposable.ts +24 -7
  83. package/src/lifecycle/event/event.ts +3 -3
  84. package/src/lifecycle/event/type.ts +2 -2
  85. package/src/log/logger.ts +1 -1
  86. package/src/platform/os.ts +2 -0
  87. package/src/promise/is-promise.ts +3 -0
  88. package/src/schedule/timeout.ts +2 -2
  89. package/src/typing-helper/deep.writable.ts +1 -2
  90. package/lib/autoindex.d.ts.map +0 -1
  91. package/lib/autoindex.js.map +0 -1
  92. package/lib/error/known.d.ts +0 -14
  93. package/lib/error/known.d.ts.map +0 -1
  94. package/lib/error/known.js +0 -34
  95. package/lib/error/known.js.map +0 -1
  96. package/src/error/known.ts +0 -40
@@ -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
- close(): Promise<any>;
7
- close(cb: (e?: Error) => void): any;
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
- if (promised) {
24
- return Promise.resolve(closable.close()).then(() => undefined);
25
- } else {
26
- return new Promise<void>((resolve, reject) => {
27
- closable.close((error) => {
28
- if (error) {
29
- reject(error);
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
- end(): Promise<any>;
46
- end(cb: (e?: Error) => void): any;
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
- if (promised) {
63
- return Promise.resolve(endable.end()).then(() => undefined);
64
- } else {
65
- return new Promise<void>((resolve, reject) => {
66
- return endable.end((error) => {
67
- if (error) {
68
- reject(error);
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) => {
@@ -1,11 +1,13 @@
1
1
  import { defineInspectMethod } from '../../debugging/inspect.js';
2
2
  import type { MaybeNamed } from '../../debugging/object-with-name.js';
3
3
  import { createStackTraceHolder, type StackTraceHolder } from '../../error/stack-trace.js';
4
+ import { definePublicConstant } from '../../object/definePublicConstant.js';
5
+ import { isPromiseLike } from '../../promise/is-promise.js';
4
6
  import { Emitter } from '../event/event.js';
5
7
  import type { EventRegister } from '../event/type.js';
6
8
  import { fromNativeDisposable } from './bridges/native.js';
7
9
  import { _debug_dispose, dispose_name, forgetParent, rememberParent } from './debug.js';
8
- import { DuplicateDisposed } from './disposedError.js';
10
+ import { DuplicateDisposedError } from './disposedError.js';
9
11
 
10
12
  export enum DuplicateDisposeAction {
11
13
  Disable = 0,
@@ -14,10 +16,14 @@ export enum DuplicateDisposeAction {
14
16
  }
15
17
 
16
18
  /** @public */
17
- export interface IDisposableEvents {
18
- onDisposeError: EventRegister<Error>;
19
- onBeforeDispose: EventRegister<void>;
20
- readonly hasDisposed: boolean;
19
+ export interface IDisposableEvents extends IBackReferenceDisposableEvent {
20
+ readonly onDisposeError: EventRegister<Error>;
21
+ readonly onPostDispose: EventRegister<void>;
22
+ readonly disposed: boolean;
23
+ }
24
+
25
+ export interface IBackReferenceDisposableEvent {
26
+ readonly onBeforeDispose: EventRegister<void>;
21
27
  }
22
28
 
23
29
  /** @public */
@@ -37,14 +43,20 @@ type _RType<Async extends boolean> = Async extends true ? Promise<void> : void;
37
43
  * 增强型Disposable
38
44
  */
39
45
  export abstract class AbstractEnhancedDisposable<Async extends boolean> implements IDisposableEvents {
40
- protected readonly _onDisposeError = new Emitter<Error>();
41
- public readonly onDisposeError: EventRegister<Error> = this._onDisposeError.register;
42
-
43
- protected readonly _onBeforeDispose = new Emitter<void>();
44
- public readonly onBeforeDispose: EventRegister<void> = this._onBeforeDispose.register;
46
+ protected readonly _onDisposeError;
47
+ public readonly onDisposeError;
48
+ protected readonly _onBeforeDispose;
49
+ public readonly onBeforeDispose;
50
+ protected readonly _onPostDispose;
51
+ public readonly onPostDispose;
52
+
53
+ /** settings */
54
+ protected readonly duplicateDispose: DuplicateDisposeAction = DuplicateDisposeAction.Warning;
45
55
 
46
- protected readonly _onPostDispose = new Emitter<void>();
47
- public readonly onPostDispose: EventRegister<void> = this._onPostDispose.register;
56
+ /**
57
+ * the "DisposableStack"
58
+ */
59
+ protected readonly _disposables: _Type<Async>[] = [];
48
60
 
49
61
  /** for debug */
50
62
  public readonly displayName?: string;
@@ -62,21 +74,12 @@ export abstract class AbstractEnhancedDisposable<Async extends boolean> implemen
62
74
  return `[Function debug]`;
63
75
  });
64
76
 
65
- this._onPostDispose.handle(() => {
66
- this._onPostDispose.dispose();
67
- });
68
- this._disposables.push(this._onBeforeDispose);
69
- this._disposables.push(this._onDisposeError);
70
-
71
- if (
72
- this.constructor.name === 'EnhancedAsyncDisposable' ||
73
- this.constructor.name === 'UnorderedAsyncDisposable' ||
74
- this.constructor.name === 'EnhancedDisposable'
75
- ) {
76
- defineInspectMethod(this, (_depth: number, options: any) => {
77
- return options.stylize(`[${this.displayName}]`, 'special');
78
- });
79
- }
77
+ this._onDisposeError = new Emitter<Error>(`${this.displayName}:errorEvent`);
78
+ this.onDisposeError = this._onDisposeError.register;
79
+ this._onBeforeDispose = new Emitter<void>(`${this.displayName}:beforeEvent`);
80
+ this.onBeforeDispose = this._onBeforeDispose.register;
81
+ this._onPostDispose = new Emitter<void>(`${this.displayName}:postEvent`);
82
+ this.onPostDispose = this._onPostDispose.register;
80
83
  }
81
84
 
82
85
  /**
@@ -84,27 +87,22 @@ export abstract class AbstractEnhancedDisposable<Async extends boolean> implemen
84
87
  */
85
88
  public assertNotDisposed() {
86
89
  if (this._disposed) {
87
- throw new DuplicateDisposed(this, this._disposed.trace);
90
+ throw new DuplicateDisposedError(this, this._disposed.trace);
88
91
  }
89
92
  }
90
93
 
91
- /**
92
- * the "DisposableStack"
93
- */
94
- protected readonly _disposables: _Type<Async>[] = [];
95
-
96
94
  /**
97
95
  * register a disposable object
98
96
  */
99
97
  public _register<T extends _Type<Async>>(d: T): T;
100
- public _register<T extends _Type<Async> & IDisposableEvents>(d: T, autoDereference?: boolean): T;
98
+ public _register<T extends _Type<Async> & IBackReferenceDisposableEvent>(d: T, autoDereference?: boolean): T;
101
99
  public _register(d: any, autoDereference?: boolean): any {
102
100
  if (this._logger.enabled) this._logger(`register ${dispose_name(d)}`);
103
101
  this.assertNotDisposed();
104
102
  if (this._disposables.indexOf(d) !== -1) throw new Error(`disposable object ${dispose_name(d)} has already registed into "${dispose_name(this)}"`);
105
103
  this._disposables.unshift(fromNativeDisposable(d));
106
104
  if (autoDereference) {
107
- (d as IDisposableEvents).onBeforeDispose(() => {
105
+ (d as IBackReferenceDisposableEvent).onBeforeDispose(() => {
108
106
  this._unregister(d);
109
107
  });
110
108
  }
@@ -124,7 +122,6 @@ export abstract class AbstractEnhancedDisposable<Async extends boolean> implemen
124
122
  return rmOk;
125
123
  }
126
124
 
127
- protected readonly duplicateDispose: DuplicateDisposeAction = DuplicateDisposeAction.Warning;
128
125
  private _disposed?: {
129
126
  trace: StackTraceHolder;
130
127
  result: _RType<Async>;
@@ -132,12 +129,11 @@ export abstract class AbstractEnhancedDisposable<Async extends boolean> implemen
132
129
  public get disposed() {
133
130
  return !!this._disposed;
134
131
  }
135
- /**
136
- * @deprecated use disposed
137
- */
138
- public get hasDisposed() {
139
- return !!this._disposed;
132
+
133
+ public get disposing() {
134
+ return this._onBeforeDispose.disposed && !this._disposed;
140
135
  }
136
+
141
137
  /**
142
138
  * 释放相关资源
143
139
  */
@@ -145,32 +141,45 @@ export abstract class AbstractEnhancedDisposable<Async extends boolean> implemen
145
141
  if (this._disposed) {
146
142
  if (this.duplicateDispose === DuplicateDisposeAction.Allow) return this._disposed.result;
147
143
 
148
- const dupErr = new DuplicateDisposed(this, this._disposed.trace);
144
+ const dupErr = new DuplicateDisposedError(this, this._disposed.trace);
145
+ dupErr.consoleWarning();
149
146
  if (this.duplicateDispose === DuplicateDisposeAction.Disable) {
150
147
  throw dupErr;
151
148
  } else {
152
- console.warn(dupErr);
153
149
  return this._disposed.result;
154
150
  }
155
151
  }
156
152
  this._onBeforeDispose.fireNoError();
153
+ this._onBeforeDispose.dispose();
154
+ const trace = createStackTraceHolder('disposed', this.dispose);
157
155
 
158
- const r = this._dispose(this._disposables);
159
156
  const cleanup = () => {
160
- this._disposables.length = 0;
161
- Object.freeze(this._disposables);
157
+ definePublicConstant(this, '_disposed', {
158
+ // 记录 disposed 状态,顺便也记录调用栈
159
+ trace: trace,
160
+ result: r,
161
+ });
162
+
163
+ Object.assign(this, { _disposables: null });
164
+ this._onPostDispose.fireNoError();
165
+ this._onPostDispose.dispose();
166
+ this._onDisposeError.dispose();
162
167
  };
163
- if (r && 'then' in r) {
168
+
169
+ let r: _RType<Async>;
170
+ try {
171
+ r = this._dispose(this._disposables);
172
+ } catch (e) {
173
+ cleanup();
174
+ throw e;
175
+ }
176
+
177
+ if (isPromiseLike(r)) {
164
178
  r.finally(cleanup);
165
179
  } else {
166
180
  cleanup();
167
181
  }
168
182
 
169
- this._disposed = {
170
- trace: createStackTraceHolder('disposed', this.dispose),
171
- result: r,
172
- };
173
-
174
183
  return r;
175
184
  }
176
185
 
@@ -180,3 +189,13 @@ export abstract class AbstractEnhancedDisposable<Async extends boolean> implemen
180
189
 
181
190
  protected abstract _dispose(disposables: readonly _Type<Async>[]): _RType<Async>;
182
191
  }
192
+
193
+ defineInspectMethod(AbstractEnhancedDisposable.prototype, function (this: any, _depth: number, options: any) {
194
+ if (
195
+ this.constructor.name === 'EnhancedAsyncDisposable' ||
196
+ this.constructor.name === 'UnorderedAsyncDisposable' ||
197
+ this.constructor.name === 'EnhancedDisposable'
198
+ ) {
199
+ return options.stylize(`[${this.constructor.name} ${this.displayName}]`, 'special');
200
+ }
201
+ });
@@ -1,17 +1,17 @@
1
+ import { ErrorWithCode, ExitCode } from '@idlebox/errors';
1
2
  import { tryInspect } from '../../debugging/inspect.js';
2
- import { getErrorFrame } from '../../error/get-frame.js';
3
3
  import { prettyFormatError } from '../../error/pretty.nodejs.js';
4
4
  import type { StackTraceHolder } from '../../error/stack-trace.js';
5
- import { isNodeJs } from '../../platform/os.js';
5
+ import { isV8 } from '../../platform/os.js';
6
6
  import { dispose_name } from './debug.js';
7
7
 
8
- export class DisposedError extends Error {
8
+ export class DisposedError extends ErrorWithCode {
9
9
  constructor(
10
10
  message = 'Object has been disposed',
11
11
  public readonly previous: StackTraceHolder,
12
+ boundary?: CallableFunction,
12
13
  ) {
13
- super(message, { cause: previous });
14
- this.name = 'DisposedError';
14
+ super(message, ExitCode.DUPLICATE, { cause: previous, boundary });
15
15
  }
16
16
 
17
17
  // override get stack() {
@@ -19,44 +19,51 @@ export class DisposedError extends Error {
19
19
  // }
20
20
  }
21
21
 
22
+ const lineStart = /^/gm;
23
+
22
24
  /**
23
25
  * Error when call dispose() twice
24
26
  */
25
- export class DuplicateDisposed extends DisposedError {
26
- public readonly inspectString: string;
27
+ export class DuplicateDisposedError extends DisposedError {
27
28
  constructor(
28
29
  public readonly object: any,
29
30
  previous: StackTraceHolder,
30
31
  ) {
31
32
  const old = Error.stackTraceLimit;
32
33
  Error.stackTraceLimit = Number.MAX_SAFE_INTEGER;
33
- const stacks = getErrorFrame(previous, 2);
34
34
 
35
- const inspectString = tryInspect(object);
36
- const name = dispose_name(object, inspectString);
35
+ const name = dispose_name(object, 'UnknownDisposable');
37
36
 
38
- super(`Object [${name}] has already disposed ${stacks}.`, previous);
39
- this.name = 'DuplicateDisposedError';
40
- this.inspectString = inspectString;
37
+ super(`Object [${name}] has already disposed`, previous);
41
38
 
42
39
  Error.stackTraceLimit = old;
43
-
44
- this.tryCreateConsoleWarning().catch(() => {});
45
40
  }
46
41
 
47
- public async tryCreateConsoleWarning() {
48
- console.error('DisposedWarning: duplicate dispose.');
49
- if (isNodeJs) {
50
- console.error(' * first dispose:\n%s', prettyFormatError(this.previous));
51
- console.error(' * current dispose:\n%s', prettyFormatError(this));
52
- } else {
53
- console.error(' * first dispose:%O', this.previous);
54
- console.error(' * current dispose:%O', this);
42
+ public consoleWarning() {
43
+ try {
44
+ if (isV8) {
45
+ console.error('\x1B[48;5;1m DisposedWarning \x1B[0m DUPLICATE DISPOSE');
46
+ const colorBlock = `\x1B[48;5;238m \x1B[0m `;
47
+ console.error('\x1B[48;5;14m \x1B[0;38;5;4m first dispose\x1B[0m');
48
+ console.error(prettyFormatError(this.previous, false).replace(lineStart, colorBlock));
49
+ console.error('\x1B[48;5;14m \x1B[0;38;5;4m current dispose\x1B[0m');
50
+ console.error(prettyFormatError(this, false).replace(lineStart, colorBlock));
51
+ console.error('\x1B[48;5;14m ● \x1B[0;38;5;4m the object\x1B[0m');
52
+ console.error(tryInspect(this.object, { colors: true }).replace(lineStart, colorBlock));
53
+ console.error('');
54
+ } else {
55
+ console.error('[DisposedWarning] DUPLICATE DISPOSE');
56
+ console.error(' * first dispose:%O', this.previous);
57
+ console.error(' * current dispose:%O', this);
58
+ console.error(' * the object: %O', this.object);
59
+ }
60
+ } catch (e) {
61
+ console.error('Failed to create console warning for duplicate dispose', e);
62
+ console.error('');
55
63
  }
56
- console.error(' * Object: %s', this.inspectString);
57
64
  }
58
65
 
59
- is(other: unknown): other is DuplicateDisposed {
60
- return other instanceof DuplicateDisposed;
66
+ is(other: unknown): other is DuplicateDisposedError {
67
+ return other instanceof DuplicateDisposedError;
61
68
  }
62
69
  }
@@ -2,7 +2,7 @@ import { convertCaughtError } from '../../error/convert-unknown.js';
2
2
  import { createStackTraceHolder, type StackTraceHolder } from '../../error/stack-trace.js';
3
3
  import { dispose_name } from './debug.js';
4
4
  import { AbstractEnhancedDisposable, type IDisposable } from './disposable.js';
5
- import { DuplicateDisposed } from './disposedError.js';
5
+ import { DuplicateDisposedError } from './disposedError.js';
6
6
 
7
7
  /**
8
8
  * 简单版手动disposable
@@ -10,12 +10,13 @@ import { DuplicateDisposed } from './disposedError.js';
10
10
  export abstract class DisposableOnce implements IDisposable {
11
11
  private _disposed?: StackTraceHolder;
12
12
 
13
- public get hasDisposed() {
13
+ public get disposed() {
14
14
  return !!this._disposed;
15
15
  }
16
16
  public dispose(): void {
17
17
  if (this._disposed) {
18
- console.warn(new DuplicateDisposed(this, this._disposed).message);
18
+ const w = new DuplicateDisposedError(this, this._disposed);
19
+ w.consoleWarning();
19
20
  return;
20
21
  }
21
22
  this._disposed = createStackTraceHolder('disposed', this.dispose);
@@ -31,21 +32,37 @@ export abstract class DisposableOnce implements IDisposable {
31
32
  * 完整版disposable类
32
33
  * 可以继承
33
34
  * 也可以直接用(相当于一个DisposableStack)
35
+ *
36
+ * 抛出异常的行为会延迟到所有资源都尝试释放完毕之后,因此显然只会抛出其中一个异常给dispose()的调用者
37
+ * 每一个资源释放失败,都会分别触发onDisposeError事件,如果此事件存在监听器,则最后不会抛出异常(处非监听器本身重新抛出)
38
+ * 不支持在dispose过程中添加onError事件监听器
39
+ *
34
40
  */
35
41
  export class EnhancedDisposable extends AbstractEnhancedDisposable<false> implements IDisposable {
36
42
  protected override _dispose(disposables: readonly IDisposable[]): void {
43
+ const hasListener = this._onDisposeError.listenerCount() > 0;
44
+
45
+ let lastError = null;
37
46
  for (const item of disposables.values()) {
38
47
  try {
39
48
  if (this._logger.enabled) this._logger(`dispose ${dispose_name(item)}`);
40
49
  item.dispose();
41
50
  } catch (e) {
42
- const ee = convertCaughtError(e);
43
- this._onDisposeError.fire(ee);
44
- if (!this._onDisposeError.listenerCount()) {
45
- console.error('Unhandled error during dispose: %s', ee.stack);
51
+ if (hasListener) {
52
+ try {
53
+ this._onDisposeError.fire(convertCaughtError(e));
54
+ } catch (e) {
55
+ lastError = e;
56
+ }
57
+ } else {
58
+ lastError = e;
46
59
  }
47
60
  }
48
61
  }
62
+
63
+ if (lastError) {
64
+ throw lastError;
65
+ }
49
66
  }
50
67
 
51
68
  /// compitable with stack
@@ -25,7 +25,7 @@ export class Emitter<T = unknown> implements IEventEmitter<T> {
25
25
  wait: {
26
26
  get: () => this.wait.bind(this),
27
27
  },
28
- hasDisposed: {
28
+ disposed: {
29
29
  get: () => this._disposed,
30
30
  },
31
31
  });
@@ -147,7 +147,7 @@ export class Emitter<T = unknown> implements IEventEmitter<T> {
147
147
  }
148
148
 
149
149
  private _disposed = false;
150
- public get hasDisposed() {
150
+ public get disposed() {
151
151
  return this._disposed;
152
152
  }
153
153
 
@@ -169,7 +169,7 @@ export class Emitter<T = unknown> implements IEventEmitter<T> {
169
169
 
170
170
  this._waittings = undefined;
171
171
 
172
- const trace = createStackTraceHolder('disposed');
172
+ const trace = createStackTraceHolder('disposed', this.dispose);
173
173
 
174
174
  const makeUnCallable = (name: string) => {
175
175
  Object.assign(this, {
@@ -53,7 +53,7 @@ export interface IEventEmitter<T = unknown> extends IDisposable {
53
53
  */
54
54
  wait(): Promise<T>;
55
55
 
56
- readonly hasDisposed: boolean;
56
+ readonly disposed: boolean;
57
57
  }
58
58
 
59
59
  export type EventHandler<T> = (data: T) => void;
@@ -65,7 +65,7 @@ export interface EventRegister<T> {
65
65
  (callback: EventHandler<T>): IDisposable;
66
66
  once(callback: EventHandler<T>): IDisposable;
67
67
  wait(): IDisposable;
68
- readonly hasDisposed: boolean;
68
+ readonly disposed: boolean;
69
69
  }
70
70
 
71
71
  export type EventEmitterMap<T extends Record<string, unknown>> = {
package/src/log/logger.ts CHANGED
@@ -121,7 +121,7 @@ export abstract class WrappedConsole {
121
121
  return;
122
122
  }
123
123
 
124
- args.splice(pos, 0, (isWeb ? ' %o' : ' %j').repeat(args.length - pos).substr(1));
124
+ args.splice(pos, 0, (isWeb ? ' %o' : ' %j').repeat(args.length - pos).slice(1));
125
125
  } else {
126
126
  args[pos] = '';
127
127
  }
@@ -59,5 +59,7 @@ if (hasWindow && !hasProcess) {
59
59
  }
60
60
  }
61
61
 
62
+ export const isV8 = (isNative && typeof process.versions?.v8 === 'string') || (() => new Error('test').stack?.includes(' at '))() || false;
63
+
62
64
  export const sepList = isWindows ? ';' : ':';
63
65
  export const is32Bit = !is64Bit;
@@ -0,0 +1,3 @@
1
+ export function isPromiseLike(object: unknown): object is PromiseLike<unknown> {
2
+ return typeof object === 'object' && object !== null && typeof (object as any).then === 'function';
3
+ }
@@ -29,8 +29,8 @@ export function sleep(ms: number, unref = false): Promise<void> {
29
29
  });
30
30
  }
31
31
 
32
- export function raceTimeout<T>(ms: number, p: PromiseLike<T>): PromiseLike<T>;
33
- export function raceTimeout<T>(ms: number, message: string, p: PromiseLike<T>): PromiseLike<T>;
32
+ export function raceTimeout<T>(ms: number, p: PromiseLike<T>): Promise<T>;
33
+ export function raceTimeout<T>(ms: number, message: string, p: PromiseLike<T>): Promise<T>;
34
34
 
35
35
  /**
36
36
  * race the promise with timeout
@@ -15,8 +15,7 @@ type DeepWriteableMap<K, V> = Map<DeepWriteable<K>, DeepWriteable<V>>;
15
15
  type DeepWriteableSet<T> = Set<DeepWriteable<T>>;
16
16
  type DeepWriteableObject<T> = { -readonly [K in keyof T]: DeepWriteable<T[K]> };
17
17
 
18
-
19
- export type Writeable<T> = T extends Primitive
18
+ export type Writeable<T> = T extends Primitive
20
19
  ? T
21
20
  : T extends ReadonlyArray<infer U>
22
21
  ? Array<U>
@@ -1 +0,0 @@
1
- {"version":3,"file":"autoindex.d.ts","sourceRoot":"","sources":["../src/autoindex.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"autoindex.js","sourceRoot":"","sources":["../src/autoindex.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- interface ErrorOptions {
2
- cause?: unknown;
3
- }
4
- declare abstract class KnownErrorAbstract extends Error {
5
- protected static debugMode: boolean;
6
- static debug(enabled?: boolean): void;
7
- static is(e: any): e is KnownErrorAbstract;
8
- }
9
- declare class KnownErrorNode extends KnownErrorAbstract {
10
- constructor(message: string, consopt?: ErrorOptions);
11
- }
12
- export declare const KnownError: typeof KnownErrorNode;
13
- export {};
14
- //# sourceMappingURL=known.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"known.d.ts","sourceRoot":"","sources":["../../src/error/known.ts"],"names":[],"mappings":"AAEA,UAAU,YAAY;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,uBAAe,kBAAmB,SAAQ,KAAK;IAC9C,SAAS,CAAC,MAAM,CAAC,SAAS,UAAS;IACnC,MAAM,CAAC,KAAK,CAAC,OAAO,UAAO;IAG3B,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,kBAAkB;CAG1C;AAED,cAAM,cAAe,SAAQ,kBAAkB;gBAClC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAWnD;AAWD,eAAO,MAAM,UAAU,uBAA+C,CAAC"}