53 lines
1.4 KiB
TypeScript
53 lines
1.4 KiB
TypeScript
'use client'
|
|
import { QueryObserver } from '@tanstack/query-core'
|
|
import { useBaseQuery } from './useBaseQuery'
|
|
import type {
|
|
DefaultError,
|
|
NoInfer,
|
|
QueryClient,
|
|
QueryKey,
|
|
} from '@tanstack/query-core'
|
|
import type {
|
|
DefinedUseQueryResult,
|
|
UseQueryOptions,
|
|
UseQueryResult,
|
|
} from './types'
|
|
import type {
|
|
DefinedInitialDataOptions,
|
|
UndefinedInitialDataOptions,
|
|
} from './queryOptions'
|
|
|
|
export function useQuery<
|
|
TQueryFnData = unknown,
|
|
TError = DefaultError,
|
|
TData = TQueryFnData,
|
|
TQueryKey extends QueryKey = QueryKey,
|
|
>(
|
|
options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
queryClient?: QueryClient,
|
|
): DefinedUseQueryResult<NoInfer<TData>, TError>
|
|
|
|
export function useQuery<
|
|
TQueryFnData = unknown,
|
|
TError = DefaultError,
|
|
TData = TQueryFnData,
|
|
TQueryKey extends QueryKey = QueryKey,
|
|
>(
|
|
options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
queryClient?: QueryClient,
|
|
): UseQueryResult<NoInfer<TData>, TError>
|
|
|
|
export function useQuery<
|
|
TQueryFnData = unknown,
|
|
TError = DefaultError,
|
|
TData = TQueryFnData,
|
|
TQueryKey extends QueryKey = QueryKey,
|
|
>(
|
|
options: UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
queryClient?: QueryClient,
|
|
): UseQueryResult<NoInfer<TData>, TError>
|
|
|
|
export function useQuery(options: UseQueryOptions, queryClient?: QueryClient) {
|
|
return useBaseQuery(options, QueryObserver, queryClient)
|
|
}
|