UNPKG

@tanstack/vue-query

Version:

Hooks for managing, caching and syncing asynchronous and remote data in Vue

131 lines (122 loc) 2.99 kB
import { InfiniteQueryObserver } from '@tanstack/query-core' import { useBaseQuery } from './useBaseQuery' import type { DefinedInitialDataInfiniteOptions, UndefinedInitialDataInfiniteOptions, } from './infiniteQueryOptions' import type { DefaultError, InfiniteData, InfiniteQueryObserverOptions, InfiniteQueryObserverResult, QueryKey, QueryObserver, } from '@tanstack/query-core' import type { UseBaseQueryReturnType } from './useBaseQuery' import type { DeepUnwrapRef, MaybeRef, MaybeRefDeep, MaybeRefOrGetter, } from './types' import type { QueryClient } from './queryClient' export type UseInfiniteQueryOptions< TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown, > = MaybeRef< { [Property in keyof InfiniteQueryObserverOptions< TQueryFnData, TError, TData, TQueryKey, TPageParam >]: Property extends 'enabled' ? MaybeRefOrGetter< InfiniteQueryObserverOptions< TQueryFnData, TError, TData, DeepUnwrapRef<TQueryKey> >[Property] > : MaybeRefDeep< InfiniteQueryObserverOptions< TQueryFnData, TError, TData, DeepUnwrapRef<TQueryKey>, TPageParam >[Property] > } & { shallow?: boolean } > export type UseInfiniteQueryReturnType<TData, TError> = UseBaseQueryReturnType< TData, TError, InfiniteQueryObserverResult<TData, TError> > export function useInfiniteQuery< TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown, >( options: DefinedInitialDataInfiniteOptions< TQueryFnData, TError, TData, TQueryKey, TPageParam >, queryClient?: QueryClient, ): UseInfiniteQueryReturnType<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, ): UseInfiniteQueryReturnType<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, ): UseInfiniteQueryReturnType<TData, TError> export function useInfiniteQuery( options: UseInfiniteQueryOptions, queryClient?: QueryClient, ) { return useBaseQuery( // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion InfiniteQueryObserver as typeof QueryObserver, options, queryClient, ) }