@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.
Files changed (50) hide show
  1. package/dist/context.d.ts +27 -2
  2. package/dist/context.d.ts.map +1 -1
  3. package/dist/context.js +27 -2
  4. package/dist/createInfiniteQuery.d.ts +97 -1
  5. package/dist/createInfiniteQuery.d.ts.map +1 -1
  6. package/dist/createMutation.svelte.d.ts +156 -2
  7. package/dist/createMutation.svelte.d.ts.map +1 -1
  8. package/dist/createMutation.svelte.js +156 -2
  9. package/dist/createQueries.svelte.d.ts +71 -0
  10. package/dist/createQueries.svelte.d.ts.map +1 -1
  11. package/dist/createQueries.svelte.js +71 -0
  12. package/dist/createQuery.d.ts +209 -0
  13. package/dist/createQuery.d.ts.map +1 -1
  14. package/dist/index.d.ts +1 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/infiniteQueryOptions.d.ts +95 -2
  17. package/dist/infiniteQueryOptions.d.ts.map +1 -1
  18. package/dist/mutationOptions.d.ts +52 -0
  19. package/dist/mutationOptions.d.ts.map +1 -1
  20. package/dist/queryOptions.d.ts +73 -0
  21. package/dist/queryOptions.d.ts.map +1 -1
  22. package/dist/types.d.ts +3 -1
  23. package/dist/types.d.ts.map +1 -1
  24. package/dist/useHydrate.d.ts +28 -0
  25. package/dist/useHydrate.d.ts.map +1 -1
  26. package/dist/useHydrate.js +28 -0
  27. package/dist/useIsFetching.svelte.d.ts +35 -0
  28. package/dist/useIsFetching.svelte.d.ts.map +1 -1
  29. package/dist/useIsFetching.svelte.js +35 -0
  30. package/dist/useIsMutating.svelte.d.ts +23 -0
  31. package/dist/useIsMutating.svelte.d.ts.map +1 -1
  32. package/dist/useIsMutating.svelte.js +23 -0
  33. package/dist/useMutationState.svelte.d.ts +70 -0
  34. package/dist/useMutationState.svelte.d.ts.map +1 -1
  35. package/dist/useMutationState.svelte.js +70 -0
  36. package/package.json +3 -3
  37. package/src/context.ts +27 -2
  38. package/src/createInfiniteQuery.ts +143 -2
  39. package/src/createMutation.svelte.ts +156 -2
  40. package/src/createQueries.svelte.ts +71 -0
  41. package/src/createQuery.ts +209 -0
  42. package/src/index.ts +4 -0
  43. package/src/infiniteQueryOptions.ts +162 -4
  44. package/src/mutationOptions.ts +53 -0
  45. package/src/queryOptions.ts +73 -0
  46. package/src/types.ts +7 -0
  47. package/src/useHydrate.ts +28 -0
  48. package/src/useIsFetching.svelte.ts +35 -0
  49. package/src/useIsMutating.svelte.ts +23 -0
  50. 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();
