| 1234567891011121314151617181920212223242526272829303132333435363738 | 
							- "use strict";
 
- exports.__esModule = true;
 
- var _promise = require("../core-js/promise");
 
- var _promise2 = _interopRequireDefault(_promise);
 
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
- exports.default = function (fn) {
 
-   return function () {
 
-     var gen = fn.apply(this, arguments);
 
-     return new _promise2.default(function (resolve, reject) {
 
-       function step(key, arg) {
 
-         try {
 
-           var info = gen[key](arg);
 
-           var value = info.value;
 
-         } catch (error) {
 
-           reject(error);
 
-           return;
 
-         }
 
-         if (info.done) {
 
-           resolve(value);
 
-         } else {
 
-           return _promise2.default.resolve(value).then(function (value) {
 
-             step("next", value);
 
-           }, function (err) {
 
-             step("throw", err);
 
-           });
 
-         }
 
-       }
 
-       return step("next");
 
-     });
 
-   };
 
- };
 
 
  |