@tanstack/react-query 5.12.1 → 5.12.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/build/codemods/coverage/base.css +224 -0
- package/build/codemods/coverage/block-navigation.js +87 -0
- package/build/codemods/coverage/clover.xml +6 -0
- package/build/codemods/coverage/coverage-final.json +1 -0
- package/build/codemods/coverage/favicon.png +0 -0
- package/build/codemods/coverage/index.html +101 -0
- package/build/codemods/coverage/prettify.css +1 -0
- package/build/codemods/coverage/prettify.js +2 -0
- package/build/codemods/coverage/sort-arrow-sprite.png +0 -0
- package/build/codemods/coverage/sorter.js +196 -0
- package/build/legacy/useQueries.cjs.map +1 -1
- package/build/legacy/useQueries.d.cts +9 -6
- package/build/legacy/useQueries.d.ts +9 -6
- package/build/legacy/useQueries.js.map +1 -1
- package/build/modern/useQueries.cjs.map +1 -1
- package/build/modern/useQueries.d.cts +9 -6
- package/build/modern/useQueries.d.ts +9 -6
- package/build/modern/useQueries.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/useQueries.types.test.tsx +148 -0
- package/src/useQueries.ts +32 -9
package/src/useQueries.ts
CHANGED
|
@@ -20,7 +20,11 @@ import {
|
|
|
20
20
|
shouldSuspend,
|
|
21
21
|
willFetch,
|
|
22
22
|
} from './suspense'
|
|
23
|
-
import type {
|
|
23
|
+
import type {
|
|
24
|
+
DefinedUseQueryResult,
|
|
25
|
+
UseQueryOptions,
|
|
26
|
+
UseQueryResult,
|
|
27
|
+
} from './types'
|
|
24
28
|
import type {
|
|
25
29
|
DefaultError,
|
|
26
30
|
QueriesObserverOptions,
|
|
@@ -95,28 +99,46 @@ type GetOptions<T> =
|
|
|
95
99
|
: // Fallback
|
|
96
100
|
UseQueryOptionsForUseQueries
|
|
97
101
|
|
|
102
|
+
// A defined initialData setting should return a DefinedUseQueryResult rather than UseQueryResult
|
|
103
|
+
type GetDefinedOrUndefinedQueryResult<T, TData, TError = unknown> = T extends {
|
|
104
|
+
initialData?: infer TInitialData
|
|
105
|
+
}
|
|
106
|
+
? unknown extends TInitialData
|
|
107
|
+
? UseQueryResult<TData, TError>
|
|
108
|
+
: TInitialData extends TData
|
|
109
|
+
? DefinedUseQueryResult<TData, TError>
|
|
110
|
+
: TInitialData extends () => infer TInitialDataResult
|
|
111
|
+
? unknown extends TInitialDataResult
|
|
112
|
+
? UseQueryResult<TData, TError>
|
|
113
|
+
: TInitialDataResult extends TData
|
|
114
|
+
? DefinedUseQueryResult<TData, TError>
|
|
115
|
+
: UseQueryResult<TData, TError>
|
|
116
|
+
: UseQueryResult<TData, TError>
|
|
117
|
+
: UseQueryResult<TData, TError>
|
|
118
|
+
|
|
98
119
|
type GetResults<T> =
|
|
99
120
|
// Part 1: responsible for mapping explicit type parameter to function result, if object
|
|
100
121
|
T extends { queryFnData: any; error?: infer TError; data: infer TData }
|
|
101
|
-
?
|
|
122
|
+
? GetDefinedOrUndefinedQueryResult<T, TData, TError>
|
|
102
123
|
: T extends { queryFnData: infer TQueryFnData; error?: infer TError }
|
|
103
|
-
?
|
|
124
|
+
? GetDefinedOrUndefinedQueryResult<T, TQueryFnData, TError>
|
|
104
125
|
: T extends { data: infer TData; error?: infer TError }
|
|
105
|
-
?
|
|
126
|
+
? GetDefinedOrUndefinedQueryResult<T, TData, TError>
|
|
106
127
|
: // Part 2: responsible for mapping explicit type parameter to function result, if tuple
|
|
107
128
|
T extends [any, infer TError, infer TData]
|
|
108
|
-
?
|
|
129
|
+
? GetDefinedOrUndefinedQueryResult<T, TData, TError>
|
|
109
130
|
: T extends [infer TQueryFnData, infer TError]
|
|
110
|
-
?
|
|
131
|
+
? GetDefinedOrUndefinedQueryResult<T, TQueryFnData, TError>
|
|
111
132
|
: T extends [infer TQueryFnData]
|
|
112
|
-
?
|
|
133
|
+
? GetDefinedOrUndefinedQueryResult<T, TQueryFnData>
|
|
113
134
|
: // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided
|
|
114
135
|
T extends {
|
|
115
136
|
queryFn?: QueryFunction<infer TQueryFnData, any>
|
|
116
137
|
select?: (data: any) => infer TData
|
|
117
138
|
throwOnError?: ThrowOnError<any, infer TError, any, any>
|
|
118
139
|
}
|
|
119
|
-
?
|
|
140
|
+
? GetDefinedOrUndefinedQueryResult<
|
|
141
|
+
T,
|
|
120
142
|
unknown extends TData ? TQueryFnData : TData,
|
|
121
143
|
unknown extends TError ? DefaultError : TError
|
|
122
144
|
>
|
|
@@ -124,7 +146,8 @@ type GetResults<T> =
|
|
|
124
146
|
queryFn?: QueryFunction<infer TQueryFnData, any>
|
|
125
147
|
throwOnError?: ThrowOnError<any, infer TError, any, any>
|
|
126
148
|
}
|
|
127
|
-
?
|
|
149
|
+
? GetDefinedOrUndefinedQueryResult<
|
|
150
|
+
T,
|
|
128
151
|
TQueryFnData,
|
|
129
152
|
unknown extends TError ? DefaultError : TError
|
|
130
153
|
>
|