12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- 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;
|