Version 1
[yaffs-website] / node_modules / babel-runtime / helpers / asyncToGenerator.js
1 "use strict";
2
3 exports.__esModule = true;
4
5 var _promise = require("../core-js/promise");
6
7 var _promise2 = _interopRequireDefault(_promise);
8
9 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
11 exports.default = function (fn) {
12   return function () {
13     var gen = fn.apply(this, arguments);
14     return new _promise2.default(function (resolve, reject) {
15       function step(key, arg) {
16         try {
17           var info = gen[key](arg);
18           var value = info.value;
19         } catch (error) {
20           reject(error);
21           return;
22         }
23
24         if (info.done) {
25           resolve(value);
26         } else {
27           return _promise2.default.resolve(value).then(function (value) {
28             step("next", value);
29           }, function (err) {
30             step("throw", err);
31           });
32         }
33       }
34
35       return step("next");
36     });
37   };
38 };