406 lines
15 KiB
React
406 lines
15 KiB
React
/* Metro module 887; source: unknown; dependencies: [57, 840] */
|
|
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 closure = parseRetryAfterHeader;
|
|
const closure2 = function(a0, a1) {
|
|
var r0;
|
|
r0 = a0[a1] || a0.all;
|
|
r0 = !r0 ? 0 : r0;
|
|
return r0;
|
|
};
|
|
const env0_2 = require(57) /* metro dependency 57 */;
|
|
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 = closure;
|
|
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 = env0_2;
|
|
} 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;
|
|
}
|
|
}
|
|
|