tooot/src/utils/queryHooks/utils.ts

13 lines
524 B
TypeScript
Raw Normal View History

2022-12-31 00:07:28 +01:00
import { InfiniteData } from '@tanstack/react-query'
import { PagedResponse } from '@utils/api/helpers'
2022-12-10 20:19:18 +01:00
export const infinitePageParams = {
2022-12-15 14:28:36 +01:00
getPreviousPageParam: (firstPage: PagedResponse<any>) =>
firstPage.links?.prev && { min_id: firstPage.links.next },
2022-12-15 14:28:36 +01:00
getNextPageParam: (lastPage: PagedResponse<any>) =>
2022-12-10 20:19:18 +01:00
lastPage.links?.next && { max_id: lastPage.links.next }
}
2022-12-31 00:07:28 +01:00
export const flattenPages = <T>(data: InfiniteData<PagedResponse<T[]>> | undefined): T[] | [] =>
2023-01-06 01:01:10 +01:00
data?.pages.flatMap(page => page.body) || []