UNPKG

ts-raii-scope

Version:
13 lines (12 loc) 793 B
import { IDisposable, IExternalDisposeCallback } from '../types/disposable'; export declare class RaiiScope implements IDisposable { static doInside<TArgs extends IDisposable[], TResult>(resources: TArgs, action: (...args: TArgs) => TResult): TResult; static doInsideAsync<TArgs extends IDisposable[], TResult>(resources: TArgs, action: (...args: IDisposable[]) => Promise<TResult>): Promise<TResult>; protected _stack: IDisposable[]; protected _isDisposed: boolean | undefined; constructor(...args: IDisposable[]); push<T extends IDisposable | any>(resource: T, disposeCallback?: IExternalDisposeCallback<T>): T; dispose(): Promise<void> | void; protected disposeImpl(): Promise<void> | void; protected pushUnique<T extends IDisposable>(resource: T): T; }