82 lines
1.8 KiB
TypeScript
82 lines
1.8 KiB
TypeScript
'use client'
|
|
import { InfiniteQueryObserver } from '@tanstack/query-core'
|
|
import { useBaseQuery } from './useBaseQuery'
|
|
import type {
|
|
DefaultError,
|
|
InfiniteData,
|
|
QueryClient,
|
|
QueryKey,
|
|
QueryObserver,
|
|
} from '@tanstack/query-core'
|
|
import type {
|
|
DefinedUseInfiniteQueryResult,
|
|
UseInfiniteQueryOptions,
|
|
UseInfiniteQueryResult,
|
|
} from './types'
|
|
import type {
|
|
DefinedInitialDataInfiniteOptions,
|
|
UndefinedInitialDataInfiniteOptions,
|
|
} from './infiniteQueryOptions'
|
|
|
|
export function useInfiniteQuery<
|
|
TQueryFnData,
|
|
TError = DefaultError,
|
|
TData = InfiniteData<TQueryFnData>,
|
|
TQueryKey extends QueryKey = QueryKey,
|
|
TPageParam = unknown,
|
|
>(
|
|
options: DefinedInitialDataInfiniteOptions<
|
|
TQueryFnData,
|
|
TError,
|
|
TData,
|
|
TQueryKey,
|
|
TPageParam
|
|
>,
|
|
queryClient?: QueryClient,
|
|
): DefinedUseInfiniteQueryResult<TData, TError>
|
|
|
|
export function useInfiniteQuery<
|
|
TQueryFnData,
|
|
TError = DefaultError,
|
|
TData = InfiniteData<TQueryFnData>,
|
|
TQueryKey extends QueryKey = QueryKey,
|
|
TPageParam = unknown,
|
|
>(
|
|
options: UndefinedInitialDataInfiniteOptions<
|
|
TQueryFnData,
|
|
TError,
|
|
TData,
|
|
TQueryKey,
|
|
TPageParam
|
|
>,
|
|
queryClient?: QueryClient,
|
|
): UseInfiniteQueryResult<TData, TError>
|
|
|
|
export function useInfiniteQuery<
|
|
TQueryFnData,
|
|
TError = DefaultError,
|
|
TData = InfiniteData<TQueryFnData>,
|
|
TQueryKey extends QueryKey = QueryKey,
|
|
TPageParam = unknown,
|
|
>(
|
|
options: UseInfiniteQueryOptions<
|
|
TQueryFnData,
|
|
TError,
|
|
TData,
|
|
TQueryKey,
|
|
TPageParam
|
|
>,
|
|
queryClient?: QueryClient,
|
|
): UseInfiniteQueryResult<TData, TError>
|
|
|
|
export function useInfiniteQuery(
|
|
options: UseInfiniteQueryOptions,
|
|
queryClient?: QueryClient,
|
|
) {
|
|
return useBaseQuery(
|
|
options,
|
|
InfiniteQueryObserver as typeof QueryObserver,
|
|
queryClient,
|
|
)
|
|
}
|