@tanstack/vue-query
Version:
Hooks for managing, caching and syncing asynchronous and remote data in Vue
37 lines (32 loc) • 5.22 kB
TypeScript
import { DefaultError, QueryKey, InfiniteQueryObserverOptions, WithRequired, InfiniteQueryObserverResult, InfiniteData, QueryObserverResult, QueryObserver, QueryObserverOptions, DefinedQueryObserverResult } from '@tanstack/query-core';
import { ToRef } from 'vue-demi';
import { QueryClient } from './queryClient.cjs';
import { DeepUnwrapRef, MaybeRefOrGetter, MaybeRefDeep, MaybeRef } from './types.cjs';
type UseInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> = {
[Property in keyof InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>]: Property extends 'queryFn' | 'getPreviousPageParam' | 'getNextPageParam' | 'select' ? InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, DeepUnwrapRef<TQueryKey>, TPageParam>[Property] : Property extends 'enabled' ? MaybeRefOrGetter<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>[Property]> : MaybeRefDeep<WithRequired<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>, 'queryKey'>[Property]>;
};
type UseInfiniteQueryReturnType<TData, TError> = UseBaseQueryReturnType<TData, TError, InfiniteQueryObserverResult<TData, TError>>;
declare function useInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey, TPageParam>, queryClient?: QueryClient): UseInfiniteQueryReturnType<TData, TError>;
type UseBaseQueryReturnType<TData, TError, Result = QueryObserverResult<TData, TError>> = {
[K in keyof Result]: K extends 'fetchNextPage' | 'fetchPreviousPage' | 'refetch' ? Result[K] : ToRef<Readonly<Result>[K]>;
} & {
suspense: () => Promise<Result>;
};
type UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> = UseQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey> | UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>;
declare function useBaseQuery<TQueryFnData, TError, TData, TQueryData, TQueryKey extends QueryKey, TPageParam>(Observer: typeof QueryObserver, options: UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>, queryClient?: QueryClient): UseBaseQueryReturnType<TData, TError>;
type NonUndefinedGuard<T> = T extends undefined ? never : T;
type UseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = MaybeRef<{
[Property in keyof QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>]: Property extends 'queryFn' | 'select' ? QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, DeepUnwrapRef<TQueryKey>>[Property] : Property extends 'enabled' ? MaybeRefOrGetter<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>[Property]> : MaybeRefDeep<WithRequired<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, 'queryKey'>[Property]>;
}>;
type UndefinedInitialQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey> & {
initialData?: undefined;
};
type DefinedInitialQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey> & {
initialData: NonUndefinedGuard<TQueryFnData> | (() => NonUndefinedGuard<TQueryFnData>);
};
type UseQueryReturnType<TData, TError> = UseBaseQueryReturnType<TData, TError>;
type UseQueryDefinedReturnType<TData, TError> = UseBaseQueryReturnType<TData, TError, DefinedQueryObserverResult<TData, TError>>;
declare function useQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): UseQueryReturnType<TData, TError>;
declare function useQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): UseQueryDefinedReturnType<TData, TError>;
declare function useQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>, queryClient?: QueryClient): UseQueryReturnType<TData, TError>;
export { type DefinedInitialQueryOptions as D, type UseQueryOptions as U, useInfiniteQuery as a, type UseQueryReturnType as b, type UseQueryDefinedReturnType as c, type UseInfiniteQueryOptions as d, type UseInfiniteQueryReturnType as e, type UndefinedInitialQueryOptions as f, type UseBaseQueryReturnType as g, useBaseQuery as h, useQuery as u };