1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const tslib_1 = require("tslib");
|
4 | const lang_1 = require("../lang");
|
5 | function createDefer() {
|
6 | const res = {};
|
7 | res.promise = new Promise((resolve, reject) => {
|
8 | res.resolve = a => {
|
9 | resolve(a);
|
10 | return res.promise;
|
11 | };
|
12 | res.reject = e => {
|
13 | reject(e);
|
14 | return res.promise;
|
15 | };
|
16 | });
|
17 | return res;
|
18 | }
|
19 | exports.createDefer = createDefer;
|
20 | function resolveDefer(defer, a, f) {
|
21 | return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
22 | if (lang_1.isDefined(a)) {
|
23 | defer.resolve(a);
|
24 | }
|
25 | else {
|
26 | defer.reject(yield f());
|
27 | }
|
28 | return defer.promise;
|
29 | });
|
30 | }
|
31 | exports.resolveDefer = resolveDefer;
|
32 |
|
\ | No newline at end of file |