数通智联化工云平台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
1.7 KiB

2 years ago
var OverloadYield = require("./OverloadYield.js");
2 years ago
function AsyncGenerator(e) {
var r, t;
function resume(r, t) {
2 years ago
try {
2 years ago
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;
2 years ago
}
2 years ago
settle(n.done ? "return" : "normal", t);
}, function (e) {
resume("throw", e);
2 years ago
});
2 years ago
} catch (e) {
settle("throw", e);
2 years ago
}
}
2 years ago
function settle(e, n) {
switch (e) {
2 years ago
case "return":
2 years ago
r.resolve({
value: n,
2 years ago
done: !0
});
break;
case "throw":
2 years ago
r.reject(n);
2 years ago
break;
default:
2 years ago
r.resolve({
value: n,
2 years ago
done: !1
});
}
2 years ago
(r = r.next) ? resume(r.key, r.arg) : t = null;
2 years ago
}
2 years ago
this._invoke = function (e, n) {
return new Promise(function (o, u) {
var i = {
key: e,
arg: n,
resolve: o,
reject: u,
2 years ago
next: null
};
2 years ago
t ? t = t.next = i : (r = t = i, resume(e, n));
2 years ago
});
2 years ago
}, "function" != typeof e["return"] && (this["return"] = void 0);
2 years ago
}
AsyncGenerator.prototype["function" == typeof Symbol && Symbol.asyncIterator || "@@asyncIterator"] = function () {
return this;
2 years ago
}, 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);
2 years ago
};
module.exports = AsyncGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;