UNPKG

remote-controlled-promise

Version:

Create a Promise object that is controllable from outside

19 lines (18 loc) 729 B
export declare function create<Value>(): ControlledPromise<Value>; export declare class ControlledPromise<Value> { readonly controller: Controller<Value>; readonly promise: Promise<Value>; constructor(controller: Controller<Value>, promise: Promise<Value>); resolve(value: Value): Promise<Value>; reject(reason?: any): Promise<Value>; } export declare class Controller<Value> { readonly resolve: Controller.Resolver<Value>; readonly reject: Controller.Rejecter; constructor(resolve: Controller.Resolver<Value>, reject: Controller.Rejecter); } export declare namespace Controller { type Resolver<X> = (x: Promise<X> | X) => void; type Rejecter = (x?: any) => void; } export default create;