UNPKG

@codesandbox/sdk

Version:
39 lines (38 loc) 1.21 kB
export interface IDisposable { /** * Dispose this object. */ dispose(): void; } export declare class Disposable implements IDisposable { private onWillDisposeEmitter; onWillDispose: import("./event").Event<null>; private onDidDisposeEmitter; onDidDispose: import("./event").Event<null>; protected toDispose: IDisposable[]; isDisposed: boolean; addDisposable<T extends IDisposable>(disposable: T): T; onDispose(cb: () => void): void; dispose(): void; static is(arg: unknown): arg is Disposable; static create(cb: () => void): IDisposable; } /** * A store where you can track multiple disposables. Mostly a utility. */ export declare class DisposableStore implements IDisposable { static DISABLE_DISPOSED_WARNING: boolean; private _toDispose; private _isDisposed; /** * Dispose of all registered disposables and mark this object as disposed. * * Any future disposables added to this object will be disposed of on `add`. */ dispose(): void; /** * Dispose of all registered disposables but do not mark this object as disposed. */ clear(): void; add<T extends IDisposable>(o: T): T; }