| import OverloadYield from "./OverloadYield.js"; | |
| export default function AsyncGenerator(e) { | |
| var r, t; | |
| function resume(r, t) { | |
| try { | |
| var n = e[r](t), | |
| o = n.value, | |
| u = o instanceof OverloadYield; | |
| Promise.resolve(u ? o.v : o).then(function (t) { | |
| if (u) { | |
| var i = "return" === r ? "return" : "next"; | |
| if (!o.k || t.done) return resume(i, t); | |
| t = e[i](t).value; | |
| } | |
| settle(n.done ? "return" : "normal", t); | |
| }, function (e) { | |
| resume("throw", e); | |
| }); | |
| } catch (e) { | |
| settle("throw", e); | |
| } | |
| } | |
| function settle(e, n) { | |
| switch (e) { | |
| case "return": | |
| r.resolve({ | |
| value: n, | |
| done: !0 | |
| }); | |
| break; | |
| case "throw": | |
| r.reject(n); | |
| break; | |
| default: | |
| r.resolve({ | |
| value: n, | |
| done: !1 | |
| }); | |
| } | |
| (r = r.next) ? resume(r.key, r.arg) : t = null; | |
| } | |
| this._invoke = function (e, n) { | |
| return new Promise(function (o, u) { | |
| var i = { | |
| key: e, | |
| arg: n, | |
| resolve: o, | |
| reject: u, | |
| next: null | |
| }; | |
| t ? t = t.next = i : (r = t = i, resume(e, n)); | |
| }); | |
| }, "function" != typeof e["return"] && (this["return"] = void 0); | |
| } | |
| AsyncGenerator.prototype["function" == typeof Symbol && Symbol.asyncIterator || "@@asyncIterator"] = function () { | |
| return this; | |
| }, AsyncGenerator.prototype.next = function (e) { | |
| return this._invoke("next", e); | |
| }, AsyncGenerator.prototype["throw"] = function (e) { | |
| return this._invoke("throw", e); | |
| }, AsyncGenerator.prototype["return"] = function (e) { | |
| return this._invoke("return", e); | |
| }; |