ts-raii-scope
Version:
TypeScript RAII proof of concept
14 lines (13 loc) • 549 B
TypeScript
import { IDisposable, IExternalDisposeCallback } from '../types/disposable';
export declare class DisposableResource<T> implements IDisposable {
protected _innerResource: T;
protected _disposeCallback: IExternalDisposeCallback<T>;
protected _isDisposed: boolean | undefined;
constructor(innerResource: T, disposeCallback: IExternalDisposeCallback<T>);
dispose(): Promise<void> | void;
/**
* Returns undefined if dispose in progress
*/
isDisposed(): boolean | undefined;
protected finishDisposing(): void;
}