diff options
Diffstat (limited to 'node_modules/babel-runtime/helpers')
11 files changed, 245 insertions, 4 deletions
diff --git a/node_modules/babel-runtime/helpers/_async-generator-delegate.js b/node_modules/babel-runtime/helpers/_async-generator-delegate.js new file mode 100644 index 000000000..c1debb4a4 --- /dev/null +++ b/node_modules/babel-runtime/helpers/_async-generator-delegate.js @@ -0,0 +1 @@ +module.exports = require("./asyncGeneratorDelegate.js");
\ No newline at end of file diff --git a/node_modules/babel-runtime/helpers/_async-generator.js b/node_modules/babel-runtime/helpers/_async-generator.js new file mode 100644 index 000000000..ee87351f1 --- /dev/null +++ b/node_modules/babel-runtime/helpers/_async-generator.js @@ -0,0 +1 @@ +module.exports = require("./asyncGenerator.js");
\ No newline at end of file diff --git a/node_modules/babel-runtime/helpers/_async-iterator.js b/node_modules/babel-runtime/helpers/_async-iterator.js new file mode 100644 index 000000000..c014bbb79 --- /dev/null +++ b/node_modules/babel-runtime/helpers/_async-iterator.js @@ -0,0 +1 @@ +module.exports = require("./asyncIterator.js");
\ No newline at end of file diff --git a/node_modules/babel-runtime/helpers/async-generator-delegate.js b/node_modules/babel-runtime/helpers/async-generator-delegate.js new file mode 100644 index 000000000..c1debb4a4 --- /dev/null +++ b/node_modules/babel-runtime/helpers/async-generator-delegate.js @@ -0,0 +1 @@ +module.exports = require("./asyncGeneratorDelegate.js");
\ No newline at end of file diff --git a/node_modules/babel-runtime/helpers/async-generator.js b/node_modules/babel-runtime/helpers/async-generator.js new file mode 100644 index 000000000..ee87351f1 --- /dev/null +++ b/node_modules/babel-runtime/helpers/async-generator.js @@ -0,0 +1 @@ +module.exports = require("./asyncGenerator.js");
\ No newline at end of file diff --git a/node_modules/babel-runtime/helpers/async-iterator.js b/node_modules/babel-runtime/helpers/async-iterator.js new file mode 100644 index 000000000..c014bbb79 --- /dev/null +++ b/node_modules/babel-runtime/helpers/async-iterator.js @@ -0,0 +1 @@ +module.exports = require("./asyncIterator.js");
\ No newline at end of file diff --git a/node_modules/babel-runtime/helpers/asyncGenerator.js b/node_modules/babel-runtime/helpers/asyncGenerator.js new file mode 100644 index 000000000..574b28a50 --- /dev/null +++ b/node_modules/babel-runtime/helpers/asyncGenerator.js @@ -0,0 +1,130 @@ +"use strict"; + +exports.__esModule = true; + +var _asyncIterator = require("../core-js/symbol/async-iterator"); + +var _asyncIterator2 = _interopRequireDefault(_asyncIterator); + +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 () { + function AwaitValue(value) { + this.value = value; + } + + function AsyncGenerator(gen) { + var front, back; + + function send(key, arg) { + return new _promise2.default(function (resolve, reject) { + var request = { + key: key, + arg: arg, + resolve: resolve, + reject: reject, + next: null + }; + + if (back) { + back = back.next = request; + } else { + front = back = request; + resume(key, arg); + } + }); + } + + function resume(key, arg) { + try { + var result = gen[key](arg); + var value = result.value; + + if (value instanceof AwaitValue) { + _promise2.default.resolve(value.value).then(function (arg) { + resume("next", arg); + }, function (arg) { + resume("throw", arg); + }); + } else { + settle(result.done ? "return" : "normal", result.value); + } + } catch (err) { + settle("throw", err); + } + } + + function settle(type, value) { + switch (type) { + case "return": + front.resolve({ + value: value, + done: true + }); + break; + + case "throw": + front.reject(value); + break; + + default: + front.resolve({ + value: value, + done: false + }); + break; + } + + front = front.next; + + if (front) { + resume(front.key, front.arg); + } else { + back = null; + } + } + + this._invoke = send; + + if (typeof gen.return !== "function") { + this.return = undefined; + } + } + + if (typeof _symbol2.default === "function" && _asyncIterator2.default) { + AsyncGenerator.prototype[_asyncIterator2.default] = function () { + return this; + }; + } + + AsyncGenerator.prototype.next = function (arg) { + return this._invoke("next", arg); + }; + + AsyncGenerator.prototype.throw = function (arg) { + return this._invoke("throw", arg); + }; + + AsyncGenerator.prototype.return = function (arg) { + return this._invoke("return", arg); + }; + + return { + wrap: function wrap(fn) { + return function () { + return new AsyncGenerator(fn.apply(this, arguments)); + }; + }, + await: function await(value) { + return new AwaitValue(value); + } + }; +}();
\ No newline at end of file diff --git a/node_modules/babel-runtime/helpers/asyncGeneratorDelegate.js b/node_modules/babel-runtime/helpers/asyncGeneratorDelegate.js new file mode 100644 index 000000000..5fcc123e0 --- /dev/null +++ b/node_modules/babel-runtime/helpers/asyncGeneratorDelegate.js @@ -0,0 +1,69 @@ +"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; +};
\ No newline at end of file diff --git a/node_modules/babel-runtime/helpers/asyncIterator.js b/node_modules/babel-runtime/helpers/asyncIterator.js new file mode 100644 index 000000000..03409891f --- /dev/null +++ b/node_modules/babel-runtime/helpers/asyncIterator.js @@ -0,0 +1,36 @@ +"use strict"; + +exports.__esModule = true; + +var _getIterator2 = require("../core-js/get-iterator"); + +var _getIterator3 = _interopRequireDefault(_getIterator2); + +var _iterator = require("../core-js/symbol/iterator"); + +var _iterator2 = _interopRequireDefault(_iterator); + +var _asyncIterator = require("../core-js/symbol/async-iterator"); + +var _asyncIterator2 = _interopRequireDefault(_asyncIterator); + +var _symbol = require("../core-js/symbol"); + +var _symbol2 = _interopRequireDefault(_symbol); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function (iterable) { + if (typeof _symbol2.default === "function") { + if (_asyncIterator2.default) { + var method = iterable[_asyncIterator2.default]; + if (method != null) return method.call(iterable); + } + + if (_iterator2.default) { + return (0, _getIterator3.default)(iterable); + } + } + + throw new TypeError("Object is not async iterable"); +};
\ No newline at end of file diff --git a/node_modules/babel-runtime/helpers/asyncToGenerator.js b/node_modules/babel-runtime/helpers/asyncToGenerator.js index 2fc737df1..50be669e1 100644 --- a/node_modules/babel-runtime/helpers/asyncToGenerator.js +++ b/node_modules/babel-runtime/helpers/asyncToGenerator.js @@ -25,9 +25,9 @@ exports.default = function (fn) { resolve(value); } else { return _promise2.default.resolve(value).then(function (value) { - return step("next", value); + step("next", value); }, function (err) { - return step("throw", err); + step("throw", err); }); } } diff --git a/node_modules/babel-runtime/helpers/typeof.js b/node_modules/babel-runtime/helpers/typeof.js index 06c228917..d22add808 100644 --- a/node_modules/babel-runtime/helpers/typeof.js +++ b/node_modules/babel-runtime/helpers/typeof.js @@ -10,12 +10,12 @@ var _symbol = require("../core-js/symbol"); var _symbol2 = _interopRequireDefault(_symbol); -var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default ? "symbol" : typeof obj; }; +var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; }; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) { return typeof obj === "undefined" ? "undefined" : _typeof(obj); } : function (obj) { - return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj); + return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj); };
\ No newline at end of file |