1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.done = exports.isItReady = exports.removeFromPending = exports.addPending = void 0;
|
4 |
|
5 |
|
6 |
|
7 | var pending = [];
|
8 | var addPending = function (promise) {
|
9 | pending.push(promise);
|
10 | };
|
11 | exports.addPending = addPending;
|
12 | var removeFromPending = function (promise) {
|
13 | pending = pending.filter(function (a) { return a !== promise; });
|
14 | };
|
15 | exports.removeFromPending = removeFromPending;
|
16 |
|
17 |
|
18 |
|
19 | var readyFlag = false;
|
20 | var isItReady = function () { return readyFlag; };
|
21 | exports.isItReady = isItReady;
|
22 |
|
23 |
|
24 |
|
25 | var done = function () {
|
26 | if (pending.length) {
|
27 | readyFlag = false;
|
28 | return Promise.all(pending)
|
29 | .then(function (a) { return a[1]; })
|
30 | .then(exports.done);
|
31 | }
|
32 | readyFlag = true;
|
33 | return Promise.resolve();
|
34 | };
|
35 | exports.done = done;
|