Files
discord-decomp/sources/by-id/module-00887.js
T
2026-07-28 01:06:53 +03:00

408 lines
17 KiB
JavaScript

/* Metro module 887; source: unknown; dependencies: [57, 840] */
import * as Module00057Module from './module-00057.js'; /* Metro dependency 57 */
function _fun9636(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#9636, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1014:6, offset: 0x00d6cfea, size: 146 bytes, params: 8, frame: 20
const env0_0 = require;
const parseRetryAfterHeader2 = parseRetryAfterHeader;
const closure2 = function(a0, a1) {
var r0;
r0 = a0[a1] || a0.all;
r0 = !r0 ? 0 : r0;
return r0;
};
const Object = global.Object;
const defineProperty = Object.defineProperty;
const Symbol = global.Symbol;
Reflect.apply(defineProperty, Object, [exports, Symbol.toStringTag, {value: 'Module'}]);
exports.DEFAULT_RETRY_AFTER = 60000;
exports.disabledUntil = closure2;
exports.isRateLimited = isRateLimited;
exports.parseRetryAfterHeader = parseRetryAfterHeader2;
exports.updateRateLimits = updateRateLimits;
function parseRetryAfterHeader(a0) { // fn#9637, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1014:105, offset: 0x00d6d07c, size: 183 bytes, params: 2, frame: 17
var r2;
var r0;
var value;
if (arguments.length > 1) {
if (arguments[1] !== undefined) {
r2 = arguments[1];
} else {
value = require(840) /* metro dependency 840 */;
value = value.safeDateNow();
r2 = value;
}
} else {
value = require(840) /* metro dependency 840 */;
value = value.safeDateNow();
r2 = value;
}
const parseInt = global.parseInt;
value = '' + a0;
value = parseInt(value, 10);
if (global.isNaN(value)) {
value = global.Date.parse('' + a0);
if (global.isNaN(value)) {
r0 = 60000;
} else {
value -= r2;
r0 = value;
}
return r0;
}
return 1000 * value;
}
function isRateLimited(a0, a1) { // fn#9639, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1014:441, offset: 0x00d6d14d, size: 86 bytes, params: 3, frame: 15
var r1;
var value;
if (arguments.length > 2) {
if (arguments[2] !== undefined) {
r1 = arguments[2];
} else {
value = require(840) /* metro dependency 840 */;
value = value.safeDateNow();
r1 = value;
}
} else {
value = require(840) /* metro dependency 840 */;
value = value.safeDateNow();
r1 = value;
}
return disabledUntil(a0, a1) > r1;
}
function updateRateLimits(a0, a1) { // fn#9640, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1014:646, offset: 0x00d6d1a3, size: 540 bytes, params: 3, frame: 38
var r2;
var r22;
var r5;
var r23;
var r24;
var r26;
var r25;
var value;
var statusCode;
var headers;
var value2;
var moduleValue;
var safeDateNow;
var value3;
var value4;
var Object;
var assign;
var value5;
var property;
var value6;
var trim;
var value7;
var split;
var iterator;
var iterator2;
var value8;
var value9;
var item;
var item2;
var value10;
var binding;
var value11;
var property2;
var property3;
var parseInt;
var int;
var isNaN;
var isNaN2;
var value12;
var value13;
var value14;
var iterator3;
var item3;
var value15;
var value16;
var value17;
var includes;
var value18;
var value19;
var value20;
var error;
exceptionSkip60: while (true) {
exceptionLanding60: while (true) {
exceptionSkip57: while (true) {
exceptionLanding57: while (true) {
value = undefined;
statusCode = a1.statusCode;
headers = a1.headers;
if (arguments.length > 2) {
if (value !== arguments[2]) {
value4 = arguments[2];
r2 = value4;
break;
}
value2 = environment;
moduleValue = require(840) /* metro dependency 840 */;
r2 = moduleValue.safeDateNow();
break;
}
value2 = environment;
moduleValue = require(840) /* metro dependency 840 */;
safeDateNow = moduleValue.safeDateNow;
value3 = Reflect.apply(safeDateNow, moduleValue, []);
r2 = value3;
Object = global.Object;
assign = Object.assign;
value5 = Reflect.apply(assign, Object, [{}, a0]);
if (headers == null) {
r22 = value;
} else {
property = headers['x-sentry-rate-limits'];
r22 = property;
}
if (headers == null) {
r5 = value;
} else {
property = headers['retry-after'];
r5 = property;
}
if (!r22) {
if (r5) {
value6 = environment;
value5.all = r2 + parseRetryAfterHeader(r5, r2);
break;
}
if (statusCode !== 429) {
break;
}
value5.all = r2 + 60000;
break;
}
trim = r22.trim;
value7 = Reflect.apply(trim, r22, []);
split = value7.split;
iterator = Reflect.apply(split, value7, [','])[Symbol.iterator]();
iterator2 = iterator.next;
value8 = environment;
value9 = 60;
r23 = iterator;
while (true) {
item2 = Reflect.apply(iterator2, r23, []);
item = item2.value;
item2 = item2.done ? undefined : r23;
if (item2 === value) {
break;
}
try {
split = item.split;
} catch (error) {
break exceptionLanding60;
}
try {
value10 = Reflect.apply(split, item, [':', 5]);
} catch (error) {
break exceptionLanding60;
}
try {
binding = Module00057Module;
} catch (error) {
break exceptionLanding60;
}
try {
value11 = binding(value10, 5);
} catch (error) {
break exceptionLanding60;
}
try {
property = value11[0];
} catch (error) {
break exceptionLanding60;
}
try {
property2 = value11[1];
} catch (error) {
break exceptionLanding60;
}
try {
property3 = value11[4];
} catch (error) {
break exceptionLanding60;
}
try {
parseInt = global.parseInt;
} catch (error) {
break exceptionLanding60;
}
try {
int = parseInt(property, 10);
} catch (error) {
break exceptionLanding60;
}
try {
isNaN = global.isNaN;
} catch (error) {
break exceptionLanding60;
}
try {
isNaN2 = isNaN(int);
} catch (error) {
break exceptionLanding60;
}
if (isNaN2) {
r23 = value9;
continue;
}
r23 = int;
try {
value12 = 1000 * r23;
} catch (error) {
break exceptionLanding60;
}
if (property2) {
try {
split = property2.split;
} catch (error) {
break exceptionLanding60;
}
try {
value14 = Reflect.apply(split, property2, [';']);
} catch (error) {
break exceptionLanding60;
}
try {
iterator = value14[Symbol.iterator]();
iterator3 = iterator.next;
} catch (error) {
break exceptionLanding60;
}
r24 = iterator;
while (true) {
try {
item3 = Reflect.apply(iterator3, r24, []);
item = item3.value;
item3 = item3.done ? undefined : r24;
} catch (error) {
break exceptionLanding60;
}
try {
value15 = item3 === value;
} catch (error) {
break exceptionLanding60;
}
if (value15) {
r23 = item2;
break;
}
value16 = item === 'metric_bucket';
if (!value16) {
r26 = value16;
continue;
}
r26 = property3;
if (!r26) {
r25 = r26;
continue;
}
try {
try {
split = property3.split;
} catch (error) {
break exceptionLanding57;
}
} catch (error) {
break exceptionLanding60;
}
try {
try {
value17 = Reflect.apply(split, property3, [';']);
} catch (error) {
break exceptionLanding57;
}
} catch (error) {
break exceptionLanding60;
}
try {
try {
includes = value17.includes;
} catch (error) {
break exceptionLanding57;
}
} catch (error) {
break exceptionLanding60;
}
try {
try {
value18 = Reflect.apply(includes, value17, ['custom']);
} catch (error) {
break exceptionLanding57;
}
} catch (error) {
break exceptionLanding60;
}
value19 = !value18;
r25 = value19;
if (r25) {
continue;
}
try {
try {
value20 = r2 + value12;
} catch (error) {
break exceptionLanding57;
}
} catch (error) {
break exceptionLanding60;
}
try {
try {
value5[item] = value20;
} catch (error) {
break exceptionLanding57;
}
} catch (error) {
break exceptionLanding60;
}
r24 = item3;
}
} else {
try {
value13 = r2 + value12;
} catch (error) {
break exceptionLanding60;
}
try {
value5.all = value13;
} catch (error) {
break exceptionLanding60;
}
r23 = item2;
}
}
return value5;
break exceptionSkip57;
}
try {
try {
item3.return();
} catch {
}
} catch (error) {
break exceptionLanding60;
}
try {
throw error;
} catch (error) {
break exceptionLanding60;
}
break exceptionSkip57;
}
break exceptionSkip60;
}
try {
item2.return();
} catch {
}
throw error;
break exceptionSkip60;
}
}
}
global.__d(_fun9636, 887, [57, 840]) /* metro module 887, dependencies: [57, 840] */;