| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | 
							- 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);
 
- };
 
 
  |