|
import type { |
|
DataTag, |
|
DefaultError, |
|
InfiniteData, |
|
InitialDataFunction, |
|
OmitKeyof, |
|
QueryKey, |
|
SkipToken, |
|
} from '@tanstack/query-core' |
|
import type { UseInfiniteQueryOptions } from './types' |
|
|
|
export type UndefinedInitialDataInfiniteOptions< |
|
TQueryFnData, |
|
TError = DefaultError, |
|
TData = InfiniteData<TQueryFnData>, |
|
TQueryKey extends QueryKey = QueryKey, |
|
TPageParam = unknown, |
|
> = UseInfiniteQueryOptions< |
|
TQueryFnData, |
|
TError, |
|
TData, |
|
TQueryFnData, |
|
TQueryKey, |
|
TPageParam |
|
> & { |
|
initialData?: |
|
| undefined |
|
| NonUndefinedGuard<InfiniteData<TQueryFnData, TPageParam>> |
|
| InitialDataFunction< |
|
NonUndefinedGuard<InfiniteData<TQueryFnData, TPageParam>> |
|
> |
|
} |
|
|
|
export type UnusedSkipTokenInfiniteOptions< |
|
TQueryFnData, |
|
TError = DefaultError, |
|
TData = InfiniteData<TQueryFnData>, |
|
TQueryKey extends QueryKey = QueryKey, |
|
TPageParam = unknown, |
|
> = OmitKeyof< |
|
UseInfiniteQueryOptions< |
|
TQueryFnData, |
|
TError, |
|
TData, |
|
TQueryFnData, |
|
TQueryKey, |
|
TPageParam |
|
>, |
|
'queryFn' |
|
> & { |
|
queryFn?: Exclude< |
|
UseInfiniteQueryOptions< |
|
TQueryFnData, |
|
TError, |
|
TData, |
|
TQueryFnData, |
|
TQueryKey, |
|
TPageParam |
|
>['queryFn'], |
|
SkipToken | undefined |
|
> |
|
} |
|
|
|
type NonUndefinedGuard<T> = T extends undefined ? never : T |
|
|
|
export type DefinedInitialDataInfiniteOptions< |
|
TQueryFnData, |
|
TError = DefaultError, |
|
TData = InfiniteData<TQueryFnData>, |
|
TQueryKey extends QueryKey = QueryKey, |
|
TPageParam = unknown, |
|
> = UseInfiniteQueryOptions< |
|
TQueryFnData, |
|
TError, |
|
TData, |
|
TQueryFnData, |
|
TQueryKey, |
|
TPageParam |
|
> & { |
|
initialData: |
|
| NonUndefinedGuard<InfiniteData<TQueryFnData, TPageParam>> |
|
| (() => NonUndefinedGuard<InfiniteData<TQueryFnData, TPageParam>>) |
|
| undefined |
|
} |
|
|
|
export function infiniteQueryOptions< |
|
TQueryFnData, |
|
TError = DefaultError, |
|
TData = InfiniteData<TQueryFnData>, |
|
TQueryKey extends QueryKey = QueryKey, |
|
TPageParam = unknown, |
|
>( |
|
options: DefinedInitialDataInfiniteOptions< |
|
TQueryFnData, |
|
TError, |
|
TData, |
|
TQueryKey, |
|
TPageParam |
|
>, |
|
): DefinedInitialDataInfiniteOptions< |
|
TQueryFnData, |
|
TError, |
|
TData, |
|
TQueryKey, |
|
TPageParam |
|
> & { |
|
queryKey: DataTag<TQueryKey, InfiniteData<TQueryFnData>> |
|
} |
|
|
|
export function infiniteQueryOptions< |
|
TQueryFnData, |
|
TError = DefaultError, |
|
TData = InfiniteData<TQueryFnData>, |
|
TQueryKey extends QueryKey = QueryKey, |
|
TPageParam = unknown, |
|
>( |
|
options: UnusedSkipTokenInfiniteOptions< |
|
TQueryFnData, |
|
TError, |
|
TData, |
|
TQueryKey, |
|
TPageParam |
|
>, |
|
): UnusedSkipTokenInfiniteOptions< |
|
TQueryFnData, |
|
TError, |
|
TData, |
|
TQueryKey, |
|
TPageParam |
|
> & { |
|
queryKey: DataTag<TQueryKey, InfiniteData<TQueryFnData>> |
|
} |
|
|
|
export function infiniteQueryOptions< |
|
TQueryFnData, |
|
TError = DefaultError, |
|
TData = InfiniteData<TQueryFnData>, |
|
TQueryKey extends QueryKey = QueryKey, |
|
TPageParam = unknown, |
|
>( |
|
options: UndefinedInitialDataInfiniteOptions< |
|
TQueryFnData, |
|
TError, |
|
TData, |
|
TQueryKey, |
|
TPageParam |
|
>, |
|
): UndefinedInitialDataInfiniteOptions< |
|
TQueryFnData, |
|
TError, |
|
TData, |
|
TQueryKey, |
|
TPageParam |
|
> & { |
|
queryKey: DataTag<TQueryKey, InfiniteData<TQueryFnData>> |
|
} |
|
|
|
export function infiniteQueryOptions(options: unknown) { |
|
return options |
|
} |
|
|