Style: enforce 2-space indent and double quotes

This commit is contained in:
2026-04-19 10:48:32 +08:00
parent ddc9d057fd
commit 648e801dad
12 changed files with 466 additions and 415 deletions
+31 -35
View File
@@ -1,46 +1,42 @@
export interface IDisposable {
dispose(): void;
dispose(): void;
}
export type DisposableItem = IDisposable | (() => void);
export class DisposableBag implements IDisposable {
private _disposables = new Set<DisposableItem>();
private _isDisposed = false;
private _disposables = new Set<DisposableItem>();
private _isDisposed = false;
get isDisposed(): boolean {
return this._isDisposed;
get isDisposed(): boolean {
return this._isDisposed;
}
add(item: DisposableItem): void {
if (this._isDisposed) {
this._execute(item);
return;
}
this._disposables.add(item);
}
dispose(): void {
if (this._isDisposed) return;
this._isDisposed = true;
for (const item of this._disposables) {
this._execute(item);
}
add(item: DisposableItem): void {
if (this._isDisposed) {
this._execute(item);
return;
}
this._disposables.add(item);
}
dispose(): void {
if (this._isDisposed) return;
this._isDisposed = true;
for (const item of this._disposables) {
try {
this._execute(item);
} catch (error) {
console.error('Error during resource disposal:', error);
}
}
this._disposables.clear();
}
private _execute(item: DisposableItem): void {
if (typeof item === 'function') {
item();
} else {
item.dispose();
}
this._disposables.clear();
}
private _execute(item: DisposableItem): void {
if (typeof item === "function") {
item();
} else {
item.dispose();
}
}
}
+1 -1
View File
@@ -1,4 +1,4 @@
import { DisposableBag } from "./disposable";
import type { DisposableBag } from "./disposable";
type PointerRecord = {
id: number;
+7 -3
View File
@@ -1,3 +1,7 @@
export { DisposableBag } from './disposable';
export type { IDisposable, DisposableItem } from './disposable';
export { dragDropEventEffect, DragDropEventType, type DragDropEvent } from './dnd';
export { DisposableBag } from "./disposable";
export type { IDisposable, DisposableItem } from "./disposable";
export {
dragDropEventEffect,
DragDropEventType,
type DragDropEvent,
} from "./dnd";