Files
discord-decomp/sources/by-id/module-00304.jsx
T
2026-07-27 16:20:00 +03:00

665 lines
23 KiB
React

/* Metro module 304; source: unknown; dependencies: [57, 79] */
function _fun4599(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#4599, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:345:6, offset: 0x00cc6bb2, size: 125 bytes, params: 8, frame: 19
const closure = elementsThatOverlapOffsets;
const closure2 = function(a0, a1) {
var property = a1.last;
var value = property - a1.first + 1;
property = global.Math;
var Math = global.Math;
var value2 = 1 + Math.min(a1.last, a0.last);
var Math2 = global.Math;
return value - property.max(0, value2 - Math2.max(a1.first, a0.first));
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importDefault(57) /* metro dependency 57 */;
exports.elementsThatOverlapOffsets = closure;
exports.newRangeCount = closure2;
exports.computeWindowedRenderLimits = computeWindowedRenderLimits;
exports.keyExtractor = function(a0, a1) {
var r0;
var value = typeof a0 === 'object';
if (value) {
if (a0?.key != null) {
r0 = a0.key;
} else if (value) {
r0 = a0?.id;
r0 = r0 != null ? a0.id : (0, global.String)(a1);
} else {
r0 = (0, global.String)(a1);
}
} else if (value) {
r0 = a0?.id;
r0 = r0 != null ? a0.id : (0, global.String)(a1);
} else {
r0 = (0, global.String)(a1);
}
return r0;
};
}
function elementsThatOverlapOffsets(a0, a1, a2) { // fn#4600, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:345:106, offset: 0x00cc6c2f, size: 268 bytes, params: 4, frame: 31
var r10;
var r5;
var r1;
var r15;
var r17;
var value2;
var property;
var value5;
var Math;
var floor;
var value6;
var getCellMetricsApprox;
var value7;
var offset;
var value8;
var value9;
var value10;
var value11;
var value12;
const value = 1;
reducibleJoin3: while (true) {
if (arguments.length > 3) {
if (arguments[3] === undefined) {
r10 = value;
break reducibleJoin3;
}
value2 = arguments[3];
r10 = value2;
break reducibleJoin3;
}
r10 = value;
break reducibleJoin3;
}
const itemCount = a1.getItemCount(a1.data);
const items2 = [];
let length = a0.length;
const value4 = 0;
if (value4 < length) {
r5 = value4;
reducibleLoop4: while (true) {
property = a0[r5];
value5 = itemCount - value;
if (value4 <= value5) {
r1 = value4;
r15 = value5;
reducibleLoop5: while (true) {
Math = global.Math;
floor = Math.floor;
value6 = r1 + Reflect.apply(floor, Math, [(r15 - r1) / 2]);
getCellMetricsApprox = a2.getCellMetricsApprox;
value7 = Reflect.apply(getCellMetricsApprox, a2, [value6, a1]);
offset = value7.offset;
value8 = offset * r10;
offset = value7.offset;
length = value7.length;
value9 = (offset + length) * r10;
if (value4 === value6) {
reducibleJoin7: while (true) {
if (property < value8) {
value11 = value6 - value;
r15 = value11;
r17 = r1;
if (r17 <= r15) {
r1 = r17;
continue reducibleLoop5;
}
break reducibleLoop5;
}
break reducibleJoin7;
}
}
if (value4 !== value6) {
reducibleJoin9: while (true) {
if (property <= value8) {
value11 = value6 - value;
r15 = value11;
r17 = r1;
if (r17 <= r15) {
r1 = r17;
continue reducibleLoop5;
}
break reducibleLoop5;
}
break reducibleJoin9;
}
}
if (property > value9) {
value10 = value6 + value;
r17 = value10;
if (r17 <= r15) {
r1 = r17;
continue reducibleLoop5;
}
break reducibleLoop5;
}
items2[r5] = value6;
break reducibleLoop5;
}
}
value12 = typeof r5 === 'bigint' ? r5 + 1n : +r5 + 1;
length = a0.length;
if (value12 < length) {
r5 = value12;
continue reducibleLoop4;
}
break reducibleLoop4;
}
}
return items2;
}
function computeWindowedRenderLimits(a0, a1, a2, a3, a4, {offset, velocity, visibleLength, zoomScale}) { // fn#4602, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:345:702, offset: 0x00cc6db5, size: 945 bytes, params: 7, frame: 37
var r4;
var r0;
var r12;
var r5;
var r8;
var r20;
var r23;
var r18;
var r24;
var r21;
var r19;
var r22;
var value8;
var value9;
var object2;
var value16;
var value17;
var min;
var value18;
var value22;
var moduleValue;
var fixVirtualizeListCollapseWindowSize;
var value23;
var first;
var value24;
var last;
var value25;
var value26;
var value27;
var value28;
var value29;
var value30;
var value31;
var value32;
var value33;
var value34;
var value35;
var value36;
var value37;
var value38;
var value39;
var value40;
let value = a0.getItemCount(a0.data);
if (value === 0) {
return {'first': 0, 'last': -1};
}
let r9 = zoomScale === undefined ? 1 : zoomScale;
let Math = global.Math;
let max = Math.max;
const value4 = Reflect.apply(max, Math, [0, offset]);
const value5 = value4 + visibleLength;
const value6 = (a2 - 1) * visibleLength;
const value7 = 'after';
reducibleJoin6: while (true) {
if (velocity > 1) {
r0 = value7;
break reducibleJoin6;
}
value8 = 'none';
reducibleJoin5: while (true) {
if (velocity < -1) {
value9 = 'before';
r4 = value9;
break reducibleJoin5;
}
r4 = value8;
break reducibleJoin5;
}
r0 = r4;
break reducibleJoin6;
}
Math = global.Math;
max = Math.max;
const value10 = 0.5 * value6;
const value11 = Reflect.apply(max, Math, [0, value4 - value10]);
Math = global.Math;
const value12 = Math.max(0, value5 + value10);
const getCellMetricsApprox = a4.getCellMetricsApprox;
if (Reflect.apply(getCellMetricsApprox, a4, [value - 1, a0]).offset * r9 < value11) {
object2 = {};
object2.first = global.Math.max(0, value - 1 - a1);
object2.last = value - 1;
return object2;
}
const value15 = env0_2(elementsThatOverlapOffsets([value11, value4, value5, value12], a0, a4, r9), 4);
const property = value15[0];
const property2 = value15[1];
const property3 = value15[2];
const property4 = value15[3];
const r13 = property ?? 0;
reducibleJoin10: while (true) {
if (property4 != null) {
r12 = property4;
break reducibleJoin10;
}
value16 = value - 1;
r12 = value16;
break reducibleJoin10;
}
object2 = {};
reducibleJoin12: while (true) {
if (property2 != null) {
r5 = property2;
break reducibleJoin12;
}
Math = global.Math;
max = Math.max;
value17 = Reflect.apply(max, Math, [0, r13]);
r5 = value17;
break reducibleJoin12;
}
object2.first = r5;
reducibleJoin14: while (true) {
if (property3 != null) {
r4 = property3;
break reducibleJoin14;
}
Math = global.Math;
min = Math.min;
value18 = Reflect.apply(min, Math, [r12, r5 + a1 - 1]);
r4 = value18;
break reducibleJoin14;
}
object2.last = r4;
const value19 = newRangeCount(a3, object2);
const value20 = r0 === 'before';
const value21 = value7 === r0;
if (r5 <= r13) {
if (!(r4 >= r12)) {
r0 = value19;
r8 = r4;
r9 = r5;
reducibleLoop16: while (true) {
value22 = r0 >= a1;
moduleValue = importAll(79) /* metro dependency 79 */;
fixVirtualizeListCollapseWindowSize = moduleValue.fixVirtualizeListCollapseWindowSize;
value23 = Reflect.apply(fixVirtualizeListCollapseWindowSize, moduleValue, []);
first = a3.first;
value24 = r9 <= first;
if (value23) {
last = a3.last;
value28 = r8 >= last;
r20 = value24;
r23 = value28;
} else {
reducibleJoin19: while (true) {
if (value24) {
r20 = value24;
break reducibleJoin19;
}
last = a3.last;
value25 = r9 > last;
r20 = value25;
break reducibleJoin19;
}
last = a3.last;
value26 = r8 >= last;
reducibleJoin21: while (true) {
if (value26) {
r23 = value26;
break reducibleJoin21;
}
first = a3.first;
value27 = r8 < first;
r23 = value27;
break reducibleJoin21;
}
}
value29 = r9 > r13;
reducibleJoin27: while (true) {
if (value29) {
value30 = !value22;
reducibleJoin26: while (true) {
if (value22) {
value31 = !r20;
r18 = value31;
break reducibleJoin26;
}
r18 = value30;
break reducibleJoin26;
}
r24 = r18;
break reducibleJoin27;
}
r24 = value29;
break reducibleJoin27;
}
value32 = r8 < r12;
reducibleJoin31: while (true) {
if (value32) {
value33 = !value22;
reducibleJoin30: while (true) {
if (value22) {
value34 = !r23;
r21 = value34;
break reducibleJoin30;
}
r21 = value33;
break reducibleJoin30;
}
r18 = r21;
break reducibleJoin31;
}
r18 = value32;
break reducibleJoin31;
}
if (value22) {
reducibleJoin34: while (true) {
if (r24) {
break reducibleJoin34;
}
if (r18) {
break reducibleJoin34;
}
r4 = r8;
r5 = r9;
break reducibleLoop16;
}
}
value35 = !r24;
reducibleJoin38: while (true) {
if (r24) {
r19 = value21 && r18;
if (r19) {
r19 = r23;
}
r21 = r19;
break reducibleJoin38;
}
r21 = value35;
break reducibleJoin38;
}
reducibleJoin42: while (true) {
if (r21) {
r19 = r9;
r22 = r0;
break reducibleJoin42;
}
reducibleJoin41: while (true) {
if (r20) {
value36 = typeof r0 === 'bigint' ? r0 + 1n : +r0 + 1;
r21 = value36;
break reducibleJoin41;
}
r21 = r0;
break reducibleJoin41;
}
value37 = typeof r9 === 'bigint' ? r9 - 1n : +r9 - 1;
r19 = value37;
r22 = r21;
break reducibleJoin42;
}
value38 = !r18;
reducibleJoin46: while (true) {
if (r18) {
r18 = value20 && r24;
if (r18) {
r18 = r20;
}
r21 = r18;
break reducibleJoin46;
}
r21 = value38;
break reducibleJoin46;
}
reducibleJoin50: while (true) {
if (r21) {
r18 = r8;
r20 = r22;
break reducibleJoin50;
}
reducibleJoin49: while (true) {
if (r23) {
value39 = typeof r22 === 'bigint' ? r22 + 1n : +r22 + 1;
r21 = value39;
break reducibleJoin49;
}
r21 = r22;
break reducibleJoin49;
}
value40 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value40;
r20 = r21;
break reducibleJoin50;
}
if (r19 <= r13) {
if (r18 >= r12) {
r4 = r18;
r5 = r19;
break reducibleLoop16;
}
r0 = r20;
r8 = r18;
r9 = r19;
continue reducibleLoop16;
}
r0 = r20;
r8 = r18;
r9 = r19;
continue reducibleLoop16;
}
}
} else {
r0 = value19;
r8 = r4;
r9 = r5;
reducibleLoop16: while (true) {
value22 = r0 >= a1;
moduleValue = importAll(79) /* metro dependency 79 */;
fixVirtualizeListCollapseWindowSize = moduleValue.fixVirtualizeListCollapseWindowSize;
value23 = Reflect.apply(fixVirtualizeListCollapseWindowSize, moduleValue, []);
first = a3.first;
value24 = r9 <= first;
if (value23) {
last = a3.last;
value28 = r8 >= last;
r20 = value24;
r23 = value28;
} else {
reducibleJoin19: while (true) {
if (value24) {
r20 = value24;
break reducibleJoin19;
}
last = a3.last;
value25 = r9 > last;
r20 = value25;
break reducibleJoin19;
}
last = a3.last;
value26 = r8 >= last;
reducibleJoin21: while (true) {
if (value26) {
r23 = value26;
break reducibleJoin21;
}
first = a3.first;
value27 = r8 < first;
r23 = value27;
break reducibleJoin21;
}
}
value29 = r9 > r13;
reducibleJoin27: while (true) {
if (value29) {
value30 = !value22;
reducibleJoin26: while (true) {
if (value22) {
value31 = !r20;
r18 = value31;
break reducibleJoin26;
}
r18 = value30;
break reducibleJoin26;
}
r24 = r18;
break reducibleJoin27;
}
r24 = value29;
break reducibleJoin27;
}
value32 = r8 < r12;
reducibleJoin31: while (true) {
if (value32) {
value33 = !value22;
reducibleJoin30: while (true) {
if (value22) {
value34 = !r23;
r21 = value34;
break reducibleJoin30;
}
r21 = value33;
break reducibleJoin30;
}
r18 = r21;
break reducibleJoin31;
}
r18 = value32;
break reducibleJoin31;
}
if (value22) {
reducibleJoin34: while (true) {
if (r24) {
break reducibleJoin34;
}
if (r18) {
break reducibleJoin34;
}
r4 = r8;
r5 = r9;
break reducibleLoop16;
}
}
value35 = !r24;
reducibleJoin38: while (true) {
if (r24) {
r19 = value21 && r18;
if (r19) {
r19 = r23;
}
r21 = r19;
break reducibleJoin38;
}
r21 = value35;
break reducibleJoin38;
}
reducibleJoin42: while (true) {
if (r21) {
r19 = r9;
r22 = r0;
break reducibleJoin42;
}
reducibleJoin41: while (true) {
if (r20) {
value36 = typeof r0 === 'bigint' ? r0 + 1n : +r0 + 1;
r21 = value36;
break reducibleJoin41;
}
r21 = r0;
break reducibleJoin41;
}
value37 = typeof r9 === 'bigint' ? r9 - 1n : +r9 - 1;
r19 = value37;
r22 = r21;
break reducibleJoin42;
}
value38 = !r18;
reducibleJoin46: while (true) {
if (r18) {
r18 = value20 && r24;
if (r18) {
r18 = r20;
}
r21 = r18;
break reducibleJoin46;
}
r21 = value38;
break reducibleJoin46;
}
reducibleJoin50: while (true) {
if (r21) {
r18 = r8;
r20 = r22;
break reducibleJoin50;
}
reducibleJoin49: while (true) {
if (r23) {
value39 = typeof r22 === 'bigint' ? r22 + 1n : +r22 + 1;
r21 = value39;
break reducibleJoin49;
}
r21 = r22;
break reducibleJoin49;
}
value40 = typeof r8 === 'bigint' ? r8 + 1n : +r8 + 1;
r18 = value40;
r20 = r21;
break reducibleJoin50;
}
if (r19 <= r13) {
if (r18 >= r12) {
r4 = r18;
r5 = r19;
break reducibleLoop16;
}
r0 = r20;
r8 = r18;
r9 = r19;
continue reducibleLoop16;
}
r0 = r20;
r8 = r18;
r9 = r19;
continue reducibleLoop16;
}
}
if (r4 >= r5) {
reducibleJoin59: while (true) {
if (r5 >= 0) {
if (r4 < value) {
if (r5 >= r13) {
if (r4 <= r12) {
first = object2.first;
if (r5 <= first) {
last = object2.last;
if (r4 >= last) {
return {first: r5, last: r4};
}
break reducibleJoin59;
}
break reducibleJoin59;
}
break reducibleJoin59;
}
break reducibleJoin59;
}
break reducibleJoin59;
}
break reducibleJoin59;
}
}
const Error = global.Error;
const JSON = global.JSON;
value = JSON.stringify({first: r5, last: r4, itemCount: value, overscanFirst: r13, overscanLast: r12,
visible: object2});
value = 'Bad window calculation ' + value;
const value41 = Object.create(Error.prototype, {constructor: {value: Error}});
const error = new Error(value);
throw error instanceof Object ? error : value41;
}