[d565449] | 1 | import OverloadYield from "./OverloadYield.js";
|
---|
| 2 | function _wrapAsyncGenerator(e) {
|
---|
| 3 | return function () {
|
---|
| 4 | return new AsyncGenerator(e.apply(this, arguments));
|
---|
| 5 | };
|
---|
| 6 | }
|
---|
| 7 | function AsyncGenerator(e) {
|
---|
| 8 | var r, t;
|
---|
| 9 | function resume(r, t) {
|
---|
| 10 | try {
|
---|
| 11 | var n = e[r](t),
|
---|
| 12 | o = n.value,
|
---|
| 13 | u = o instanceof OverloadYield;
|
---|
| 14 | Promise.resolve(u ? o.v : o).then(function (t) {
|
---|
| 15 | if (u) {
|
---|
| 16 | var i = "return" === r ? "return" : "next";
|
---|
| 17 | if (!o.k || t.done) return resume(i, t);
|
---|
| 18 | t = e[i](t).value;
|
---|
| 19 | }
|
---|
| 20 | settle(n.done ? "return" : "normal", t);
|
---|
| 21 | }, function (e) {
|
---|
| 22 | resume("throw", e);
|
---|
| 23 | });
|
---|
| 24 | } catch (e) {
|
---|
| 25 | settle("throw", e);
|
---|
| 26 | }
|
---|
| 27 | }
|
---|
| 28 | function settle(e, n) {
|
---|
| 29 | switch (e) {
|
---|
| 30 | case "return":
|
---|
| 31 | r.resolve({
|
---|
| 32 | value: n,
|
---|
| 33 | done: !0
|
---|
| 34 | });
|
---|
| 35 | break;
|
---|
| 36 | case "throw":
|
---|
| 37 | r.reject(n);
|
---|
| 38 | break;
|
---|
| 39 | default:
|
---|
| 40 | r.resolve({
|
---|
| 41 | value: n,
|
---|
| 42 | done: !1
|
---|
| 43 | });
|
---|
| 44 | }
|
---|
| 45 | (r = r.next) ? resume(r.key, r.arg) : t = null;
|
---|
| 46 | }
|
---|
| 47 | this._invoke = function (e, n) {
|
---|
| 48 | return new Promise(function (o, u) {
|
---|
| 49 | var i = {
|
---|
| 50 | key: e,
|
---|
| 51 | arg: n,
|
---|
| 52 | resolve: o,
|
---|
| 53 | reject: u,
|
---|
| 54 | next: null
|
---|
| 55 | };
|
---|
| 56 | t ? t = t.next = i : (r = t = i, resume(e, n));
|
---|
| 57 | });
|
---|
| 58 | }, "function" != typeof e["return"] && (this["return"] = void 0);
|
---|
| 59 | }
|
---|
| 60 | AsyncGenerator.prototype["function" == typeof Symbol && Symbol.asyncIterator || "@@asyncIterator"] = function () {
|
---|
| 61 | return this;
|
---|
| 62 | }, AsyncGenerator.prototype.next = function (e) {
|
---|
| 63 | return this._invoke("next", e);
|
---|
| 64 | }, AsyncGenerator.prototype["throw"] = function (e) {
|
---|
| 65 | return this._invoke("throw", e);
|
---|
| 66 | }, AsyncGenerator.prototype["return"] = function (e) {
|
---|
| 67 | return this._invoke("return", e);
|
---|
| 68 | };
|
---|
| 69 | export { _wrapAsyncGenerator as default }; |
---|