UNPKG

@whatwg-node/promise-helpers

Version:
16 lines (15 loc) 1.65 kB
export type MaybePromise<T> = MaybePromiseLike<T, Promise<T>>; export type MaybePromiseLike<T, TPromise extends PromiseLike<T> = PromiseLike<T>> = TPromise | T; export declare function isPromise<T>(value: MaybePromise<T>): value is Promise<T>; export declare function isPromiseLike<T, TPromiseLike extends PromiseLike<T>>(value: MaybePromiseLike<T, TPromiseLike>): value is TPromiseLike; export declare function handleMaybePromiseLike<TInput, TOutput, TPromiseLikeInput extends PromiseLike<TInput> = PromiseLike<TInput>, TPromiseLikeOutput extends PromiseLike<TOutput> = PromiseLike<TOutput>>(inputFactory: () => MaybePromiseLike<TInput, TPromiseLikeInput>, outputSuccessFactory: (value: TInput) => MaybePromiseLike<TOutput, TPromiseLikeOutput>, outputErrorFactory?: (err: any) => MaybePromiseLike<TOutput, TPromiseLikeOutput>): MaybePromiseLike<TOutput, TPromiseLikeOutput>; export declare function handleMaybePromise<TInput, TOutput>(inputFactory: () => MaybePromise<TInput>, outputSuccessFactory: (value: TInput) => MaybePromise<TOutput>, outputErrorFactory?: (err: any) => MaybePromise<TOutput>): MaybePromise<TOutput>; export declare function fakePromise<T>(value: T): Promise<T>; export interface DeferredPromise<T = void> { promise: Promise<T>; resolve: (value: T) => void; reject: (reason: any) => void; } export declare function createDeferredPromise<T = void>(): DeferredPromise<T>; export declare function iterateAsyncVoid<TInput>(iterable: Iterable<TInput>, callback: (input: TInput, stopEarly: () => void) => MaybePromise<void>): MaybePromise<void>; export declare function fakeRejectPromise(error: unknown): Promise<never>;