@tanstack/solid-query 5.71.6 → 5.71.8
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 +13 -17
- package/build/dev.js +10 -10
- package/build/index.cjs +13 -17
- package/build/index.d.cts +40 -40
- package/build/index.d.ts +40 -40
- package/build/index.js +10 -10
- package/package.json +1 -1
- package/src/{useBaseQuery.ts → createBaseQuery.ts} +3 -3
- package/src/{useInfiniteQuery.ts → createInfiniteQuery.ts} +13 -13
- package/src/{useMutation.ts → createMutation.ts} +8 -8
- package/src/{useQueries.ts → createQueries.ts} +25 -25
- package/src/{useQuery.ts → createQuery.ts} +11 -11
- package/src/index.ts +4 -47
- package/src/types.ts +22 -22
package/build/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { QueryClient as QueryClient$1, QueryClientConfig as QueryClientConfig$1, DefaultError, DefaultOptions as DefaultOptions$1, OmitKeyof, QueryKey, QueryObserverOptions as QueryObserverOptions$1, InfiniteQueryObserverOptions as InfiniteQueryObserverOptions$1, QueryObserverResult, DefinedQueryObserverResult, DefinedInfiniteQueryObserverResult, InfiniteQueryObserverResult, MutationObserverOptions, Override, MutationObserverResult, MutateFunction, DataTag, QueryFilters, InfiniteData, MutationFilters, MutationState, Mutation, QueryFunction, ThrowOnError, QueriesPlaceholderDataFunction } from '@tanstack/query-core';
|
|
2
2
|
export * from '@tanstack/query-core';
|
|
3
3
|
import * as solid_js from 'solid-js';
|
|
4
4
|
import { Accessor, JSX } from 'solid-js';
|
|
@@ -31,7 +31,7 @@ declare class QueryClient extends QueryClient$1 {
|
|
|
31
31
|
constructor(config?: QueryClientConfig);
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
interface
|
|
34
|
+
interface CreateBaseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends OmitKeyof<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, 'suspense'> {
|
|
35
35
|
/**
|
|
36
36
|
* Only applicable while rendering queries on the server with streaming.
|
|
37
37
|
* Set `deferStream` to `true` to wait for the query to resolve on the server before flushing the stream.
|
|
@@ -41,18 +41,18 @@ interface UseBaseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TDa
|
|
|
41
41
|
deferStream?: boolean;
|
|
42
42
|
/**
|
|
43
43
|
* @deprecated The `suspense` option has been deprecated in v5 and will be removed in the next major version.
|
|
44
|
-
* The `data` property on
|
|
44
|
+
* The `data` property on createQuery is a SolidJS resource and will automatically suspend when the data is loading.
|
|
45
45
|
* Setting `suspense` to `false` will be a no-op.
|
|
46
46
|
*/
|
|
47
47
|
suspense?: boolean;
|
|
48
48
|
}
|
|
49
|
-
interface SolidQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends
|
|
49
|
+
interface SolidQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends CreateBaseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey> {
|
|
50
50
|
}
|
|
51
|
-
type
|
|
52
|
-
type
|
|
53
|
-
type
|
|
54
|
-
type
|
|
55
|
-
type
|
|
51
|
+
type CreateQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = Accessor<SolidQueryOptions<TQueryFnData, TError, TData, TQueryKey>>;
|
|
52
|
+
type CreateBaseQueryResult<TData = unknown, TError = DefaultError> = QueryObserverResult<TData, TError>;
|
|
53
|
+
type CreateQueryResult<TData = unknown, TError = DefaultError> = CreateBaseQueryResult<TData, TError>;
|
|
54
|
+
type DefinedCreateBaseQueryResult<TData = unknown, TError = DefaultError> = DefinedQueryObserverResult<TData, TError>;
|
|
55
|
+
type DefinedCreateQueryResult<TData = unknown, TError = DefaultError> = DefinedCreateBaseQueryResult<TData, TError>;
|
|
56
56
|
interface SolidInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends OmitKeyof<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>, 'queryKey' | 'suspense'> {
|
|
57
57
|
queryKey: TQueryKey;
|
|
58
58
|
/**
|
|
@@ -64,25 +64,25 @@ interface SolidInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultErro
|
|
|
64
64
|
deferStream?: boolean;
|
|
65
65
|
/**
|
|
66
66
|
* @deprecated The `suspense` option has been deprecated in v5 and will be removed in the next major version.
|
|
67
|
-
* The `data` property on
|
|
67
|
+
* The `data` property on createInfiniteQuery is a SolidJS resource and will automatically suspend when the data is loading.
|
|
68
68
|
* Setting `suspense` to `false` will be a no-op.
|
|
69
69
|
*/
|
|
70
70
|
suspense?: boolean;
|
|
71
71
|
}
|
|
72
|
-
type
|
|
73
|
-
type
|
|
74
|
-
type
|
|
72
|
+
type CreateInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> = Accessor<SolidInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey, TPageParam>>;
|
|
73
|
+
type CreateInfiniteQueryResult<TData = unknown, TError = DefaultError> = InfiniteQueryObserverResult<TData, TError>;
|
|
74
|
+
type DefinedCreateInfiniteQueryResult<TData = unknown, TError = DefaultError> = DefinedInfiniteQueryObserverResult<TData, TError>;
|
|
75
75
|
interface SolidMutationOptions<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> extends OmitKeyof<MutationObserverOptions<TData, TError, TVariables, TContext>, '_defaulted'> {
|
|
76
76
|
}
|
|
77
|
-
type
|
|
78
|
-
type
|
|
79
|
-
type
|
|
80
|
-
type
|
|
81
|
-
mutate:
|
|
77
|
+
type CreateMutationOptions<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = Accessor<SolidMutationOptions<TData, TError, TVariables, TContext>>;
|
|
78
|
+
type CreateMutateFunction<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = (...args: Parameters<MutateFunction<TData, TError, TVariables, TContext>>) => void;
|
|
79
|
+
type CreateMutateAsyncFunction<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = MutateFunction<TData, TError, TVariables, TContext>;
|
|
80
|
+
type CreateBaseMutationResult<TData = unknown, TError = DefaultError, TVariables = unknown, TContext = unknown> = Override<MutationObserverResult<TData, TError, TVariables, TContext>, {
|
|
81
|
+
mutate: CreateMutateFunction<TData, TError, TVariables, TContext>;
|
|
82
82
|
}> & {
|
|
83
|
-
mutateAsync:
|
|
83
|
+
mutateAsync: CreateMutateAsyncFunction<TData, TError, TVariables, TContext>;
|
|
84
84
|
};
|
|
85
|
-
type
|
|
85
|
+
type CreateMutationResult<TData = unknown, TError = DefaultError, TVariables = unknown, TContext = unknown> = CreateBaseMutationResult<TData, TError, TVariables, TContext>;
|
|
86
86
|
|
|
87
87
|
type UndefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = Accessor<SolidQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
|
|
88
88
|
initialData?: undefined;
|
|
@@ -97,8 +97,8 @@ declare function queryOptions<TQueryFnData = unknown, TError = DefaultError, TDa
|
|
|
97
97
|
queryKey: DataTag<TQueryKey, TQueryFnData>;
|
|
98
98
|
};
|
|
99
99
|
|
|
100
|
-
declare function
|
|
101
|
-
declare function
|
|
100
|
+
declare function createQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: () => QueryClient): CreateQueryResult<TData, TError>;
|
|
101
|
+
declare function createQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: () => QueryClient): DefinedCreateQueryResult<TData, TError>;
|
|
102
102
|
|
|
103
103
|
declare const QueryClientContext: solid_js.Context<(() => QueryClient) | undefined>;
|
|
104
104
|
declare const useQueryClient: (queryClient?: QueryClient) => QueryClient;
|
|
@@ -124,10 +124,10 @@ declare function infiniteQueryOptions<TQueryFnData, TError = DefaultError, TData
|
|
|
124
124
|
queryKey: DataTag<TQueryKey, InfiniteData<TQueryFnData>>;
|
|
125
125
|
};
|
|
126
126
|
|
|
127
|
-
declare function
|
|
128
|
-
declare function
|
|
127
|
+
declare function createInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, queryClient?: Accessor<QueryClient>): DefinedCreateInfiniteQueryResult<TData, TError>;
|
|
128
|
+
declare function createInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, queryClient?: Accessor<QueryClient>): CreateInfiniteQueryResult<TData, TError>;
|
|
129
129
|
|
|
130
|
-
declare function
|
|
130
|
+
declare function createMutation<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown>(options: CreateMutationOptions<TData, TError, TVariables, TContext>, queryClient?: Accessor<QueryClient>): CreateMutationResult<TData, TError, TVariables, TContext>;
|
|
131
131
|
|
|
132
132
|
declare function useIsMutating(filters?: Accessor<MutationFilters>, queryClient?: Accessor<QueryClient>): Accessor<number>;
|
|
133
133
|
|
|
@@ -137,11 +137,11 @@ type MutationStateOptions<TResult = MutationState> = {
|
|
|
137
137
|
};
|
|
138
138
|
declare function useMutationState<TResult = MutationState>(options?: Accessor<MutationStateOptions<TResult>>, queryClient?: Accessor<QueryClient>): Accessor<Array<TResult>>;
|
|
139
139
|
|
|
140
|
-
type
|
|
140
|
+
type CreateQueryOptionsForCreateQueries<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = OmitKeyof<SolidQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'placeholderData' | 'suspense'> & {
|
|
141
141
|
placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>;
|
|
142
142
|
/**
|
|
143
143
|
* @deprecated The `suspense` option has been deprecated in v5 and will be removed in the next major version.
|
|
144
|
-
* The `data` property on
|
|
144
|
+
* The `data` property on createQueries is a plain object and not a SolidJS Resource.
|
|
145
145
|
* It will not suspend when the data is loading.
|
|
146
146
|
* Setting `suspense` to `true` will be a no-op.
|
|
147
147
|
*/
|
|
@@ -153,36 +153,36 @@ type GetOptions<T> = T extends {
|
|
|
153
153
|
queryFnData: infer TQueryFnData;
|
|
154
154
|
error?: infer TError;
|
|
155
155
|
data: infer TData;
|
|
156
|
-
} ?
|
|
156
|
+
} ? CreateQueryOptionsForCreateQueries<TQueryFnData, TError, TData> : T extends {
|
|
157
157
|
queryFnData: infer TQueryFnData;
|
|
158
158
|
error?: infer TError;
|
|
159
|
-
} ?
|
|
159
|
+
} ? CreateQueryOptionsForCreateQueries<TQueryFnData, TError> : T extends {
|
|
160
160
|
data: infer TData;
|
|
161
161
|
error?: infer TError;
|
|
162
|
-
} ?
|
|
162
|
+
} ? CreateQueryOptionsForCreateQueries<unknown, TError, TData> : T extends [infer TQueryFnData, infer TError, infer TData] ? CreateQueryOptionsForCreateQueries<TQueryFnData, TError, TData> : T extends [infer TQueryFnData, infer TError] ? CreateQueryOptionsForCreateQueries<TQueryFnData, TError> : T extends [infer TQueryFnData] ? CreateQueryOptionsForCreateQueries<TQueryFnData> : T extends {
|
|
163
163
|
queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> | SkipTokenForUseQueries;
|
|
164
164
|
select?: (data: any) => infer TData;
|
|
165
165
|
throwOnError?: ThrowOnError<any, infer TError, any, any>;
|
|
166
|
-
} ?
|
|
166
|
+
} ? CreateQueryOptionsForCreateQueries<TQueryFnData, unknown extends TError ? DefaultError : TError, unknown extends TData ? TQueryFnData : TData, TQueryKey> : CreateQueryOptionsForCreateQueries;
|
|
167
167
|
type GetResults<T> = T extends {
|
|
168
168
|
queryFnData: any;
|
|
169
169
|
error?: infer TError;
|
|
170
170
|
data: infer TData;
|
|
171
|
-
} ?
|
|
171
|
+
} ? CreateQueryResult<TData, TError> : T extends {
|
|
172
172
|
queryFnData: infer TQueryFnData;
|
|
173
173
|
error?: infer TError;
|
|
174
|
-
} ?
|
|
174
|
+
} ? CreateQueryResult<TQueryFnData, TError> : T extends {
|
|
175
175
|
data: infer TData;
|
|
176
176
|
error?: infer TError;
|
|
177
|
-
} ?
|
|
177
|
+
} ? CreateQueryResult<TData, TError> : T extends [any, infer TError, infer TData] ? CreateQueryResult<TData, TError> : T extends [infer TQueryFnData, infer TError] ? CreateQueryResult<TQueryFnData, TError> : T extends [infer TQueryFnData] ? CreateQueryResult<TQueryFnData> : T extends {
|
|
178
178
|
queryFn?: QueryFunction<infer TQueryFnData, any> | SkipTokenForUseQueries;
|
|
179
179
|
select?: (data: any) => infer TData;
|
|
180
180
|
throwOnError?: ThrowOnError<any, infer TError, any, any>;
|
|
181
|
-
} ?
|
|
181
|
+
} ? CreateQueryResult<unknown extends TData ? TQueryFnData : TData, unknown extends TError ? DefaultError : TError> : CreateQueryResult;
|
|
182
182
|
/**
|
|
183
183
|
* QueriesOptions reducer recursively unwraps function arguments to infer/enforce type param
|
|
184
184
|
*/
|
|
185
|
-
type QueriesOptions<T extends Array<any>, TResult extends Array<any> = [], TDepth extends ReadonlyArray<number> = []> = TDepth['length'] extends MAXIMUM_DEPTH ? Array<
|
|
185
|
+
type QueriesOptions<T extends Array<any>, TResult extends Array<any> = [], TDepth extends ReadonlyArray<number> = []> = TDepth['length'] extends MAXIMUM_DEPTH ? Array<CreateQueryOptionsForCreateQueries> : T extends [] ? [] : T extends [infer Head] ? [...TResult, GetOptions<Head>] : T extends [infer Head, ...infer Tail] ? QueriesOptions<[
|
|
186
186
|
...Tail
|
|
187
187
|
], [
|
|
188
188
|
...TResult,
|
|
@@ -190,11 +190,11 @@ type QueriesOptions<T extends Array<any>, TResult extends Array<any> = [], TDept
|
|
|
190
190
|
], [
|
|
191
191
|
...TDepth,
|
|
192
192
|
1
|
|
193
|
-
]> : ReadonlyArray<unknown> extends T ? T : T extends Array<
|
|
193
|
+
]> : ReadonlyArray<unknown> extends T ? T : T extends Array<CreateQueryOptionsForCreateQueries<infer TQueryFnData, infer TError, infer TData, infer TQueryKey>> ? Array<CreateQueryOptionsForCreateQueries<TQueryFnData, TError, TData, TQueryKey>> : Array<CreateQueryOptionsForCreateQueries>;
|
|
194
194
|
/**
|
|
195
195
|
* QueriesResults reducer recursively maps type param to results
|
|
196
196
|
*/
|
|
197
|
-
type QueriesResults<T extends Array<any>, TResult extends Array<any> = [], TDepth extends ReadonlyArray<number> = []> = TDepth['length'] extends MAXIMUM_DEPTH ? Array<
|
|
197
|
+
type QueriesResults<T extends Array<any>, TResult extends Array<any> = [], TDepth extends ReadonlyArray<number> = []> = TDepth['length'] extends MAXIMUM_DEPTH ? Array<CreateQueryResult> : T extends [] ? [] : T extends [infer Head] ? [...TResult, GetResults<Head>] : T extends [infer Head, ...infer Tail] ? QueriesResults<[
|
|
198
198
|
...Tail
|
|
199
199
|
], [
|
|
200
200
|
...TResult,
|
|
@@ -205,7 +205,7 @@ type QueriesResults<T extends Array<any>, TResult extends Array<any> = [], TDept
|
|
|
205
205
|
]> : {
|
|
206
206
|
[K in keyof T]: GetResults<T[K]>;
|
|
207
207
|
};
|
|
208
|
-
declare function
|
|
208
|
+
declare function createQueries<T extends Array<any>, TCombinedResult extends QueriesResults<T> = QueriesResults<T>>(queriesOptions: Accessor<{
|
|
209
209
|
queries: readonly [...QueriesOptions<T>] | readonly [...{
|
|
210
210
|
[K in keyof T]: GetOptions<T[K]>;
|
|
211
211
|
}];
|
|
@@ -215,4 +215,4 @@ declare function useQueries<T extends Array<any>, TCombinedResult extends Querie
|
|
|
215
215
|
declare const useIsRestoring: () => Accessor<boolean>;
|
|
216
216
|
declare const IsRestoringProvider: solid_js.ContextProviderComponent<Accessor<boolean>>;
|
|
217
217
|
|
|
218
|
-
export { type
|
|
218
|
+
export { type CreateBaseMutationResult, type CreateBaseQueryOptions, type CreateBaseQueryResult, type CreateInfiniteQueryOptions, type CreateInfiniteQueryResult, type CreateMutateAsyncFunction, type CreateMutateFunction, type CreateMutationOptions, type CreateMutationResult, type CreateQueryOptions, type CreateQueryResult, type DefaultOptions, type DefinedCreateBaseQueryResult, type DefinedCreateInfiniteQueryResult, type DefinedCreateQueryResult, type DefinedInitialDataInfiniteOptions, type DefinedInitialDataOptions, type InfiniteQueryObserverOptions, IsRestoringProvider, QueryClient, type QueryClientConfig, QueryClientContext, QueryClientProvider, type QueryClientProviderProps, type QueryObserverOptions, type SolidInfiniteQueryOptions, type SolidMutationOptions, type SolidQueryOptions, type UndefinedInitialDataInfiniteOptions, type UndefinedInitialDataOptions, createInfiniteQuery, createMutation, createQueries, createQuery, infiniteQueryOptions, queryOptions, useIsFetching, useIsMutating, useIsRestoring, useMutationState, useQueryClient };
|
package/build/index.js
CHANGED
|
@@ -49,7 +49,7 @@ var IsRestoringContext = createContext(() => false);
|
|
|
49
49
|
var useIsRestoring = () => useContext(IsRestoringContext);
|
|
50
50
|
var IsRestoringProvider = IsRestoringContext.Provider;
|
|
51
51
|
|
|
52
|
-
// src/
|
|
52
|
+
// src/createBaseQuery.ts
|
|
53
53
|
function reconcileFn(store, result, reconcileOption, queryHash) {
|
|
54
54
|
if (reconcileOption === false) return result;
|
|
55
55
|
if (typeof reconcileOption === "function") {
|
|
@@ -86,7 +86,7 @@ var hydratableObserverResult = (query, result) => {
|
|
|
86
86
|
};
|
|
87
87
|
return obj;
|
|
88
88
|
};
|
|
89
|
-
function
|
|
89
|
+
function createBaseQuery(options, Observer, queryClient) {
|
|
90
90
|
const client = createMemo(() => useQueryClient(queryClient?.()));
|
|
91
91
|
const isRestoring = useIsRestoring();
|
|
92
92
|
let unsubscribeQueued = false;
|
|
@@ -292,9 +292,9 @@ function useBaseQuery(options, Observer, queryClient) {
|
|
|
292
292
|
return new Proxy(state, handler);
|
|
293
293
|
}
|
|
294
294
|
|
|
295
|
-
// src/
|
|
296
|
-
function
|
|
297
|
-
return
|
|
295
|
+
// src/createQuery.ts
|
|
296
|
+
function createQuery(options, queryClient) {
|
|
297
|
+
return createBaseQuery(
|
|
298
298
|
createMemo(() => options()),
|
|
299
299
|
QueryObserver,
|
|
300
300
|
queryClient
|
|
@@ -315,8 +315,8 @@ function useIsFetching(filters, queryClient) {
|
|
|
315
315
|
onCleanup(unsubscribe);
|
|
316
316
|
return fetches;
|
|
317
317
|
}
|
|
318
|
-
function
|
|
319
|
-
return
|
|
318
|
+
function createInfiniteQuery(options, queryClient) {
|
|
319
|
+
return createBaseQuery(
|
|
320
320
|
createMemo(() => options()),
|
|
321
321
|
InfiniteQueryObserver,
|
|
322
322
|
queryClient
|
|
@@ -327,7 +327,7 @@ function useInfiniteQuery(options, queryClient) {
|
|
|
327
327
|
function infiniteQueryOptions(options) {
|
|
328
328
|
return options;
|
|
329
329
|
}
|
|
330
|
-
function
|
|
330
|
+
function createMutation(options, queryClient) {
|
|
331
331
|
const client = createMemo(() => useQueryClient(queryClient?.()));
|
|
332
332
|
const observer = new MutationObserver(
|
|
333
333
|
client(),
|
|
@@ -401,7 +401,7 @@ function useMutationState(options = () => ({}), queryClient) {
|
|
|
401
401
|
});
|
|
402
402
|
return result;
|
|
403
403
|
}
|
|
404
|
-
function
|
|
404
|
+
function createQueries(queriesOptions, queryClient) {
|
|
405
405
|
const client = createMemo(() => useQueryClient(queryClient?.()));
|
|
406
406
|
const isRestoring = useIsRestoring();
|
|
407
407
|
const defaultedQueries = createMemo(
|
|
@@ -519,4 +519,4 @@ function useQueries(queriesOptions, queryClient) {
|
|
|
519
519
|
return proxyState;
|
|
520
520
|
}
|
|
521
521
|
|
|
522
|
-
export { IsRestoringProvider, QueryClient, QueryClientContext, QueryClientProvider,
|
|
522
|
+
export { IsRestoringProvider, QueryClient, QueryClientContext, QueryClientProvider, createInfiniteQuery, createMutation, createQueries, createQuery, infiniteQueryOptions, queryOptions, useIsFetching, useIsMutating, useIsRestoring, useMutationState, useQueryClient };
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@ import { createStore, reconcile, unwrap } from 'solid-js/store'
|
|
|
15
15
|
import { useQueryClient } from './QueryClientProvider'
|
|
16
16
|
import { shouldThrowError } from './utils'
|
|
17
17
|
import { useIsRestoring } from './isRestoring'
|
|
18
|
-
import type {
|
|
18
|
+
import type { CreateBaseQueryOptions } from './types'
|
|
19
19
|
import type { Accessor, Signal } from 'solid-js'
|
|
20
20
|
import type { QueryClient } from './QueryClient'
|
|
21
21
|
import type {
|
|
@@ -101,7 +101,7 @@ const hydratableObserverResult = <
|
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
// Base Query Function that is used to create the query.
|
|
104
|
-
export function
|
|
104
|
+
export function createBaseQuery<
|
|
105
105
|
TQueryFnData,
|
|
106
106
|
TError,
|
|
107
107
|
TData,
|
|
@@ -109,7 +109,7 @@ export function useBaseQuery<
|
|
|
109
109
|
TQueryKey extends QueryKey,
|
|
110
110
|
>(
|
|
111
111
|
options: Accessor<
|
|
112
|
-
|
|
112
|
+
CreateBaseQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>
|
|
113
113
|
>,
|
|
114
114
|
Observer: typeof QueryObserver,
|
|
115
115
|
queryClient?: Accessor<QueryClient>,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { InfiniteQueryObserver } from '@tanstack/query-core'
|
|
2
2
|
import { createMemo } from 'solid-js'
|
|
3
|
-
import {
|
|
3
|
+
import { createBaseQuery } from './createBaseQuery'
|
|
4
4
|
import type {
|
|
5
5
|
DefaultError,
|
|
6
6
|
InfiniteData,
|
|
@@ -9,9 +9,9 @@ import type {
|
|
|
9
9
|
} from '@tanstack/query-core'
|
|
10
10
|
import type { QueryClient } from './QueryClient'
|
|
11
11
|
import type {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
CreateInfiniteQueryOptions,
|
|
13
|
+
CreateInfiniteQueryResult,
|
|
14
|
+
DefinedCreateInfiniteQueryResult,
|
|
15
15
|
} from './types'
|
|
16
16
|
import type { Accessor } from 'solid-js'
|
|
17
17
|
import type {
|
|
@@ -19,7 +19,7 @@ import type {
|
|
|
19
19
|
UndefinedInitialDataInfiniteOptions,
|
|
20
20
|
} from './infiniteQueryOptions'
|
|
21
21
|
|
|
22
|
-
export function
|
|
22
|
+
export function createInfiniteQuery<
|
|
23
23
|
TQueryFnData,
|
|
24
24
|
TError = DefaultError,
|
|
25
25
|
TData = InfiniteData<TQueryFnData>,
|
|
@@ -34,8 +34,8 @@ export function useInfiniteQuery<
|
|
|
34
34
|
TPageParam
|
|
35
35
|
>,
|
|
36
36
|
queryClient?: Accessor<QueryClient>,
|
|
37
|
-
):
|
|
38
|
-
export function
|
|
37
|
+
): DefinedCreateInfiniteQueryResult<TData, TError>
|
|
38
|
+
export function createInfiniteQuery<
|
|
39
39
|
TQueryFnData,
|
|
40
40
|
TError = DefaultError,
|
|
41
41
|
TData = InfiniteData<TQueryFnData>,
|
|
@@ -50,16 +50,16 @@ export function useInfiniteQuery<
|
|
|
50
50
|
TPageParam
|
|
51
51
|
>,
|
|
52
52
|
queryClient?: Accessor<QueryClient>,
|
|
53
|
-
):
|
|
53
|
+
): CreateInfiniteQueryResult<TData, TError>
|
|
54
54
|
|
|
55
|
-
export function
|
|
55
|
+
export function createInfiniteQuery<
|
|
56
56
|
TQueryFnData,
|
|
57
57
|
TError = DefaultError,
|
|
58
58
|
TData = InfiniteData<TQueryFnData>,
|
|
59
59
|
TQueryKey extends QueryKey = QueryKey,
|
|
60
60
|
TPageParam = unknown,
|
|
61
61
|
>(
|
|
62
|
-
options:
|
|
62
|
+
options: CreateInfiniteQueryOptions<
|
|
63
63
|
TQueryFnData,
|
|
64
64
|
TError,
|
|
65
65
|
TData,
|
|
@@ -67,10 +67,10 @@ export function useInfiniteQuery<
|
|
|
67
67
|
TPageParam
|
|
68
68
|
>,
|
|
69
69
|
queryClient?: Accessor<QueryClient>,
|
|
70
|
-
):
|
|
71
|
-
return
|
|
70
|
+
): CreateInfiniteQueryResult<TData, TError> {
|
|
71
|
+
return createBaseQuery(
|
|
72
72
|
createMemo(() => options()),
|
|
73
73
|
InfiniteQueryObserver as typeof QueryObserver,
|
|
74
74
|
queryClient,
|
|
75
|
-
) as
|
|
75
|
+
) as CreateInfiniteQueryResult<TData, TError>
|
|
76
76
|
}
|
|
@@ -6,22 +6,22 @@ import { noop, shouldThrowError } from './utils'
|
|
|
6
6
|
import type { DefaultError } from '@tanstack/query-core'
|
|
7
7
|
import type { QueryClient } from './QueryClient'
|
|
8
8
|
import type {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
CreateMutateFunction,
|
|
10
|
+
CreateMutationOptions,
|
|
11
|
+
CreateMutationResult,
|
|
12
12
|
} from './types'
|
|
13
13
|
import type { Accessor } from 'solid-js'
|
|
14
14
|
|
|
15
15
|
// HOOK
|
|
16
|
-
export function
|
|
16
|
+
export function createMutation<
|
|
17
17
|
TData = unknown,
|
|
18
18
|
TError = DefaultError,
|
|
19
19
|
TVariables = void,
|
|
20
20
|
TContext = unknown,
|
|
21
21
|
>(
|
|
22
|
-
options:
|
|
22
|
+
options: CreateMutationOptions<TData, TError, TVariables, TContext>,
|
|
23
23
|
queryClient?: Accessor<QueryClient>,
|
|
24
|
-
):
|
|
24
|
+
): CreateMutationResult<TData, TError, TVariables, TContext> {
|
|
25
25
|
const client = createMemo(() => useQueryClient(queryClient?.()))
|
|
26
26
|
|
|
27
27
|
const observer = new MutationObserver<TData, TError, TVariables, TContext>(
|
|
@@ -29,7 +29,7 @@ export function useMutation<
|
|
|
29
29
|
options(),
|
|
30
30
|
)
|
|
31
31
|
|
|
32
|
-
const mutate:
|
|
32
|
+
const mutate: CreateMutateFunction<TData, TError, TVariables, TContext> = (
|
|
33
33
|
variables,
|
|
34
34
|
mutateOptions,
|
|
35
35
|
) => {
|
|
@@ -37,7 +37,7 @@ export function useMutation<
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
const [state, setState] = createStore<
|
|
40
|
-
|
|
40
|
+
CreateMutationResult<TData, TError, TVariables, TContext>
|
|
41
41
|
>({
|
|
42
42
|
...observer.getCurrentResult(),
|
|
43
43
|
mutate,
|
|
@@ -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 { CreateQueryResult, SolidQueryOptions } 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 CreateQueryOptionsForCreateQueries<
|
|
35
35
|
TQueryFnData = unknown,
|
|
36
36
|
TError = DefaultError,
|
|
37
37
|
TData = TQueryFnData,
|
|
@@ -43,7 +43,7 @@ type UseQueryOptionsForUseQueries<
|
|
|
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 createQueries 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
|
+
? CreateQueryOptionsForCreateQueries<TQueryFnData, TError, TData>
|
|
67
67
|
: T extends { queryFnData: infer TQueryFnData; error?: infer TError }
|
|
68
|
-
?
|
|
68
|
+
? CreateQueryOptionsForCreateQueries<TQueryFnData, TError>
|
|
69
69
|
: T extends { data: infer TData; error?: infer TError }
|
|
70
|
-
?
|
|
70
|
+
? CreateQueryOptionsForCreateQueries<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
|
+
? CreateQueryOptionsForCreateQueries<TQueryFnData, TError, TData>
|
|
74
74
|
: T extends [infer TQueryFnData, infer TError]
|
|
75
|
-
?
|
|
75
|
+
? CreateQueryOptionsForCreateQueries<TQueryFnData, TError>
|
|
76
76
|
: T extends [infer TQueryFnData]
|
|
77
|
-
?
|
|
77
|
+
? CreateQueryOptionsForCreateQueries<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
|
+
? CreateQueryOptionsForCreateQueries<
|
|
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
|
+
CreateQueryOptionsForCreateQueries
|
|
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
|
+
? CreateQueryResult<TData, TError>
|
|
99
99
|
: T extends { queryFnData: infer TQueryFnData; error?: infer TError }
|
|
100
|
-
?
|
|
100
|
+
? CreateQueryResult<TQueryFnData, TError>
|
|
101
101
|
: T extends { data: infer TData; error?: infer TError }
|
|
102
|
-
?
|
|
102
|
+
? CreateQueryResult<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
|
+
? CreateQueryResult<TData, TError>
|
|
106
106
|
: T extends [infer TQueryFnData, infer TError]
|
|
107
|
-
?
|
|
107
|
+
? CreateQueryResult<TQueryFnData, TError>
|
|
108
108
|
: T extends [infer TQueryFnData]
|
|
109
|
-
?
|
|
109
|
+
? CreateQueryResult<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
|
+
? CreateQueryResult<
|
|
119
119
|
unknown extends TData ? TQueryFnData : TData,
|
|
120
120
|
unknown extends TError ? DefaultError : TError
|
|
121
121
|
>
|
|
122
122
|
: // Fallback
|
|
123
|
-
|
|
123
|
+
CreateQueryResult
|
|
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<CreateQueryOptionsForCreateQueries>
|
|
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
|
+
CreateQueryOptionsForCreateQueries<
|
|
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
|
+
CreateQueryOptionsForCreateQueries<
|
|
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<CreateQueryOptionsForCreateQueries>
|
|
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<CreateQueryResult>
|
|
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 createQueries<
|
|
189
189
|
T extends Array<any>,
|
|
190
190
|
TCombinedResult extends QueriesResults<T> = QueriesResults<T>,
|
|
191
191
|
>(
|