| 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; |
| } |
| |
| module.exports = _asyncGeneratorDelegate; |