61 lines
1.9 KiB
TypeScript
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;
|
|
};
|