@tanstack/react-query
Version:
Hooks for managing, caching and syncing asynchronous and remote data in React
172 lines (152 loc) • 4.35 kB
text/typescript
/* istanbul ignore file */
import type {
DefaultError,
DefinedInfiniteQueryObserverResult,
DefinedQueryObserverResult,
InfiniteQueryObserverOptions,
InfiniteQueryObserverResult,
MutateFunction,
MutationObserverOptions,
MutationObserverResult,
QueryKey,
QueryObserverOptions,
QueryObserverResult,
WithRequired,
} from '/query-core'
export interface UseBaseQueryOptions<
TQueryFnData = unknown,
TError = DefaultError,
TData = TQueryFnData,
TQueryData = TQueryFnData,
TQueryKey extends QueryKey = QueryKey,
> extends WithRequired<
QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>,
'queryKey'
> {}
export interface UseQueryOptions<
TQueryFnData = unknown,
TError = DefaultError,
TData = TQueryFnData,
TQueryKey extends QueryKey = QueryKey,
> extends Omit<
WithRequired<
UseBaseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>,
'queryKey'
>,
'suspense'
> {}
export interface UseSuspenseQueryOptions<
TQueryFnData = unknown,
TError = DefaultError,
TData = TQueryFnData,
TQueryKey extends QueryKey = QueryKey,
> extends Omit<
UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
'enabled' | 'throwOnError' | 'placeholderData'
> {}
export interface UseInfiniteQueryOptions<
TQueryFnData = unknown,
TError = DefaultError,
TData = TQueryFnData,
TQueryData = TQueryFnData,
TQueryKey extends QueryKey = QueryKey,
TPageParam = unknown,
> extends WithRequired<
Omit<
InfiniteQueryObserverOptions<
TQueryFnData,
TError,
TData,
TQueryData,
TQueryKey,
TPageParam
>,
'suspense'
>,
'queryKey'
> {}
export interface UseSuspenseInfiniteQueryOptions<
TQueryFnData = unknown,
TError = DefaultError,
TData = TQueryFnData,
TQueryData = TQueryFnData,
TQueryKey extends QueryKey = QueryKey,
TPageParam = unknown,
> extends Omit<
UseInfiniteQueryOptions<
TQueryFnData,
TError,
TData,
TQueryData,
TQueryKey,
TPageParam
>,
'enabled' | 'throwOnError' | 'placeholderData'
> {}
export type UseBaseQueryResult<
TData = unknown,
TError = DefaultError,
> = QueryObserverResult<TData, TError>
export type UseQueryResult<
TData = unknown,
TError = DefaultError,
> = UseBaseQueryResult<TData, TError>
export type UseSuspenseQueryResult<
TData = unknown,
TError = DefaultError,
> = Omit<DefinedQueryObserverResult<TData, TError>, 'isPlaceholderData'>
export type DefinedUseQueryResult<
TData = unknown,
TError = DefaultError,
> = DefinedQueryObserverResult<TData, TError>
export type UseInfiniteQueryResult<
TData = unknown,
TError = DefaultError,
> = InfiniteQueryObserverResult<TData, TError>
export type DefinedUseInfiniteQueryResult<
TData = unknown,
TError = DefaultError,
> = DefinedInfiniteQueryObserverResult<TData, TError>
export type UseSuspenseInfiniteQueryResult<
TData = unknown,
TError = DefaultError,
> = Omit<DefinedInfiniteQueryObserverResult<TData, TError>, 'isPlaceholderData'>
export interface UseMutationOptions<
TData = unknown,
TError = DefaultError,
TVariables = void,
TContext = unknown,
> extends Omit<
MutationObserverOptions<TData, TError, TVariables, TContext>,
'_defaulted' | 'variables'
> {}
export type UseMutateFunction<
TData = unknown,
TError = DefaultError,
TVariables = void,
TContext = unknown,
> = (
...args: Parameters<MutateFunction<TData, TError, TVariables, TContext>>
) => void
export type UseMutateAsyncFunction<
TData = unknown,
TError = DefaultError,
TVariables = void,
TContext = unknown,
> = MutateFunction<TData, TError, TVariables, TContext>
export type UseBaseMutationResult<
TData = unknown,
TError = DefaultError,
TVariables = unknown,
TContext = unknown,
> = Override<
MutationObserverResult<TData, TError, TVariables, TContext>,
{ mutate: UseMutateFunction<TData, TError, TVariables, TContext> }
> & { mutateAsync: UseMutateAsyncFunction<TData, TError, TVariables, TContext> }
export type UseMutationResult<
TData = unknown,
TError = DefaultError,
TVariables = unknown,
TContext = unknown,
> = UseBaseMutationResult<TData, TError, TVariables, TContext>
type Override<A, B> = { [K in keyof A]: K extends keyof B ? B[K] : A[K] }