decord/source/4013__createForOfIteratorHelperLoose.js
2026-07-20 16:05:17 +00:00

340 lines
8.4 KiB
JavaScript

// Module ID: 4013
// Function ID: 33329
// Name: _createForOfIteratorHelperLoose
// Dependencies: []
// Exports: timeoutPromise
// Module 4013 (_createForOfIteratorHelperLoose)
function _createForOfIteratorHelperLoose(@@iterator) {
let closure_0 = Symbol_iterator;
@@iterator = "undefined" !== typeof Symbol;
if (Symbol_iterator) {
const _Symbol = Symbol;
@@iterator = Symbol_iterator[Symbol.iterator];
}
if (!Symbol_iterator) {
@@iterator = Symbol_iterator[Symbol.iterator];
}
if (Symbol_iterator) {
const iter = Symbol_iterator.call(Symbol_iterator);
const next = iter.next;
return next.bind(iter);
} else {
const _Array = Array;
let tmp = Symbol_iterator;
if (!Array.isArray(Symbol_iterator)) {
let tmp2;
if (Symbol_iterator) {
if ("string" === typeof Symbol_iterator) {
tmp2 = _arrayLikeToArray(Symbol_iterator, undefined);
} else {
const toString = {}.toString;
const substr = toString.call(Symbol_iterator).slice(8, -1);
let name = substr;
if (tmp3) {
name = Symbol_iterator.constructor.name;
}
if ("Map" !== name) {
if ("Set" !== name) {
if ("Arguments" === name) {
let arr = _arrayLikeToArray(Symbol_iterator, undefined);
} else {
const obj = /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/;
}
}
tmp2 = arr;
}
const _Array2 = Array;
arr = Array.from(Symbol_iterator);
const callResult = toString.call(Symbol_iterator);
const tmp3 = "Object" === substr && Symbol_iterator.constructor;
}
}
tmp = tmp2;
if (!tmp2) {
const _TypeError = TypeError;
const typeError = new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
throw typeError;
}
}
if (tmp) {
closure_0 = tmp;
}
let closure_1 = 0;
return () => {
if (closure_1 >= tmp.length) {
let obj = { done: true };
} else {
obj = { done: false };
closure_1 = tmp3 + 1;
obj.value = tmp[+closure_1];
}
return obj;
};
}
}
function _arrayLikeToArray(arg0, arg1) {
let length;
if (tmp) {
length = arg0.length;
}
const ArrayResult = Array(length);
for (let num = 0; num < length; num = num + 1) {
ArrayResult[num] = arg0[num];
}
return ArrayResult;
}
let closure_0 = importDefault(dependencyMap[0]);
let closure_1 = importDefault(dependencyMap[1]);
let closure_2 = importDefault(dependencyMap[2]);
const tmp2 = () => {
class Timeout {
constructor() {
tmp = closure_1(this, Timeout);
return;
}
}
let closure_0 = Timeout;
let obj = {
key: "start",
value(arg0, arg1) {
let flag = arg2;
const self = this;
const Timeout = this;
if (arg2 === undefined) {
flag = true;
}
if (!tmp) {
self.stop();
const _window = window;
self._ref = window.setTimeout(() => {
self._ref = null;
arg1();
}, arg0);
}
}
};
const items = [obj, , ];
obj = {
key: "stop",
value() {
const self = this;
if (null != this._ref) {
const _clearTimeout = clearTimeout;
clearTimeout(self._ref);
self._ref = null;
}
}
};
items[1] = obj;
obj = {
key: "isStarted",
value() {
return null != this._ref;
}
};
items[2] = obj;
return callback2(Timeout, items);
}();
const tmp3 = () => {
class DelayedCall {
constructor(arg0, arg1) {
tmp = closure_1(this, DelayedCall);
this._delay = arg0;
this._handler = arg1;
tmp2 = new closure_3();
this._timeout = tmp2;
return;
}
}
let closure_0 = DelayedCall;
let obj = {
key: "set",
value(_delay) {
this._delay = _delay;
return this;
}
};
const items = [obj, , , ];
obj = {
key: "delay",
value() {
let flag = arg0;
const self = this;
if (arg0 === undefined) {
flag = true;
}
const _timeout = self._timeout;
_timeout.start(self._delay, self._handler, flag);
}
};
items[1] = obj;
obj = {
key: "cancel",
value() {
const _timeout = this._timeout;
_timeout.stop();
}
};
items[2] = obj;
items[3] = {
key: "isDelayed",
value() {
const _timeout = this._timeout;
return _timeout.isStarted();
}
};
return callback2(DelayedCall, items);
}();
const tmp4 = () => {
class Interval {
constructor() {
tmp = closure_1(this, Interval);
return;
}
}
let closure_0 = Interval;
let obj = {
key: "start",
value(arg0, arg1) {
this.stop();
this._ref = window.setInterval(arg1, arg0);
}
};
const items = [obj, , ];
obj = {
key: "stop",
value() {
const self = this;
if (null != this._ref) {
const _clearInterval = clearInterval;
clearInterval(self._ref);
self._ref = null;
}
}
};
items[1] = obj;
obj = {
key: "isStarted",
value() {
return null != this._ref;
}
};
items[2] = obj;
return callback2(Interval, items);
}();
const tmp5 = () => {
class BatchInvocationManager {
constructor(arg0) {
fn = arg1;
num = arg2;
self = this;
f33358 = this;
if (arg1 === undefined) {
fn = function r() {
return true;
};
}
if (num === undefined) {
num = 32;
}
tmp = BatchInvocationManager(self, BatchInvocationManager);
self.invoke = arg0;
self.predicate = fn;
self.delay = num;
set = new Set();
self._promises = set;
set1 = new Set();
self._pending = set1;
tmp4 = new closure_4(self.delay, () => self._flush());
self._flushHandler = tmp4;
return;
}
}
let closure_1 = BatchInvocationManager;
let obj = {
key: "queue",
value(arg0) {
let iter2;
const self = this;
let closure_0 = this;
let tmp2 = arg0;
if (!Array.isArray(arg0)) {
const items = [arg0];
tmp2 = items;
}
const tmpResult = closure_5(tmp2);
let iter = tmpResult();
if (!iter.done) {
do {
let value = iter.value;
if (self.predicate(value)) {
let _pending = self._pending;
let addResult = _pending.add(value);
}
iter2 = tmpResult();
iter = iter2;
} while (!iter2.done);
}
if (0 === self._pending.size) {
let resolved = Promise.resolve();
} else {
resolved = new Promise((resolve, reject) => {
const _promises = self._promises;
_promises.add({ resolve, reject });
self._flushHandler.delay(false);
});
}
return resolved;
}
};
const items = [obj, , ];
obj = {
key: "reset",
value() {
const error = new Error("BatchInvocationManager was reset");
let closure_0 = error;
let _promises = this._promises;
const item = _promises.forEach((reject) => reject.reject(error));
const _pending = this._pending;
_pending.clear();
_promises = this._promises;
_promises.clear();
this._flushHandler.cancel();
}
};
items[1] = obj;
obj = { key: "_flush" };
const callback = callback(async function() {
const self = this;
const items = [...self._pending];
const _pending = self._pending;
_pending.clear();
const items1 = [...self._promises];
const _promises = self._promises;
_promises.clear();
if (0 !== items.length) {
yield self.invoke(items);
const item = arr3.forEach((resolve) => resolve.resolve());
} else {
const item1 = arr3.forEach((resolve) => resolve.resolve());
}
});
obj.value = function _flush() {
return callback(...arguments);
};
items[2] = obj;
return callback2(BatchInvocationManager, items);
}();
const result = arg1(dependencyMap[3]).fileFinishedImporting("../discord_common/js/packages/timers/Timers.tsx");
export const Timeout = tmp2;
export const DelayedCall = tmp3;
export const Interval = tmp4;
export const timeoutPromise = function timeoutPromise(arg0) {
let closure_0 = arg0;
return new Promise((arg0) => {
const timerId = setTimeout(() => arg0(), arg0);
});
};
export const BatchInvocationManager = tmp5;