@homer0/deferred
Version:
Small utility to create a deferred promise
17 lines (15 loc) • 631 B
text/typescript
type DeferredPromiseResolveFn<Value> = (value: Value) => void;
type DeferredPromiseRejectFn = (reason: any) => void;
type DeferredPromise<Value> = {
promise: Promise<Value>;
resolve: DeferredPromiseResolveFn<Value>;
reject: DeferredPromiseRejectFn;
};
/**
* Creates a deferred promise.
*
* @returns An object with a deferred promise, and its resolve and reject functions.
* @template Value The type of the value that will be resolved.
*/
declare const deferred: <Value = string>() => DeferredPromise<Value>;
export { type DeferredPromise, type DeferredPromiseRejectFn, type DeferredPromiseResolveFn, deferred };