UNPKG

1.22 kBJavaScriptView Raw
1import _Promise from "@babel/runtime-corejs3/core-js/promise";
2import _Symbol from "@babel/runtime-corejs3/core-js/symbol";
3import _Symbol$iterator from "@babel/runtime-corejs3/core-js/symbol/iterator";
4export default function _asyncGeneratorDelegate(inner, awaitWrap) {
5 var iter = {},
6 waiting = false;
7
8 function pump(key, value) {
9 waiting = true;
10 value = new _Promise(function (resolve) {
11 resolve(inner[key](value));
12 });
13 return {
14 done: false,
15 value: awaitWrap(value)
16 };
17 }
18
19 ;
20
21 iter[typeof _Symbol !== "undefined" && _Symbol$iterator || "@@iterator"] = function () {
22 return this;
23 };
24
25 iter.next = function (value) {
26 if (waiting) {
27 waiting = false;
28 return value;
29 }
30
31 return pump("next", value);
32 };
33
34 if (typeof inner["throw"] === "function") {
35 iter["throw"] = function (value) {
36 if (waiting) {
37 waiting = false;
38 throw value;
39 }
40
41 return pump("throw", value);
42 };
43 }
44
45 if (typeof inner["return"] === "function") {
46 iter["return"] = function (value) {
47 if (waiting) {
48 waiting = false;
49 return value;
50 }
51
52 return pump("return", value);
53 };
54 }
55
56 return iter;
57}
\No newline at end of file