@tanstack/solid-query 5.0.0-alpha.86 → 5.0.0-alpha.88

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.
Files changed (37) hide show
  1. package/build/dev.cjs +354 -0
  2. package/build/dev.js +341 -0
  3. package/build/index.cjs +351 -0
  4. package/build/index.d.cts +142 -0
  5. package/build/index.d.ts +142 -0
  6. package/build/index.js +338 -0
  7. package/package.json +25 -19
  8. package/dist/cjs/index.cjs +0 -359
  9. package/dist/cjs/index.cjs.map +0 -1
  10. package/dist/esm/index.js +0 -342
  11. package/dist/esm/index.js.map +0 -1
  12. package/dist/source/QueryClient.js +0 -6
  13. package/dist/source/QueryClientProvider.jsx +0 -21
  14. package/dist/source/createBaseQuery.js +0 -177
  15. package/dist/source/createInfiniteQuery.js +0 -8
  16. package/dist/source/createMutation.js +0 -38
  17. package/dist/source/createQueries.js +0 -38
  18. package/dist/source/createQuery.js +0 -9
  19. package/dist/source/index.js +0 -15
  20. package/dist/source/setBatchUpdatesFn.js +0 -3
  21. package/dist/source/types.js +0 -2
  22. package/dist/source/useIsFetching.js +0 -12
  23. package/dist/source/useIsMutating.js +0 -12
  24. package/dist/source/utils.js +0 -7
  25. package/dist/types/QueryClient.d.ts +0 -29
  26. package/dist/types/QueryClientProvider.d.ts +0 -9
  27. package/dist/types/createBaseQuery.d.ts +0 -5
  28. package/dist/types/createInfiniteQuery.d.ts +0 -5
  29. package/dist/types/createMutation.d.ts +0 -5
  30. package/dist/types/createQueries.d.ts +0 -53
  31. package/dist/types/createQuery.d.ts +0 -14
  32. package/dist/types/index.d.ts +0 -13
  33. package/dist/types/setBatchUpdatesFn.d.ts +0 -1
  34. package/dist/types/types.d.ts +0 -34
  35. package/dist/types/useIsFetching.d.ts +0 -4
  36. package/dist/types/useIsMutating.d.ts +0 -4
  37. package/dist/types/utils.d.ts +0 -1
