Skip to content

Commit d4d1fea

Browse files
committed
refactor(query-core): update QueryClient and QueryCache methods to accept filters as a single object argument and mark deprecated methods for future removal
1 parent 89f6324 commit d4d1fea

File tree

7 files changed

+293
-51
lines changed

7 files changed

+293
-51
lines changed

packages/query-core/src/queryCache.ts

Lines changed: 43 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,13 @@ import { notifyManager } from './notifyManager'
44
import { Subscribable } from './subscribable'
55
import type { QueryFilters } from './utils'
66
import type { Action, QueryState } from './query'
7-
import type { NotifyEvent, QueryKey, QueryOptions } from './types'
7+
import type {
8+
NotifyEvent,
9+
OmitKeyof,
10+
QueryKey,
11+
QueryOptions,
12+
WithRequired,
13+
} from './types'
814
import type { QueryClient } from './queryClient'
915
import type { QueryObserver } from './queryObserver'
1016

@@ -166,8 +172,21 @@ export class QueryCache extends Subscribable<QueryCacheListener> {
166172
}
167173

168174
find<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData>(
169-
arg1: QueryKey,
170-
arg2?: QueryFilters,
175+
filters: WithRequired<QueryFilters, 'queryKey'>,
176+
): Query<TQueryFnData, TError, TData> | undefined
177+
/**
178+
* @deprecated This method should be used with only one object argument.
179+
*/
180+
find<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData>(
181+
queryKey: QueryKey,
182+
filters?: OmitKeyof<QueryFilters, 'queryKey'>,
183+
): Query<TQueryFnData, TError, TData> | undefined
184+
/**
185+
* @deprecated This method should be used with only one object argument.
186+
*/
187+
find<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData>(
188+
arg1: QueryKey | QueryFilters,
189+
arg2?: OmitKeyof<QueryFilters, 'queryKey'>,
171190
): Query<TQueryFnData, TError, TData> | undefined {
172191
const [filters] = parseFilterArgs(arg1, arg2)
173192

@@ -178,10 +197,28 @@ export class QueryCache extends Subscribable<QueryCacheListener> {
178197
return this.queries.find((query) => matchQuery(filters, query))
179198
}
180199

181-
findAll(queryKey?: QueryKey, filters?: QueryFilters): Query[]
182200
findAll(filters?: QueryFilters): Query[]
183-
findAll(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): Query[]
184-
findAll(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): Query[] {
201+
/**
202+
* @deprecated This method should be used with only one object argument.
203+
*/
204+
findAll(
205+
queryKey?: QueryKey,
206+
filters?: OmitKeyof<QueryFilters, 'queryKey'>,
207+
): Query[]
208+
/**
209+
* @deprecated This method should be used with only one object argument.
210+
*/
211+
findAll(
212+
arg1?: QueryKey | QueryFilters,
213+
arg2?: OmitKeyof<QueryFilters, 'queryKey'>,
214+
): Query[]
215+
/**
216+
* @deprecated This method should be used with only one object argument.
217+
*/
218+
findAll(
219+
arg1?: QueryKey | QueryFilters,
220+
arg2?: OmitKeyof<QueryFilters, 'queryKey'>,
221+
): Query[] {
185222
const [filters] = parseFilterArgs(arg1, arg2)
186223
return Object.keys(filters).length > 0
187224
? this.queries.filter((query) => matchQuery(filters, query))

0 commit comments

Comments
 (0)