123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- "use strict";
- exports.__esModule = true;
- var _iterator = require("../core-js/symbol/iterator");
- var _iterator2 = _interopRequireDefault(_iterator);
- var _symbol = require("../core-js/symbol");
- var _symbol2 = _interopRequireDefault(_symbol);
- var _promise = require("../core-js/promise");
- var _promise2 = _interopRequireDefault(_promise);
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
- exports.default = function (inner, awaitWrap) {
- var iter = {},
- waiting = false;
- function pump(key, value) {
- waiting = true;
- value = new _promise2.default(function (resolve) {
- resolve(inner[key](value));
- });
- return {
- done: false,
- value: awaitWrap(value)
- };
- }
- ;
- if (typeof _symbol2.default === "function" && _iterator2.default) {
- iter[_iterator2.default] = 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;
- };
|