diff --git a/src/index.ts b/src/index.ts index d982ce9..34402f1 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,4 +1,4 @@ -import type { SectionListData } from "react-native"; +import type { DefaultSectionT, SectionListData } from "react-native"; export type GetItemLayoutParams = { getItemHeight: @@ -6,7 +6,7 @@ export type GetItemLayoutParams = { | ((item: T, sectionIndex: number, itemIndex: number) => number); getItemSeparatorHeight?: | number - | ((sectionIndex: number, rowIndex: number) => number); + | ((sectionIndex: number, itemIndex: number) => number); getListHeaderHeight?: number | (() => number); getSectionHeaderHeight?: number | ((sectionIndex: number) => number); getSectionFooterHeight?: number | ((sectionIndex: number) => number); @@ -28,16 +28,19 @@ const resolveValue = ( : value; const getItemLayout = - ({ + ({ getItemHeight, getItemSeparatorHeight = 0, getSectionHeaderHeight = 0, getSectionFooterHeight = 0, getSectionSeparatorHeight = 0, getListHeaderHeight = 0, - }: GetItemLayoutParams) => - (data: SectionListData[] | null, index: number): GetItemLayoutShape => { - if (!data || !data.length) { + }: GetItemLayoutParams) => + ( + data: readonly SectionListData[] | null, + index: number, + ): GetItemLayoutShape => { + if (!data?.length) { return { length: 0, offset: 0, index }; } @@ -119,3 +122,4 @@ const getItemLayout = }; export default getItemLayout; +export type GetItemLayoutFunction = typeof getItemLayout;