@malagu/core
Version:
29 lines • 917 B
TypeScript
import { Event, Emitter } from './event';
export interface Disposable {
/**
* Dispose this object.
*/
dispose(): void;
}
export declare namespace Disposable {
function is(arg: any): arg is Disposable;
function create(func: () => void): Disposable;
const NULL: Disposable;
}
export declare class DisposableCollection implements Disposable {
protected readonly disposables: Disposable[];
protected readonly onDisposeEmitter: Emitter<void>;
constructor(...toDispose: Disposable[]);
/**
* This event is fired only once
* on first dispose of not empty collection.
*/
get onDispose(): Event<void>;
protected checkDisposed(): void;
get disposed(): boolean;
private disposingElements;
dispose(): void;
push(disposable: Disposable): Disposable;
pushAll(disposables: Disposable[]): Disposable[];
}
//# sourceMappingURL=disposable.d.ts.map