Files
sistema_base/apps/web/hooks/use-safe-query.ts

27 lines
652 B
TypeScript

import { UseQueryOptions, useInfiniteQuery, useQuery } from '@tanstack/react-query'
export function useSafeQuery<T, K = unknown>(
queryKey: [string, K?],
queryFn: () => Promise<T>,
options?: Omit<UseQueryOptions<T>, 'queryKey' | 'queryFn'>
) {
return useQuery({
queryKey,
queryFn,
...options,
})
}
export function useSafeInfiniteQuery<T, K = unknown>(
queryKey: [string, K?],
queryFn: ({ pageParam }: { pageParam: number }) => Promise<T>,
getNextPageParam: (lastPage: T, allPages: T[]) => number | undefined,
) {
return useInfiniteQuery({
queryKey,
queryFn,
getNextPageParam,
initialPageParam: 0,
})
}