@tanstack/svelte-query 4.24.9 → 5.0.0-alpha.0

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 (42) hide show
  1. package/build/lib/{Hydrate.svelte → HydrationBoundary.svelte} +2 -1
  2. package/build/lib/HydrationBoundary.svelte.d.ts +21 -0
  3. package/build/lib/createBaseQuery.d.ts +2 -2
  4. package/build/lib/createBaseQuery.js +5 -5
  5. package/build/lib/createInfiniteQuery.d.ts +2 -4
  6. package/build/lib/createInfiniteQuery.js +3 -4
  7. package/build/lib/createMutation.d.ts +2 -5
  8. package/build/lib/createMutation.js +4 -5
  9. package/build/lib/createQueries.d.ts +11 -6
  10. package/build/lib/createQueries.js +2 -2
  11. package/build/lib/createQuery.d.ts +9 -21
  12. package/build/lib/createQuery.js +3 -5
  13. package/build/lib/index.d.ts +1 -1
  14. package/build/lib/index.js +1 -1
  15. package/build/lib/types.d.ts +14 -14
  16. package/build/lib/useHydrate.d.ts +2 -2
  17. package/build/lib/useHydrate.js +2 -2
  18. package/build/lib/useIsFetching.d.ts +2 -3
  19. package/build/lib/useIsFetching.js +3 -4
  20. package/build/lib/useIsMutating.d.ts +2 -3
  21. package/build/lib/useIsMutating.js +3 -4
  22. package/build/lib/useQueryClient.d.ts +1 -1
  23. package/build/lib/useQueryClient.js +6 -3
  24. package/package.json +2 -2
  25. package/src/HydrationBoundary.svelte +16 -0
  26. package/src/__tests__/CreateQueries.svelte +5 -3
  27. package/src/__tests__/CreateQuery.svelte +2 -2
  28. package/src/__tests__/createQueries.test.ts +26 -22
  29. package/src/__tests__/utils.ts +2 -34
  30. package/src/createBaseQuery.ts +6 -8
  31. package/src/createInfiniteQuery.ts +15 -81
  32. package/src/createMutation.ts +6 -67
  33. package/src/createQueries.ts +24 -15
  34. package/src/createQuery.ts +27 -108
  35. package/src/index.ts +1 -1
  36. package/src/types.ts +20 -15
  37. package/src/useHydrate.ts +6 -2
  38. package/src/useIsFetching.ts +2 -11
  39. package/src/useIsMutating.ts +3 -12
  40. package/src/useQueryClient.ts +8 -3
  41. package/build/lib/Hydrate.svelte.d.ts +0 -20
  42. package/src/Hydrate.svelte +0 -11
