150 lines
3.1 KiB
TypeScript
150 lines
3.1 KiB
TypeScript
import type {
|
|
DataTag,
|
|
DefaultError,
|
|
InfiniteData,
|
|
InitialDataFunction,
|
|
NonUndefinedGuard,
|
|
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,
|
|
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, TQueryKey, TPageParam>,
|
|
'queryFn'
|
|
> & {
|
|
queryFn?: Exclude<
|
|
UseInfiniteQueryOptions<
|
|
TQueryFnData,
|
|
TError,
|
|
TData,
|
|
TQueryKey,
|
|
TPageParam
|
|
>['queryFn'],
|
|
SkipToken | undefined
|
|
>
|
|
}
|
|
|
|
export type DefinedInitialDataInfiniteOptions<
|
|
TQueryFnData,
|
|
TError = DefaultError,
|
|
TData = InfiniteData<TQueryFnData>,
|
|
TQueryKey extends QueryKey = QueryKey,
|
|
TPageParam = unknown,
|
|
> = UseInfiniteQueryOptions<
|
|
TQueryFnData,
|
|
TError,
|
|
TData,
|
|
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>, TError>
|
|
}
|
|
|
|
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>, TError>
|
|
}
|
|
|
|
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>, TError>
|
|
}
|
|
|
|
export function infiniteQueryOptions(options: unknown) {
|
|
return options
|
|
}
|