@tanstack/query-core 4.4.0 → 4.6.0
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/build/lib/queriesObserver.d.ts +1 -0
- package/build/lib/queriesObserver.esm.js +4 -0
- package/build/lib/queriesObserver.esm.js.map +1 -1
- package/build/lib/queriesObserver.js +4 -0
- package/build/lib/queriesObserver.js.map +1 -1
- package/build/lib/queriesObserver.mjs +4 -0
- package/build/lib/queriesObserver.mjs.map +1 -1
- package/build/lib/query.esm.js +1 -1
- package/build/lib/query.esm.js.map +1 -1
- package/build/lib/query.js +1 -1
- package/build/lib/query.js.map +1 -1
- package/build/lib/query.mjs +1 -1
- package/build/lib/query.mjs.map +1 -1
- package/build/lib/types.d.ts +2 -1
- package/build/umd/index.development.js +5 -1
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +1 -1
- package/src/queriesObserver.ts +4 -0
- package/src/query.ts +5 -1
- package/src/tests/query.test.tsx +5 -1
- package/src/types.ts +18 -6
package/package.json
CHANGED
package/src/queriesObserver.ts
CHANGED
|
@@ -113,6 +113,10 @@ export class QueriesObserver extends Subscribable<QueriesObserverListener> {
|
|
|
113
113
|
return this.result
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
+
getQueries() {
|
|
117
|
+
return this.observers.map((observer) => observer.getCurrentQuery())
|
|
118
|
+
}
|
|
119
|
+
|
|
116
120
|
getOptimisticResult(queries: QueryObserverOptions[]): QueryObserverResult[] {
|
|
117
121
|
return this.findMatchingObservers(queries).map((match) =>
|
|
118
122
|
match.observer.getOptimisticResult(match.defaultedQueryOptions),
|
package/src/query.ts
CHANGED
|
@@ -452,7 +452,11 @@ export class Query<
|
|
|
452
452
|
abort: abortController?.abort.bind(abortController),
|
|
453
453
|
onSuccess: (data) => {
|
|
454
454
|
if (typeof data === 'undefined') {
|
|
455
|
-
onError(
|
|
455
|
+
onError(
|
|
456
|
+
new Error(
|
|
457
|
+
`Query data cannot be undefined - affected query key: ${this.queryHash}`,
|
|
458
|
+
) as any,
|
|
459
|
+
)
|
|
456
460
|
return
|
|
457
461
|
}
|
|
458
462
|
|
package/src/tests/query.test.tsx
CHANGED
|
@@ -816,7 +816,11 @@ describe('query', () => {
|
|
|
816
816
|
|
|
817
817
|
await sleep(10)
|
|
818
818
|
|
|
819
|
-
const error = new Error(
|
|
819
|
+
const error = new Error(
|
|
820
|
+
`Query data cannot be undefined - affected query key: ${
|
|
821
|
+
observer.getCurrentQuery().queryHash
|
|
822
|
+
}`,
|
|
823
|
+
)
|
|
820
824
|
|
|
821
825
|
expect(observerResult).toMatchObject({
|
|
822
826
|
isError: true,
|
package/src/types.ts
CHANGED
|
@@ -100,6 +100,18 @@ export interface QueryOptions<
|
|
|
100
100
|
meta?: QueryMeta
|
|
101
101
|
}
|
|
102
102
|
|
|
103
|
+
export type UseErrorBoundary<
|
|
104
|
+
TQueryFnData,
|
|
105
|
+
TError,
|
|
106
|
+
TQueryData,
|
|
107
|
+
TQueryKey extends QueryKey,
|
|
108
|
+
> =
|
|
109
|
+
| boolean
|
|
110
|
+
| ((
|
|
111
|
+
error: TError,
|
|
112
|
+
query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,
|
|
113
|
+
) => boolean)
|
|
114
|
+
|
|
103
115
|
export interface QueryObserverOptions<
|
|
104
116
|
TQueryFnData = unknown,
|
|
105
117
|
TError = unknown,
|
|
@@ -205,12 +217,12 @@ export interface QueryObserverOptions<
|
|
|
205
217
|
* If set to a function, it will be passed the error and the query, and it should return a boolean indicating whether to show the error in an error boundary (`true`) or return the error as state (`false`).
|
|
206
218
|
* Defaults to `false`.
|
|
207
219
|
*/
|
|
208
|
-
useErrorBoundary?:
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
220
|
+
useErrorBoundary?: UseErrorBoundary<
|
|
221
|
+
TQueryFnData,
|
|
222
|
+
TError,
|
|
223
|
+
TQueryData,
|
|
224
|
+
TQueryKey
|
|
225
|
+
>
|
|
214
226
|
/**
|
|
215
227
|
* This option can be used to transform or select a part of the data returned by the query function.
|
|
216
228
|
*/
|