@elsikora/cladi
Version:
Zero-dependency TypeScript DI toolkit with typed tokens and scoped lifecycles.
28 lines • 1.13 kB
TypeScript
export declare class DisposalManager {
private activeAsyncResolutions;
private readonly DISPOSAL_WAITERS;
private readonly DISPOSE_INTERNAL;
private readonly GET_ASYNC_RESOLUTION_DRAIN_TIMEOUT_MS;
private readonly GET_DISPOSE_PROMISE;
private readonly IS_DISPOSED;
private readonly IS_DISPOSING;
private readonly SET_DISPOSE_PROMISE;
private readonly SET_IS_DISPOSING;
constructor(options: {
disposeInternal: () => Promise<void>;
getAsyncResolutionDrainTimeoutMs: () => number | undefined;
getDisposePromise: () => Promise<void> | undefined;
isDisposed: () => boolean;
isDisposing: () => boolean;
setDisposePromise: (disposePromise?: Promise<void>) => void;
setIsDisposing: (isDisposing: boolean) => void;
});
dispose(): Promise<void>;
onAsyncResolutionEnd(): void;
onAsyncResolutionStart(): void;
waitForInFlightAsyncResolutions(): Promise<void>;
private createAsyncResolutionDrainTimeoutError;
private releaseDisposalWaitersIfIdle;
private waitForIdleSignal;
}
//# sourceMappingURL=manager.class.d.ts.map