rsxjs
Version:
Resilience Extensions for JS.
13 lines (12 loc) • 471 B
TypeScript
/**
* @file src/deferral/types.ts
* @copyright 2018-present Karim Alibhai. All rights reserved.
*/
export declare type AsyncDeferral<T> = (defer: DeferFunction, ...args: any[]) => Promise<T>;
export declare type CleanupFunction = () => Promise<void> | void;
export declare type DeferFunction = (cleanup: CleanupFunction) => void;
export declare class DeferredOperation {
private deferred;
defer(cleanup: CleanupFunction): void;
cleanup(): Promise<void>;
}