Skip to content

Commit 9d260e7

Browse files
committed
refactor(queryObserver): get rid of double-defaulting of options in getOptimisticResult
every call to getOptimisticResult already contains defaulted options, which we can enforce on type level by only accepting DefaultedQueryObserverOptions
1 parent 02fd793 commit 9d260e7

File tree

3 files changed

+23
-9
lines changed

3 files changed

+23
-9
lines changed

src/core/infiniteQueryObserver.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import type {
2+
DefaultedInfiniteQueryObserverOptions,
23
FetchNextPageOptions,
34
FetchPreviousPageOptions,
45
InfiniteData,
@@ -84,7 +85,7 @@ export class InfiniteQueryObserver<
8485
}
8586

8687
getOptimisticResult(
87-
options: InfiniteQueryObserverOptions<
88+
options: DefaultedInfiniteQueryObserverOptions<
8889
TQueryFnData,
8990
TError,
9091
TData,

src/core/queryObserver.ts

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { RefetchPageFilters } from './types'
1+
import { DefaultedQueryObserverOptions, RefetchPageFilters } from './types'
22
import {
33
isServer,
44
isValidTimeout,
@@ -205,21 +205,17 @@ export class QueryObserver<
205205
}
206206

207207
getOptimisticResult(
208-
options: QueryObserverOptions<
208+
options: DefaultedQueryObserverOptions<
209209
TQueryFnData,
210210
TError,
211211
TData,
212212
TQueryData,
213213
TQueryKey
214214
>
215215
): QueryObserverResult<TData, TError> {
216-
const defaultedOptions = this.client.defaultQueryOptions(options)
217-
218-
const query = this.client
219-
.getQueryCache()
220-
.build(this.client, defaultedOptions)
216+
const query = this.client.getQueryCache().build(this.client, options)
221217

222-
return this.createResult(query, defaultedOptions)
218+
return this.createResult(query, options)
223219
}
224220

225221
getCurrentResult(): QueryObserverResult<TData, TError> {

src/core/types.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,23 @@ export interface InfiniteQueryObserverOptions<
246246
TQueryKey
247247
> {}
248248

249+
export type DefaultedInfiniteQueryObserverOptions<
250+
TQueryFnData = unknown,
251+
TError = unknown,
252+
TData = TQueryFnData,
253+
TQueryData = TQueryFnData,
254+
TQueryKey extends QueryKey = QueryKey
255+
> = WithRequired<
256+
InfiniteQueryObserverOptions<
257+
TQueryFnData,
258+
TError,
259+
TData,
260+
TQueryData,
261+
TQueryKey
262+
>,
263+
'useErrorBoundary' | 'refetchOnReconnect'
264+
>
265+
249266
export interface FetchQueryOptions<
250267
TQueryFnData = unknown,
251268
TError = unknown,

0 commit comments

Comments
 (0)