diff --git a/packages/vue-query/src/__tests__/useQueries.test-d.ts b/packages/vue-query/src/__tests__/useQueries.test-d.ts index c67de7b1a93..9e13e2f4651 100644 --- a/packages/vue-query/src/__tests__/useQueries.test-d.ts +++ b/packages/vue-query/src/__tests__/useQueries.test-d.ts @@ -35,7 +35,7 @@ describe('UseQueries config object overload', () => { }) expectTypeOf(queriesState[0].data).toEqualTypeOf<{ wow: boolean }>() - expectTypeOf(queriesState[1].data).toEqualTypeOf() + expectTypeOf(queriesState[1].data).toEqualTypeOf() expectTypeOf(queriesState[2].data).toEqualTypeOf() }) @@ -54,7 +54,9 @@ describe('UseQueries config object overload', () => { const { value: queriesState } = useQueries({ queries: [options] }) - expectTypeOf(queriesState[0].data).toEqualTypeOf<{ wow: boolean }>() + expectTypeOf(queriesState[0].data).toEqualTypeOf< + { wow: boolean } | undefined + >() }) it('should be possible to define a different TData than TQueryFnData using select with queryOptions spread into useQueries', () => { diff --git a/packages/vue-query/src/__tests__/useQuery.test-d.ts b/packages/vue-query/src/__tests__/useQuery.test-d.ts index a02ee4b638c..21ebfa8d6ec 100644 --- a/packages/vue-query/src/__tests__/useQuery.test-d.ts +++ b/packages/vue-query/src/__tests__/useQuery.test-d.ts @@ -23,7 +23,7 @@ describe('useQuery', () => { }), ) - expectTypeOf(data).toEqualTypeOf<{ wow: boolean }>() + expectTypeOf(data).toEqualTypeOf<{ wow: boolean } | undefined>() }) it('TData should be defined when passed through queryOptions', () => { @@ -40,7 +40,7 @@ describe('useQuery', () => { }) const { data } = reactive(useQuery(options)) - expectTypeOf(data).toEqualTypeOf<{ wow: boolean }>() + expectTypeOf(data).toEqualTypeOf<{ wow: boolean } | undefined>() }) it('should be possible to define a different TData than TQueryFnData using select with queryOptions spread into useQuery', () => { @@ -74,7 +74,7 @@ describe('useQuery', () => { }), ) - expectTypeOf(data).toEqualTypeOf<{ wow: boolean }>() + expectTypeOf(data).toEqualTypeOf<{ wow: boolean } | undefined>() }) it('TData should have undefined in the union when initialData is NOT provided', () => { diff --git a/packages/vue-query/src/useQuery.ts b/packages/vue-query/src/useQuery.ts index a27258c2aaa..c767f54207b 100644 --- a/packages/vue-query/src/useQuery.ts +++ b/packages/vue-query/src/useQuery.ts @@ -3,6 +3,7 @@ import { useBaseQuery } from './useBaseQuery' import type { DefaultError, DefinedQueryObserverResult, + InitialDataFunction, QueryKey, QueryObserverOptions, } from '@tanstack/query-core' @@ -64,7 +65,10 @@ export type UndefinedInitialQueryOptions< TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, > = UseQueryOptions & { - initialData?: undefined + initialData?: + | undefined + | InitialDataFunction> + | NonUndefinedGuard } export type DefinedInitialQueryOptions<