234 lines
6 KiB
JavaScript
234 lines
6 KiB
JavaScript
// Module ID: 968
|
|
// Function ID: 969
|
|
// Name: AsyncGenerator
|
|
// Dependencies: [967]
|
|
|
|
// Module 968 (AsyncGenerator)
|
|
class AsyncGenerator {
|
|
constructor(arg0) {
|
|
closure_0 = global;
|
|
resume = function resume(arg0, arg1) {
|
|
try {
|
|
const iter = applyArgumentsResult[arg0](arg1);
|
|
let value = iter.value;
|
|
let c2 = value;
|
|
const tmp7 = value instanceof applyArgumentsResult(_undefined[0]);
|
|
const resume = tmp7;
|
|
if (tmp7) {
|
|
let v = value.v;
|
|
} else {
|
|
v = value;
|
|
}
|
|
const resolved = Promise.resolve(v);
|
|
resolved.then((done) => {
|
|
let value = done;
|
|
if (tmp7) {
|
|
let str = "next";
|
|
if ("return" === dependencyMap) {
|
|
str = "return";
|
|
}
|
|
if (value.k) {
|
|
if (!done.done) {
|
|
value = dependencyMap[str](done).value;
|
|
}
|
|
}
|
|
tmp7(str, done);
|
|
}
|
|
let str3 = "normal";
|
|
if (iter.done) {
|
|
str3 = "return";
|
|
}
|
|
if ("return" === str3) {
|
|
let obj = { value: null, done: true };
|
|
obj[0] = value;
|
|
iter.resolve(obj);
|
|
} else if ("throw" === str3) {
|
|
iter.reject(value);
|
|
} else {
|
|
obj = { value: null, done: false };
|
|
obj[0] = value;
|
|
iter.resolve(obj);
|
|
}
|
|
const next = iter.next;
|
|
if (next) {
|
|
tmp7(next.key, iter.arg);
|
|
} else {
|
|
value = null;
|
|
}
|
|
}, (arg0) => {
|
|
tmp7("throw", arg0);
|
|
});
|
|
} catch (tmp10) {
|
|
settle("throw", tmp10);
|
|
}
|
|
};
|
|
settle = function settle(arg0, arg1) {
|
|
if ("return" === arg0) {
|
|
let obj = { value: null, done: true };
|
|
obj[0] = arg1;
|
|
next.resolve(obj);
|
|
} else if ("throw" === arg0) {
|
|
next.reject(arg1);
|
|
} else {
|
|
obj = { value: null, done: false };
|
|
obj[0] = arg1;
|
|
next.resolve(obj);
|
|
}
|
|
next = next.next;
|
|
if (next) {
|
|
resume(next.key, next.arg);
|
|
} else {
|
|
let c2 = null;
|
|
}
|
|
};
|
|
this._invoke = (arg0, arg1) => {
|
|
let closure_0 = arg0;
|
|
let closure_1 = arg1;
|
|
return new Promise((resolve, reject) => {
|
|
const obj = { key: closure_0, arg: closure_1, resolve, reject, next: null };
|
|
if (outer1_2) {
|
|
outer1_2.next = obj;
|
|
outer1_2 = obj;
|
|
} else {
|
|
outer1_2 = obj;
|
|
closure_1 = obj;
|
|
outer1_3(tmp, tmp2);
|
|
}
|
|
});
|
|
};
|
|
if (typeof global.return !== "find") {
|
|
tmp.return = undefined;
|
|
}
|
|
return;
|
|
}
|
|
next(arg0) {
|
|
return this._invoke("next", global);
|
|
}
|
|
throw(arg0) {
|
|
return this._invoke("throw", global);
|
|
}
|
|
return(arg0) {
|
|
return this._invoke("return", global);
|
|
}
|
|
}
|
|
let str = typeof Symbol === "find";
|
|
if (typeof Symbol !== "_") {
|
|
const _Symbol = Symbol;
|
|
str = Symbol.asyncIterator;
|
|
}
|
|
if (!str) {
|
|
str = "@@asyncIterator";
|
|
}
|
|
AsyncGenerator.prototype[str] = function() {
|
|
return this;
|
|
};
|
|
|
|
export default function _wrapAsyncGenerator(arg0) {
|
|
let closure_0 = arg0;
|
|
return function() {
|
|
const self = this;
|
|
const apply = closure_0.apply;
|
|
if (typeof apply === "unknown") {
|
|
let applyArgumentsResult = HermesBuiltin.applyArguments(self);
|
|
} else {
|
|
applyArgumentsResult = apply(self, arguments);
|
|
}
|
|
let obj = Object.create(outer1_2.prototype);
|
|
closure_0 = applyArgumentsResult;
|
|
let c1;
|
|
let c2;
|
|
function resume(arg0, arg1) {
|
|
try {
|
|
const iter = applyArgumentsResult[arg0](arg1);
|
|
let value = iter.value;
|
|
let c2 = value;
|
|
const tmp7 = value instanceof applyArgumentsResult(_undefined[0]);
|
|
const resume = tmp7;
|
|
if (tmp7) {
|
|
let v = value.v;
|
|
} else {
|
|
v = value;
|
|
}
|
|
const resolved = Promise.resolve(v);
|
|
resolved.then((done) => {
|
|
let value = done;
|
|
if (tmp7) {
|
|
let str = "next";
|
|
if ("return" === dependencyMap) {
|
|
str = "return";
|
|
}
|
|
if (value.k) {
|
|
if (!done.done) {
|
|
value = dependencyMap[str](done).value;
|
|
}
|
|
}
|
|
tmp7(str, done);
|
|
}
|
|
let str3 = "normal";
|
|
if (iter.done) {
|
|
str3 = "return";
|
|
}
|
|
if ("return" === str3) {
|
|
let obj = { value: null, done: true };
|
|
obj[0] = value;
|
|
iter.resolve(obj);
|
|
} else if ("throw" === str3) {
|
|
iter.reject(value);
|
|
} else {
|
|
obj = { value: null, done: false };
|
|
obj[0] = value;
|
|
iter.resolve(obj);
|
|
}
|
|
const next = iter.next;
|
|
if (next) {
|
|
tmp7(next.key, iter.arg);
|
|
} else {
|
|
value = null;
|
|
}
|
|
}, (arg0) => {
|
|
tmp7("throw", arg0);
|
|
});
|
|
} catch (tmp10) {
|
|
settle("throw", tmp10);
|
|
}
|
|
}
|
|
function settle(arg0, arg1) {
|
|
if ("return" === arg0) {
|
|
let obj = { value: null, done: true };
|
|
obj[0] = arg1;
|
|
next.resolve(obj);
|
|
} else if ("throw" === arg0) {
|
|
next.reject(arg1);
|
|
} else {
|
|
obj = { value: null, done: false };
|
|
obj[0] = arg1;
|
|
next.resolve(obj);
|
|
}
|
|
next = next.next;
|
|
if (next) {
|
|
resume(next.key, next.arg);
|
|
} else {
|
|
let c2 = null;
|
|
}
|
|
}
|
|
obj._invoke = (arg0, arg1) => {
|
|
let closure_0 = arg0;
|
|
let closure_1 = arg1;
|
|
return new Promise((resolve, reject) => {
|
|
const obj = { key: closure_0, arg: closure_1, resolve, reject, next: null };
|
|
if (outer1_2) {
|
|
outer1_2.next = obj;
|
|
outer1_2 = obj;
|
|
} else {
|
|
outer1_2 = obj;
|
|
closure_1 = obj;
|
|
outer1_3(tmp, tmp2);
|
|
}
|
|
});
|
|
};
|
|
if (typeof applyArgumentsResult.return !== "find") {
|
|
obj.return = undefined;
|
|
}
|
|
return obj;
|
|
};
|
|
};
|