@@ -1,103 +1,37 @@
1
- import {
2
- InfiniteQueryObserver,
3
- parseQueryArgs,
4
- type QueryObserver,
5
- type QueryFunction,
6
- type QueryKey,
1
+ import type {
2
+ QueryObserver,
3
+ QueryKey,
4
+ QueryClient,
5
+ RegisteredError,
6
+ InfiniteData,
7
7
  } from '@tanstack/query-core'
8
+ import { InfiniteQueryObserver } from '@tanstack/query-core'
8
9
  import type {
9
10
  CreateInfiniteQueryOptions,
10
11
  CreateInfiniteQueryResult,
11
12
  } from './types'
12
13
  import { createBaseQuery } from './createBaseQuery'
13
14
 
14
- export function createInfiniteQuery<
15
- TQueryFnData = unknown,
16
- TError = unknown,
17
- TData = TQueryFnData,
18
- TQueryKey extends QueryKey = QueryKey,
19
- >(
20
- options: CreateInfiniteQueryOptions<
21
- TQueryFnData,
22
- TError,
23
- TData,
24
- TQueryFnData,
25
- TQueryKey
26
- >,
27
- ): CreateInfiniteQueryResult<TData, TError>
28
- export function createInfiniteQuery<
29
- TQueryFnData = unknown,
30
- TError = unknown,
31
- TData = TQueryFnData,
32
- TQueryKey extends QueryKey = QueryKey,
33
- >(
34
- queryKey: TQueryKey,
35
- options?: Omit<
36
- CreateInfiniteQueryOptions<
37
- TQueryFnData,
38
- TError,
39
- TData,
40
- TQueryFnData,
41
- TQueryKey
42
- >,
43
- 'queryKey'
44
- >,
45
- ): CreateInfiniteQueryResult<TData, TError>
46
- export function createInfiniteQuery<
47
- TQueryFnData = unknown,
48
- TError = unknown,
49
- TData = TQueryFnData,
50
- TQueryKey extends QueryKey = QueryKey,
51
- >(
52
- queryKey: TQueryKey,
53
- queryFn: QueryFunction<TQueryFnData, TQueryKey>,
54
- options?: Omit<
55
- CreateInfiniteQueryOptions<
56
- TQueryFnData,
57
- TError,
58
- TData,
59
- TQueryFnData,
60
- TQueryKey
61
- >,
62
- 'queryKey' | 'queryFn'
63
- >,
64
- ): CreateInfiniteQueryResult<TData, TError>
65
-
66
15
  export function createInfiniteQuery<
67
16
  TQueryFnData,
68
- TError,
69
- TData = TQueryFnData,
17
+ TError = RegisteredError,
18
+ TData = InfiniteData<TQueryFnData>,
70
19
  TQueryKey extends QueryKey = QueryKey,
20
+ TPageParam = unknown,
71
21
  >(
72
- arg1:
73
- | TQueryKey
74
- | CreateInfiniteQueryOptions<
75
- TQueryFnData,
76
- TError,
77
- TData,
78
- TQueryFnData,
79
- TQueryKey
80
- >,
81
- arg2?:
82
- | QueryFunction<TQueryFnData, TQueryKey>
83
- | CreateInfiniteQueryOptions<
84
- TQueryFnData,
85
- TError,
86
- TData,
87
- TQueryFnData,
88
- TQueryKey
89
- >,
90
- arg3?: CreateInfiniteQueryOptions<
22
+ options: CreateInfiniteQueryOptions<
91
23
  TQueryFnData,
92
24
  TError,
93
25
  TData,
94
26
  TQueryFnData,
95
- TQueryKey
27
+ TQueryKey,
28
+ TPageParam
96
29
  >,
30
+ queryClient?: QueryClient,
97
31
  ): CreateInfiniteQueryResult<TData, TError> {
98
- const options = parseQueryArgs(arg1, arg2, arg3)
99
32
  return createBaseQuery(
100
33
  options,
101
34
  InfiniteQueryObserver as typeof QueryObserver,
35
+ queryClient,
102
36
  ) as CreateInfiniteQueryResult<TData, TError>
103
37
  }
@@ -1,11 +1,6 @@
1
1
  import { readable, derived } from 'svelte/store'
2
- import {
3
- type MutationFunction,
4
- type MutationKey,
5
- MutationObserver,
6
- notifyManager,
7
- parseMutationArgs,
8
- } from '@tanstack/query-core'
2
+ import type { QueryClient, RegisteredError } from '@tanstack/query-core'
3
+ import { MutationObserver, notifyManager } from '@tanstack/query-core'
9
4
  import type {
10
5
  CreateMutateFunction,
11
6
  CreateMutationOptions,
@@ -15,72 +10,16 @@ import { useQueryClient } from './useQueryClient'
15
10
 
16
11
  export function createMutation<
17
12
  TData = unknown,
18
- TError = unknown,
13
+ TError = RegisteredError,
19
14
  TVariables = void,
20
15
  TContext = unknown,
21
16
  >(
22
17
  options: CreateMutationOptions<TData, TError, TVariables, TContext>,
23
- ): CreateMutationResult<TData, TError, TVariables, TContext>
24
-
25
- export function createMutation<
26
- TData = unknown,
27
- TError = unknown,
28
- TVariables = void,
29
- TContext = unknown,
30
- >(
31
- mutationFn: MutationFunction<TData, TVariables>,
32
- options?: Omit<
33
- CreateMutationOptions<TData, TError, TVariables, TContext>,
34
- 'mutationFn'
35
- >,
36
- ): CreateMutationResult<TData, TError, TVariables, TContext>
37
-
38
- export function createMutation<
39
- TData = unknown,
40
- TError = unknown,
41
- TVariables = void,
42
- TContext = unknown,
43
- >(
44
- mutationKey: MutationKey,
45
- options?: Omit<
46
- CreateMutationOptions<TData, TError, TVariables, TContext>,
47
- 'mutationKey'
48
- >,
49
- ): CreateMutationResult<TData, TError, TVariables, TContext>
50
-
51
- export function createMutation<
52
- TData = unknown,
53
- TError = unknown,
54
- TVariables = void,
55
- TContext = unknown,
56
- >(
57
- mutationKey: MutationKey,
58
- mutationFn?: MutationFunction<TData, TVariables>,
59
- options?: Omit<
60
- CreateMutationOptions<TData, TError, TVariables, TContext>,
61
- 'mutationKey' | 'mutationFn'
62
- >,
63
- ): CreateMutationResult<TData, TError, TVariables, TContext>
64
-
65
- export function createMutation<
66
- TData = unknown,
67
- TError = unknown,
68
- TVariables = void,
69
- TContext = unknown,
70
- >(
71
- arg1:
72
- | MutationKey
73
- | MutationFunction<TData, TVariables>
74
- | CreateMutationOptions<TData, TError, TVariables, TContext>,
75
- arg2?:
76
- | MutationFunction<TData, TVariables>
77
- | CreateMutationOptions<TData, TError, TVariables, TContext>,
78
- arg3?: CreateMutationOptions<TData, TError, TVariables, TContext>,
18
+ queryClient?: QueryClient,
79
19
  ): CreateMutationResult<TData, TError, TVariables, TContext> {
80
- const options = parseMutationArgs(arg1, arg2, arg3)
81
- const queryClient = useQueryClient()
20
+ const client = useQueryClient(queryClient)
82
21
  let observer = new MutationObserver<TData, TError, TVariables, TContext>(
83
- queryClient,
22
+ client,
84
23
  options,
85
24
  )
86
25
  let mutate: CreateMutateFunction<TData, TError, TVariables, TContext>
@@ -2,7 +2,9 @@ import type {
2
2
  QueryKey,
3
3
  QueryFunction,
4
4
  QueryClient,
5
+ QueriesPlaceholderDataFunction,
5
6
  QueryObserverResult,
7
+ RegisteredError,
6
8
  } from '@tanstack/query-core'
7
9
 
8
10
  import { notifyManager, QueriesObserver } from '@tanstack/query-core'
@@ -12,13 +14,18 @@ import type { CreateQueryOptions } from './types'
12
14
  import { useQueryClient } from './useQueryClient'
13
15
 
14
16
  // This defines the `CreateQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.
15
- // - `context` is omitted as it is passed as a root-level option to `createQueries` instead.
17
+ // `placeholderData` function does not have a parameter
16
18
  type CreateQueryOptionsForCreateQueries<
17
19
  TQueryFnData = unknown,
18
- TError = unknown,
20
+ TError = RegisteredError,
19
21
  TData = TQueryFnData,
20
22
  TQueryKey extends QueryKey = QueryKey,
21
- > = Omit<CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'context'>
23
+ > = Omit<
24
+ CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
25
+ 'placeholderData'
26
+ > & {
27
+ placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>
28
+ }
22
29
 
23
30
  // Avoid TS depth-limit error in case of large array literal
24
31
  type MAXIMUM_DEPTH = 20
@@ -47,16 +54,11 @@ type GetOptions<T> =
47
54
  queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>
48
55
  select: (data: any) => infer TData
49
56
  }
50
- ? CreateQueryOptionsForCreateQueries<
51
- TQueryFnData,
52
- unknown,
53
- TData,
54
- TQueryKey
55
- >
57
+ ? CreateQueryOptionsForCreateQueries<TQueryFnData, Error, TData, TQueryKey>
56
58
  : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }
57
59
  ? CreateQueryOptionsForCreateQueries<
58
60
  TQueryFnData,
59
- unknown,
61
+ Error,
60
62
  TQueryFnData,
61
63
  TQueryKey
62
64
  >
@@ -140,16 +142,23 @@ export type QueriesResults<
140
142
  any
141
143
  >[]
142
144
  ? // Dynamic-size (homogenous) CreateQueryOptions array: map directly to array of results
143
- QueryObserverResult<unknown extends TData ? TQueryFnData : TData, TError>[]
145
+ QueryObserverResult<
146
+ unknown extends TData ? TQueryFnData : TData,
147
+ unknown extends TError ? RegisteredError : TError
148
+ >[]
144
149
  : // Fallback
145
150
  QueryObserverResult[]
146
151
 
147
152
  export type CreateQueriesResult<T extends any[]> = Readable<QueriesResults<T>>
148
153
 
149
- export function createQueries<T extends any[]>(
150
- queries: readonly [...QueriesOptions<T>],
151
- ): CreateQueriesResult<T> {
152
- const client: QueryClient = useQueryClient()
154
+ export function createQueries<T extends any[]>({
155
+ queries,
156
+ queryClient,
157
+ }: {
158
+ queries: readonly [...QueriesOptions<T>]
159
+ queryClient?: QueryClient
160
+ }): CreateQueriesResult<T> {
161
+ const client = useQueryClient(queryClient)
153
162
  // const isRestoring = useIsRestoring()
154
163
 
155
164
  function getDefaultQuery(newQueries: readonly [...QueriesOptions<T>]) {
@@ -1,5 +1,9 @@
1
- import { QueryObserver, parseQueryArgs } from '@tanstack/query-core'
2
- import type { QueryFunction, QueryKey } from '@tanstack/query-core'
1
+ import { QueryObserver } from '@tanstack/query-core'
2
+ import type {
3
+ QueryKey,
4
+ QueryClient,
5
+ RegisteredError,
6
+ } from '@tanstack/query-core'
3
7
  import { createBaseQuery } from './createBaseQuery'
4
8
  import type {
5
9
  DefinedCreateQueryResult,
@@ -7,137 +11,52 @@ import type {
7
11
  CreateQueryResult,
8
12
  } from './types'
9
13
 
10
- export function createQuery<
11
- TQueryFnData = unknown,
12
- TError = unknown,
13
- TData = TQueryFnData,
14
- TQueryKey extends QueryKey = QueryKey,
15
- >(
16
- options: Omit<
17
- CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
18
- 'initialData'
19
- > & {
20
- initialData?: () => undefined
21
- },
22
- ): CreateQueryResult<TData, TError>
23
-
24
- export function createQuery<
25
- TQueryFnData = unknown,
26
- TError = unknown,
27
- TData = TQueryFnData,
28
- TQueryKey extends QueryKey = QueryKey,
29
- >(
30
- options: Omit<
31
- CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
32
- 'initialData'
33
- > & {
34
- initialData: TQueryFnData | (() => TQueryFnData)
35
- },
36
- ): DefinedCreateQueryResult<TData, TError>
37
-
38
- export function createQuery<
39
- TQueryFnData = unknown,
40
- TError = unknown,
41
- TData = TQueryFnData,
42
- TQueryKey extends QueryKey = QueryKey,
43
- >(
44
- options: CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
45
- ): CreateQueryResult<TData, TError>
46
-
47
- export function createQuery<
48
- TQueryFnData = unknown,
49
- TError = unknown,
50
- TData = TQueryFnData,
51
- TQueryKey extends QueryKey = QueryKey,
52
- >(
53
- queryKey: TQueryKey,
54
- options?: Omit<
55
- CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
56
- 'queryKey' | 'initialData'
57
- > & { initialData?: () => undefined },
58
- ): CreateQueryResult<TData, TError>
59
-
60
- export function createQuery<
14
+ type UndefinedInitialDataOptions<
61
15
  TQueryFnData = unknown,
62
- TError = unknown,
16
+ TError = RegisteredError,
63
17
  TData = TQueryFnData,
64
18
  TQueryKey extends QueryKey = QueryKey,
65
- >(
66
- queryKey: TQueryKey,
67
- options?: Omit<
68
- CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
69
- 'queryKey' | 'initialData'
70
- > & { initialData: TQueryFnData | (() => TQueryFnData) },
71
- ): DefinedCreateQueryResult<TData, TError>
19
+ > = CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
20
+ initialData?: undefined
21
+ }
72
22
 
73
- export function createQuery<
23
+ type DefinedInitialDataOptions<
74
24
  TQueryFnData = unknown,
75
- TError = unknown,
25
+ TError = RegisteredError,
76
26
  TData = TQueryFnData,
77
27
  TQueryKey extends QueryKey = QueryKey,
78
- >(
79
- queryKey: TQueryKey,
80
- options?: Omit<
81
- CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
82
- 'queryKey'
83
- >,
84
- ): CreateQueryResult<TData, TError>
28
+ > = CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
29
+ initialData: TQueryFnData | (() => TQueryFnData)
30
+ }
85
31
 
86
32
  export function createQuery<
87
33
  TQueryFnData = unknown,
88
- TError = unknown,
34
+ TError = RegisteredError,
89
35
  TData = TQueryFnData,
90
36
  TQueryKey extends QueryKey = QueryKey,
91
37
  >(
92
- queryKey: TQueryKey,
93
- queryFn: QueryFunction<TQueryFnData, TQueryKey>,
94
- options?: Omit<
95
- CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
96
- 'queryKey' | 'queryFn' | 'initialData'
97
- > & { initialData?: () => undefined },
38
+ options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,
39
+ queryClient?: QueryClient,
98
40
  ): CreateQueryResult<TData, TError>
99
41
 
100
42
  export function createQuery<
101
43
  TQueryFnData = unknown,
102
- TError = unknown,
44
+ TError = RegisteredError,
103
45
  TData = TQueryFnData,
104
46
  TQueryKey extends QueryKey = QueryKey,
105
47
  >(
106
- queryKey: TQueryKey,
107
- queryFn: QueryFunction<TQueryFnData, TQueryKey>,
108
- options?: Omit<
109
- CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
110
- 'queryKey' | 'queryFn' | 'initialData'
111
- > & { initialData: TQueryFnData | (() => TQueryFnData) },
48
+ options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>,
49
+ queryClient?: QueryClient,
112
50
  ): DefinedCreateQueryResult<TData, TError>
113
51
 
114
- export function createQuery<
115
- TQueryFnData = unknown,
116
- TError = unknown,
117
- TData = TQueryFnData,
118
- TQueryKey extends QueryKey = QueryKey,
119
- >(
120
- queryKey: TQueryKey,
121
- queryFn: QueryFunction<TQueryFnData, TQueryKey>,
122
- options?: Omit<
123
- CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
124
- 'queryKey' | 'queryFn'
125
- >,
126
- ): CreateQueryResult<TData, TError>
127
-
128
52
  export function createQuery<
129
53
  TQueryFnData,
130
- TError,
54
+ TError = RegisteredError,
131
55
  TData = TQueryFnData,
132
56
  TQueryKey extends QueryKey = QueryKey,
133
57
  >(
134
- arg1: TQueryKey | CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
135
- arg2?:
136
- | QueryFunction<TQueryFnData, TQueryKey>
137
- | CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
138
- arg3?: CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
139
- ): CreateQueryResult<TData, TError> {
140
- const parsedOptions = parseQueryArgs(arg1, arg2, arg3)
141
- const result = createBaseQuery(parsedOptions, QueryObserver)
142
- return result
58
+ options: CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
59
+ queryClient?: QueryClient,
60
+ ) {
61
+ return createBaseQuery(options, QueryObserver, queryClient)
143
62
  }
package/src/index.ts CHANGED
@@ -13,5 +13,5 @@ export { useQueryClient } from './useQueryClient'
13
13
  export { useIsFetching } from './useIsFetching'
14
14
  export { useIsMutating } from './useIsMutating'
15
15
  export { useHydrate } from './useHydrate'
16
- export { default as Hydrate } from './Hydrate.svelte'
16
+ export { default as HydrationBoundary } from './HydrationBoundary.svelte'
17
17
  export { default as QueryClientProvider } from './QueryClientProvider.svelte'
package/src/types.ts CHANGED
@@ -8,6 +8,7 @@ import type {
8
8
  MutationObserverOptions,
9
9
  MutateFunction,
10
10
  DefinedQueryObserverResult,
11
+ RegisteredError,
11
12
  } from '@tanstack/query-core'
12
13
  import type { QueryClient } from '@tanstack/query-core'
13
14
  import type { Readable } from 'svelte/store'
@@ -21,19 +22,21 @@ export interface ContextOptions {
21
22
 
22
23
  export interface CreateBaseQueryOptions<
23
24
  TQueryFnData = unknown,
24
- TError = unknown,
25
+ TError = RegisteredError,
25
26
  TData = TQueryFnData,
26
27
  TQueryData = TQueryFnData,
27
28
  TQueryKey extends QueryKey = QueryKey,
28
29
  > extends ContextOptions,
29
30
  QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey> {}
30
31
 
31
- export interface CreateBaseQueryResult<TData = unknown, TError = unknown>
32
- extends Readable<QueryObserverResult<TData, TError>> {}
32
+ export interface CreateBaseQueryResult<
33
+ TData = unknown,
34
+ TError = RegisteredError,
35
+ > extends Readable<QueryObserverResult<TData, TError>> {}
33
36
 
34
37
  export interface CreateQueryOptions<
35
38
  TQueryFnData = unknown,
36
- TError = unknown,
39
+ TError = RegisteredError,
37
40
  TData = TQueryFnData,
38
41
  TQueryKey extends QueryKey = QueryKey,
39
42
  > extends CreateBaseQueryOptions<
@@ -44,41 +47,43 @@ export interface CreateQueryOptions<
44
47
  TQueryKey
45
48
  > {}
46
49
 
47
- export interface CreateQueryResult<TData = unknown, TError = unknown>
50
+ export interface CreateQueryResult<TData = unknown, TError = RegisteredError>
48
51
  extends CreateBaseQueryResult<TData, TError> {}
49
52
 
50
53
  export interface CreateInfiniteQueryOptions<
51
54
  TQueryFnData = unknown,
52
- TError = unknown,
55
+ TError = RegisteredError,
53
56
  TData = TQueryFnData,
54
57
  TQueryData = TQueryFnData,
55
58
  TQueryKey extends QueryKey = QueryKey,
59
+ TPageParam = unknown,
56
60
  > extends InfiniteQueryObserverOptions<
57
61
  TQueryFnData,
58
62
  TError,
59
63
  TData,
60
64
  TQueryData,
61
- TQueryKey
65
+ TQueryKey,
66
+ TPageParam
62
67
  > {}
63
68
 
64
69
  export type CreateInfiniteQueryResult<
65
70
  TData = unknown,
66
- TError = unknown,
71
+ TError = RegisteredError,
67
72
  > = Readable<InfiniteQueryObserverResult<TData, TError>>
68
73
 
69
74
  export type DefinedCreateBaseQueryResult<
70
75
  TData = unknown,
71
- TError = unknown,
76
+ TError = RegisteredError,
72
77
  > = Readable<DefinedQueryObserverResult<TData, TError>>
73
78
 
74
79
  export type DefinedCreateQueryResult<
75
80
  TData = unknown,
76
- TError = unknown,
81
+ TError = RegisteredError,
77
82
  > = DefinedCreateBaseQueryResult<TData, TError>
78
83
 
79
84
  export interface CreateMutationOptions<
80
85
  TData = unknown,
81
- TError = unknown,
86
+ TError = RegisteredError,
82
87
  TVariables = void,
83
88
  TContext = unknown,
84
89
  > extends ContextOptions,
@@ -89,7 +94,7 @@ export interface CreateMutationOptions<
89
94
 
90
95
  export type CreateMutateFunction<
91
96
  TData = unknown,
92
- TError = unknown,
97
+ TError = RegisteredError,
93
98
  TVariables = void,
94
99
  TContext = unknown,
95
100
  > = (
@@ -98,14 +103,14 @@ export type CreateMutateFunction<
98
103
 
99
104
  export type CreateMutateAsyncFunction<
100
105
  TData = unknown,
101
- TError = unknown,
106
+ TError = RegisteredError,
102
107
  TVariables = void,
103
108
  TContext = unknown,
104
109
  > = MutateFunction<TData, TError, TVariables, TContext>
105
110
 
106
111
  export type CreateBaseMutationResult<
107
112
  TData = unknown,
108
- TError = unknown,
113
+ TError = RegisteredError,
109
114
  TVariables = unknown,
110
115
  TContext = unknown,
111
116
  > = Override<
@@ -117,7 +122,7 @@ export type CreateBaseMutationResult<
117
122
 
118
123
  export interface CreateMutationResult<
119
124
  TData = unknown,
120
- TError = unknown,
125
+ TError = RegisteredError,
121
126
  TVariables = unknown,
122
127
  TContext = unknown,
123
128
  > extends Readable<
package/src/useHydrate.ts CHANGED
@@ -5,8 +5,12 @@ import {
5
5
  } from '@tanstack/query-core'
6
6
  import { useQueryClient } from './useQueryClient'
7
7
 
8
- export function useHydrate(state?: unknown, options?: HydrateOptions) {
9
- const client: QueryClient = useQueryClient()
8
+ export function useHydrate(
9
+ state?: unknown,
10
+ options?: HydrateOptions,
11
+ queryClient?: QueryClient,
12
+ ) {
13
+ const client = useQueryClient(queryClient)
10
14
 
11
15
  if (state) {
12
16
  hydrate(client, state, options)
@@ -1,25 +1,16 @@
1
1
  import {
2
2
  type QueryFilters,
3
- type QueryKey,
4
3
  type QueryClient,
5
- parseFilterArgs,
6
4
  notifyManager,
7
5
  } from '@tanstack/query-core'
8
6
  import { type Readable, readable } from 'svelte/store'
9
7
  import { useQueryClient } from './useQueryClient'
10
8
 
11
- export function useIsFetching(filters?: QueryFilters): Readable<number>
12
9
  export function useIsFetching(
13
- queryKey?: QueryKey,
14
10
  filters?: QueryFilters,
15
- ): Readable<number>
16
-
17
- export function useIsFetching(
18
- arg1?: QueryKey | QueryFilters,
19
- arg2?: QueryFilters,
11
+ queryClient?: QueryClient,
20
12
  ): Readable<number> {
21
- const [filters] = parseFilterArgs(arg1, arg2)
22
- const client: QueryClient = useQueryClient()
13
+ const client = useQueryClient(queryClient)
23
14
  const cache = client.getQueryCache()
24
15
  // isFetching is the prev value initialized on mount *
25
16
  let isFetching = client.isFetching(filters)
@@ -1,25 +1,16 @@
1
1
  import {
2
2
  type MutationFilters,
3
- type MutationKey,
4
3
  type QueryClient,
5
4
  notifyManager,
6
- parseMutationFilterArgs,
7
5
  } from '@tanstack/query-core'
8
6
  import { type Readable, readable } from 'svelte/store'
9
7
  import { useQueryClient } from './useQueryClient'
10
8
 
11
- export function useIsMutating(filters?: MutationFilters): Readable<number>
12
9
  export function useIsMutating(
13
- mutationKey?: MutationKey,
14
- filters?: Omit<MutationFilters, 'mutationKey'>,
15
- ): Readable<number>
16
-
17
- export function useIsMutating(
18
- arg1?: MutationKey | MutationFilters,
19
- arg2?: Omit<MutationFilters, 'mutationKey'>,
10
+ filters?: MutationFilters,
11
+ queryClient?: QueryClient,
20
12
  ): Readable<number> {
21
- const [filters] = parseMutationFilterArgs(arg1, arg2)
22
- const client: QueryClient = useQueryClient()
13
+ const client = useQueryClient(queryClient)
23
14
  const cache = client.getMutationCache()
24
15
  // isMutating is the prev value initialized on mount *
25
16
  let isMutating = client.isMutating(filters)
@@ -1,7 +1,12 @@
1
1
  import type { QueryClient } from '@tanstack/query-core'
2
2
  import { getQueryClientContext } from './context'
3
3
 
4
- export function useQueryClient(): QueryClient {
5
- const queryClient = getQueryClientContext()
6
- return queryClient
4
+ export function useQueryClient(queryClient?: QueryClient): QueryClient {
5
+ const client = getQueryClientContext()
6
+
7
+ if (queryClient) {
8
+ return queryClient
9
+ }
10
+
11
+ return client
7
12
  }