"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Defer = void 0; /** * An externally resolvable/rejectable "promise". Use it to resolve/reject * promise at any time. * * ```ts * const future = new Defer(); * * future.promise.then(value => console.log(value)); * * future.resolve(123); * ``` */ class Defer { constructor() { this.promise = new Promise((resolve, reject) => { this.resolve = resolve; this.reject = reject; }); } } exports.Defer = Defer; //# sourceMappingURL=Defer.js.map