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