aboutsummaryrefslogtreecommitdiff
path: root/node_modules/babel-runtime/helpers/asyncToGenerator.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/babel-runtime/helpers/asyncToGenerator.js')
-rw-r--r--node_modules/babel-runtime/helpers/asyncToGenerator.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/node_modules/babel-runtime/helpers/asyncToGenerator.js b/node_modules/babel-runtime/helpers/asyncToGenerator.js
new file mode 100644
index 000000000..2fc737df1
--- /dev/null
+++ b/node_modules/babel-runtime/helpers/asyncToGenerator.js
@@ -0,0 +1,38 @@
+"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) {
+ return step("next", value);
+ }, function (err) {
+ return step("throw", err);
+ });
+ }
+ }
+
+ return step("next");
+ });
+ };
+}; \ No newline at end of file