({
queryKey,
queryFn,
...options
}: Omit<
UseQueryOptions<PageResult<TData>, TError, PageResult<TData>, readonly unknown[]>,
'queryFn' | 'queryKey'
> & {
queryKey: readonly unknown[];
queryFn: (params?: object) => Promise<PageResult<TData>> | PageResult<TData>;
})
| 4 | import { useNavigation } from './useNavigation'; |
| 5 | |
| 6 | export function usePagedQuery<TData = any, TError = Error>({ |
| 7 | queryKey, |
| 8 | queryFn, |
| 9 | ...options |
| 10 | }: Omit< |
| 11 | UseQueryOptions<PageResult<TData>, TError, PageResult<TData>, readonly unknown[]>, |
| 12 | 'queryFn' | 'queryKey' |
| 13 | > & { |
| 14 | queryKey: readonly unknown[]; |
| 15 | queryFn: (params?: object) => Promise<PageResult<TData>> | PageResult<TData>; |
| 16 | }): UseQueryResult<PageResult<TData>, TError> { |
| 17 | const { |
| 18 | query: { page, search, orderBy, sortDescending }, |
| 19 | } = useNavigation(); |
| 20 | const { useQuery } = useApi(); |
| 21 | |
| 22 | return useQuery<PageResult<TData>, TError>({ |
| 23 | queryKey: [...queryKey, page, search, orderBy, sortDescending] as const, |
| 24 | queryFn: () => queryFn({ page, search, orderBy, sortDescending }), |
| 25 | ...options, |
| 26 | }); |
| 27 | } |
no test coverage detected