340 lines
8.4 KiB
JavaScript
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;
|