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