UNPKG

@alwatr/flatomise

Version:

A utility for creating promises that can be externally resolved or rejected.

37 lines 873 B
/** * Flat promise that can be resolved or rejected from outside. */ export interface Flatomise<T> { /** * The promise. */ readonly promise: Promise<T>; /** * Resolve the promise. */ readonly resolve: (value: T | PromiseLike<T>) => void; /** * Reject the promise. */ readonly reject: (reason?: any) => void; /** * Whether the promise is settled (resolved or rejected). */ readonly settled: boolean; } /** * Create a new Flatomise is a promise that can be resolved or rejected from outside. * * @returns A new Flatomise. * * @example * ```typescript * const flatomise = newFlatomise(); * flatomise.promise.then(() => { * console.log('flatomise resolved'); * }); * flatomise.resolve(); * ``` */ export declare function newFlatomise<T>(): Flatomise<T>; //# sourceMappingURL=main.d.ts.map