UNPKG

remote-controlled-promise

Version:

Create a Promise object that is controllable from outside

37 lines 983 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function create() { let resolve; let reject; const controller = new Controller(x => resolve(x), x => reject(x)); const promise = new Promise((res, rej) => { resolve = res; reject = rej; }); return new ControlledPromise(controller, promise); } exports.create = create; class ControlledPromise { constructor(controller, promise) { this.controller = controller; this.promise = promise; } resolve(value) { this.controller.resolve(value); return this.promise; } reject(reason) { this.controller.reject(reason); return this.promise; } } exports.ControlledPromise = ControlledPromise; class Controller { constructor(resolve, reject) { this.resolve = resolve; this.reject = reject; } } exports.Controller = Controller; exports.default = create; //# sourceMappingURL=index.js.map