import { IDisposable, DisposableStore } from '@vscode-alt/monaco-editor/esm/vs/base/common/lifecycle'; import { injectable } from 'inversify'; @injectable() export abstract class Disposable implements IDisposable { public static None = Object.freeze({ dispose() { } }); private readonly _store = new DisposableStore(); public dispose(): void { this._store.dispose(); } protected _register(t: T): T { return this._store.add(t); } }