Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 197x 197x | import { InfiniteData } from "@tanstack/react-query";
export type EndsWithList = `${string}List`;
export type ObjectWithListValue<TData> = {
[Key in keyof TData]: Key extends EndsWithList ? unknown[] : unknown;
};
/**
* Utility function for checking if the resultant infinite data has at least one
* page of data in.
* @returns true if there is at least one page of data, false otherwise.
*/
export default function hasAtLeastOnePage<
TData extends ObjectWithListValue<TData>,
>(
data: InfiniteData<TData> | undefined,
listKey: keyof TData & EndsWithList,
): data is InfiniteData<TData> {
return !!data && data.pages.length > 0 && data.pages[0][listKey].length > 0;
}
|