@monstermann/fn
Version:
A utility library for TypeScript.
18 lines • 446 B
TypeScript
//#region src/promise/defer.d.ts
interface Deferred<T = void> {
promise: Promise<T>;
reject: (reason: unknown) => void;
resolve: (value: T) => void;
}
/**
* `defer()`
*
* Creates a promise that can be resolved/rejected from the outside.
*
* ```ts
* const deferred = defer<string>();
* setTimeout(() => deferred.resolve("completed"), 1000);
*/
declare function defer<T = void>(): Deferred<T>;
//#endregion
export { Deferred, defer };