@alwatr/flatomise
Version:
A utility for creating promises that can be externally resolved or rejected.
37 lines • 873 B
TypeScript
/**
* 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