diff options
Diffstat (limited to 'node_modules/@babel/runtime/helpers/es6/asyncGeneratorDelegate.js')
| -rw-r--r-- | node_modules/@babel/runtime/helpers/es6/asyncGeneratorDelegate.js | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/node_modules/@babel/runtime/helpers/es6/asyncGeneratorDelegate.js b/node_modules/@babel/runtime/helpers/es6/asyncGeneratorDelegate.js new file mode 100644 index 00000000..26bd91fd --- /dev/null +++ b/node_modules/@babel/runtime/helpers/es6/asyncGeneratorDelegate.js @@ -0,0 +1,54 @@ +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) { + return pump("return", value); + }; + } + + return iter; +}
\ No newline at end of file |
