@tanstack/svelte-query 6.1.48 → 6.2.1
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/dist/context.d.ts +27 -2
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +27 -2
- package/dist/createInfiniteQuery.d.ts +97 -1
- package/dist/createInfiniteQuery.d.ts.map +1 -1
- package/dist/createMutation.svelte.d.ts +156 -2
- package/dist/createMutation.svelte.d.ts.map +1 -1
- package/dist/createMutation.svelte.js +156 -2
- package/dist/createQueries.svelte.d.ts +71 -0
- package/dist/createQueries.svelte.d.ts.map +1 -1
- package/dist/createQueries.svelte.js +71 -0
- package/dist/createQuery.d.ts +209 -0
- package/dist/createQuery.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/infiniteQueryOptions.d.ts +95 -2
- package/dist/infiniteQueryOptions.d.ts.map +1 -1
- package/dist/mutationOptions.d.ts +52 -0
- package/dist/mutationOptions.d.ts.map +1 -1
- package/dist/queryOptions.d.ts +73 -0
- package/dist/queryOptions.d.ts.map +1 -1
- package/dist/types.d.ts +3 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/useHydrate.d.ts +28 -0
- package/dist/useHydrate.d.ts.map +1 -1
- package/dist/useHydrate.js +28 -0
- package/dist/useIsFetching.svelte.d.ts +35 -0
- package/dist/useIsFetching.svelte.d.ts.map +1 -1
- package/dist/useIsFetching.svelte.js +35 -0
- package/dist/useIsMutating.svelte.d.ts +23 -0
- package/dist/useIsMutating.svelte.d.ts.map +1 -1
- package/dist/useIsMutating.svelte.js +23 -0
- package/dist/useMutationState.svelte.d.ts +70 -0
- package/dist/useMutationState.svelte.d.ts.map +1 -1
- package/dist/useMutationState.svelte.js +70 -0
- package/package.json +3 -3
- package/src/context.ts +27 -2
- package/src/createInfiniteQuery.ts +143 -2
- package/src/createMutation.svelte.ts +156 -2
- package/src/createQueries.svelte.ts +71 -0
- package/src/createQuery.ts +209 -0
- package/src/index.ts +4 -0
- package/src/infiniteQueryOptions.ts +162 -4
- package/src/mutationOptions.ts +53 -0
- package/src/queryOptions.ts +73 -0
- package/src/types.ts +7 -0
- package/src/useHydrate.ts +28 -0
- package/src/useIsFetching.svelte.ts +35 -0
- package/src/useIsMutating.svelte.ts +23 -0
- package/src/useMutationState.svelte.ts +70 -0
|
@@ -2,6 +2,77 @@ import { QueriesObserver } from '@tanstack/query-core';
|
|
|
2
2
|
import { useIsRestoring } from './useIsRestoring.js';
|
|
3
3
|
import { createRawRef } from './containers.svelte.js';
|
|
4
4
|
import { useQueryClient } from './useQueryClient.js';
|
|
5
|
+
/**
|
|
6
|
+
* @param createQueriesOptions - The `queries` array to run, and an optional `combine` function, wrapped in an
|
|
7
|
+
* {@link Accessor} so options can be reactive.
|
|
8
|
+
* @param queryClient - Use this to use a custom `QueryClient`. Otherwise, the one from the nearest context
|
|
9
|
+
* will be used.
|
|
10
|
+
* @returns An array with one result per query, in the same order as `queries` — or, if `combine` is provided,
|
|
11
|
+
* whatever `combine` returns.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```svelte
|
|
15
|
+
* <script lang="ts">
|
|
16
|
+
* import { createQueries } from '@tanstack/svelte-query'
|
|
17
|
+
*
|
|
18
|
+
* let { ids }: { ids: Array<number> } = $props()
|
|
19
|
+
*
|
|
20
|
+
* const postQueries = createQueries(() => ({
|
|
21
|
+
* queries: ids.map((id) => ({
|
|
22
|
+
* queryKey: ['post', id],
|
|
23
|
+
* queryFn: () => fetchPost(id),
|
|
24
|
+
* staleTime: Infinity,
|
|
25
|
+
* })),
|
|
26
|
+
* }))
|
|
27
|
+
* </script>
|
|
28
|
+
*
|
|
29
|
+
* <ul>
|
|
30
|
+
* {#each postQueries as query, index (ids[index])}
|
|
31
|
+
* {#if query.isPending}
|
|
32
|
+
* <li>Loading...</li>
|
|
33
|
+
* {:else if query.isError}
|
|
34
|
+
* <li>Error: {query.error.message}</li>
|
|
35
|
+
* {:else}
|
|
36
|
+
* <li>{query.data.title}</li>
|
|
37
|
+
* {/if}
|
|
38
|
+
* {/each}
|
|
39
|
+
* </ul>
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* Combining results into a single value:
|
|
44
|
+
* ```svelte
|
|
45
|
+
* <script lang="ts">
|
|
46
|
+
* import { createQueries } from '@tanstack/svelte-query'
|
|
47
|
+
*
|
|
48
|
+
* let { ids }: { ids: Array<number> } = $props()
|
|
49
|
+
*
|
|
50
|
+
* const combined = createQueries(() => ({
|
|
51
|
+
* queries: ids.map((id) => ({
|
|
52
|
+
* queryKey: ['post', id],
|
|
53
|
+
* queryFn: () => fetchPost(id),
|
|
54
|
+
* })),
|
|
55
|
+
* combine: (postQueries) => ({
|
|
56
|
+
* data: postQueries.map((query) => query.data),
|
|
57
|
+
* isPending: postQueries.some((query) => query.isPending),
|
|
58
|
+
* isError: postQueries.some((query) => query.isError),
|
|
59
|
+
* }),
|
|
60
|
+
* }))
|
|
61
|
+
* </script>
|
|
62
|
+
*
|
|
63
|
+
* {#if combined.isPending}
|
|
64
|
+
* Loading...
|
|
65
|
+
* {:else if combined.isError}
|
|
66
|
+
* Error loading posts
|
|
67
|
+
* {:else}
|
|
68
|
+
* <ul>
|
|
69
|
+
* {#each combined.data as post}
|
|
70
|
+
* <li>{post?.title}</li>
|
|
71
|
+
* {/each}
|
|
72
|
+
* </ul>
|
|
73
|
+
* {/if}
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
5
76
|
export function createQueries(createQueriesOptions, queryClient) {
|
|
6
77
|
const client = $derived(useQueryClient(queryClient?.()));
|
|
7
78
|
const isRestoring = useIsRestoring();
|
package/dist/createQuery.d.ts
CHANGED
|
@@ -1,7 +1,216 @@
|
|
|
1
1
|
import type { DefaultError, QueryClient, QueryKey } from '@tanstack/query-core';
|
|
2
2
|
import type { Accessor, CreateQueryOptions, CreateQueryResult, DefinedCreateQueryResult } from './types.js';
|
|
3
3
|
import type { DefinedInitialDataOptions, UndefinedInitialDataOptions } from './queryOptions.js';
|
|
4
|
+
/**
|
|
5
|
+
* @see {@link queryOptions} to share these options between `createQuery` and imperative APIs like `queryClient.query`.
|
|
6
|
+
* @param options - The {@link UndefinedInitialDataOptions} to use — everything you can pass to `createQuery`,
|
|
7
|
+
* wrapped in an {@link Accessor} so options can be reactive.
|
|
8
|
+
* @param queryClient - Use this to use a custom `QueryClient`. Otherwise, the one from the nearest context will
|
|
9
|
+
* be used.
|
|
10
|
+
* @returns The current query result. `status` is `pending` if there is no cached data to display, `error` if
|
|
11
|
+
* the last fetch attempt failed, or `success` if the query has data to display. `isPending`/`isSuccess`/`isError`
|
|
12
|
+
* are derived booleans for convenience.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```svelte
|
|
16
|
+
* <script lang="ts">
|
|
17
|
+
* import { createQuery } from '@tanstack/svelte-query'
|
|
18
|
+
*
|
|
19
|
+
* const query = createQuery(() => ({
|
|
20
|
+
* queryKey: ['posts'],
|
|
21
|
+
* queryFn: fetchPosts,
|
|
22
|
+
* }))
|
|
23
|
+
* </script>
|
|
24
|
+
*
|
|
25
|
+
* {#if query.status === 'pending'}
|
|
26
|
+
* Loading...
|
|
27
|
+
* {:else if query.status === 'error'}
|
|
28
|
+
* <span>Error: {query.error.message}</span>
|
|
29
|
+
* {:else}
|
|
30
|
+
* <ul>
|
|
31
|
+
* {#each query.data as post (post.id)}
|
|
32
|
+
* <li>{post.title}</li>
|
|
33
|
+
* {/each}
|
|
34
|
+
* </ul>
|
|
35
|
+
* {/if}
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* The same query, checking `isPending`/`isError` instead of `status` — pick whichever reads better to you:
|
|
40
|
+
* ```svelte
|
|
41
|
+
* <script lang="ts">
|
|
42
|
+
* import { createQuery } from '@tanstack/svelte-query'
|
|
43
|
+
*
|
|
44
|
+
* const query = createQuery(() => ({
|
|
45
|
+
* queryKey: ['posts'],
|
|
46
|
+
* queryFn: fetchPosts,
|
|
47
|
+
* }))
|
|
48
|
+
* </script>
|
|
49
|
+
*
|
|
50
|
+
* {#if query.isPending}
|
|
51
|
+
* Loading...
|
|
52
|
+
* {:else if query.isError}
|
|
53
|
+
* <span>Error: {query.error.message}</span>
|
|
54
|
+
* {:else}
|
|
55
|
+
* <ul>
|
|
56
|
+
* {#each query.data as post (post.id)}
|
|
57
|
+
* <li>{post.title}</li>
|
|
58
|
+
* {/each}
|
|
59
|
+
* </ul>
|
|
60
|
+
* {/if}
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
4
63
|
export declare function createQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: Accessor<UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>>, queryClient?: Accessor<QueryClient>): CreateQueryResult<TData, TError>;
|
|
64
|
+
/**
|
|
65
|
+
* This overload is selected when `initialData` is set, so the resulting `data` is never `undefined`.
|
|
66
|
+
*
|
|
67
|
+
* @see {@link queryOptions} to share these options between `createQuery` and imperative APIs like `queryClient.query`.
|
|
68
|
+
* @param options - The {@link DefinedInitialDataOptions} to use — everything you can pass to `createQuery`,
|
|
69
|
+
* with `initialData` set, wrapped in an {@link Accessor} so options can be reactive.
|
|
70
|
+
* @param queryClient - Use this to use a custom `QueryClient`. Otherwise, the one from the nearest context will
|
|
71
|
+
* be used.
|
|
72
|
+
* @returns The current query result, typed so that `status` is `success` — or `error` if a fetch attempt
|
|
73
|
+
* fails while keeping the existing data (`status` never resolves to `pending` in this overload's type,
|
|
74
|
+
* since `initialData` guarantees data upfront). `isSuccess`/`isError` are derived booleans for convenience.
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```svelte
|
|
78
|
+
* <script lang="ts">
|
|
79
|
+
* import { createQuery } from '@tanstack/svelte-query'
|
|
80
|
+
*
|
|
81
|
+
* // `data` is `Post[]`, never `undefined`, thanks to `initialData` — even if a refetch fails,
|
|
82
|
+
* // so the list stays visible alongside the error.
|
|
83
|
+
* const query = createQuery(() => ({
|
|
84
|
+
* queryKey: ['posts'],
|
|
85
|
+
* queryFn: fetchPosts,
|
|
86
|
+
* initialData: [],
|
|
87
|
+
* }))
|
|
88
|
+
* </script>
|
|
89
|
+
*
|
|
90
|
+
* {#if query.isError}
|
|
91
|
+
* <span>Error: {query.error.message}</span>
|
|
92
|
+
* {/if}
|
|
93
|
+
* <ul>
|
|
94
|
+
* {#each query.data as post (post.id)}
|
|
95
|
+
* <li>{post.title}</li>
|
|
96
|
+
* {/each}
|
|
97
|
+
* </ul>
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
5
100
|
export declare function createQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: Accessor<DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>>, queryClient?: Accessor<QueryClient>): DefinedCreateQueryResult<TData, TError>;
|
|
101
|
+
/**
|
|
102
|
+
* @see {@link queryOptions} to share these options between `createQuery` and imperative APIs like `queryClient.query`.
|
|
103
|
+
* @param options - The {@link CreateQueryOptions} to use — everything you can pass to `createQuery`, wrapped
|
|
104
|
+
* in an {@link Accessor} so options can be reactive.
|
|
105
|
+
* @param queryClient - Use this to use a custom `QueryClient`. Otherwise, the one from the nearest context will
|
|
106
|
+
* be used.
|
|
107
|
+
* @returns The current query result. `status` is `pending` if there is no cached data to display, `error` if
|
|
108
|
+
* the last fetch attempt failed, or `success` if the query has data to display. `isPending`/`isSuccess`/`isError`
|
|
109
|
+
* are derived booleans for convenience.
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* `select` derives whatever `data` a component needs from the cached value, without changing what's
|
|
113
|
+
* actually stored in the cache — the cache still holds the full `Post[]`, but `data` here is a `number`:
|
|
114
|
+
* ```svelte
|
|
115
|
+
* <script lang="ts">
|
|
116
|
+
* import { createQuery } from '@tanstack/svelte-query'
|
|
117
|
+
*
|
|
118
|
+
* const query = createQuery(() => ({
|
|
119
|
+
* queryKey: ['posts'],
|
|
120
|
+
* queryFn: fetchPosts,
|
|
121
|
+
* select: (posts) => posts.length,
|
|
122
|
+
* }))
|
|
123
|
+
* </script>
|
|
124
|
+
*
|
|
125
|
+
* {#if query.isPending}
|
|
126
|
+
* Loading...
|
|
127
|
+
* {:else if query.isError}
|
|
128
|
+
* <span>Error: {query.error.message}</span>
|
|
129
|
+
* {:else}
|
|
130
|
+
* <span>{query.data} posts</span>
|
|
131
|
+
* {/if}
|
|
132
|
+
* ```
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* A dependent query, only enabled once `postId` is set — use `isLoading`, not `isPending`, so the
|
|
136
|
+
* loading state doesn't show while the query is disabled:
|
|
137
|
+
* ```svelte
|
|
138
|
+
* <script lang="ts">
|
|
139
|
+
* import { createQuery } from '@tanstack/svelte-query'
|
|
140
|
+
*
|
|
141
|
+
* let { postId }: { postId: number | undefined } = $props()
|
|
142
|
+
*
|
|
143
|
+
* const query = createQuery(() => ({
|
|
144
|
+
* queryKey: ['post', postId],
|
|
145
|
+
* queryFn: () => fetchPost(postId!),
|
|
146
|
+
* enabled: postId != null,
|
|
147
|
+
* }))
|
|
148
|
+
* </script>
|
|
149
|
+
*
|
|
150
|
+
* {#if postId == null}
|
|
151
|
+
* Select a post
|
|
152
|
+
* {:else if query.isLoading}
|
|
153
|
+
* Loading...
|
|
154
|
+
* {:else if query.isError}
|
|
155
|
+
* <span>Error: {query.error.message}</span>
|
|
156
|
+
* {:else}
|
|
157
|
+
* <h1>{query.data?.title}</h1>
|
|
158
|
+
* {/if}
|
|
159
|
+
* ```
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* Seeding a detail query from an already-cached list, to skip the loading state:
|
|
163
|
+
* ```svelte
|
|
164
|
+
* <script lang="ts">
|
|
165
|
+
* import { createQuery, useQueryClient } from '@tanstack/svelte-query'
|
|
166
|
+
*
|
|
167
|
+
* let { postId }: { postId: number } = $props()
|
|
168
|
+
*
|
|
169
|
+
* const queryClient = useQueryClient()
|
|
170
|
+
*
|
|
171
|
+
* const query = createQuery(() => ({
|
|
172
|
+
* queryKey: ['post', postId],
|
|
173
|
+
* queryFn: () => fetchPost(postId),
|
|
174
|
+
* initialData: () =>
|
|
175
|
+
* queryClient
|
|
176
|
+
* .getQueryData<Array<Post>>(['posts'])
|
|
177
|
+
* ?.find((post) => post.id === postId),
|
|
178
|
+
* }))
|
|
179
|
+
* </script>
|
|
180
|
+
*
|
|
181
|
+
* {#if query.isError}
|
|
182
|
+
* <span>Error: {query.error.message}</span>
|
|
183
|
+
* {/if}
|
|
184
|
+
* <h1>{query.data?.title}</h1>
|
|
185
|
+
* ```
|
|
186
|
+
*
|
|
187
|
+
* @example
|
|
188
|
+
* Paginated data, keeping the previous page's data visible while the next page loads:
|
|
189
|
+
* ```svelte
|
|
190
|
+
* <script lang="ts">
|
|
191
|
+
* import { createQuery, keepPreviousData } from '@tanstack/svelte-query'
|
|
192
|
+
*
|
|
193
|
+
* let page = $state(0)
|
|
194
|
+
*
|
|
195
|
+
* const query = createQuery(() => ({
|
|
196
|
+
* queryKey: ['posts', page],
|
|
197
|
+
* queryFn: () => fetchPosts(page),
|
|
198
|
+
* placeholderData: keepPreviousData,
|
|
199
|
+
* }))
|
|
200
|
+
* </script>
|
|
201
|
+
*
|
|
202
|
+
* {#if query.isError}
|
|
203
|
+
* <span>Error: {query.error.message}</span>
|
|
204
|
+
* {/if}
|
|
205
|
+
* <ul>
|
|
206
|
+
* {#each query.data ?? [] as post (post.id)}
|
|
207
|
+
* <li>{post.title}</li>
|
|
208
|
+
* {/each}
|
|
209
|
+
* </ul>
|
|
210
|
+
* <button disabled={query.isPlaceholderData} onclick={() => page++}>
|
|
211
|
+
* Next Page
|
|
212
|
+
* </button>
|
|
213
|
+
* ```
|
|
214
|
+
*/
|
|
6
215
|
export declare function createQuery<TQueryFnData, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: Accessor<CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>>, queryClient?: Accessor<QueryClient>): CreateQueryResult<TData, TError>;
|
|
7
216
|
//# sourceMappingURL=createQuery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createQuery.d.ts","sourceRoot":"","sources":["../src/createQuery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,KAAK,EACV,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EACV,yBAAyB,EACzB,2BAA2B,EAC5B,MAAM,mBAAmB,CAAA;AAE1B,wBAAgB,WAAW,CACzB,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,SAAS,SAAS,QAAQ,GAAG,QAAQ,EAErC,OAAO,EAAE,QAAQ,CACf,2BAA2B,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CACpE,EACD,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAClC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AAEnC,wBAAgB,WAAW,CACzB,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,SAAS,SAAS,QAAQ,GAAG,QAAQ,EAErC,OAAO,EAAE,QAAQ,CACf,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAClE,EACD,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAClC,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AAE1C,wBAAgB,WAAW,CACzB,YAAY,EACZ,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,SAAS,SAAS,QAAQ,GAAG,QAAQ,EAErC,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,EAC7E,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAClC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"createQuery.d.ts","sourceRoot":"","sources":["../src/createQuery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,KAAK,EACV,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EACV,yBAAyB,EACzB,2BAA2B,EAC5B,MAAM,mBAAmB,CAAA;AAE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,wBAAgB,WAAW,CACzB,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,SAAS,SAAS,QAAQ,GAAG,QAAQ,EAErC,OAAO,EAAE,QAAQ,CACf,2BAA2B,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CACpE,EACD,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAClC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,WAAW,CACzB,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,SAAS,SAAS,QAAQ,GAAG,QAAQ,EAErC,OAAO,EAAE,QAAQ,CACf,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAClE,EACD,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAClC,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiHG;AACH,wBAAgB,WAAW,CACzB,YAAY,EACZ,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,SAAS,SAAS,QAAQ,GAAG,QAAQ,EAErC,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,EAC7E,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAClC,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export type { DefinedInitialDataOptions, UndefinedInitialDataOptions, } from './
|
|
|
7
7
|
export { queryOptions } from './queryOptions.js';
|
|
8
8
|
export { createQueries } from './createQueries.svelte.js';
|
|
9
9
|
export { createInfiniteQuery } from './createInfiniteQuery.js';
|
|
10
|
+
export type { DefinedInitialDataInfiniteOptions, UndefinedInitialDataInfiniteOptions, } from './infiniteQueryOptions.js';
|
|
10
11
|
export { infiniteQueryOptions } from './infiniteQueryOptions.js';
|
|
11
12
|
export { mutationOptions } from './mutationOptions.js';
|
|
12
13
|
export { createMutation } from './createMutation.svelte.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,sBAAsB,CAAA;AAGpC,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC/E,YAAY,EACV,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACzE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,8BAA8B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,sBAAsB,CAAA;AAGpC,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC/E,YAAY,EACV,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,YAAY,EACV,iCAAiC,EACjC,mCAAmC,GACpC,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACzE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,8BAA8B,CAAA"}
|
|
@@ -1,4 +1,97 @@
|
|
|
1
|
-
import type { DefaultError, InfiniteData, QueryKey } from '@tanstack/query-core';
|
|
1
|
+
import type { DefaultError, InfiniteData, InitialDataFunction, NonUndefinedGuard, QueryKey, QueryKeyWithDataTag } from '@tanstack/query-core';
|
|
2
2
|
import type { CreateInfiniteQueryOptions } from './types.js';
|
|
3
|
-
export
|
|
3
|
+
export type UndefinedInitialDataInfiniteOptions<TQueryFnData = unknown, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> = CreateInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam> & {
|
|
4
|
+
initialData?: undefined | NonUndefinedGuard<InfiniteData<TQueryFnData, TPageParam>> | InitialDataFunction<NonUndefinedGuard<InfiniteData<TQueryFnData, TPageParam>>>;
|
|
5
|
+
};
|
|
6
|
+
export type DefinedInitialDataInfiniteOptions<TQueryFnData = unknown, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> = CreateInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam> & {
|
|
7
|
+
initialData: NonUndefinedGuard<InfiniteData<TQueryFnData, TPageParam>> | (() => NonUndefinedGuard<InfiniteData<TQueryFnData, TPageParam>>);
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* You can generally pass everything to `infiniteQueryOptions` that you can also pass to `createInfiniteQuery`.
|
|
11
|
+
* These options can be shared across `createInfiniteQuery` calls and imperative APIs such as
|
|
12
|
+
* `queryClient.infiniteQuery`. `options.queryKey` is required and is the query key to generate options for.
|
|
13
|
+
*
|
|
14
|
+
* This overload is selected when `initialData` is set.
|
|
15
|
+
*
|
|
16
|
+
* @see {@link createInfiniteQuery} to run an infinite query with these options.
|
|
17
|
+
* @param options - The {@link DefinedInitialDataInfiniteOptions} to use — everything you can pass to
|
|
18
|
+
* `createInfiniteQuery`, with `initialData` set.
|
|
19
|
+
* @returns The same options object, typed so that `queryKey` carries the inferred data type.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* `initialData` skips the loading state on first render — even if a refetch fails, the list stays
|
|
23
|
+
* visible alongside the error:
|
|
24
|
+
* ```svelte
|
|
25
|
+
* <script lang="ts">
|
|
26
|
+
* import { infiniteQueryOptions, createInfiniteQuery } from '@tanstack/svelte-query'
|
|
27
|
+
*
|
|
28
|
+
* const projectsOptions = infiniteQueryOptions({
|
|
29
|
+
* queryKey: ['projects'],
|
|
30
|
+
* queryFn: ({ pageParam }) => fetchProjects(pageParam),
|
|
31
|
+
* initialPageParam: 0,
|
|
32
|
+
* getNextPageParam: (lastPage) => lastPage.nextId,
|
|
33
|
+
* initialData: { pages: [], pageParams: [] },
|
|
34
|
+
* })
|
|
35
|
+
*
|
|
36
|
+
* const query = createInfiniteQuery(() => projectsOptions)
|
|
37
|
+
* </script>
|
|
38
|
+
*
|
|
39
|
+
* {#if query.isError}
|
|
40
|
+
* <span>Error: {query.error.message}</span>
|
|
41
|
+
* {/if}
|
|
42
|
+
* <ul>
|
|
43
|
+
* {#each query.data.pages as page}
|
|
44
|
+
* {#each page.projects as project (project.id)}
|
|
45
|
+
* <li>{project.name}</li>
|
|
46
|
+
* {/each}
|
|
47
|
+
* {/each}
|
|
48
|
+
* </ul>
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
export declare function infiniteQueryOptions<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>): DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam> & QueryKeyWithDataTag<TQueryKey, InfiniteData<TQueryFnData>, TError>;
|
|
52
|
+
/**
|
|
53
|
+
* You can generally pass everything to `infiniteQueryOptions` that you can also pass to `createInfiniteQuery`.
|
|
54
|
+
* These options can be shared across `createInfiniteQuery` calls and imperative APIs such as
|
|
55
|
+
* `queryClient.infiniteQuery`. `options.queryKey` is required and is the query key to generate options for.
|
|
56
|
+
*
|
|
57
|
+
* @see {@link createInfiniteQuery} to run an infinite query with these options.
|
|
58
|
+
* @param options - The {@link UndefinedInitialDataInfiniteOptions} to use — everything you can pass to
|
|
59
|
+
* `createInfiniteQuery`.
|
|
60
|
+
* @returns The same options object, typed so that `queryKey` carries the inferred data type.
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* A parameterized factory, so the same options object can be reused per `postId`:
|
|
64
|
+
* ```svelte
|
|
65
|
+
* <script lang="ts">
|
|
66
|
+
* import { infiniteQueryOptions, createInfiniteQuery } from '@tanstack/svelte-query'
|
|
67
|
+
*
|
|
68
|
+
* let { postId }: { postId: string } = $props()
|
|
69
|
+
*
|
|
70
|
+
* const commentsOptions = (postId: string) =>
|
|
71
|
+
* infiniteQueryOptions({
|
|
72
|
+
* queryKey: ['post', postId, 'comments'],
|
|
73
|
+
* queryFn: ({ pageParam }) => fetchComments(postId, pageParam),
|
|
74
|
+
* initialPageParam: 0,
|
|
75
|
+
* getNextPageParam: (lastPage) => lastPage.nextId,
|
|
76
|
+
* })
|
|
77
|
+
*
|
|
78
|
+
* const query = createInfiniteQuery(() => commentsOptions(postId))
|
|
79
|
+
* </script>
|
|
80
|
+
*
|
|
81
|
+
* {#if query.isPending}
|
|
82
|
+
* Loading...
|
|
83
|
+
* {:else if query.isError}
|
|
84
|
+
* <span>Error: {query.error.message}</span>
|
|
85
|
+
* {:else}
|
|
86
|
+
* <ul>
|
|
87
|
+
* {#each query.data.pages as page}
|
|
88
|
+
* {#each page.comments as comment (comment.id)}
|
|
89
|
+
* <li>{comment.text}</li>
|
|
90
|
+
* {/each}
|
|
91
|
+
* {/each}
|
|
92
|
+
* </ul>
|
|
93
|
+
* {/if}
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
export declare function infiniteQueryOptions<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>): UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam> & QueryKeyWithDataTag<TQueryKey, InfiniteData<TQueryFnData>, TError>;
|
|
4
97
|
//# sourceMappingURL=infiniteQueryOptions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infiniteQueryOptions.d.ts","sourceRoot":"","sources":["../src/infiniteQueryOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"infiniteQueryOptions.d.ts","sourceRoot":"","sources":["../src/infiniteQueryOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,QAAQ,EACR,mBAAmB,EACpB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAE5D,MAAM,MAAM,mCAAmC,CAC7C,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,CAAC,YAAY,CAAC,EAClC,SAAS,SAAS,QAAQ,GAAG,QAAQ,EACrC,UAAU,GAAG,OAAO,IAClB,0BAA0B,CAC5B,YAAY,EACZ,MAAM,EACN,KAAK,EACL,SAAS,EACT,UAAU,CACX,GAAG;IACF,WAAW,CAAC,EACR,SAAS,GACT,iBAAiB,CAAC,YAAY,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,GACzD,mBAAmB,CACjB,iBAAiB,CAAC,YAAY,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAC1D,CAAA;CACN,CAAA;AAED,MAAM,MAAM,iCAAiC,CAC3C,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,CAAC,YAAY,CAAC,EAClC,SAAS,SAAS,QAAQ,GAAG,QAAQ,EACrC,UAAU,GAAG,OAAO,IAClB,0BAA0B,CAC5B,YAAY,EACZ,MAAM,EACN,KAAK,EACL,SAAS,EACT,UAAU,CACX,GAAG;IACF,WAAW,EACP,iBAAiB,CAAC,YAAY,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,GACzD,CAAC,MAAM,iBAAiB,CAAC,YAAY,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;CACtE,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EACZ,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,CAAC,YAAY,CAAC,EAClC,SAAS,SAAS,QAAQ,GAAG,QAAQ,EACrC,UAAU,GAAG,OAAO,EAEpB,OAAO,EAAE,iCAAiC,CACxC,YAAY,EACZ,MAAM,EACN,KAAK,EACL,SAAS,EACT,UAAU,CACX,GACA,iCAAiC,CAClC,YAAY,EACZ,MAAM,EACN,KAAK,EACL,SAAS,EACT,UAAU,CACX,GACC,mBAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAA;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EACZ,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,CAAC,YAAY,CAAC,EAClC,SAAS,SAAS,QAAQ,GAAG,QAAQ,EACrC,UAAU,GAAG,OAAO,EAEpB,OAAO,EAAE,mCAAmC,CAC1C,YAAY,EACZ,MAAM,EACN,KAAK,EACL,SAAS,EACT,UAAU,CACX,GACA,mCAAmC,CACpC,YAAY,EACZ,MAAM,EACN,KAAK,EACL,SAAS,EACT,UAAU,CACX,GACC,mBAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAA"}
|
|
@@ -1,5 +1,57 @@
|
|
|
1
1
|
import type { DefaultError, WithRequired } from '@tanstack/query-core';
|
|
2
2
|
import type { CreateMutationOptions } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* You can generally pass everything to `mutationOptions` that you can also pass to `createMutation`. This
|
|
5
|
+
* overload requires `mutationKey`, so the resulting options can be looked up elsewhere (e.g. with
|
|
6
|
+
* `useMutationState`).
|
|
7
|
+
*
|
|
8
|
+
* @see {@link createMutation} to run a mutation with these options.
|
|
9
|
+
* @param options - The options to use — everything you can pass to `createMutation`, with `mutationKey` set.
|
|
10
|
+
* @returns The same options object.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* Looking the mutation up elsewhere via its `mutationKey`, e.g. for a global "saving…" indicator:
|
|
14
|
+
* ```svelte
|
|
15
|
+
* <script lang="ts">
|
|
16
|
+
* import { mutationOptions, useMutationState } from '@tanstack/svelte-query'
|
|
17
|
+
*
|
|
18
|
+
* const createPostOptions = mutationOptions({
|
|
19
|
+
* mutationKey: ['posts', 'create'],
|
|
20
|
+
* mutationFn: createPost,
|
|
21
|
+
* })
|
|
22
|
+
*
|
|
23
|
+
* const pending = useMutationState({
|
|
24
|
+
* filters: { mutationKey: createPostOptions.mutationKey, status: 'pending' },
|
|
25
|
+
* })
|
|
26
|
+
* </script>
|
|
27
|
+
*
|
|
28
|
+
* {#if pending.length > 0}
|
|
29
|
+
* <span>Saving…</span>
|
|
30
|
+
* {/if}
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
3
33
|
export declare function mutationOptions<TData = unknown, TError = DefaultError, TVariables = void, TOnMutateResult = unknown>(options: WithRequired<CreateMutationOptions<TData, TError, TVariables, TOnMutateResult>, 'mutationKey'>): WithRequired<CreateMutationOptions<TData, TError, TVariables, TOnMutateResult>, 'mutationKey'>;
|
|
34
|
+
/**
|
|
35
|
+
* You can generally pass everything to `mutationOptions` that you can also pass to `createMutation`.
|
|
36
|
+
*
|
|
37
|
+
* @see {@link createMutation} to run a mutation with these options.
|
|
38
|
+
* @param options - The options to use — everything you can pass to `createMutation`.
|
|
39
|
+
* @returns The same options object.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```svelte
|
|
43
|
+
* <script lang="ts">
|
|
44
|
+
* import { mutationOptions, createMutation } from '@tanstack/svelte-query'
|
|
45
|
+
*
|
|
46
|
+
* const createPostOptions = mutationOptions({
|
|
47
|
+
* mutationFn: createPost,
|
|
48
|
+
* })
|
|
49
|
+
*
|
|
50
|
+
* const mutation = createMutation(() => createPostOptions)
|
|
51
|
+
* </script>
|
|
52
|
+
*
|
|
53
|
+
* <button onclick={() => mutation.mutate({ title: 'Hello' })}>Create</button>
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
4
56
|
export declare function mutationOptions<TData = unknown, TError = DefaultError, TVariables = void, TOnMutateResult = unknown>(options: Omit<CreateMutationOptions<TData, TError, TVariables, TOnMutateResult>, 'mutationKey'>): Omit<CreateMutationOptions<TData, TError, TVariables, TOnMutateResult>, 'mutationKey'>;
|
|
5
57
|
//# sourceMappingURL=mutationOptions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutationOptions.d.ts","sourceRoot":"","sources":["../src/mutationOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEvD,wBAAgB,eAAe,CAC7B,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,EACrB,UAAU,GAAG,IAAI,EACjB,eAAe,GAAG,OAAO,EAEzB,OAAO,EAAE,YAAY,CACnB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,EACjE,aAAa,CACd,GACA,YAAY,CACb,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,EACjE,aAAa,CACd,CAAA;
|
|
1
|
+
{"version":3,"file":"mutationOptions.d.ts","sourceRoot":"","sources":["../src/mutationOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,eAAe,CAC7B,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,EACrB,UAAU,GAAG,IAAI,EACjB,eAAe,GAAG,OAAO,EAEzB,OAAO,EAAE,YAAY,CACnB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,EACjE,aAAa,CACd,GACA,YAAY,CACb,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,EACjE,aAAa,CACd,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,eAAe,CAC7B,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,EACrB,UAAU,GAAG,IAAI,EACjB,eAAe,GAAG,OAAO,EAEzB,OAAO,EAAE,IAAI,CACX,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,EACjE,aAAa,CACd,GACA,IAAI,CACL,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,EACjE,aAAa,CACd,CAAA"}
|
package/dist/queryOptions.d.ts
CHANGED
|
@@ -6,6 +6,79 @@ export type UndefinedInitialDataOptions<TQueryFnData = unknown, TError = Default
|
|
|
6
6
|
export type DefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
|
|
7
7
|
initialData: NonUndefinedGuard<TQueryFnData> | (() => NonUndefinedGuard<TQueryFnData>);
|
|
8
8
|
};
|
|
9
|
+
/**
|
|
10
|
+
* You can generally pass everything to `queryOptions` that you can also pass to `createQuery`. These options
|
|
11
|
+
* can be shared across `createQuery` calls and imperative APIs such as `queryClient.query`. `options.queryKey`
|
|
12
|
+
* is required and is the query key to generate options for.
|
|
13
|
+
*
|
|
14
|
+
* This overload is selected when `initialData` is set, so the resulting `data` is never `undefined`.
|
|
15
|
+
*
|
|
16
|
+
* @see {@link createQuery} to run a query with these options.
|
|
17
|
+
* @param options - The {@link DefinedInitialDataOptions} to use — everything you can pass to `createQuery`,
|
|
18
|
+
* with `initialData` set.
|
|
19
|
+
* @returns The same options object, typed so that `queryKey` carries the inferred data type.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```svelte
|
|
23
|
+
* <script lang="ts">
|
|
24
|
+
* import { queryOptions, createQuery } from '@tanstack/svelte-query'
|
|
25
|
+
*
|
|
26
|
+
* const postsOptions = queryOptions({
|
|
27
|
+
* queryKey: ['posts'],
|
|
28
|
+
* queryFn: fetchPosts,
|
|
29
|
+
* initialData: [],
|
|
30
|
+
* })
|
|
31
|
+
*
|
|
32
|
+
* // `data` is `Post[]`, never `undefined`, thanks to `initialData` — even if a refetch fails,
|
|
33
|
+
* // so the list stays visible alongside the error.
|
|
34
|
+
* const query = createQuery(() => postsOptions)
|
|
35
|
+
* </script>
|
|
36
|
+
*
|
|
37
|
+
* {#if query.isError}
|
|
38
|
+
* <span>Error: {query.error.message}</span>
|
|
39
|
+
* {/if}
|
|
40
|
+
* <ul>
|
|
41
|
+
* {#each query.data as post (post.id)}
|
|
42
|
+
* <li>{post.title}</li>
|
|
43
|
+
* {/each}
|
|
44
|
+
* </ul>
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
9
47
|
export declare function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>): DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & QueryKeyWithDataTag<TQueryKey, TQueryFnData, TError>;
|
|
48
|
+
/**
|
|
49
|
+
* You can generally pass everything to `queryOptions` that you can also pass to `createQuery`. These options
|
|
50
|
+
* can be shared across `createQuery` calls and imperative APIs such as `queryClient.query`. `options.queryKey`
|
|
51
|
+
* is required and is the query key to generate options for.
|
|
52
|
+
*
|
|
53
|
+
* @see {@link createQuery} to run a query with these options.
|
|
54
|
+
* @param options - The {@link UndefinedInitialDataOptions} to use — everything you can pass to `createQuery`.
|
|
55
|
+
* @returns The same options object, typed so that `queryKey` carries the inferred data type.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* A parameterized factory, so the same options object can be reused per `id`:
|
|
59
|
+
* ```svelte
|
|
60
|
+
* <script lang="ts">
|
|
61
|
+
* import { queryOptions, createQuery } from '@tanstack/svelte-query'
|
|
62
|
+
*
|
|
63
|
+
* let { id }: { id: string } = $props()
|
|
64
|
+
*
|
|
65
|
+
* const postOptions = (id: string) =>
|
|
66
|
+
* queryOptions({
|
|
67
|
+
* queryKey: ['post', id],
|
|
68
|
+
* queryFn: () => fetchPost(id),
|
|
69
|
+
* })
|
|
70
|
+
*
|
|
71
|
+
* const query = createQuery(() => postOptions(id))
|
|
72
|
+
* </script>
|
|
73
|
+
*
|
|
74
|
+
* {#if query.isPending}
|
|
75
|
+
* Loading...
|
|
76
|
+
* {:else if query.isError}
|
|
77
|
+
* <span>Error: {query.error.message}</span>
|
|
78
|
+
* {:else}
|
|
79
|
+
* <h1>{query.data.title}</h1>
|
|
80
|
+
* {/if}
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
10
83
|
export declare function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>): UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & QueryKeyWithDataTag<TQueryKey, TQueryFnData, TError>;
|
|
11
84
|
//# sourceMappingURL=queryOptions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryOptions.d.ts","sourceRoot":"","sources":["../src/queryOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,QAAQ,EACR,mBAAmB,EACpB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,MAAM,2BAA2B,CACrC,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,SAAS,SAAS,QAAQ,GAAG,QAAQ,IACnC,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,GAAG;IAC/D,WAAW,CAAC,EAAE,SAAS,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAA;CAC/E,CAAA;AAED,MAAM,MAAM,yBAAyB,CACnC,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,SAAS,SAAS,QAAQ,GAAG,QAAQ,IACnC,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,GAAG;IAC/D,WAAW,EACP,iBAAiB,CAAC,YAAY,CAAC,GAC/B,CAAC,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAA;CAC5C,CAAA;AAED,wBAAgB,YAAY,CAC1B,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,SAAS,SAAS,QAAQ,GAAG,QAAQ,EAErC,OAAO,EAAE,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,GACzE,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,GAClE,mBAAmB,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,CAAA;AAEtD,wBAAgB,YAAY,CAC1B,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,SAAS,SAAS,QAAQ,GAAG,QAAQ,EAErC,OAAO,EAAE,2BAA2B,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,GAC3E,2BAA2B,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,GACpE,mBAAmB,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"queryOptions.d.ts","sourceRoot":"","sources":["../src/queryOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,QAAQ,EACR,mBAAmB,EACpB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,MAAM,2BAA2B,CACrC,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,SAAS,SAAS,QAAQ,GAAG,QAAQ,IACnC,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,GAAG;IAC/D,WAAW,CAAC,EAAE,SAAS,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAA;CAC/E,CAAA;AAED,MAAM,MAAM,yBAAyB,CACnC,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,SAAS,SAAS,QAAQ,GAAG,QAAQ,IACnC,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,GAAG;IAC/D,WAAW,EACP,iBAAiB,CAAC,YAAY,CAAC,GAC/B,CAAC,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAA;CAC5C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,YAAY,CAC1B,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,SAAS,SAAS,QAAQ,GAAG,QAAQ,EAErC,OAAO,EAAE,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,GACzE,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,GAClE,mBAAmB,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,CAAA;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,YAAY,CAC1B,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,SAAS,SAAS,QAAQ,GAAG,QAAQ,EAErC,OAAO,EAAE,2BAA2B,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,GAC3E,2BAA2B,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,GACpE,mBAAmB,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,CAAA"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Snippet } from 'svelte';
|
|
2
|
-
import type { DefaultError, DefinedQueryObserverResult, InfiniteQueryObserverOptions, InfiniteQueryObserverResult, MutateFunction, Mutation, MutationFilters, MutationObserverOptions, MutationObserverResult, MutationState, OmitKeyof, Override, QueryClient, QueryKey, QueryObserverOptions, QueryObserverResult } from '@tanstack/query-core';
|
|
2
|
+
import type { DefaultError, DefinedInfiniteQueryObserverResult, DefinedQueryObserverResult, InfiniteQueryObserverOptions, InfiniteQueryObserverResult, MutateFunction, Mutation, MutationFilters, MutationObserverOptions, MutationObserverResult, MutationState, OmitKeyof, Override, QueryClient, QueryKey, QueryObserverOptions, QueryObserverResult } from '@tanstack/query-core';
|
|
3
3
|
export type Accessor<T> = () => T;
|
|
4
4
|
/** Options for createBaseQuery */
|
|
5
5
|
export type CreateBaseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>;
|
|
@@ -13,6 +13,8 @@ export type CreateQueryResult<TData = unknown, TError = DefaultError> = CreateBa
|
|
|
13
13
|
export type CreateInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> = InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>;
|
|
14
14
|
/** Result from createInfiniteQuery */
|
|
15
15
|
export type CreateInfiniteQueryResult<TData = unknown, TError = DefaultError> = InfiniteQueryObserverResult<TData, TError>;
|
|
16
|
+
/** Result from createInfiniteQuery with initialData */
|
|
17
|
+
export type DefinedCreateInfiniteQueryResult<TData = unknown, TError = DefaultError> = DefinedInfiniteQueryObserverResult<TData, TError>;
|
|
16
18
|
/** Options for createBaseQuery with initialData */
|
|
17
19
|
export type DefinedCreateBaseQueryResult<TData = unknown, TError = DefaultError> = DefinedQueryObserverResult<TData, TError>;
|
|
18
20
|
/** Options for createQuery with initialData */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/useHydrate.d.ts
CHANGED
|
@@ -1,3 +1,31 @@
|
|
|
1
1
|
import type { HydrateOptions, QueryClient } from '@tanstack/query-core';
|
|
2
|
+
/**
|
|
3
|
+
* Adds a previously dehydrated `state` into the `queryClient` (from the nearest context, or the one
|
|
4
|
+
* passed explicitly). If the client already contains data, the new queries will be intelligently merged based
|
|
5
|
+
* on update timestamp. `HydrationBoundary` wraps this — use it directly only if you need to hydrate from your
|
|
6
|
+
* own component instead.
|
|
7
|
+
*
|
|
8
|
+
* @param state - The dehydrated state to hydrate into the cache, as produced by `dehydrate`.
|
|
9
|
+
* @param options - {@link HydrateOptions} to control the hydration.
|
|
10
|
+
* @param queryClient - Use this to use a custom `QueryClient`. Otherwise, the one from the nearest context will
|
|
11
|
+
* be used.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* Server-side prefetch handed off to the client via `dehydrate` — `dehydratedState` would typically come
|
|
15
|
+
* from a server load function that prefetched with `queryClient.query` and called `dehydrate(queryClient)`:
|
|
16
|
+
* ```svelte
|
|
17
|
+
* <script lang="ts">
|
|
18
|
+
* import { HydrationBoundary } from '@tanstack/svelte-query'
|
|
19
|
+
* import type { DehydratedState } from '@tanstack/svelte-query'
|
|
20
|
+
* import Posts from './Posts.svelte'
|
|
21
|
+
*
|
|
22
|
+
* let { dehydratedState }: { dehydratedState: DehydratedState } = $props()
|
|
23
|
+
* </script>
|
|
24
|
+
*
|
|
25
|
+
* <HydrationBoundary state={dehydratedState}>
|
|
26
|
+
* <Posts />
|
|
27
|
+
* </HydrationBoundary>
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
2
30
|
export declare function useHydrate(state?: unknown, options?: HydrateOptions, queryClient?: QueryClient): void;
|
|
3
31
|
//# sourceMappingURL=useHydrate.d.ts.map
|