diff --git a/packages/react-query/src/__tests__/useQuery.types.test.tsx b/packages/react-query/src/__tests__/useQuery.types.test.tsx index 2e38c64836..bf5699d0ad 100644 --- a/packages/react-query/src/__tests__/useQuery.types.test.tsx +++ b/packages/react-query/src/__tests__/useQuery.types.test.tsx @@ -1,4 +1,5 @@ -import { queryOptions, useQuery } from '../useQuery' +import { useQuery } from '../useQuery' +import { queryOptions } from '../queryOptions' import type { Expect, Equal } from './utils' import { doNotExecute } from './utils' diff --git a/packages/react-query/src/index.ts b/packages/react-query/src/index.ts index 684e37e89e..bb69c52e75 100644 --- a/packages/react-query/src/index.ts +++ b/packages/react-query/src/index.ts @@ -7,7 +7,8 @@ export * from '@tanstack/query-core' export * from './types' export { useQueries } from './useQueries' export type { QueriesResults, QueriesOptions } from './useQueries' -export { useQuery, queryOptions } from './useQuery' +export { useQuery } from './useQuery' +export { queryOptions } from './queryOptions' export { QueryClientContext, QueryClientProvider, diff --git a/packages/react-query/src/isRestoring.tsx b/packages/react-query/src/isRestoring.ts similarity index 100% rename from packages/react-query/src/isRestoring.tsx rename to packages/react-query/src/isRestoring.ts diff --git a/packages/react-query/src/queryOptions.ts b/packages/react-query/src/queryOptions.ts new file mode 100644 index 0000000000..aafe953036 --- /dev/null +++ b/packages/react-query/src/queryOptions.ts @@ -0,0 +1,42 @@ +import type { DefaultError, QueryKey } from '@tanstack/query-core' +import type { UseQueryOptions } from './types' + +export type UndefinedInitialDataOptions< + TQueryFnData = unknown, + TError = DefaultError, + TData = TQueryFnData, + TQueryKey extends QueryKey = QueryKey, +> = UseQueryOptions & { + initialData?: undefined +} + +export type DefinedInitialDataOptions< + TQueryFnData = unknown, + TError = DefaultError, + TData = TQueryFnData, + TQueryKey extends QueryKey = QueryKey, +> = UseQueryOptions & { + initialData: TQueryFnData | (() => TQueryFnData) +} + +export function queryOptions< + TQueryFnData = unknown, + TError = DefaultError, + TData = TQueryFnData, + TQueryKey extends QueryKey = QueryKey, +>( + options: UndefinedInitialDataOptions, +): UndefinedInitialDataOptions + +export function queryOptions< + TQueryFnData = unknown, + TError = DefaultError, + TData = TQueryFnData, + TQueryKey extends QueryKey = QueryKey, +>( + options: DefinedInitialDataOptions, +): DefinedInitialDataOptions + +export function queryOptions(options: unknown) { + return options +} diff --git a/packages/react-query/src/useQuery.ts b/packages/react-query/src/useQuery.ts index cf97ba9c27..d9726f6e87 100644 --- a/packages/react-query/src/useQuery.ts +++ b/packages/react-query/src/useQuery.ts @@ -7,47 +7,12 @@ import type { UseQueryResult, } from './types' import { useBaseQuery } from './useBaseQuery' - -export function queryOptions< - TQueryFnData = unknown, - TError = DefaultError, - TData = TQueryFnData, - TQueryKey extends QueryKey = QueryKey, ->( - options: UndefinedInitialDataOptions, -): UndefinedInitialDataOptions - -export function queryOptions< - TQueryFnData = unknown, - TError = DefaultError, - TData = TQueryFnData, - TQueryKey extends QueryKey = QueryKey, ->( - options: DefinedInitialDataOptions, -): DefinedInitialDataOptions - -export function queryOptions(options: unknown) { - return options -} +import type { + DefinedInitialDataOptions, + UndefinedInitialDataOptions, +} from './queryOptions' // HOOK -type UndefinedInitialDataOptions< - TQueryFnData = unknown, - TError = DefaultError, - TData = TQueryFnData, - TQueryKey extends QueryKey = QueryKey, -> = UseQueryOptions & { - initialData?: undefined -} - -type DefinedInitialDataOptions< - TQueryFnData = unknown, - TError = DefaultError, - TData = TQueryFnData, - TQueryKey extends QueryKey = QueryKey, -> = UseQueryOptions & { - initialData: TQueryFnData | (() => TQueryFnData) -} export function useQuery< TQueryFnData = unknown,