@tanstack/solid-query 5.71.8 → 5.71.10
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/dev.cjs +82 -76
- package/build/dev.js +81 -75
- package/build/index.cjs +82 -76
- package/build/index.d.cts +99 -58
- package/build/index.d.ts +99 -58
- package/build/index.js +81 -75
- package/package.json +2 -2
- package/src/index.ts +85 -4
- package/src/types.ts +22 -22
- package/src/{createBaseQuery.ts → useBaseQuery.ts} +3 -3
- package/src/{createInfiniteQuery.ts → useInfiniteQuery.ts} +13 -13
- package/src/{createMutation.ts → useMutation.ts} +8 -8
- package/src/{createQueries.ts → useQueries.ts} +25 -25
- package/src/{createQuery.ts → useQuery.ts} +11 -11
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
import { useQueryClient } from './QueryClientProvider'
|
|
15
15
|
import { useIsRestoring } from './isRestoring'
|
|
16
16
|
import { noop } from './utils'
|
|
17
|
-
import type {
|
|
17
|
+
import type { SolidQueryOptions, UseQueryResult } from './types'
|
|
18
18
|
import type { Accessor } from 'solid-js'
|
|
19
19
|
import type { QueryClient } from './QueryClient'
|
|
20
20
|
import type {
|
|
@@ -31,7 +31,7 @@ import type {
|
|
|
31
31
|
|
|
32
32
|
// This defines the `UseQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.
|
|
33
33
|
// `placeholderData` function does not have a parameter
|
|
34
|
-
type
|
|
34
|
+
type UseQueryOptionsForUseQueries<
|
|
35
35
|
TQueryFnData = unknown,
|
|
36
36
|
TError = DefaultError,
|
|
37
37
|
TData = TQueryFnData,
|
|
@@ -43,7 +43,7 @@ type CreateQueryOptionsForCreateQueries<
|
|
|
43
43
|
placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>
|
|
44
44
|
/**
|
|
45
45
|
* @deprecated The `suspense` option has been deprecated in v5 and will be removed in the next major version.
|
|
46
|
-
* The `data` property on
|
|
46
|
+
* The `data` property on useQueries is a plain object and not a SolidJS Resource.
|
|
47
47
|
* It will not suspend when the data is loading.
|
|
48
48
|
* Setting `suspense` to `true` will be a no-op.
|
|
49
49
|
*/
|
|
@@ -63,18 +63,18 @@ type GetOptions<T> =
|
|
|
63
63
|
error?: infer TError
|
|
64
64
|
data: infer TData
|
|
65
65
|
}
|
|
66
|
-
?
|
|
66
|
+
? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>
|
|
67
67
|
: T extends { queryFnData: infer TQueryFnData; error?: infer TError }
|
|
68
|
-
?
|
|
68
|
+
? UseQueryOptionsForUseQueries<TQueryFnData, TError>
|
|
69
69
|
: T extends { data: infer TData; error?: infer TError }
|
|
70
|
-
?
|
|
70
|
+
? UseQueryOptionsForUseQueries<unknown, TError, TData>
|
|
71
71
|
: // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]
|
|
72
72
|
T extends [infer TQueryFnData, infer TError, infer TData]
|
|
73
|
-
?
|
|
73
|
+
? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>
|
|
74
74
|
: T extends [infer TQueryFnData, infer TError]
|
|
75
|
-
?
|
|
75
|
+
? UseQueryOptionsForUseQueries<TQueryFnData, TError>
|
|
76
76
|
: T extends [infer TQueryFnData]
|
|
77
|
-
?
|
|
77
|
+
? UseQueryOptionsForUseQueries<TQueryFnData>
|
|
78
78
|
: // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided
|
|
79
79
|
T extends {
|
|
80
80
|
queryFn?:
|
|
@@ -83,30 +83,30 @@ type GetOptions<T> =
|
|
|
83
83
|
select?: (data: any) => infer TData
|
|
84
84
|
throwOnError?: ThrowOnError<any, infer TError, any, any>
|
|
85
85
|
}
|
|
86
|
-
?
|
|
86
|
+
? UseQueryOptionsForUseQueries<
|
|
87
87
|
TQueryFnData,
|
|
88
88
|
unknown extends TError ? DefaultError : TError,
|
|
89
89
|
unknown extends TData ? TQueryFnData : TData,
|
|
90
90
|
TQueryKey
|
|
91
91
|
>
|
|
92
92
|
: // Fallback
|
|
93
|
-
|
|
93
|
+
UseQueryOptionsForUseQueries
|
|
94
94
|
|
|
95
95
|
type GetResults<T> =
|
|
96
96
|
// Part 1: responsible for mapping explicit type parameter to function result, if object
|
|
97
97
|
T extends { queryFnData: any; error?: infer TError; data: infer TData }
|
|
98
|
-
?
|
|
98
|
+
? UseQueryResult<TData, TError>
|
|
99
99
|
: T extends { queryFnData: infer TQueryFnData; error?: infer TError }
|
|
100
|
-
?
|
|
100
|
+
? UseQueryResult<TQueryFnData, TError>
|
|
101
101
|
: T extends { data: infer TData; error?: infer TError }
|
|
102
|
-
?
|
|
102
|
+
? UseQueryResult<TData, TError>
|
|
103
103
|
: // Part 2: responsible for mapping explicit type parameter to function result, if tuple
|
|
104
104
|
T extends [any, infer TError, infer TData]
|
|
105
|
-
?
|
|
105
|
+
? UseQueryResult<TData, TError>
|
|
106
106
|
: T extends [infer TQueryFnData, infer TError]
|
|
107
|
-
?
|
|
107
|
+
? UseQueryResult<TQueryFnData, TError>
|
|
108
108
|
: T extends [infer TQueryFnData]
|
|
109
|
-
?
|
|
109
|
+
? UseQueryResult<TQueryFnData>
|
|
110
110
|
: // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided
|
|
111
111
|
T extends {
|
|
112
112
|
queryFn?:
|
|
@@ -115,12 +115,12 @@ type GetResults<T> =
|
|
|
115
115
|
select?: (data: any) => infer TData
|
|
116
116
|
throwOnError?: ThrowOnError<any, infer TError, any, any>
|
|
117
117
|
}
|
|
118
|
-
?
|
|
118
|
+
? UseQueryResult<
|
|
119
119
|
unknown extends TData ? TQueryFnData : TData,
|
|
120
120
|
unknown extends TError ? DefaultError : TError
|
|
121
121
|
>
|
|
122
122
|
: // Fallback
|
|
123
|
-
|
|
123
|
+
UseQueryResult
|
|
124
124
|
|
|
125
125
|
/**
|
|
126
126
|
* QueriesOptions reducer recursively unwraps function arguments to infer/enforce type param
|
|
@@ -130,7 +130,7 @@ type QueriesOptions<
|
|
|
130
130
|
TResult extends Array<any> = [],
|
|
131
131
|
TDepth extends ReadonlyArray<number> = [],
|
|
132
132
|
> = TDepth['length'] extends MAXIMUM_DEPTH
|
|
133
|
-
? Array<
|
|
133
|
+
? Array<UseQueryOptionsForUseQueries>
|
|
134
134
|
: T extends []
|
|
135
135
|
? []
|
|
136
136
|
: T extends [infer Head]
|
|
@@ -146,7 +146,7 @@ type QueriesOptions<
|
|
|
146
146
|
: // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!
|
|
147
147
|
// use this to infer the param types in the case of Array.map() argument
|
|
148
148
|
T extends Array<
|
|
149
|
-
|
|
149
|
+
UseQueryOptionsForUseQueries<
|
|
150
150
|
infer TQueryFnData,
|
|
151
151
|
infer TError,
|
|
152
152
|
infer TData,
|
|
@@ -154,7 +154,7 @@ type QueriesOptions<
|
|
|
154
154
|
>
|
|
155
155
|
>
|
|
156
156
|
? Array<
|
|
157
|
-
|
|
157
|
+
UseQueryOptionsForUseQueries<
|
|
158
158
|
TQueryFnData,
|
|
159
159
|
TError,
|
|
160
160
|
TData,
|
|
@@ -162,7 +162,7 @@ type QueriesOptions<
|
|
|
162
162
|
>
|
|
163
163
|
>
|
|
164
164
|
: // Fallback
|
|
165
|
-
Array<
|
|
165
|
+
Array<UseQueryOptionsForUseQueries>
|
|
166
166
|
|
|
167
167
|
/**
|
|
168
168
|
* QueriesResults reducer recursively maps type param to results
|
|
@@ -172,7 +172,7 @@ type QueriesResults<
|
|
|
172
172
|
TResult extends Array<any> = [],
|
|
173
173
|
TDepth extends ReadonlyArray<number> = [],
|
|
174
174
|
> = TDepth['length'] extends MAXIMUM_DEPTH
|
|
175
|
-
? Array<
|
|
175
|
+
? Array<UseQueryResult>
|
|
176
176
|
: T extends []
|
|
177
177
|
? []
|
|
178
178
|
: T extends [infer Head]
|
|
@@ -185,7 +185,7 @@ type QueriesResults<
|
|
|
185
185
|
>
|
|
186
186
|
: { [K in keyof T]: GetResults<T[K]> }
|
|
187
187
|
|
|
188
|
-
export function
|
|
188
|
+
export function useQueries<
|
|
189
189
|
T extends Array<any>,
|
|
190
190
|
TCombinedResult extends QueriesResults<T> = QueriesResults<T>,
|
|
191
191
|
>(
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { QueryObserver } from '@tanstack/query-core'
|
|
2
2
|
import { createMemo } from 'solid-js'
|
|
3
|
-
import {
|
|
3
|
+
import { useBaseQuery } from './useBaseQuery'
|
|
4
4
|
import type { DefaultError, QueryKey } from '@tanstack/query-core'
|
|
5
5
|
import type { QueryClient } from './QueryClient'
|
|
6
6
|
import type { Accessor } from 'solid-js'
|
|
7
7
|
import type {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
DefinedUseQueryResult,
|
|
9
|
+
UseQueryOptions,
|
|
10
|
+
UseQueryResult,
|
|
11
11
|
} from './types'
|
|
12
12
|
import type {
|
|
13
13
|
DefinedInitialDataOptions,
|
|
14
14
|
UndefinedInitialDataOptions,
|
|
15
15
|
} from './queryOptions'
|
|
16
16
|
|
|
17
|
-
export function
|
|
17
|
+
export function useQuery<
|
|
18
18
|
TQueryFnData = unknown,
|
|
19
19
|
TError = DefaultError,
|
|
20
20
|
TData = TQueryFnData,
|
|
@@ -22,9 +22,9 @@ export function createQuery<
|
|
|
22
22
|
>(
|
|
23
23
|
options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
24
24
|
queryClient?: () => QueryClient,
|
|
25
|
-
):
|
|
25
|
+
): UseQueryResult<TData, TError>
|
|
26
26
|
|
|
27
|
-
export function
|
|
27
|
+
export function useQuery<
|
|
28
28
|
TQueryFnData = unknown,
|
|
29
29
|
TError = DefaultError,
|
|
30
30
|
TData = TQueryFnData,
|
|
@@ -32,17 +32,17 @@ export function createQuery<
|
|
|
32
32
|
>(
|
|
33
33
|
options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
34
34
|
queryClient?: () => QueryClient,
|
|
35
|
-
):
|
|
36
|
-
export function
|
|
35
|
+
): DefinedUseQueryResult<TData, TError>
|
|
36
|
+
export function useQuery<
|
|
37
37
|
TQueryFnData,
|
|
38
38
|
TError = DefaultError,
|
|
39
39
|
TData = TQueryFnData,
|
|
40
40
|
TQueryKey extends QueryKey = QueryKey,
|
|
41
41
|
>(
|
|
42
|
-
options:
|
|
42
|
+
options: UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
|
|
43
43
|
queryClient?: Accessor<QueryClient>,
|
|
44
44
|
) {
|
|
45
|
-
return
|
|
45
|
+
return useBaseQuery(
|
|
46
46
|
createMemo(() => options()),
|
|
47
47
|
QueryObserver,
|
|
48
48
|
queryClient,
|