Files
discord-decomp/lib/rateLimit.tsx
T
2026-11-01 12:12:55 +02:00

40 lines
1006 B
TypeScript

// Metro module 12733 (f12734).
export default function rateLimit(c19990_0, c19990_1, c19990_2) {
let c19990_3;
let c19990_4 = [];
const wrapper2 = function wrapper(...args) {
let r25;
let c27354_0 = args;
const r14 = Date.now();
if (c19990_3 != null) {
clearTimeout(c19990_3);
c19990_3 = null;
}
const length = c19990_4.length;
let r19 = c19990_4;
if (length > 0) {
const r20 = c19990_4[0];
r19 = c19990_4;
if (r20 <= r14) {
do {
c19990_4.shift();
const length2 = c19990_4.length;
r19 = c19990_4;
if (!(length2 > 0)) {
break;
}
r25 = c19990_4[0];
r19 = c19990_4;
} while (r25 <= r14);
}
}
if (r19.length < c19990_0) {
r19.push(r14 + c19990_1);
c19990_2.apply(void 0, [...args]);
} else {
c19990_3 = setTimeout(() => wrapper2.apply(void 0, [...c27354_0]), r19[0] - r14);
}
};
return wrapper2;
};