Files
discord-decomp/modules/fastest_list/getFastestListVisibleItemsDefault.tsx
T
2026-11-01 12:12:55 +02:00

61 lines
1.9 KiB
TypeScript

// Metro module 9253 (f9254).
export default function getFastestListVisibleItemsDefault({ estimatedListSize, sectionsVersioned }) {
let r37, length;
const { itemSizeIsUniform, itemSizes } = sectionsVersioned;
let listHeaderSize = sectionsVersioned.listHeaderSize;
const { sectionsId, sections, sectionFooterSizeIsUniform, sectionFooterSizes, sectionHeaderSizeIsUniform, sectionHeaderSizes } = sectionsVersioned;
const r24 = {
sectionsId,
sectionStart: 0,
sectionEnd: 0,
itemStart: 0,
itemEnd: -1
};
if (listHeaderSize >= estimatedListSize) {
return r24;
}
const r6 = 0 < sections.length;
let r4 = 0;
if (r6) {
do {
const r26 = sections[r4];
const sectionEnd = r4;
const r19 = listHeaderSize;
let r18 = r19;
if (r26 !== 0) {
r24.sectionEnd = sectionEnd;
r24.itemEnd = 0;
const r28 = r19 + (sectionHeaderSizeIsUniform ? sectionHeaderSizes[0] : sectionHeaderSizes[sectionEnd]);
if (r28 >= estimatedListSize) {
return r24;
}
const r30 = 0 < sections[sectionEnd];
let itemEnd = 0;
let r20 = r28;
let r31 = r20;
if (r30) {
do {
r24.itemEnd = itemEnd;
const r36 = r20 + (itemSizeIsUniform ? itemSizes[0].sizes[0] : itemSizes[sectionEnd].sizes[itemEnd]);
if (r36 >= estimatedListSize) {
return r24;
}
itemEnd = itemEnd + 1;
r37 = sections[sectionEnd];
r20 = r36;
r31 = r20;
} while (itemEnd < r37);
}
r18 = r31 + (sectionFooterSizeIsUniform ? sectionFooterSizes[0] : sectionFooterSizes[sectionEnd]);
if (r18 >= estimatedListSize) {
return r24;
}
}
r4 = sectionEnd + 1;
length = sections.length;
listHeaderSize = r18;
} while (r4 < length);
}
return r24;
};