Skip to content

Commit a87c2fe

Browse files
yannickcrYannick CROISSANTTkDodo
authored
fix(query-core): widen QueriesObserver queries type (#7446) (#7492)
* fix(query-core): widen QueriesObserver queries type (#7446) Widen the `QueriesObserver` queries type so we can assign `UseQueryOptions` to `QueryObserverOptions`. The result from the `queryOptions` helper can now be passed to `QueriesObserver`. * chore: prettier * fix(types): QueryKey needs to default to `any`, too --------- Co-authored-by: Yannick CROISSANT <[email protected]> Co-authored-by: Dominik Dorfmeister <[email protected]>
1 parent 91cfc10 commit a87c2fe

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

packages/query-core/src/queriesObserver.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export class QueriesObserver<
4545

4646
constructor(
4747
client: QueryClient,
48-
queries: Array<QueryObserverOptions>,
48+
queries: Array<QueryObserverOptions<any, any, any, any, any>>,
4949
_options?: QueriesObserverOptions<TCombinedResult>,
5050
) {
5151
super()

packages/react-query/src/__tests__/queryOptions.test-d.tsx

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
import { describe, expect, expectTypeOf, it } from 'vitest'
2-
import { QueryClient, dataTagSymbol, skipToken } from '@tanstack/query-core'
2+
import {
3+
QueriesObserver,
4+
QueryClient,
5+
dataTagSymbol,
6+
skipToken,
7+
} from '@tanstack/query-core'
38
import { queryOptions } from '../queryOptions'
49
import { useQuery } from '../useQuery'
510
import { useQueries } from '../useQueries'
611
import { useSuspenseQuery } from '../useSuspenseQuery'
12+
import type { QueryObserverResult } from '@tanstack/query-core'
713

814
describe('queryOptions', () => {
915
it('should not allow excess properties', () => {
@@ -169,4 +175,17 @@ describe('queryOptions', () => {
169175
const data = queryClient.getQueryData(options.queryKey)
170176
expectTypeOf(data).toEqualTypeOf<unknown>()
171177
})
178+
179+
it('should return the proper type when passed to QueriesObserver', () => {
180+
const options = queryOptions({
181+
queryKey: ['key'],
182+
queryFn: () => Promise.resolve(5),
183+
})
184+
185+
const queryClient = new QueryClient()
186+
const queriesObserver = new QueriesObserver(queryClient, [options])
187+
expectTypeOf(queriesObserver).toEqualTypeOf<
188+
QueriesObserver<Array<QueryObserverResult>>
189+
>()
190+
})
172191
})

0 commit comments

Comments
 (0)