@@ -0,0 +1,351 @@
1
+ 'use strict';
2
+
3
+ var queryCore = require('@tanstack/query-core');
4
+ var solidJs = require('solid-js');
5
+ var web = require('solid-js/web');
6
+ var store = require('solid-js/store');
7
+
8
+ // src/setBatchUpdatesFn.ts
9
+ queryCore.notifyManager.setBatchNotifyFunction(solidJs.batch);
10
+ exports.QueryClient = class QueryClient extends queryCore.QueryClient {
11
+ constructor(config = {}) {
12
+ super(config);
13
+ }
14
+ };
15
+ exports.QueryClientContext = solidJs.createContext(void 0);
16
+ exports.useQueryClient = (queryClient) => {
17
+ if (queryClient) {
18
+ return queryClient;
19
+ }
20
+ const client = solidJs.useContext(exports.QueryClientContext);
21
+ if (!client) {
22
+ throw new Error("No QueryClient set, use QueryClientProvider to set one");
23
+ }
24
+ return client;
25
+ };
26
+ exports.QueryClientProvider = (props) => {
27
+ solidJs.onMount(() => {
28
+ props.client.mount();
29
+ });
30
+ solidJs.onCleanup(() => props.client.unmount());
31
+ return web.createComponent(exports.QueryClientContext.Provider, {
32
+ get value() {
33
+ return props.client;
34
+ },
35
+ get children() {
36
+ return props.children;
37
+ }
38
+ });
39
+ };
40
+
41
+ // src/utils.ts
42
+ function shouldThrowError(throwError, params) {
43
+ if (typeof throwError === "function") {
44
+ return throwError(...params);
45
+ }
46
+ return !!throwError;
47
+ }
48
+
49
+ // src/createBaseQuery.ts
50
+ function reconcileFn(store$1, result, reconcileOption) {
51
+ if (reconcileOption === false)
52
+ return result;
53
+ if (typeof reconcileOption === "function") {
54
+ const newData2 = reconcileOption(store$1.data, result.data);
55
+ return { ...result, data: newData2 };
56
+ }
57
+ const newData = store.reconcile(result.data, { key: reconcileOption })(store$1.data);
58
+ return { ...result, data: newData };
59
+ }
60
+ function createBaseQuery(options, Observer, queryClient) {
61
+ const client = solidJs.createMemo(() => exports.useQueryClient(queryClient?.()));
62
+ const defaultedOptions = client().defaultQueryOptions(options());
63
+ defaultedOptions._optimisticResults = "optimistic";
64
+ defaultedOptions.structuralSharing = false;
65
+ if (web.isServer) {
66
+ defaultedOptions.retry = false;
67
+ defaultedOptions.throwOnError = true;
68
+ }
69
+ const observer = new Observer(client(), defaultedOptions);
70
+ const [state, setState] = store.createStore(
71
+ observer.getOptimisticResult(defaultedOptions)
72
+ );
73
+ const createServerSubscriber = (resolve, reject) => {
74
+ return observer.subscribe((result) => {
75
+ queryCore.notifyManager.batchCalls(() => {
76
+ const query = observer.getCurrentQuery();
77
+ const { refetch: refetch2, ...rest } = store.unwrap(result);
78
+ const unwrappedResult = {
79
+ ...rest,
80
+ // hydrate() expects a QueryState object, which is similar but not
81
+ // quite the same as a QueryObserverResult object. Thus, for now, we're
82
+ // copying over the missing properties from state in order to support hydration
83
+ dataUpdateCount: query.state.dataUpdateCount,
84
+ fetchFailureCount: query.state.fetchFailureCount,
85
+ // Removing these properties since they might not be serializable
86
+ // fetchFailureReason: query.state.fetchFailureReason,
87
+ // fetchMeta: query.state.fetchMeta,
88
+ isInvalidated: query.state.isInvalidated
89
+ };
90
+ if (unwrappedResult.isError) {
91
+ reject(unwrappedResult.error);
92
+ }
93
+ if (unwrappedResult.isSuccess) {
94
+ resolve(unwrappedResult);
95
+ }
96
+ })();
97
+ });
98
+ };
99
+ const createClientSubscriber = () => {
100
+ return observer.subscribe((result) => {
101
+ queryCore.notifyManager.batchCalls(() => {
102
+ const reconcileOptions = observer.options.reconcile;
103
+ if (queryResource()?.data && result.data && !queryResource.loading) {
104
+ setState((store) => {
105
+ return reconcileFn(
106
+ store,
107
+ result,
108
+ reconcileOptions === void 0 ? "id" : reconcileOptions
109
+ );
110
+ });
111
+ mutate(state);
112
+ } else {
113
+ setState((store) => {
114
+ return reconcileFn(
115
+ store,
116
+ result,
117
+ reconcileOptions === void 0 ? "id" : reconcileOptions
118
+ );
119
+ });
120
+ refetch();
121
+ }
122
+ })();
123
+ });
124
+ };
125
+ let unsubscribe = null;
126
+ const [queryResource, { refetch, mutate }] = solidJs.createResource(
127
+ () => {
128
+ return new Promise((resolve, reject) => {
129
+ if (web.isServer) {
130
+ unsubscribe = createServerSubscriber(resolve, reject);
131
+ } else {
132
+ if (!unsubscribe) {
133
+ unsubscribe = createClientSubscriber();
134
+ }
135
+ }
136
+ if (!state.isLoading) {
137
+ resolve(state);
138
+ }
139
+ });
140
+ },
141
+ {
142
+ initialValue: state,
143
+ // If initialData is provided, we resolve the resource immediately
144
+ ssrLoadFrom: options().initialData ? "initial" : "server",
145
+ get deferStream() {
146
+ return options().deferStream;
147
+ },
148
+ /**
149
+ * If this resource was populated on the server (either sync render, or streamed in over time), onHydrated
150
+ * will be called. This is the point at which we can hydrate the query cache state, and setup the query subscriber.
151
+ *
152
+ * Leveraging onHydrated allows us to plug into the async and streaming support that solidjs resources already support.
153
+ *
154
+ * Note that this is only invoked on the client, for queries that were originally run on the server.
155
+ */
156
+ onHydrated(_k, info) {
157
+ if (info.value) {
158
+ queryCore.hydrate(client(), {
159
+ queries: [
160
+ {
161
+ queryKey: defaultedOptions.queryKey,
162
+ queryHash: defaultedOptions.queryHash,
163
+ state: info.value
164
+ }
165
+ ]
166
+ });
167
+ }
168
+ if (!unsubscribe) {
169
+ const newOptions = { ...defaultedOptions };
170
+ if (defaultedOptions.staleTime || !defaultedOptions.initialData) {
171
+ newOptions.refetchOnMount = false;
172
+ }
173
+ observer.setOptions(newOptions);
174
+ setState(observer.getOptimisticResult(newOptions));
175
+ unsubscribe = createClientSubscriber();
176
+ }
177
+ }
178
+ }
179
+ );
180
+ solidJs.onCleanup(() => {
181
+ if (unsubscribe) {
182
+ unsubscribe();
183
+ unsubscribe = null;
184
+ }
185
+ });
186
+ solidJs.createComputed(
187
+ solidJs.on(
188
+ () => client().defaultQueryOptions(options()),
189
+ () => observer.setOptions(client().defaultQueryOptions(options())),
190
+ {
191
+ // Defer because we don't need to trigger on first render
192
+ // This only cares about changes to options after the observer is created
193
+ defer: true
194
+ }
195
+ )
196
+ );
197
+ solidJs.createComputed(
198
+ solidJs.on(
199
+ () => state.status,
200
+ () => {
201
+ if (state.isError && !state.isFetching && shouldThrowError(observer.options.throwOnError, [
202
+ state.error,
203
+ observer.getCurrentQuery()
204
+ ])) {
205
+ throw state.error;
206
+ }
207
+ }
208
+ )
209
+ );
210
+ const handler = {
211
+ get(target, prop) {
212
+ const val = queryResource()?.[prop];
213
+ return val !== void 0 ? val : Reflect.get(target, prop);
214
+ }
215
+ };
216
+ return new Proxy(state, handler);
217
+ }
218
+
219
+ // src/createQuery.ts
220
+ function queryOptions(options) {
221
+ return options;
222
+ }
223
+ function createQuery(options, queryClient) {
224
+ return createBaseQuery(
225
+ solidJs.createMemo(() => options()),
226
+ queryCore.QueryObserver,
227
+ queryClient
228
+ );
229
+ }
230
+ function useIsFetching(filters, queryClient) {
231
+ const client = solidJs.createMemo(() => exports.useQueryClient(queryClient?.()));
232
+ const queryCache = solidJs.createMemo(() => client().getQueryCache());
233
+ const [fetches, setFetches] = solidJs.createSignal(client().isFetching(filters?.()));
234
+ const unsubscribe = queryCache().subscribe(() => {
235
+ setFetches(client().isFetching(filters?.()));
236
+ });
237
+ solidJs.onCleanup(unsubscribe);
238
+ return fetches;
239
+ }
240
+ function createInfiniteQuery(options, queryClient) {
241
+ return createBaseQuery(
242
+ solidJs.createMemo(() => options()),
243
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
244
+ queryCore.InfiniteQueryObserver,
245
+ queryClient
246
+ );
247
+ }
248
+ function createMutation(options, queryClient) {
249
+ const client = exports.useQueryClient(queryClient?.());
250
+ const observer = new queryCore.MutationObserver(
251
+ client,
252
+ options()
253
+ );
254
+ const mutate = (variables, mutateOptions) => {
255
+ observer.mutate(variables, mutateOptions).catch(noop);
256
+ };
257
+ const [state, setState] = store.createStore({
258
+ ...observer.getCurrentResult(),
259
+ mutate,
260
+ mutateAsync: observer.getCurrentResult().mutate
261
+ });
262
+ solidJs.createComputed(() => {
263
+ observer.setOptions(options());
264
+ });
265
+ solidJs.createComputed(
266
+ solidJs.on(
267
+ () => state.status,
268
+ () => {
269
+ if (state.isError && shouldThrowError(observer.options.throwOnError, [state.error])) {
270
+ throw state.error;
271
+ }
272
+ }
273
+ )
274
+ );
275
+ const unsubscribe = observer.subscribe((result) => {
276
+ setState({
277
+ ...result,
278
+ mutate,
279
+ mutateAsync: result.mutate
280
+ });
281
+ });
282
+ solidJs.onCleanup(unsubscribe);
283
+ return state;
284
+ }
285
+ function noop() {
286
+ }
287
+ function useIsMutating(filters, queryClient) {
288
+ const client = solidJs.createMemo(() => exports.useQueryClient(queryClient?.()));
289
+ const mutationCache = solidJs.createMemo(() => client().getMutationCache());
290
+ const [mutations, setMutations] = solidJs.createSignal(
291
+ client().isMutating(filters?.())
292
+ );
293
+ const unsubscribe = mutationCache().subscribe((_result) => {
294
+ setMutations(client().isMutating(filters?.()));
295
+ });
296
+ solidJs.onCleanup(unsubscribe);
297
+ return mutations;
298
+ }
299
+ function createQueries(queriesOptions, queryClient) {
300
+ const client = exports.useQueryClient(queryClient?.());
301
+ const defaultedQueries = queriesOptions().queries.map((options) => {
302
+ const defaultedOptions = client.defaultQueryOptions(options);
303
+ defaultedOptions._optimisticResults = "optimistic";
304
+ return defaultedOptions;
305
+ });
306
+ const observer = new queryCore.QueriesObserver(
307
+ client,
308
+ defaultedQueries,
309
+ queriesOptions().combine ? {
310
+ combine: queriesOptions().combine
311
+ } : void 0
312
+ );
313
+ const [state, setState] = store.createStore(
314
+ observer.getOptimisticResult(defaultedQueries)[1]()
315
+ );
316
+ const unsubscribe = observer.subscribe((result) => {
317
+ queryCore.notifyManager.batchCalls(() => {
318
+ setState(store.unwrap(result));
319
+ })();
320
+ });
321
+ solidJs.onCleanup(unsubscribe);
322
+ solidJs.createComputed(() => {
323
+ const updatedQueries = queriesOptions().queries.map((options) => {
324
+ const defaultedOptions = client.defaultQueryOptions(options);
325
+ defaultedOptions._optimisticResults = "optimistic";
326
+ return defaultedOptions;
327
+ });
328
+ observer.setQueries(
329
+ updatedQueries,
330
+ queriesOptions().combine ? {
331
+ combine: queriesOptions().combine
332
+ } : void 0,
333
+ { listeners: false }
334
+ );
335
+ });
336
+ return state;
337
+ }
338
+
339
+ exports.createInfiniteQuery = createInfiniteQuery;
340
+ exports.createMutation = createMutation;
341
+ exports.createQueries = createQueries;
342
+ exports.createQuery = createQuery;
343
+ exports.queryOptions = queryOptions;
344
+ exports.useIsFetching = useIsFetching;
345
+ exports.useIsMutating = useIsMutating;
346
+ Object.keys(queryCore).forEach(function (k) {
347
+ if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
348
+ enumerable: true,
349
+ get: function () { return queryCore[k]; }
350
+ });
351
+ });
@@ -0,0 +1,142 @@
1
+ import { DefaultError, QueryKey, QueryObserverOptions as QueryObserverOptions$1, InfiniteQueryObserverOptions as InfiniteQueryObserverOptions$1, DefaultOptions as DefaultOptions$1, QueryClientConfig as QueryClientConfig$1, QueryClient as QueryClient$1, WithRequired, QueryObserverResult, DefinedQueryObserverResult, InfiniteQueryObserverResult, MutationObserverOptions, MutateFunction, MutationObserverResult, QueryFilters, InfiniteData, MutationFilters, QueriesPlaceholderDataFunction, QueryFunction } from '@tanstack/query-core';
2
+ export * from '@tanstack/query-core';
3
+ import * as solid_js from 'solid-js';
4
+ import { JSX, Accessor } from 'solid-js';
5
+
6
+ interface QueryObserverOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never> extends Omit<QueryObserverOptions$1<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>, 'structuralSharing'> {
7
+ /**
8
+ * Set this to a reconciliation key to enable reconciliation between query results.
9
+ * Set this to `false` to disable reconciliation between query results.
10
+ * Set this to a function which accepts the old and new data and returns resolved data of the same type to implement custom reconciliation logic.
11
+ * Defaults reconciliation key to `id`.
12
+ */
13
+ reconcile?: string | false | ((oldData: TData | undefined, newData: TData) => TData);
14
+ }
15
+ interface InfiniteQueryObserverOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends Omit<InfiniteQueryObserverOptions$1<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>, 'structuralSharing'> {
16
+ /**
17
+ * Set this to a reconciliation key to enable reconciliation between query results.
18
+ * Set this to `false` to disable reconciliation between query results.
19
+ * Set this to a function which accepts the old and new data and returns resolved data of the same type to implement custom reconciliation logic.
20
+ * Defaults reconciliation key to `id`.
21
+ */
22
+ reconcile?: string | false | ((oldData: TData | undefined, newData: TData) => TData);
23
+ }
24
+ interface DefaultOptions<TError = DefaultError> extends DefaultOptions$1<TError> {
25
+ queries?: QueryObserverOptions<unknown, TError>;
26
+ }
27
+ interface QueryClientConfig extends QueryClientConfig$1 {
28
+ defaultOptions?: DefaultOptions;
29
+ }
30
+ declare class QueryClient extends QueryClient$1 {
31
+ constructor(config?: QueryClientConfig);
32
+ }
33
+
34
+ type FunctionedParams<T> = () => T;
35
+ interface CreateBaseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends WithRequired<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, 'queryKey'> {
36
+ deferStream?: boolean;
37
+ }
38
+ interface SolidQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends WithRequired<CreateBaseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>, 'queryKey'> {
39
+ }
40
+ type CreateQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = FunctionedParams<SolidQueryOptions<TQueryFnData, TError, TData, TQueryKey>>;
41
+ type CreateBaseQueryResult<TData = unknown, TError = DefaultError> = QueryObserverResult<TData, TError>;
42
+ type CreateQueryResult<TData = unknown, TError = DefaultError> = CreateBaseQueryResult<TData, TError>;
43
+ type DefinedCreateBaseQueryResult<TData = unknown, TError = DefaultError> = DefinedQueryObserverResult<TData, TError>;
44
+ type DefinedCreateQueryResult<TData = unknown, TError = DefaultError> = DefinedCreateBaseQueryResult<TData, TError>;
45
+ interface SolidInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends Omit<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>, 'queryKey'> {
46
+ queryKey: TQueryKey;
47
+ deferStream?: boolean;
48
+ }
49
+ type CreateInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> = FunctionedParams<SolidInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey, TPageParam>>;
50
+ type CreateInfiniteQueryResult<TData = unknown, TError = DefaultError> = InfiniteQueryObserverResult<TData, TError>;
51
+ interface SolidMutationOptions<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> extends Omit<MutationObserverOptions<TData, TError, TVariables, TContext>, '_defaulted' | 'variables'> {
52
+ }
53
+ type CreateMutationOptions<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = FunctionedParams<SolidMutationOptions<TData, TError, TVariables, TContext>>;
54
+ type CreateMutateFunction<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = (...args: Parameters<MutateFunction<TData, TError, TVariables, TContext>>) => void;
55
+ type CreateMutateAsyncFunction<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = MutateFunction<TData, TError, TVariables, TContext>;
56
+ type CreateBaseMutationResult<TData = unknown, TError = DefaultError, TVariables = unknown, TContext = unknown> = Override<MutationObserverResult<TData, TError, TVariables, TContext>, {
57
+ mutate: CreateMutateFunction<TData, TError, TVariables, TContext>;
58
+ }> & {
59
+ mutateAsync: CreateMutateAsyncFunction<TData, TError, TVariables, TContext>;
60
+ };
61
+ type CreateMutationResult<TData = unknown, TError = DefaultError, TVariables = unknown, TContext = unknown> = CreateBaseMutationResult<TData, TError, TVariables, TContext>;
62
+ type Override<A, B> = {
63
+ [K in keyof A]: K extends keyof B ? B[K] : A[K];
64
+ };
65
+
66
+ type UndefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = FunctionedParams<SolidQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
67
+ initialData?: undefined;
68
+ }>;
69
+ type DefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = FunctionedParams<SolidQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
70
+ initialData: TQueryFnData | (() => TQueryFnData);
71
+ }>;
72
+ declare function queryOptions<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>): UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>;
73
+ declare function queryOptions<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>): DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>;
74
+ declare function createQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: () => QueryClient): CreateQueryResult<TData, TError>;
75
+ declare function createQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: () => QueryClient): DefinedCreateQueryResult<TData, TError>;
76
+
77
+ declare const QueryClientContext: solid_js.Context<QueryClient | undefined>;
78
+ declare const useQueryClient: (queryClient?: QueryClient) => QueryClient;
79
+ type QueryClientProviderProps = {
80
+ client: QueryClient;
81
+ children?: JSX.Element;
82
+ };
83
+ declare const QueryClientProvider: (props: QueryClientProviderProps) => JSX.Element;
84
+
85
+ declare function useIsFetching(filters?: Accessor<QueryFilters>, queryClient?: Accessor<QueryClient>): Accessor<number>;
86
+
87
+ declare function createInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: CreateInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, queryClient?: Accessor<QueryClient>): CreateInfiniteQueryResult<TData, TError>;
88
+
89
+ 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>;
90
+
91
+ declare function useIsMutating(filters?: Accessor<MutationFilters>, queryClient?: Accessor<QueryClient>): Accessor<number>;
92
+
93
+ type CreateQueryOptionsForCreateQueries<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = Omit<SolidQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'placeholderData'> & {
94
+ placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>;
95
+ };
96
+ type MAXIMUM_DEPTH = 20;
97
+ type GetOptions<T> = T extends {
98
+ queryFnData: infer TQueryFnData;
99
+ error?: infer TError;
100
+ data: infer TData;
101
+ } ? CreateQueryOptionsForCreateQueries<TQueryFnData, TError, TData> : T extends {
102
+ queryFnData: infer TQueryFnData;
103
+ error?: infer TError;
104
+ } ? CreateQueryOptionsForCreateQueries<TQueryFnData, TError> : T extends {
105
+ data: infer TData;
106
+ error?: infer TError;
107
+ } ? 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 {
108
+ queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>;
109
+ select: (data: any) => infer TData;
110
+ } ? CreateQueryOptionsForCreateQueries<TQueryFnData, Error, TData, TQueryKey> : T extends {
111
+ queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>;
112
+ } ? CreateQueryOptionsForCreateQueries<TQueryFnData, Error, TQueryFnData, TQueryKey> : CreateQueryOptionsForCreateQueries;
113
+ type GetResults<T> = T extends {
114
+ queryFnData: any;
115
+ error?: infer TError;
116
+ data: infer TData;
117
+ } ? CreateQueryResult<TData, TError> : T extends {
118
+ queryFnData: infer TQueryFnData;
119
+ error?: infer TError;
120
+ } ? CreateQueryResult<TQueryFnData, TError> : T extends {
121
+ data: infer TData;
122
+ error?: infer TError;
123
+ } ? 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 {
124
+ queryFn?: QueryFunction<unknown, any>;
125
+ select: (data: any) => infer TData;
126
+ } ? CreateQueryResult<TData> : T extends {
127
+ queryFn?: QueryFunction<infer TQueryFnData, any>;
128
+ } ? CreateQueryResult<TQueryFnData> : CreateQueryResult;
129
+ /**
130
+ * QueriesOptions reducer recursively unwraps function arguments to infer/enforce type param
131
+ */
132
+ type QueriesOptions<T extends any[], Result extends any[] = [], Depth extends ReadonlyArray<number> = []> = Depth['length'] extends MAXIMUM_DEPTH ? CreateQueryOptionsForCreateQueries[] : T extends [] ? [] : T extends [infer Head] ? [...Result, GetOptions<Head>] : T extends [infer Head, ...infer Tail] ? QueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]> : unknown[] extends T ? T : T extends CreateQueryOptionsForCreateQueries<infer TQueryFnData, infer TError, infer TData, infer TQueryKey>[] ? CreateQueryOptionsForCreateQueries<TQueryFnData, TError, TData, TQueryKey>[] : CreateQueryOptionsForCreateQueries[];
133
+ /**
134
+ * QueriesResults reducer recursively maps type param to results
135
+ */
136
+ type QueriesResults<T extends any[], Result extends any[] = [], Depth extends ReadonlyArray<number> = []> = Depth['length'] extends MAXIMUM_DEPTH ? CreateQueryResult[] : T extends [] ? [] : T extends [infer Head] ? [...Result, GetResults<Head>] : T extends [infer Head, ...infer Tail] ? QueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]> : T extends CreateQueryOptionsForCreateQueries<infer TQueryFnData, infer TError, infer TData, any>[] ? CreateQueryResult<unknown extends TData ? TQueryFnData : TData, unknown extends TError ? DefaultError : TError>[] : CreateQueryResult[];
137
+ declare function createQueries<T extends any[], TCombinedResult = QueriesResults<T>>(queriesOptions: Accessor<{
138
+ queries: readonly [...QueriesOptions<T>];
139
+ combine?: (result: QueriesResults<T>) => TCombinedResult;
140
+ }>, queryClient?: Accessor<QueryClient>): TCombinedResult;
141
+
142
+ export { CreateBaseMutationResult, CreateBaseQueryOptions, CreateBaseQueryResult, CreateInfiniteQueryOptions, CreateInfiniteQueryResult, CreateMutateAsyncFunction, CreateMutateFunction, CreateMutationOptions, CreateMutationResult, CreateQueryOptions, CreateQueryResult, DefaultOptions, DefinedCreateBaseQueryResult, DefinedCreateQueryResult, FunctionedParams, InfiniteQueryObserverOptions, QueryClient, QueryClientConfig, QueryClientContext, QueryClientProvider, QueryClientProviderProps, QueryObserverOptions, SolidInfiniteQueryOptions, SolidMutationOptions, SolidQueryOptions, createInfiniteQuery, createMutation, createQueries, createQuery, queryOptions, useIsFetching, useIsMutating, useQueryClient };
@@ -0,0 +1,142 @@
1
+ import { DefaultError, QueryKey, QueryObserverOptions as QueryObserverOptions$1, InfiniteQueryObserverOptions as InfiniteQueryObserverOptions$1, DefaultOptions as DefaultOptions$1, QueryClientConfig as QueryClientConfig$1, QueryClient as QueryClient$1, WithRequired, QueryObserverResult, DefinedQueryObserverResult, InfiniteQueryObserverResult, MutationObserverOptions, MutateFunction, MutationObserverResult, QueryFilters, InfiniteData, MutationFilters, QueriesPlaceholderDataFunction, QueryFunction } from '@tanstack/query-core';
2
+ export * from '@tanstack/query-core';
3
+ import * as solid_js from 'solid-js';
4
+ import { JSX, Accessor } from 'solid-js';
5
+
6
+ interface QueryObserverOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never> extends Omit<QueryObserverOptions$1<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>, 'structuralSharing'> {
7
+ /**
8
+ * Set this to a reconciliation key to enable reconciliation between query results.
9
+ * Set this to `false` to disable reconciliation between query results.
10
+ * Set this to a function which accepts the old and new data and returns resolved data of the same type to implement custom reconciliation logic.
11
+ * Defaults reconciliation key to `id`.
12
+ */
13
+ reconcile?: string | false | ((oldData: TData | undefined, newData: TData) => TData);
14
+ }
15
+ interface InfiniteQueryObserverOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends Omit<InfiniteQueryObserverOptions$1<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>, 'structuralSharing'> {
16
+ /**
17
+ * Set this to a reconciliation key to enable reconciliation between query results.
18
+ * Set this to `false` to disable reconciliation between query results.
19
+ * Set this to a function which accepts the old and new data and returns resolved data of the same type to implement custom reconciliation logic.
20
+ * Defaults reconciliation key to `id`.
21
+ */
22
+ reconcile?: string | false | ((oldData: TData | undefined, newData: TData) => TData);
23
+ }
24
+ interface DefaultOptions<TError = DefaultError> extends DefaultOptions$1<TError> {
25
+ queries?: QueryObserverOptions<unknown, TError>;
26
+ }
27
+ interface QueryClientConfig extends QueryClientConfig$1 {
28
+ defaultOptions?: DefaultOptions;
29
+ }
30
+ declare class QueryClient extends QueryClient$1 {
31
+ constructor(config?: QueryClientConfig);
32
+ }
33
+
34
+ type FunctionedParams<T> = () => T;
35
+ interface CreateBaseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends WithRequired<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, 'queryKey'> {
36
+ deferStream?: boolean;
37
+ }
38
+ interface SolidQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends WithRequired<CreateBaseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>, 'queryKey'> {
39
+ }
40
+ type CreateQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = FunctionedParams<SolidQueryOptions<TQueryFnData, TError, TData, TQueryKey>>;
41
+ type CreateBaseQueryResult<TData = unknown, TError = DefaultError> = QueryObserverResult<TData, TError>;
42
+ type CreateQueryResult<TData = unknown, TError = DefaultError> = CreateBaseQueryResult<TData, TError>;
43
+ type DefinedCreateBaseQueryResult<TData = unknown, TError = DefaultError> = DefinedQueryObserverResult<TData, TError>;
44
+ type DefinedCreateQueryResult<TData = unknown, TError = DefaultError> = DefinedCreateBaseQueryResult<TData, TError>;
45
+ interface SolidInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends Omit<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>, 'queryKey'> {
46
+ queryKey: TQueryKey;
47
+ deferStream?: boolean;
48
+ }
49
+ type CreateInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> = FunctionedParams<SolidInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey, TPageParam>>;
50
+ type CreateInfiniteQueryResult<TData = unknown, TError = DefaultError> = InfiniteQueryObserverResult<TData, TError>;
51
+ interface SolidMutationOptions<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> extends Omit<MutationObserverOptions<TData, TError, TVariables, TContext>, '_defaulted' | 'variables'> {
52
+ }
53
+ type CreateMutationOptions<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = FunctionedParams<SolidMutationOptions<TData, TError, TVariables, TContext>>;
54
+ type CreateMutateFunction<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = (...args: Parameters<MutateFunction<TData, TError, TVariables, TContext>>) => void;
55
+ type CreateMutateAsyncFunction<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = MutateFunction<TData, TError, TVariables, TContext>;
56
+ type CreateBaseMutationResult<TData = unknown, TError = DefaultError, TVariables = unknown, TContext = unknown> = Override<MutationObserverResult<TData, TError, TVariables, TContext>, {
57
+ mutate: CreateMutateFunction<TData, TError, TVariables, TContext>;
58
+ }> & {
59
+ mutateAsync: CreateMutateAsyncFunction<TData, TError, TVariables, TContext>;
60
+ };
61
+ type CreateMutationResult<TData = unknown, TError = DefaultError, TVariables = unknown, TContext = unknown> = CreateBaseMutationResult<TData, TError, TVariables, TContext>;
62
+ type Override<A, B> = {
63
+ [K in keyof A]: K extends keyof B ? B[K] : A[K];
64
+ };
65
+
66
+ type UndefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = FunctionedParams<SolidQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
67
+ initialData?: undefined;
68
+ }>;
69
+ type DefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = FunctionedParams<SolidQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
70
+ initialData: TQueryFnData | (() => TQueryFnData);
71
+ }>;
72
+ declare function queryOptions<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>): UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>;
73
+ declare function queryOptions<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>): DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>;
74
+ declare function createQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: () => QueryClient): CreateQueryResult<TData, TError>;
75
+ declare function createQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: () => QueryClient): DefinedCreateQueryResult<TData, TError>;
76
+
77
+ declare const QueryClientContext: solid_js.Context<QueryClient | undefined>;
78
+ declare const useQueryClient: (queryClient?: QueryClient) => QueryClient;
79
+ type QueryClientProviderProps = {
80
+ client: QueryClient;
81
+ children?: JSX.Element;
82
+ };
83
+ declare const QueryClientProvider: (props: QueryClientProviderProps) => JSX.Element;
84
+
85
+ declare function useIsFetching(filters?: Accessor<QueryFilters>, queryClient?: Accessor<QueryClient>): Accessor<number>;
86
+
87
+ declare function createInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: CreateInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, queryClient?: Accessor<QueryClient>): CreateInfiniteQueryResult<TData, TError>;
88
+
89
+ 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>;
90
+
91
+ declare function useIsMutating(filters?: Accessor<MutationFilters>, queryClient?: Accessor<QueryClient>): Accessor<number>;
92
+
93
+ type CreateQueryOptionsForCreateQueries<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = Omit<SolidQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'placeholderData'> & {
94
+ placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>;
95
+ };
96
+ type MAXIMUM_DEPTH = 20;
97
+ type GetOptions<T> = T extends {
98
+ queryFnData: infer TQueryFnData;
99
+ error?: infer TError;
100
+ data: infer TData;
101
+ } ? CreateQueryOptionsForCreateQueries<TQueryFnData, TError, TData> : T extends {
102
+ queryFnData: infer TQueryFnData;
103
+ error?: infer TError;
104
+ } ? CreateQueryOptionsForCreateQueries<TQueryFnData, TError> : T extends {
105
+ data: infer TData;
106
+ error?: infer TError;
107
+ } ? 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 {
108
+ queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>;
109
+ select: (data: any) => infer TData;
110
+ } ? CreateQueryOptionsForCreateQueries<TQueryFnData, Error, TData, TQueryKey> : T extends {
111
+ queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>;
112
+ } ? CreateQueryOptionsForCreateQueries<TQueryFnData, Error, TQueryFnData, TQueryKey> : CreateQueryOptionsForCreateQueries;
113
+ type GetResults<T> = T extends {
114
+ queryFnData: any;
115
+ error?: infer TError;
116
+ data: infer TData;
117
+ } ? CreateQueryResult<TData, TError> : T extends {
118
+ queryFnData: infer TQueryFnData;
119
+ error?: infer TError;
120
+ } ? CreateQueryResult<TQueryFnData, TError> : T extends {
121
+ data: infer TData;
122
+ error?: infer TError;
123
+ } ? 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 {
124
+ queryFn?: QueryFunction<unknown, any>;
125
+ select: (data: any) => infer TData;
126
+ } ? CreateQueryResult<TData> : T extends {
127
+ queryFn?: QueryFunction<infer TQueryFnData, any>;
128
+ } ? CreateQueryResult<TQueryFnData> : CreateQueryResult;
129
+ /**
130
+ * QueriesOptions reducer recursively unwraps function arguments to infer/enforce type param
131
+ */
132
+ type QueriesOptions<T extends any[], Result extends any[] = [], Depth extends ReadonlyArray<number> = []> = Depth['length'] extends MAXIMUM_DEPTH ? CreateQueryOptionsForCreateQueries[] : T extends [] ? [] : T extends [infer Head] ? [...Result, GetOptions<Head>] : T extends [infer Head, ...infer Tail] ? QueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]> : unknown[] extends T ? T : T extends CreateQueryOptionsForCreateQueries<infer TQueryFnData, infer TError, infer TData, infer TQueryKey>[] ? CreateQueryOptionsForCreateQueries<TQueryFnData, TError, TData, TQueryKey>[] : CreateQueryOptionsForCreateQueries[];
133
+ /**
134
+ * QueriesResults reducer recursively maps type param to results
135
+ */
136
+ type QueriesResults<T extends any[], Result extends any[] = [], Depth extends ReadonlyArray<number> = []> = Depth['length'] extends MAXIMUM_DEPTH ? CreateQueryResult[] : T extends [] ? [] : T extends [infer Head] ? [...Result, GetResults<Head>] : T extends [infer Head, ...infer Tail] ? QueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]> : T extends CreateQueryOptionsForCreateQueries<infer TQueryFnData, infer TError, infer TData, any>[] ? CreateQueryResult<unknown extends TData ? TQueryFnData : TData, unknown extends TError ? DefaultError : TError>[] : CreateQueryResult[];
137
+ declare function createQueries<T extends any[], TCombinedResult = QueriesResults<T>>(queriesOptions: Accessor<{
138
+ queries: readonly [...QueriesOptions<T>];
139
+ combine?: (result: QueriesResults<T>) => TCombinedResult;
140
+ }>, queryClient?: Accessor<QueryClient>): TCombinedResult;
141
+
142
+ export { CreateBaseMutationResult, CreateBaseQueryOptions, CreateBaseQueryResult, CreateInfiniteQueryOptions, CreateInfiniteQueryResult, CreateMutateAsyncFunction, CreateMutateFunction, CreateMutationOptions, CreateMutationResult, CreateQueryOptions, CreateQueryResult, DefaultOptions, DefinedCreateBaseQueryResult, DefinedCreateQueryResult, FunctionedParams, InfiniteQueryObserverOptions, QueryClient, QueryClientConfig, QueryClientContext, QueryClientProvider, QueryClientProviderProps, QueryObserverOptions, SolidInfiniteQueryOptions, SolidMutationOptions, SolidQueryOptions, createInfiniteQuery, createMutation, createQueries, createQuery, queryOptions, useIsFetching, useIsMutating, useQueryClient };