UNPKG

1.65 kBJavaScriptView Raw
1import _Symbol from "core-js/library/fn/symbol/index.js";
2import _Symbol$iterator from "core-js/library/fn/symbol/iterator.js";
3import _Promise from "core-js/library/fn/promise.js";
4export default function _asyncIterator(r) {
5 var n,
6 t,
7 o,
8 e = 2;
9 for ("undefined" != typeof _Symbol && (t = _Symbol.asyncIterator, o = _Symbol$iterator); e--;) {
10 if (t && null != (n = r[t])) return n.call(r);
11 if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r));
12 t = "@@asyncIterator", o = "@@iterator";
13 }
14 throw new TypeError("Object is not async iterable");
15}
16function AsyncFromSyncIterator(r) {
17 function AsyncFromSyncIteratorContinuation(r) {
18 if (Object(r) !== r) return _Promise.reject(new TypeError(r + " is not an object."));
19 var n = r.done;
20 return _Promise.resolve(r.value).then(function (r) {
21 return {
22 value: r,
23 done: n
24 };
25 });
26 }
27 return AsyncFromSyncIterator = function AsyncFromSyncIterator(r) {
28 this.s = r, this.n = r.next;
29 }, AsyncFromSyncIterator.prototype = {
30 s: null,
31 n: null,
32 next: function next() {
33 return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments));
34 },
35 "return": function _return(r) {
36 var n = this.s["return"];
37 return void 0 === n ? _Promise.resolve({
38 value: r,
39 done: !0
40 }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));
41 },
42 "throw": function _throw(r) {
43 var n = this.s["return"];
44 return void 0 === n ? _Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));
45 }
46 }, new AsyncFromSyncIterator(r);
47}
\No newline at end of file