decord/source/944_AsyncGenerator.js

106 lines
2.5 KiB
JavaScript
Raw Normal View History

2026-07-20 16:05:17 +00:00
// Module ID: 944
2026-07-25 08:10:48 +00:00
// Function ID: 10229
2026-07-20 16:05:17 +00:00
// Name: AsyncGenerator
2026-07-23 10:11:24 +00:00
// Dependencies: [943]
2026-07-20 16:05:17 +00:00
// Module 944 (AsyncGenerator)
class AsyncGenerator {
constructor(arg0) {
2026-07-23 10:11:24 +00:00
closure_0 = global;
2026-07-20 16:05:17 +00:00
resume = function resume(arg0, arg1) {
2026-07-23 10:11:24 +00:00
const dependencyMap = arg0;
const iter = dependencyMap[arg0](arg1);
let value = iter.value;
let closure_2 = value;
const tmp = value instanceof dependencyMap(outer1_1[0]);
2026-07-20 16:05:17 +00:00
const resume = tmp;
const resolved = Promise.resolve(tmp ? value.v : value);
resolved.then((done) => {
let value = done;
if (tmp) {
let str = "next";
2026-07-23 10:11:24 +00:00
if ("return" === dependencyMap) {
2026-07-20 16:05:17 +00:00
str = "return";
}
if (value.k) {
if (!done.done) {
2026-07-23 10:11:24 +00:00
value = dependencyMap[str](done).value;
2026-07-20 16:05:17 +00:00
}
}
2026-07-23 10:11:24 +00:00
dependencyMap(str, done);
2026-07-20 16:05:17 +00:00
}
let str3 = "normal";
if (iter.done) {
str3 = "return";
}
2026-07-23 10:11:24 +00:00
outer1_4(str3, value);
2026-07-20 16:05:17 +00:00
}, (arg0) => {
});
};
settle = function settle(arg0, value) {
if ("return" === arg0) {
let obj = { value, done: true };
next.resolve(obj);
} else if ("throw" === arg0) {
next.reject(value);
} else {
obj = { value, done: false };
next.resolve(obj);
}
2026-07-23 10:11:24 +00:00
next = next.next;
2026-07-20 16:05:17 +00:00
if (next) {
resume(next.key, next.arg);
} else {
2026-07-23 10:11:24 +00:00
let c2 = null;
2026-07-20 16:05:17 +00:00
}
};
2026-07-23 10:11:24 +00:00
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(closure_0, closure_1);
}
});
};
2026-07-20 16:05:17 +00:00
if ("function" !== typeof global.return) {
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 = "function" === typeof Symbol;
if (str) {
const _Symbol = Symbol;
str = Symbol.asyncIterator;
}
if (!str) {
str = "@@asyncIterator";
}
AsyncGenerator.prototype[str] = function() {
return this;
};
export default function _wrapAsyncGenerator(arg0) {
2026-07-23 10:11:24 +00:00
let closure_0 = arg0;
2026-07-20 16:05:17 +00:00
return function() {
2026-07-23 10:11:24 +00:00
return new outer1_2(callback(...arguments));
2026-07-20 16:05:17 +00:00
};
};