"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = _asyncGeneratorDelegate; function _asyncGeneratorDelegate(inner, awaitWrap) { var pump = function pump(key, value) { waiting = true; value = new Promise(function(resolve) { resolve(inner[key](value)); }); return { done: false, value: awaitWrap(value) }; }; var iter = { }, waiting = false; ; 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) { return pump("return", value); }; } return iter; }