| import _Symbol$iterator from "../../core-js/symbol/iterator"; |
| import _Symbol from "../../core-js/symbol"; |
| import _Promise from "../../core-js/promise"; |
| export default function _asyncGeneratorDelegate(inner, awaitWrap) { |
| var iter = {}, |
| waiting = false; |
| |
| function pump(key, value) { |
| waiting = true; |
| value = new _Promise(function (resolve) { |
| resolve(inner[key](value)); |
| }); |
| return { |
| done: false, |
| value: awaitWrap(value) |
| }; |
| } |
| |
| ; |
| |
| if (typeof _Symbol === "function" && _Symbol$iterator) { |
| iter[_Symbol$iterator] = function () { |
| return this; |
| }; |
| } |
| |
| iter.next = function (value) { |
| if (waiting) { |
| waiting = false; |
| return value; |
| } |
| |
| return pump("next", value); |
| }; |
| |
| if (typeof inner["throw"] === "function") { |
| iter["throw"] = function (value) { |
| if (waiting) { |
| waiting = false; |
| throw value; |
| } |
| |
| return pump("throw", value); |
| }; |
| } |
| |
| if (typeof inner["return"] === "function") { |
| iter["return"] = function (value) { |
| if (waiting) { |
| waiting = false; |
| return value; |
| } |
| |
| return pump("return", value); |
| }; |
| } |
| |
| return iter; |
| } |