@@ -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';
@@ -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 declare function infiniteQueryOptions<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: CreateInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>): CreateInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>;
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,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAChF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAE5D,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,0BAA0B,CACjC,YAAY,EACZ,MAAM,EACN,KAAK,EACL,SAAS,EACT,UAAU,CACX,GACA,0BAA0B,CAC3B,YAAY,EACZ,MAAM,EACN,KAAK,EACL,SAAS,EACT,UAAU,CACX,CAEA"}
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;AACD,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"}
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"}
@@ -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 */
@@ -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":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,KAAK,EACV,YAAY,EACZ,kCAAkC,EAClC,0BAA0B,EAC1B,4BAA4B,EAC5B,2BAA2B,EAC3B,cAAc,EACd,QAAQ,EACR,eAAe,EACf,uBAAuB,EACvB,sBAAsB,EACtB,aAAa,EACb,SAAS,EACT,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,sBAAsB,CAAA;AAE7B,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,CAAA;AAEjC,kCAAkC;AAClC,MAAM,MAAM,sBAAsB,CAChC,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,UAAU,GAAG,YAAY,EACzB,SAAS,SAAS,QAAQ,GAAG,QAAQ,IACnC,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;AAE5E,kCAAkC;AAClC,MAAM,MAAM,qBAAqB,CAC/B,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,IACnB,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AAEtC,8BAA8B;AAC9B,MAAM,MAAM,kBAAkB,CAC5B,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,SAAS,SAAS,QAAQ,GAAG,QAAQ,IACnC,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,CAAC,CAAA;AAEhF,8BAA8B;AAC9B,MAAM,MAAM,iBAAiB,CAC3B,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,IACnB,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AAExC,sCAAsC;AACtC,MAAM,MAAM,0BAA0B,CACpC,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,SAAS,SAAS,QAAQ,GAAG,QAAQ,EACrC,UAAU,GAAG,OAAO,IAClB,4BAA4B,CAC9B,YAAY,EACZ,MAAM,EACN,KAAK,EACL,SAAS,EACT,UAAU,CACX,CAAA;AAED,sCAAsC;AACtC,MAAM,MAAM,yBAAyB,CACnC,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,IACnB,2BAA2B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AAE9C,uDAAuD;AACvD,MAAM,MAAM,gCAAgC,CAC1C,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,IACnB,kCAAkC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AAErD,mDAAmD;AACnD,MAAM,MAAM,4BAA4B,CACtC,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,IACnB,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AAE7C,+CAA+C;AAC/C,MAAM,MAAM,wBAAwB,CAClC,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,IACnB,4BAA4B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AAE/C,iCAAiC;AACjC,MAAM,MAAM,qBAAqB,CAC/B,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,EACrB,UAAU,GAAG,IAAI,EACjB,eAAe,GAAG,OAAO,IACvB,SAAS,CACX,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,EACnE,YAAY,CACb,CAAA;AAED,MAAM,MAAM,oBAAoB,CAC9B,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,EACrB,UAAU,GAAG,IAAI,EACjB,eAAe,GAAG,OAAO,IACvB,CACF,GAAG,IAAI,EAAE,UAAU,CACjB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,CAC3D,KACE,IAAI,CAAA;AAET,MAAM,MAAM,yBAAyB,CACnC,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,EACrB,UAAU,GAAG,IAAI,EACjB,eAAe,GAAG,OAAO,IACvB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,CAAA;AAE9D,MAAM,MAAM,wBAAwB,CAClC,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,EACrB,UAAU,GAAG,OAAO,EACpB,eAAe,GAAG,OAAO,IACvB,QAAQ,CACV,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,EAClE;IAAE,MAAM,EAAE,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,CAAA;CAAE,CAC7E,GAAG;IACF,WAAW,EAAE,yBAAyB,CACpC,KAAK,EACL,MAAM,EACN,UAAU,EACV,eAAe,CAChB,CAAA;CACF,CAAA;AAED,iCAAiC;AACjC,MAAM,MAAM,oBAAoB,CAC9B,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,EACrB,UAAU,GAAG,OAAO,EACpB,eAAe,GAAG,OAAO,IACvB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,CAAA;AAExE,MAAM,MAAM,sBAAsB,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS;IAC9D,aAAa,CACX,MAAM,KAAK,EACX,MAAM,MAAM,EACZ,MAAM,UAAU,EAChB,MAAM,eAAe,CACtB;CACF,GACG,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,GACpD,QAAQ,CAAA;AAEZ,mCAAmC;AACnC,MAAM,MAAM,oBAAoB,CAC9B,OAAO,GAAG,aAAa,EACvB,SAAS,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAC5C,sBAAsB,CAAC,OAAO,CAAC,IAC/B;IACF,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,OAAO,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,WAAW,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA"}
@@ -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