summaryrefslogtreecommitdiff
path: root/node_modules/babel-runtime/helpers/asyncIterator.js
blob: 03409891f83c7ff178ff28845b1f51889ec9d999 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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");
};