@tanstack/query-core 4.6.1 → 4.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/build/lib/queryClient.d.ts +7 -7
- package/build/lib/queryClient.esm.js.map +1 -1
- package/build/lib/queryClient.js.map +1 -1
- package/build/lib/queryClient.mjs.map +1 -1
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +2 -2
- package/src/queryClient.ts +29 -25
- package/src/tests/query.test.tsx +11 -30
- package/src/tests/queryClient.test.tsx +2 -6
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanstack/query-core",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.7.2",
|
|
4
4
|
"description": "TODO",
|
|
5
5
|
"author": "tannerlinsley",
|
|
6
6
|
"license": "MIT",
|
|
@@ -31,4 +31,4 @@
|
|
|
31
31
|
"clean": "rm -rf ./build",
|
|
32
32
|
"test:eslint": "../../node_modules/.bin/eslint --ext .ts,.tsx ./src"
|
|
33
33
|
}
|
|
34
|
-
}
|
|
34
|
+
}
|
package/src/queryClient.ts
CHANGED
|
@@ -105,32 +105,36 @@ export class QueryClient {
|
|
|
105
105
|
return this.mutationCache.findAll({ ...filters, fetching: true }).length
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
-
getQueryData<
|
|
108
|
+
getQueryData<TQueryFnData = unknown>(
|
|
109
109
|
queryKey: QueryKey,
|
|
110
110
|
filters?: QueryFilters,
|
|
111
|
-
):
|
|
112
|
-
return this.queryCache.find<
|
|
111
|
+
): TQueryFnData | undefined {
|
|
112
|
+
return this.queryCache.find<TQueryFnData>(queryKey, filters)?.state.data
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
getQueriesData<
|
|
116
|
-
|
|
117
|
-
|
|
115
|
+
getQueriesData<TQueryFnData = unknown>(
|
|
116
|
+
queryKey: QueryKey,
|
|
117
|
+
): [QueryKey, TQueryFnData | undefined][]
|
|
118
|
+
getQueriesData<TQueryFnData = unknown>(
|
|
119
|
+
filters: QueryFilters,
|
|
120
|
+
): [QueryKey, TQueryFnData | undefined][]
|
|
121
|
+
getQueriesData<TQueryFnData = unknown>(
|
|
118
122
|
queryKeyOrFilters: QueryKey | QueryFilters,
|
|
119
|
-
): [QueryKey,
|
|
123
|
+
): [QueryKey, TQueryFnData | undefined][] {
|
|
120
124
|
return this.getQueryCache()
|
|
121
125
|
.findAll(queryKeyOrFilters)
|
|
122
126
|
.map(({ queryKey, state }) => {
|
|
123
|
-
const data = state.data as
|
|
127
|
+
const data = state.data as TQueryFnData | undefined
|
|
124
128
|
return [queryKey, data]
|
|
125
129
|
})
|
|
126
130
|
}
|
|
127
131
|
|
|
128
|
-
setQueryData<
|
|
132
|
+
setQueryData<TQueryFnData>(
|
|
129
133
|
queryKey: QueryKey,
|
|
130
|
-
updater: Updater<
|
|
134
|
+
updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>,
|
|
131
135
|
options?: SetDataOptions,
|
|
132
|
-
):
|
|
133
|
-
const query = this.queryCache.find<
|
|
136
|
+
): TQueryFnData | undefined {
|
|
137
|
+
const query = this.queryCache.find<TQueryFnData>(queryKey)
|
|
134
138
|
const prevData = query?.state.data
|
|
135
139
|
const data = functionalUpdate(updater, prevData)
|
|
136
140
|
|
|
@@ -145,38 +149,38 @@ export class QueryClient {
|
|
|
145
149
|
.setData(data, { ...options, manual: true })
|
|
146
150
|
}
|
|
147
151
|
|
|
148
|
-
setQueriesData<
|
|
152
|
+
setQueriesData<TQueryFnData>(
|
|
149
153
|
queryKey: QueryKey,
|
|
150
|
-
updater: Updater<
|
|
154
|
+
updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>,
|
|
151
155
|
options?: SetDataOptions,
|
|
152
|
-
): [QueryKey,
|
|
156
|
+
): [QueryKey, TQueryFnData | undefined][]
|
|
153
157
|
|
|
154
|
-
setQueriesData<
|
|
158
|
+
setQueriesData<TQueryFnData>(
|
|
155
159
|
filters: QueryFilters,
|
|
156
|
-
updater: Updater<
|
|
160
|
+
updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>,
|
|
157
161
|
options?: SetDataOptions,
|
|
158
|
-
): [QueryKey,
|
|
162
|
+
): [QueryKey, TQueryFnData | undefined][]
|
|
159
163
|
|
|
160
|
-
setQueriesData<
|
|
164
|
+
setQueriesData<TQueryFnData>(
|
|
161
165
|
queryKeyOrFilters: QueryKey | QueryFilters,
|
|
162
|
-
updater: Updater<
|
|
166
|
+
updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>,
|
|
163
167
|
options?: SetDataOptions,
|
|
164
|
-
): [QueryKey,
|
|
168
|
+
): [QueryKey, TQueryFnData | undefined][] {
|
|
165
169
|
return notifyManager.batch(() =>
|
|
166
170
|
this.getQueryCache()
|
|
167
171
|
.findAll(queryKeyOrFilters)
|
|
168
172
|
.map(({ queryKey }) => [
|
|
169
173
|
queryKey,
|
|
170
|
-
this.setQueryData<
|
|
174
|
+
this.setQueryData<TQueryFnData>(queryKey, updater, options),
|
|
171
175
|
]),
|
|
172
176
|
)
|
|
173
177
|
}
|
|
174
178
|
|
|
175
|
-
getQueryState<
|
|
179
|
+
getQueryState<TQueryFnData = unknown, TError = undefined>(
|
|
176
180
|
queryKey: QueryKey,
|
|
177
181
|
filters?: QueryFilters,
|
|
178
|
-
): QueryState<
|
|
179
|
-
return this.queryCache.find<
|
|
182
|
+
): QueryState<TQueryFnData, TError> | undefined {
|
|
183
|
+
return this.queryCache.find<TQueryFnData, TError>(queryKey, filters)?.state
|
|
180
184
|
}
|
|
181
185
|
|
|
182
186
|
removeQueries(filters?: QueryFilters): void
|
package/src/tests/query.test.tsx
CHANGED
|
@@ -201,11 +201,7 @@ describe('query', () => {
|
|
|
201
201
|
expect(args).toBeDefined()
|
|
202
202
|
expect(args.pageParam).toBeUndefined()
|
|
203
203
|
expect(args.queryKey).toEqual(key)
|
|
204
|
-
|
|
205
|
-
expect(args.signal).toBeInstanceOf(AbortSignal)
|
|
206
|
-
} else {
|
|
207
|
-
expect(args.signal).toBeUndefined()
|
|
208
|
-
}
|
|
204
|
+
expect(args.signal).toBeInstanceOf(AbortSignal)
|
|
209
205
|
})
|
|
210
206
|
|
|
211
207
|
test('should continue if cancellation is not supported and signal is not consumed', async () => {
|
|
@@ -259,20 +255,11 @@ describe('query', () => {
|
|
|
259
255
|
|
|
260
256
|
const query = queryCache.find(key)!
|
|
261
257
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
})
|
|
268
|
-
} else {
|
|
269
|
-
expect(query.state).toMatchObject({
|
|
270
|
-
data: 'data',
|
|
271
|
-
status: 'success',
|
|
272
|
-
fetchStatus: 'idle',
|
|
273
|
-
dataUpdateCount: 1,
|
|
274
|
-
})
|
|
275
|
-
}
|
|
258
|
+
expect(query.state).toMatchObject({
|
|
259
|
+
data: undefined,
|
|
260
|
+
status: 'loading',
|
|
261
|
+
fetchStatus: 'idle',
|
|
262
|
+
})
|
|
276
263
|
})
|
|
277
264
|
|
|
278
265
|
test('should provide an AbortSignal to the queryFn that provides info about the cancellation state', async () => {
|
|
@@ -312,12 +299,8 @@ describe('query', () => {
|
|
|
312
299
|
|
|
313
300
|
expect(queryFn).toHaveBeenCalledTimes(1)
|
|
314
301
|
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
if (typeof AbortSignal === 'function') {
|
|
318
|
-
signal = queryFn.mock.calls[0]![0].signal
|
|
319
|
-
expect(signal?.aborted).toBe(false)
|
|
320
|
-
}
|
|
302
|
+
const signal = queryFn.mock.calls[0]![0].signal
|
|
303
|
+
expect(signal?.aborted).toBe(false)
|
|
321
304
|
expect(onAbort).not.toHaveBeenCalled()
|
|
322
305
|
expect(abortListener).not.toHaveBeenCalled()
|
|
323
306
|
|
|
@@ -325,11 +308,9 @@ describe('query', () => {
|
|
|
325
308
|
|
|
326
309
|
await sleep(100)
|
|
327
310
|
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
expect(abortListener).toHaveBeenCalledTimes(1)
|
|
332
|
-
}
|
|
311
|
+
expect(signal?.aborted).toBe(true)
|
|
312
|
+
expect(onAbort).toHaveBeenCalledTimes(1)
|
|
313
|
+
expect(abortListener).toHaveBeenCalledTimes(1)
|
|
333
314
|
expect(isCancelledError(error)).toBe(true)
|
|
334
315
|
})
|
|
335
316
|
|
|
@@ -1176,9 +1176,7 @@ describe('queryClient', () => {
|
|
|
1176
1176
|
|
|
1177
1177
|
await queryClient.refetchQueries()
|
|
1178
1178
|
observer.destroy()
|
|
1179
|
-
|
|
1180
|
-
expect(abortFn).toHaveBeenCalledTimes(1)
|
|
1181
|
-
}
|
|
1179
|
+
expect(abortFn).toHaveBeenCalledTimes(1)
|
|
1182
1180
|
expect(fetchCount).toBe(2)
|
|
1183
1181
|
})
|
|
1184
1182
|
|
|
@@ -1203,9 +1201,7 @@ describe('queryClient', () => {
|
|
|
1203
1201
|
|
|
1204
1202
|
await queryClient.refetchQueries(undefined, { cancelRefetch: false })
|
|
1205
1203
|
observer.destroy()
|
|
1206
|
-
|
|
1207
|
-
expect(abortFn).toHaveBeenCalledTimes(0)
|
|
1208
|
-
}
|
|
1204
|
+
expect(abortFn).toHaveBeenCalledTimes(0)
|
|
1209
1205
|
expect(fetchCount).toBe(1)
|
|
1210
1206
|
})
|
|
1211
1207
|
})
|