2022-12-31 00:07:28 +01:00
|
|
|
import { InfiniteData } from '@tanstack/react-query'
|
2022-12-28 23:41:36 +01:00
|
|
|
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>) =>
|
2022-12-11 01:08:38 +01:00
|
|
|
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) || []
|