@tanstack/angular-query-experimental 5.60.0 → 5.60.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/{rollup.d.ts → index.d.ts} +280 -361
- package/build/index.js +572 -0
- package/build/index.js.map +1 -0
- package/package.json +12 -15
- package/src/create-base-query.ts +117 -0
- package/src/index.ts +28 -0
- package/src/infinite-query-options.ts +125 -0
- package/src/inject-infinite-query.ts +119 -0
- package/src/inject-is-fetching.ts +49 -0
- package/src/inject-is-mutating.ts +48 -0
- package/src/inject-mutation-state.ts +102 -0
- package/src/inject-mutation.ts +121 -0
- package/src/inject-queries.ts +246 -0
- package/src/inject-query-client.ts +22 -0
- package/src/inject-query.ts +207 -0
- package/src/providers.ts +351 -0
- package/src/query-options.ts +125 -0
- package/src/signal-proxy.ts +46 -0
- package/src/test-setup.ts +12 -0
- package/src/types.ts +328 -0
- package/src/util/assert-injector/assert-injector.test.ts +74 -0
- package/src/util/assert-injector/assert-injector.ts +81 -0
- package/src/util/index.ts +13 -0
- package/src/util/is-dev-mode/is-dev-mode.ts +3 -0
- package/src/util/lazy-init/lazy-init.ts +34 -0
- package/src/util/lazy-signal-initializer/lazy-signal-initializer.ts +23 -0
- package/build/README.md +0 -133
- package/build/esm2022/create-base-query.mjs +0 -62
- package/build/esm2022/index.mjs +0 -16
- package/build/esm2022/infinite-query-options.mjs +0 -12
- package/build/esm2022/inject-infinite-query.mjs +0 -15
- package/build/esm2022/inject-is-fetching.mjs +0 -38
- package/build/esm2022/inject-is-mutating.mjs +0 -37
- package/build/esm2022/inject-mutation-state.mjs +0 -47
- package/build/esm2022/inject-mutation.mjs +0 -51
- package/build/esm2022/inject-queries.mjs +0 -33
- package/build/esm2022/inject-query-client.mjs +0 -23
- package/build/esm2022/inject-query.mjs +0 -44
- package/build/esm2022/providers.mjs +0 -206
- package/build/esm2022/query-options.mjs +0 -26
- package/build/esm2022/signal-proxy.mjs +0 -38
- package/build/esm2022/tanstack-angular-query-experimental.mjs +0 -5
- package/build/esm2022/types.mjs +0 -3
- package/build/esm2022/util/assert-injector/assert-injector.mjs +0 -21
- package/build/esm2022/util/create-injection-token/create-injection-token.mjs +0 -61
- package/build/esm2022/util/index.mjs +0 -9
- package/build/esm2022/util/is-dev-mode/is-dev-mode.mjs +0 -3
- package/build/esm2022/util/lazy-init/lazy-init.mjs +0 -31
- package/build/esm2022/util/lazy-signal-initializer/lazy-signal-initializer.mjs +0 -14
- package/build/fesm2022/tanstack-angular-query-experimental.mjs +0 -738
- package/build/fesm2022/tanstack-angular-query-experimental.mjs.map +0 -1
|
@@ -1,257 +1,182 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import type { InfiniteData } from '@tanstack/query-core';
|
|
10
|
-
import type { InfiniteQueryObserverOptions } from '@tanstack/query-core';
|
|
11
|
-
import type { InfiniteQueryObserverResult } from '@tanstack/query-core';
|
|
12
|
-
import type { InitialDataFunction } from '@tanstack/query-core';
|
|
13
|
-
import { InjectionToken } from '@angular/core';
|
|
14
|
-
import { InjectOptions } from '@angular/core';
|
|
15
|
-
import { Injector } from '@angular/core';
|
|
16
|
-
import type { MutateFunction } from '@tanstack/query-core';
|
|
17
|
-
import type { Mutation } from '@tanstack/query-core';
|
|
18
|
-
import type { MutationFilters } from '@tanstack/query-core';
|
|
19
|
-
import type { MutationObserverOptions } from '@tanstack/query-core';
|
|
20
|
-
import type { MutationObserverResult } from '@tanstack/query-core';
|
|
21
|
-
import type { MutationState } from '@tanstack/query-core';
|
|
22
|
-
import type { OmitKeyof } from '@tanstack/query-core';
|
|
23
|
-
import type { Override } from '@tanstack/query-core';
|
|
24
|
-
import { Provider } from '@angular/core';
|
|
25
|
-
import type { QueriesPlaceholderDataFunction } from '@tanstack/query-core';
|
|
26
|
-
import type { QueryClient } from '@tanstack/query-core';
|
|
27
|
-
import type { QueryFilters } from '@tanstack/query-core';
|
|
28
|
-
import type { QueryFunction } from '@tanstack/query-core';
|
|
29
|
-
import type { QueryKey } from '@tanstack/query-core';
|
|
30
|
-
import type { QueryObserverOptions } from '@tanstack/query-core';
|
|
31
|
-
import type { QueryObserverResult } from '@tanstack/query-core';
|
|
32
|
-
import type { Signal } from '@angular/core';
|
|
33
|
-
import type { ThrowOnError } from '@tanstack/query-core';
|
|
1
|
+
import { DefaultError, QueryKey, QueryObserverOptions, OmitKeyof, InfiniteQueryObserverOptions, QueryObserverResult, DefinedQueryObserverResult, InfiniteQueryObserverResult, DefinedInfiniteQueryObserverResult, MutationObserverOptions, MutateFunction, Override, MutationObserverResult, InitialDataFunction, DataTag, InfiniteData, QueryClient, QueryFilters, MutationFilters, MutationState, Mutation, QueriesPlaceholderDataFunction, QueryFunction, ThrowOnError } from '@tanstack/query-core';
|
|
2
|
+
export * from '@tanstack/query-core';
|
|
3
|
+
import { Signal, Injector, InjectOptions, EnvironmentProviders, Provider } from '@angular/core';
|
|
4
|
+
import { DevtoolsButtonPosition, DevtoolsPosition, DevtoolsErrorType } from '@tanstack/query-devtools';
|
|
5
|
+
|
|
6
|
+
type MapToSignals<T> = {
|
|
7
|
+
[K in keyof T]: T[K] extends Function ? T[K] : Signal<T[K]>;
|
|
8
|
+
};
|
|
34
9
|
|
|
35
10
|
/**
|
|
36
11
|
* @public
|
|
37
12
|
*/
|
|
38
|
-
|
|
39
|
-
isSuccess: SignalFunction<(this: CreateMutationResult<TData, TError, TVariables, TContext>) => this is CreateMutationResult<TData, TError, TVariables, TContext, CreateStatusBasedMutationResult<'success', TData, TError, TVariables, TContext>>>;
|
|
40
|
-
isError: SignalFunction<(this: CreateMutationResult<TData, TError, TVariables, TContext>) => this is CreateMutationResult<TData, TError, TVariables, TContext, CreateStatusBasedMutationResult<'error', TData, TError, TVariables, TContext>>>;
|
|
41
|
-
isPending: SignalFunction<(this: CreateMutationResult<TData, TError, TVariables, TContext>) => this is CreateMutationResult<TData, TError, TVariables, TContext, CreateStatusBasedMutationResult<'pending', TData, TError, TVariables, TContext>>>;
|
|
42
|
-
isIdle: SignalFunction<(this: CreateMutationResult<TData, TError, TVariables, TContext>) => this is CreateMutationResult<TData, TError, TVariables, TContext, CreateStatusBasedMutationResult<'idle', TData, TError, TVariables, TContext>>>;
|
|
13
|
+
interface CreateBaseQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey> {
|
|
43
14
|
}
|
|
44
|
-
|
|
45
15
|
/**
|
|
46
16
|
* @public
|
|
47
17
|
*/
|
|
48
|
-
|
|
49
|
-
isSuccess: (this: CreateBaseQueryResult<TData, TError>) => this is CreateBaseQueryResult<TData, TError, CreateStatusBasedQueryResult<'success', TData, TError>>;
|
|
50
|
-
isError: (this: CreateBaseQueryResult<TData, TError>) => this is CreateBaseQueryResult<TData, TError, CreateStatusBasedQueryResult<'error', TData, TError>>;
|
|
51
|
-
isPending: (this: CreateBaseQueryResult<TData, TError>) => this is CreateBaseQueryResult<TData, TError, CreateStatusBasedQueryResult<'pending', TData, TError>>;
|
|
18
|
+
interface CreateQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> extends OmitKeyof<CreateBaseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>, 'suspense'> {
|
|
52
19
|
}
|
|
53
|
-
|
|
54
20
|
/**
|
|
55
21
|
* @public
|
|
56
22
|
*/
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
mutateAsync: CreateMutateAsyncFunction<TData, TError, TVariables, TContext>;
|
|
61
|
-
};
|
|
62
|
-
|
|
23
|
+
type CreateStatusBasedQueryResult<TStatus extends QueryObserverResult['status'], TData = unknown, TError = DefaultError> = Extract<QueryObserverResult<TData, TError>, {
|
|
24
|
+
status: TStatus;
|
|
25
|
+
}>;
|
|
63
26
|
/**
|
|
64
27
|
* @public
|
|
65
28
|
*/
|
|
66
|
-
|
|
29
|
+
interface BaseQueryNarrowing<TData = unknown, TError = DefaultError> {
|
|
30
|
+
isSuccess: (this: CreateBaseQueryResult<TData, TError>) => this is CreateBaseQueryResult<TData, TError, CreateStatusBasedQueryResult<'success', TData, TError>>;
|
|
31
|
+
isError: (this: CreateBaseQueryResult<TData, TError>) => this is CreateBaseQueryResult<TData, TError, CreateStatusBasedQueryResult<'error', TData, TError>>;
|
|
32
|
+
isPending: (this: CreateBaseQueryResult<TData, TError>) => this is CreateBaseQueryResult<TData, TError, CreateStatusBasedQueryResult<'pending', TData, TError>>;
|
|
67
33
|
}
|
|
68
|
-
|
|
69
34
|
/**
|
|
70
35
|
* @public
|
|
71
36
|
*/
|
|
72
|
-
|
|
73
|
-
|
|
37
|
+
interface CreateInfiniteQueryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> extends OmitKeyof<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>, 'suspense'> {
|
|
38
|
+
}
|
|
74
39
|
/**
|
|
75
40
|
* @public
|
|
76
41
|
*/
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
|
|
42
|
+
type CreateBaseQueryResult<TData = unknown, TError = DefaultError, TState = QueryObserverResult<TData, TError>> = BaseQueryNarrowing<TData, TError> & MapToSignals<OmitKeyof<TState, keyof BaseQueryNarrowing, 'safely'>>;
|
|
80
43
|
/**
|
|
81
44
|
* @public
|
|
82
45
|
*/
|
|
83
|
-
|
|
84
|
-
|
|
46
|
+
type CreateQueryResult<TData = unknown, TError = DefaultError> = CreateBaseQueryResult<TData, TError>;
|
|
85
47
|
/**
|
|
86
48
|
* @public
|
|
87
49
|
*/
|
|
88
|
-
|
|
89
|
-
|
|
50
|
+
type DefinedCreateQueryResult<TData = unknown, TError = DefaultError, TDefinedQueryObserver = DefinedQueryObserverResult<TData, TError>> = MapToSignals<TDefinedQueryObserver>;
|
|
90
51
|
/**
|
|
91
52
|
* @public
|
|
92
53
|
*/
|
|
93
|
-
|
|
94
|
-
|
|
54
|
+
type CreateInfiniteQueryResult<TData = unknown, TError = DefaultError> = MapToSignals<InfiniteQueryObserverResult<TData, TError>>;
|
|
95
55
|
/**
|
|
96
56
|
* @public
|
|
97
57
|
*/
|
|
98
|
-
|
|
58
|
+
type DefinedCreateInfiniteQueryResult<TData = unknown, TError = DefaultError, TDefinedInfiniteQueryObserver = DefinedInfiniteQueryObserverResult<TData, TError>> = MapToSignals<TDefinedInfiniteQueryObserver>;
|
|
59
|
+
/**
|
|
60
|
+
* @public
|
|
61
|
+
*/
|
|
62
|
+
interface CreateMutationOptions<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> extends OmitKeyof<MutationObserverOptions<TData, TError, TVariables, TContext>, '_defaulted'> {
|
|
99
63
|
}
|
|
100
|
-
|
|
101
64
|
/**
|
|
102
65
|
* @public
|
|
103
66
|
*/
|
|
104
|
-
|
|
105
|
-
|
|
67
|
+
type CreateMutateFunction<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = (...args: Parameters<MutateFunction<TData, TError, TVariables, TContext>>) => void;
|
|
106
68
|
/**
|
|
107
69
|
* @public
|
|
108
70
|
*/
|
|
109
|
-
|
|
110
|
-
}
|
|
111
|
-
|
|
71
|
+
type CreateMutateAsyncFunction<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown> = MutateFunction<TData, TError, TVariables, TContext>;
|
|
112
72
|
/**
|
|
113
73
|
* @public
|
|
114
74
|
*/
|
|
115
|
-
|
|
116
|
-
|
|
75
|
+
type CreateBaseMutationResult<TData = unknown, TError = DefaultError, TVariables = unknown, TContext = unknown> = Override<MutationObserverResult<TData, TError, TVariables, TContext>, {
|
|
76
|
+
mutate: CreateMutateFunction<TData, TError, TVariables, TContext>;
|
|
77
|
+
}> & {
|
|
78
|
+
mutateAsync: CreateMutateAsyncFunction<TData, TError, TVariables, TContext>;
|
|
79
|
+
};
|
|
117
80
|
/**
|
|
118
81
|
* @public
|
|
119
82
|
*/
|
|
120
|
-
|
|
83
|
+
type CreateStatusBasedMutationResult<TStatus extends CreateBaseMutationResult['status'], TData = unknown, TError = DefaultError, TVariables = unknown, TContext = unknown> = Extract<CreateBaseMutationResult<TData, TError, TVariables, TContext>, {
|
|
121
84
|
status: TStatus;
|
|
122
85
|
}>;
|
|
123
|
-
|
|
86
|
+
type SignalFunction<T extends () => any> = T & Signal<ReturnType<T>>;
|
|
124
87
|
/**
|
|
125
88
|
* @public
|
|
126
89
|
*/
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
90
|
+
interface BaseMutationNarrowing<TData = unknown, TError = DefaultError, TVariables = unknown, TContext = unknown> {
|
|
91
|
+
isSuccess: SignalFunction<(this: CreateMutationResult<TData, TError, TVariables, TContext>) => this is CreateMutationResult<TData, TError, TVariables, TContext, CreateStatusBasedMutationResult<'success', TData, TError, TVariables, TContext>>>;
|
|
92
|
+
isError: SignalFunction<(this: CreateMutationResult<TData, TError, TVariables, TContext>) => this is CreateMutationResult<TData, TError, TVariables, TContext, CreateStatusBasedMutationResult<'error', TData, TError, TVariables, TContext>>>;
|
|
93
|
+
isPending: SignalFunction<(this: CreateMutationResult<TData, TError, TVariables, TContext>) => this is CreateMutationResult<TData, TError, TVariables, TContext, CreateStatusBasedMutationResult<'pending', TData, TError, TVariables, TContext>>>;
|
|
94
|
+
isIdle: SignalFunction<(this: CreateMutationResult<TData, TError, TVariables, TContext>) => this is CreateMutationResult<TData, TError, TVariables, TContext, CreateStatusBasedMutationResult<'idle', TData, TError, TVariables, TContext>>>;
|
|
95
|
+
}
|
|
131
96
|
/**
|
|
132
97
|
* @public
|
|
133
98
|
*/
|
|
134
|
-
|
|
135
|
-
|
|
99
|
+
type CreateMutationResult<TData = unknown, TError = DefaultError, TVariables = unknown, TContext = unknown, TState = CreateStatusBasedMutationResult<CreateBaseMutationResult['status'], TData, TError, TVariables, TContext>> = BaseMutationNarrowing<TData, TError, TVariables, TContext> & MapToSignals<OmitKeyof<TState, keyof BaseMutationNarrowing, 'safely'>>;
|
|
136
100
|
/**
|
|
137
101
|
* @public
|
|
138
102
|
*/
|
|
139
|
-
|
|
103
|
+
type NonUndefinedGuard<T> = T extends undefined ? never : T;
|
|
140
104
|
|
|
141
105
|
/**
|
|
142
106
|
* @public
|
|
143
107
|
*/
|
|
144
|
-
|
|
145
|
-
initialData
|
|
108
|
+
type UndefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
|
|
109
|
+
initialData?: undefined | InitialDataFunction<NonUndefinedGuard<TQueryFnData>>;
|
|
146
110
|
};
|
|
147
|
-
|
|
148
111
|
/**
|
|
149
112
|
* @public
|
|
150
113
|
*/
|
|
151
|
-
|
|
114
|
+
type DefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
|
|
152
115
|
initialData: NonUndefinedGuard<TQueryFnData> | (() => NonUndefinedGuard<TQueryFnData>);
|
|
153
116
|
};
|
|
154
|
-
|
|
155
117
|
/**
|
|
156
|
-
*
|
|
157
|
-
*
|
|
118
|
+
* Allows to share and re-use query options in a type-safe way.
|
|
119
|
+
*
|
|
120
|
+
* The `queryKey` will be tagged with the type from `queryFn`.
|
|
121
|
+
*
|
|
122
|
+
* **Example**
|
|
123
|
+
*
|
|
124
|
+
* ```ts
|
|
125
|
+
* const { queryKey } = queryOptions({
|
|
126
|
+
* queryKey: ['key'],
|
|
127
|
+
* queryFn: () => Promise.resolve(5),
|
|
128
|
+
* // ^? Promise<number>
|
|
129
|
+
* })
|
|
130
|
+
*
|
|
131
|
+
* const queryClient = new QueryClient()
|
|
132
|
+
* const data = queryClient.getQueryData(queryKey)
|
|
133
|
+
* // ^? number | undefined
|
|
134
|
+
* ```
|
|
135
|
+
* @param options - The query options to tag with the type from `queryFn`.
|
|
136
|
+
* @returns The tagged query options.
|
|
158
137
|
* @public
|
|
159
|
-
* @see {@link withDevtools}
|
|
160
138
|
*/
|
|
161
|
-
|
|
162
|
-
|
|
139
|
+
declare function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>): DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {
|
|
140
|
+
queryKey: DataTag<TQueryKey, TQueryFnData>;
|
|
141
|
+
};
|
|
163
142
|
/**
|
|
164
|
-
*
|
|
143
|
+
* Allows to share and re-use query options in a type-safe way.
|
|
144
|
+
*
|
|
145
|
+
* The `queryKey` will be tagged with the type from `queryFn`.
|
|
146
|
+
*
|
|
147
|
+
* **Example**
|
|
148
|
+
*
|
|
149
|
+
* ```ts
|
|
150
|
+
* const { queryKey } = queryOptions({
|
|
151
|
+
* queryKey: ['key'],
|
|
152
|
+
* queryFn: () => Promise.resolve(5),
|
|
153
|
+
* // ^? Promise<number>
|
|
154
|
+
* })
|
|
155
|
+
*
|
|
156
|
+
* const queryClient = new QueryClient()
|
|
157
|
+
* const data = queryClient.getQueryData(queryKey)
|
|
158
|
+
* // ^? number | undefined
|
|
159
|
+
* ```
|
|
160
|
+
* @param options - The query options to tag with the type from `queryFn`.
|
|
161
|
+
* @returns The tagged query options.
|
|
165
162
|
* @public
|
|
166
163
|
*/
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
*/
|
|
171
|
-
initialIsOpen?: boolean;
|
|
172
|
-
/**
|
|
173
|
-
* The position of the TanStack logo to open and close the devtools panel.
|
|
174
|
-
* `top-left` | `top-right` | `bottom-left` | `bottom-right` | `relative`
|
|
175
|
-
* Defaults to `bottom-right`.
|
|
176
|
-
*/
|
|
177
|
-
buttonPosition?: DevtoolsButtonPosition;
|
|
178
|
-
/**
|
|
179
|
-
* The position of the TanStack Query devtools panel.
|
|
180
|
-
* `top` | `bottom` | `left` | `right`
|
|
181
|
-
* Defaults to `bottom`.
|
|
182
|
-
*/
|
|
183
|
-
position?: DevtoolsPosition;
|
|
184
|
-
/**
|
|
185
|
-
* Custom instance of QueryClient
|
|
186
|
-
*/
|
|
187
|
-
client?: QueryClient;
|
|
188
|
-
/**
|
|
189
|
-
* Use this so you can define custom errors that can be shown in the devtools.
|
|
190
|
-
*/
|
|
191
|
-
errorTypes?: Array<DevtoolsErrorType>;
|
|
192
|
-
/**
|
|
193
|
-
* Use this to pass a nonce to the style tag that is added to the document head. This is useful if you are using a Content Security Policy (CSP) nonce to allow inline styles.
|
|
194
|
-
*/
|
|
195
|
-
styleNonce?: string;
|
|
196
|
-
/**
|
|
197
|
-
* Use this so you can attach the devtool's styles to a specific element in the DOM.
|
|
198
|
-
*/
|
|
199
|
-
shadowDOMTarget?: ShadowRoot;
|
|
200
|
-
/**
|
|
201
|
-
* Whether the developer tools should load.
|
|
202
|
-
* - `auto`- (Default) Lazily loads devtools when in development mode. Skips loading in production mode.
|
|
203
|
-
* - `true`- Always load the devtools, regardless of the environment.
|
|
204
|
-
* - `false`- Never load the devtools, regardless of the environment.
|
|
205
|
-
*
|
|
206
|
-
* You can use `true` and `false` to override loading developer tools from an environment file.
|
|
207
|
-
* For example, a test environment might run in production mode but you may want to load developer tools.
|
|
208
|
-
*
|
|
209
|
-
* Additionally, you can use a signal in the callback to dynamically load the devtools based on a condition. For example,
|
|
210
|
-
* a signal created from a RxJS observable that listens for a keyboard shortcut.
|
|
211
|
-
*
|
|
212
|
-
* **Example**
|
|
213
|
-
* ```ts
|
|
214
|
-
* withDevtools(() => ({
|
|
215
|
-
* initialIsOpen: true,
|
|
216
|
-
* loadDevtools: inject(ExampleService).loadDevtools()
|
|
217
|
-
* }))
|
|
218
|
-
* ```
|
|
219
|
-
*/
|
|
220
|
-
loadDevtools?: 'auto' | boolean;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
declare type GetOptions<T> = T extends {
|
|
224
|
-
queryFnData: infer TQueryFnData;
|
|
225
|
-
error?: infer TError;
|
|
226
|
-
data: infer TData;
|
|
227
|
-
} ? QueryObserverOptionsForCreateQueries<TQueryFnData, TError, TData> : T extends {
|
|
228
|
-
queryFnData: infer TQueryFnData;
|
|
229
|
-
error?: infer TError;
|
|
230
|
-
} ? QueryObserverOptionsForCreateQueries<TQueryFnData, TError> : T extends {
|
|
231
|
-
data: infer TData;
|
|
232
|
-
error?: infer TError;
|
|
233
|
-
} ? QueryObserverOptionsForCreateQueries<unknown, TError, TData> : T extends [infer TQueryFnData, infer TError, infer TData] ? QueryObserverOptionsForCreateQueries<TQueryFnData, TError, TData> : T extends [infer TQueryFnData, infer TError] ? QueryObserverOptionsForCreateQueries<TQueryFnData, TError> : T extends [infer TQueryFnData] ? QueryObserverOptionsForCreateQueries<TQueryFnData> : T extends {
|
|
234
|
-
queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> | SkipTokenForUseQueries;
|
|
235
|
-
select: (data: any) => infer TData;
|
|
236
|
-
throwOnError?: ThrowOnError<any, infer TError, any, any>;
|
|
237
|
-
} ? QueryObserverOptionsForCreateQueries<TQueryFnData, unknown extends TError ? DefaultError : TError, unknown extends TData ? TQueryFnData : TData, TQueryKey> : QueryObserverOptionsForCreateQueries;
|
|
238
|
-
|
|
239
|
-
declare type GetResults<T> = T extends {
|
|
240
|
-
queryFnData: any;
|
|
241
|
-
error?: infer TError;
|
|
242
|
-
data: infer TData;
|
|
243
|
-
} ? QueryObserverResult<TData, TError> : T extends {
|
|
244
|
-
queryFnData: infer TQueryFnData;
|
|
245
|
-
error?: infer TError;
|
|
246
|
-
} ? QueryObserverResult<TQueryFnData, TError> : T extends {
|
|
247
|
-
data: infer TData;
|
|
248
|
-
error?: infer TError;
|
|
249
|
-
} ? QueryObserverResult<TData, TError> : T extends [any, infer TError, infer TData] ? QueryObserverResult<TData, TError> : T extends [infer TQueryFnData, infer TError] ? QueryObserverResult<TQueryFnData, TError> : T extends [infer TQueryFnData] ? QueryObserverResult<TQueryFnData> : T extends {
|
|
250
|
-
queryFn?: QueryFunction<infer TQueryFnData, any> | SkipTokenForUseQueries;
|
|
251
|
-
select: (data: any) => infer TData;
|
|
252
|
-
throwOnError?: ThrowOnError<any, infer TError, any, any>;
|
|
253
|
-
} ? QueryObserverResult<unknown extends TData ? TQueryFnData : TData, unknown extends TError ? DefaultError : TError> : QueryObserverResult;
|
|
164
|
+
declare function queryOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>): UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & {
|
|
165
|
+
queryKey: DataTag<TQueryKey, TQueryFnData>;
|
|
166
|
+
};
|
|
254
167
|
|
|
168
|
+
/**
|
|
169
|
+
* @public
|
|
170
|
+
*/
|
|
171
|
+
type UndefinedInitialDataInfiniteOptions<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> = CreateInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey, TPageParam> & {
|
|
172
|
+
initialData?: undefined;
|
|
173
|
+
};
|
|
174
|
+
/**
|
|
175
|
+
* @public
|
|
176
|
+
*/
|
|
177
|
+
type DefinedInitialDataInfiniteOptions<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> = CreateInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey, TPageParam> & {
|
|
178
|
+
initialData: NonUndefinedGuard<InfiniteData<TQueryFnData, TPageParam>> | (() => NonUndefinedGuard<InfiniteData<TQueryFnData, TPageParam>>);
|
|
179
|
+
};
|
|
255
180
|
/**
|
|
256
181
|
* Allows to share and re-use infinite query options in a type-safe way.
|
|
257
182
|
*
|
|
@@ -260,10 +185,9 @@ declare type GetResults<T> = T extends {
|
|
|
260
185
|
* @returns The tagged infinite query options.
|
|
261
186
|
* @public
|
|
262
187
|
*/
|
|
263
|
-
|
|
188
|
+
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> & {
|
|
264
189
|
queryKey: DataTag<TQueryKey, InfiniteData<TQueryFnData>>;
|
|
265
190
|
};
|
|
266
|
-
|
|
267
191
|
/**
|
|
268
192
|
* Allows to share and re-use infinite query options in a type-safe way.
|
|
269
193
|
*
|
|
@@ -272,7 +196,7 @@ export declare function infiniteQueryOptions<TQueryFnData, TError = DefaultError
|
|
|
272
196
|
* @returns The tagged infinite query options.
|
|
273
197
|
* @public
|
|
274
198
|
*/
|
|
275
|
-
|
|
199
|
+
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> & {
|
|
276
200
|
queryKey: DataTag<TQueryKey, InfiniteData<TQueryFnData>>;
|
|
277
201
|
};
|
|
278
202
|
|
|
@@ -284,8 +208,7 @@ export declare function infiniteQueryOptions<TQueryFnData, TError = DefaultError
|
|
|
284
208
|
* @returns The infinite query result.
|
|
285
209
|
* @public
|
|
286
210
|
*/
|
|
287
|
-
|
|
288
|
-
|
|
211
|
+
declare function injectInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(optionsFn: (client: QueryClient) => DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, injector?: Injector): DefinedCreateInfiniteQueryResult<TData, TError>;
|
|
289
212
|
/**
|
|
290
213
|
* Injects an infinite query: a declarative dependency on an asynchronous source of data that is tied to a unique key.
|
|
291
214
|
* Infinite queries can additively "load more" data onto an existing set of data or "infinite scroll"
|
|
@@ -294,8 +217,7 @@ export declare function injectInfiniteQuery<TQueryFnData, TError = DefaultError,
|
|
|
294
217
|
* @returns The infinite query result.
|
|
295
218
|
* @public
|
|
296
219
|
*/
|
|
297
|
-
|
|
298
|
-
|
|
220
|
+
declare function injectInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(optionsFn: (client: QueryClient) => UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, injector?: Injector): CreateInfiniteQueryResult<TData, TError>;
|
|
299
221
|
/**
|
|
300
222
|
* Injects an infinite query: a declarative dependency on an asynchronous source of data that is tied to a unique key.
|
|
301
223
|
* Infinite queries can additively "load more" data onto an existing set of data or "infinite scroll"
|
|
@@ -304,7 +226,7 @@ export declare function injectInfiniteQuery<TQueryFnData, TError = DefaultError,
|
|
|
304
226
|
* @returns The infinite query result.
|
|
305
227
|
* @public
|
|
306
228
|
*/
|
|
307
|
-
|
|
229
|
+
declare function injectInfiniteQuery<TQueryFnData, TError = DefaultError, TData = InfiniteData<TQueryFnData>, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(optionsFn: (client: QueryClient) => CreateInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey, TPageParam>, injector?: Injector): CreateInfiniteQueryResult<TData, TError>;
|
|
308
230
|
|
|
309
231
|
/**
|
|
310
232
|
* Injects a signal that tracks the number of queries that your application is loading or
|
|
@@ -316,7 +238,7 @@ export declare function injectInfiniteQuery<TQueryFnData, TError = DefaultError,
|
|
|
316
238
|
* @returns signal with number of loading or fetching queries.
|
|
317
239
|
* @public
|
|
318
240
|
*/
|
|
319
|
-
|
|
241
|
+
declare function injectIsFetching(filters?: QueryFilters, injector?: Injector): Signal<number>;
|
|
320
242
|
|
|
321
243
|
/**
|
|
322
244
|
* Injects a signal that tracks the number of mutations that your application is fetching.
|
|
@@ -327,7 +249,7 @@ export declare function injectIsFetching(filters?: QueryFilters, injector?: Inje
|
|
|
327
249
|
* @returns signal with number of fetching mutations.
|
|
328
250
|
* @public
|
|
329
251
|
*/
|
|
330
|
-
|
|
252
|
+
declare function injectIsMutating(filters?: MutationFilters, injector?: Injector): Signal<number>;
|
|
331
253
|
|
|
332
254
|
/**
|
|
333
255
|
* Injects a mutation: an imperative function that can be invoked which typically performs server side effects.
|
|
@@ -338,8 +260,18 @@ export declare function injectIsMutating(filters?: MutationFilters, injector?: I
|
|
|
338
260
|
* @returns The mutation.
|
|
339
261
|
* @public
|
|
340
262
|
*/
|
|
341
|
-
|
|
263
|
+
declare function injectMutation<TData = unknown, TError = DefaultError, TVariables = void, TContext = unknown>(optionsFn: (client: QueryClient) => CreateMutationOptions<TData, TError, TVariables, TContext>, injector?: Injector): CreateMutationResult<TData, TError, TVariables, TContext>;
|
|
342
264
|
|
|
265
|
+
type MutationStateOptions<TResult = MutationState> = {
|
|
266
|
+
filters?: MutationFilters;
|
|
267
|
+
select?: (mutation: Mutation) => TResult;
|
|
268
|
+
};
|
|
269
|
+
/**
|
|
270
|
+
* @public
|
|
271
|
+
*/
|
|
272
|
+
interface InjectMutationStateOptions {
|
|
273
|
+
injector?: Injector;
|
|
274
|
+
}
|
|
343
275
|
/**
|
|
344
276
|
* Injects a signal that tracks the state of all mutations.
|
|
345
277
|
* @param mutationStateOptionsFn - A function that returns mutation state options.
|
|
@@ -347,19 +279,73 @@ export declare function injectMutation<TData = unknown, TError = DefaultError, T
|
|
|
347
279
|
* @returns The signal that tracks the state of all mutations.
|
|
348
280
|
* @public
|
|
349
281
|
*/
|
|
350
|
-
|
|
282
|
+
declare function injectMutationState<TResult = MutationState>(mutationStateOptionsFn?: () => MutationStateOptions<TResult>, options?: InjectMutationStateOptions): Signal<Array<TResult>>;
|
|
351
283
|
|
|
284
|
+
type QueryObserverOptionsForCreateQueries<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = OmitKeyof<QueryObserverOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>, 'placeholderData'> & {
|
|
285
|
+
placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>;
|
|
286
|
+
};
|
|
287
|
+
type MAXIMUM_DEPTH = 20;
|
|
288
|
+
type SkipTokenForUseQueries = symbol;
|
|
289
|
+
type GetOptions<T> = T extends {
|
|
290
|
+
queryFnData: infer TQueryFnData;
|
|
291
|
+
error?: infer TError;
|
|
292
|
+
data: infer TData;
|
|
293
|
+
} ? QueryObserverOptionsForCreateQueries<TQueryFnData, TError, TData> : T extends {
|
|
294
|
+
queryFnData: infer TQueryFnData;
|
|
295
|
+
error?: infer TError;
|
|
296
|
+
} ? QueryObserverOptionsForCreateQueries<TQueryFnData, TError> : T extends {
|
|
297
|
+
data: infer TData;
|
|
298
|
+
error?: infer TError;
|
|
299
|
+
} ? QueryObserverOptionsForCreateQueries<unknown, TError, TData> : T extends [infer TQueryFnData, infer TError, infer TData] ? QueryObserverOptionsForCreateQueries<TQueryFnData, TError, TData> : T extends [infer TQueryFnData, infer TError] ? QueryObserverOptionsForCreateQueries<TQueryFnData, TError> : T extends [infer TQueryFnData] ? QueryObserverOptionsForCreateQueries<TQueryFnData> : T extends {
|
|
300
|
+
queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> | SkipTokenForUseQueries;
|
|
301
|
+
select: (data: any) => infer TData;
|
|
302
|
+
throwOnError?: ThrowOnError<any, infer TError, any, any>;
|
|
303
|
+
} ? QueryObserverOptionsForCreateQueries<TQueryFnData, unknown extends TError ? DefaultError : TError, unknown extends TData ? TQueryFnData : TData, TQueryKey> : QueryObserverOptionsForCreateQueries;
|
|
304
|
+
type GetResults<T> = T extends {
|
|
305
|
+
queryFnData: any;
|
|
306
|
+
error?: infer TError;
|
|
307
|
+
data: infer TData;
|
|
308
|
+
} ? QueryObserverResult<TData, TError> : T extends {
|
|
309
|
+
queryFnData: infer TQueryFnData;
|
|
310
|
+
error?: infer TError;
|
|
311
|
+
} ? QueryObserverResult<TQueryFnData, TError> : T extends {
|
|
312
|
+
data: infer TData;
|
|
313
|
+
error?: infer TError;
|
|
314
|
+
} ? QueryObserverResult<TData, TError> : T extends [any, infer TError, infer TData] ? QueryObserverResult<TData, TError> : T extends [infer TQueryFnData, infer TError] ? QueryObserverResult<TQueryFnData, TError> : T extends [infer TQueryFnData] ? QueryObserverResult<TQueryFnData> : T extends {
|
|
315
|
+
queryFn?: QueryFunction<infer TQueryFnData, any> | SkipTokenForUseQueries;
|
|
316
|
+
select: (data: any) => infer TData;
|
|
317
|
+
throwOnError?: ThrowOnError<any, infer TError, any, any>;
|
|
318
|
+
} ? QueryObserverResult<unknown extends TData ? TQueryFnData : TData, unknown extends TError ? DefaultError : TError> : QueryObserverResult;
|
|
352
319
|
/**
|
|
320
|
+
* QueriesOptions reducer recursively unwraps function arguments to infer/enforce type param
|
|
353
321
|
* @public
|
|
354
322
|
*/
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
323
|
+
type QueriesOptions<T extends Array<any>, TResult extends Array<any> = [], TDepth extends ReadonlyArray<number> = []> = TDepth['length'] extends MAXIMUM_DEPTH ? Array<QueryObserverOptionsForCreateQueries> : T extends [] ? [] : T extends [infer Head] ? [...TResult, GetOptions<Head>] : T extends [infer Head, ...infer Tail] ? QueriesOptions<[
|
|
324
|
+
...Tail
|
|
325
|
+
], [
|
|
326
|
+
...TResult,
|
|
327
|
+
GetOptions<Head>
|
|
328
|
+
], [
|
|
329
|
+
...TDepth,
|
|
330
|
+
1
|
|
331
|
+
]> : ReadonlyArray<unknown> extends T ? T : T extends Array<QueryObserverOptionsForCreateQueries<infer TQueryFnData, infer TError, infer TData, infer TQueryKey>> ? Array<QueryObserverOptionsForCreateQueries<TQueryFnData, TError, TData, TQueryKey>> : Array<QueryObserverOptionsForCreateQueries>;
|
|
332
|
+
/**
|
|
333
|
+
* QueriesResults reducer recursively maps type param to results
|
|
334
|
+
* @public
|
|
335
|
+
*/
|
|
336
|
+
type QueriesResults<T extends Array<any>, TResult extends Array<any> = [], TDepth extends ReadonlyArray<number> = []> = TDepth['length'] extends MAXIMUM_DEPTH ? Array<QueryObserverResult> : T extends [] ? [] : T extends [infer Head] ? [...TResult, GetResults<Head>] : T extends [infer Head, ...infer Tail] ? QueriesResults<[
|
|
337
|
+
...Tail
|
|
338
|
+
], [
|
|
339
|
+
...TResult,
|
|
340
|
+
GetResults<Head>
|
|
341
|
+
], [
|
|
342
|
+
...TDepth,
|
|
343
|
+
1
|
|
344
|
+
]> : T extends Array<QueryObserverOptionsForCreateQueries<infer TQueryFnData, infer TError, infer TData, any>> ? Array<QueryObserverResult<unknown extends TData ? TQueryFnData : TData, unknown extends TError ? DefaultError : TError>> : Array<QueryObserverResult>;
|
|
359
345
|
/**
|
|
360
346
|
* @public
|
|
361
347
|
*/
|
|
362
|
-
|
|
348
|
+
declare function injectQueries<T extends Array<any>, TCombinedResult = QueriesResults<T>>({ queries, ...options }: {
|
|
363
349
|
queries: Signal<[...QueriesOptions<T>]>;
|
|
364
350
|
combine?: (result: QueriesResults<T>) => TCombinedResult;
|
|
365
351
|
}, injector?: Injector): Signal<TCombinedResult>;
|
|
@@ -401,8 +387,7 @@ export declare function injectQueries<T extends Array<any>, TCombinedResult = Qu
|
|
|
401
387
|
* @public
|
|
402
388
|
* @see https://tanstack.com/query/latest/docs/framework/angular/guides/queries
|
|
403
389
|
*/
|
|
404
|
-
|
|
405
|
-
|
|
390
|
+
declare function injectQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(optionsFn: (client: QueryClient) => DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>, injector?: Injector): DefinedCreateQueryResult<TData, TError>;
|
|
406
391
|
/**
|
|
407
392
|
* Injects a query: a declarative dependency on an asynchronous source of data that is tied to a unique key.
|
|
408
393
|
*
|
|
@@ -440,8 +425,7 @@ export declare function injectQuery<TQueryFnData = unknown, TError = DefaultErro
|
|
|
440
425
|
* @public
|
|
441
426
|
* @see https://tanstack.com/query/latest/docs/framework/angular/guides/queries
|
|
442
427
|
*/
|
|
443
|
-
|
|
444
|
-
|
|
428
|
+
declare function injectQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(optionsFn: (client: QueryClient) => UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>, injector?: Injector): CreateQueryResult<TData, TError>;
|
|
445
429
|
/**
|
|
446
430
|
* Injects a query: a declarative dependency on an asynchronous source of data that is tied to a unique key.
|
|
447
431
|
*
|
|
@@ -479,67 +463,37 @@ export declare function injectQuery<TQueryFnData = unknown, TError = DefaultErro
|
|
|
479
463
|
* @public
|
|
480
464
|
* @see https://tanstack.com/query/latest/docs/framework/angular/guides/queries
|
|
481
465
|
*/
|
|
482
|
-
|
|
466
|
+
declare function injectQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(optionsFn: (client: QueryClient) => CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>, injector?: Injector): CreateQueryResult<TData, TError>;
|
|
483
467
|
|
|
484
468
|
/**
|
|
485
|
-
* Injects
|
|
469
|
+
* Injects a `QueryClient` instance and allows passing a custom injector.
|
|
470
|
+
*
|
|
471
|
+
* You can also use `inject(QueryClient)` if you don't need to provide a custom injector.
|
|
486
472
|
*
|
|
487
473
|
* **Example**
|
|
488
474
|
* ```ts
|
|
489
475
|
* const queryClient = injectQueryClient();
|
|
490
476
|
* ```
|
|
477
|
+
* @param injectOptions - Type of the options argument to inject and optionally a custom injector.
|
|
491
478
|
* @returns The `QueryClient` instance.
|
|
492
479
|
* @public
|
|
493
480
|
*/
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
optional?: false;
|
|
498
|
-
} & {
|
|
499
|
-
injector?: Injector;
|
|
500
|
-
}): QueryClient;
|
|
501
|
-
(injectOptions: InjectOptions & {
|
|
502
|
-
injector?: Injector;
|
|
503
|
-
}): QueryClient;
|
|
504
|
-
};
|
|
505
|
-
|
|
506
|
-
declare type MapToSignals<T> = {
|
|
507
|
-
[K in keyof T]: T[K] extends Function ? T[K] : Signal<T[K]>;
|
|
508
|
-
};
|
|
509
|
-
|
|
510
|
-
declare type MAXIMUM_DEPTH = 20;
|
|
511
|
-
|
|
512
|
-
declare type MutationStateOptions<TResult = MutationState> = {
|
|
513
|
-
filters?: MutationFilters;
|
|
514
|
-
select?: (mutation: Mutation) => TResult;
|
|
515
|
-
};
|
|
516
|
-
|
|
517
|
-
/**
|
|
518
|
-
* @public
|
|
519
|
-
*/
|
|
520
|
-
export declare type NonUndefinedGuard<T> = T extends undefined ? never : T;
|
|
521
|
-
|
|
522
|
-
/**
|
|
523
|
-
* Sets up providers necessary to enable TanStack Query functionality for Angular applications.
|
|
524
|
-
*
|
|
525
|
-
* Allows to configure a `QueryClient`.
|
|
526
|
-
* @param queryClient - A `QueryClient` instance.
|
|
527
|
-
* @returns A set of providers to set up TanStack Query.
|
|
528
|
-
* @public
|
|
529
|
-
* @see https://tanstack.com/query/v5/docs/framework/angular/quick-start
|
|
530
|
-
* @deprecated Use `provideTanStackQuery` instead.
|
|
531
|
-
*/
|
|
532
|
-
export declare function provideAngularQuery(queryClient: QueryClient): EnvironmentProviders;
|
|
481
|
+
declare function injectQueryClient(injectOptions?: InjectOptions & {
|
|
482
|
+
injector?: Injector;
|
|
483
|
+
}): QueryClient;
|
|
533
484
|
|
|
534
485
|
/**
|
|
535
486
|
* Usually {@link provideTanStackQuery} is used once to set up TanStack Query and the
|
|
536
487
|
* {@link https://tanstack.com/query/latest/docs/reference/QueryClient|QueryClient}
|
|
537
488
|
* for the entire application. You can use `provideQueryClient` to provide a
|
|
538
489
|
* different `QueryClient` instance for a part of the application.
|
|
490
|
+
* @param queryClient - the `QueryClient` instance to provide.
|
|
539
491
|
* @public
|
|
540
492
|
*/
|
|
541
|
-
|
|
542
|
-
|
|
493
|
+
declare function provideQueryClient(queryClient: QueryClient): {
|
|
494
|
+
provide: typeof QueryClient;
|
|
495
|
+
useValue: QueryClient;
|
|
496
|
+
};
|
|
543
497
|
/**
|
|
544
498
|
* Sets up providers necessary to enable TanStack Query functionality for Angular applications.
|
|
545
499
|
*
|
|
@@ -599,134 +553,91 @@ export declare const provideQueryClient: ((value: QueryClient | (() => QueryClie
|
|
|
599
553
|
* @see https://tanstack.com/query/v5/docs/framework/angular/quick-start
|
|
600
554
|
* @see withDevtools
|
|
601
555
|
*/
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
/**
|
|
605
|
-
* QueriesOptions reducer recursively unwraps function arguments to infer/enforce type param
|
|
606
|
-
* @public
|
|
607
|
-
*/
|
|
608
|
-
export declare type QueriesOptions<T extends Array<any>, TResult extends Array<any> = [], TDepth extends ReadonlyArray<number> = []> = TDepth['length'] extends MAXIMUM_DEPTH ? Array<QueryObserverOptionsForCreateQueries> : T extends [] ? [] : T extends [infer Head] ? [...TResult, GetOptions<Head>] : T extends [infer Head, ...infer Tail] ? QueriesOptions<[
|
|
609
|
-
...Tail
|
|
610
|
-
], [
|
|
611
|
-
...TResult,
|
|
612
|
-
GetOptions<Head>
|
|
613
|
-
], [
|
|
614
|
-
...TDepth,
|
|
615
|
-
1
|
|
616
|
-
]> : ReadonlyArray<unknown> extends T ? T : T extends Array<QueryObserverOptionsForCreateQueries<infer TQueryFnData, infer TError, infer TData, infer TQueryKey>> ? Array<QueryObserverOptionsForCreateQueries<TQueryFnData, TError, TData, TQueryKey>> : Array<QueryObserverOptionsForCreateQueries>;
|
|
617
|
-
|
|
556
|
+
declare function provideTanStackQuery(queryClient: QueryClient, ...features: Array<QueryFeatures>): EnvironmentProviders;
|
|
618
557
|
/**
|
|
619
|
-
*
|
|
558
|
+
* Sets up providers necessary to enable TanStack Query functionality for Angular applications.
|
|
559
|
+
*
|
|
560
|
+
* Allows to configure a `QueryClient`.
|
|
561
|
+
* @param queryClient - A `QueryClient` instance.
|
|
562
|
+
* @returns A set of providers to set up TanStack Query.
|
|
620
563
|
* @public
|
|
564
|
+
* @see https://tanstack.com/query/v5/docs/framework/angular/quick-start
|
|
565
|
+
* @deprecated Use `provideTanStackQuery` instead.
|
|
621
566
|
*/
|
|
622
|
-
|
|
623
|
-
...Tail
|
|
624
|
-
], [
|
|
625
|
-
...TResult,
|
|
626
|
-
GetResults<Head>
|
|
627
|
-
], [
|
|
628
|
-
...TDepth,
|
|
629
|
-
1
|
|
630
|
-
]> : T extends Array<QueryObserverOptionsForCreateQueries<infer TQueryFnData, infer TError, infer TData, any>> ? Array<QueryObserverResult<unknown extends TData ? TQueryFnData : TData, unknown extends TError ? DefaultError : TError>> : Array<QueryObserverResult>;
|
|
631
|
-
|
|
632
|
-
export declare const QUERY_CLIENT: InjectionToken<QueryClient>;
|
|
633
|
-
|
|
567
|
+
declare function provideAngularQuery(queryClient: QueryClient): EnvironmentProviders;
|
|
634
568
|
/**
|
|
635
569
|
* Helper type to represent a Query feature.
|
|
636
570
|
*/
|
|
637
|
-
|
|
571
|
+
interface QueryFeature<TFeatureKind extends QueryFeatureKind> {
|
|
638
572
|
ɵkind: TFeatureKind;
|
|
639
573
|
ɵproviders: Array<Provider>;
|
|
640
574
|
}
|
|
641
|
-
|
|
642
|
-
export declare type QueryFeatureKind = (typeof queryFeatures)[number];
|
|
643
|
-
|
|
644
|
-
/**
|
|
645
|
-
* A type alias that represents all Query features available for use with `provideTanStackQuery`.
|
|
646
|
-
* Features can be enabled by adding special functions to the `provideTanStackQuery` call.
|
|
647
|
-
* See documentation for each symbol to find corresponding function name. See also `provideTanStackQuery`
|
|
648
|
-
* documentation on how to use those functions.
|
|
649
|
-
* @public
|
|
650
|
-
* @see {@link provideTanStackQuery}
|
|
651
|
-
*/
|
|
652
|
-
export declare type QueryFeatures = DeveloperToolsFeature;
|
|
653
|
-
|
|
654
|
-
export declare const queryFeatures: readonly ["DeveloperTools"];
|
|
655
|
-
|
|
656
|
-
declare type QueryObserverOptionsForCreateQueries<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = OmitKeyof<QueryObserverOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>, 'placeholderData'> & {
|
|
657
|
-
placeholderData?: TQueryFnData | QueriesPlaceholderDataFunction<TQueryFnData>;
|
|
658
|
-
};
|
|
659
|
-
|
|
660
|
-
/**
|
|
661
|
-
* Allows to share and re-use query options in a type-safe way.
|
|
662
|
-
*
|
|
663
|
-
* The `queryKey` will be tagged with the type from `queryFn`.
|
|
664
|
-
*
|
|
665
|
-
* **Example**
|
|
666
|
-
*
|
|
667
|
-
* ```ts
|
|
668
|
-
* const { queryKey } = queryOptions({
|
|
669
|
-
* queryKey: ['key'],
|
|
670
|
-
* queryFn: () => Promise.resolve(5),
|
|
671
|
-
* // ^? Promise<number>
|
|
672
|
-
* })
|
|
673
|
-
*
|
|
674
|
-
* const queryClient = new QueryClient()
|
|
675
|
-
* const data = queryClient.getQueryData(queryKey)
|
|
676
|
-
* // ^? number | undefined
|
|
677
|
-
* ```
|
|
678
|
-
* @param options - The query options to tag with the type from `queryFn`.
|
|
679
|
-
* @returns The tagged query options.
|
|
680
|
-
* @public
|
|
681
|
-
*/
|
|
682
|
-
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> & {
|
|
683
|
-
queryKey: DataTag<TQueryKey, TQueryFnData>;
|
|
684
|
-
};
|
|
685
|
-
|
|
686
|
-
/**
|
|
687
|
-
* Allows to share and re-use query options in a type-safe way.
|
|
688
|
-
*
|
|
689
|
-
* The `queryKey` will be tagged with the type from `queryFn`.
|
|
690
|
-
*
|
|
691
|
-
* **Example**
|
|
692
|
-
*
|
|
693
|
-
* ```ts
|
|
694
|
-
* const { queryKey } = queryOptions({
|
|
695
|
-
* queryKey: ['key'],
|
|
696
|
-
* queryFn: () => Promise.resolve(5),
|
|
697
|
-
* // ^? Promise<number>
|
|
698
|
-
* })
|
|
699
|
-
*
|
|
700
|
-
* const queryClient = new QueryClient()
|
|
701
|
-
* const data = queryClient.getQueryData(queryKey)
|
|
702
|
-
* // ^? number | undefined
|
|
703
|
-
* ```
|
|
704
|
-
* @param options - The query options to tag with the type from `queryFn`.
|
|
705
|
-
* @returns The tagged query options.
|
|
706
|
-
* @public
|
|
707
|
-
*/
|
|
708
|
-
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> & {
|
|
709
|
-
queryKey: DataTag<TQueryKey, TQueryFnData>;
|
|
710
|
-
};
|
|
711
|
-
|
|
712
|
-
declare type SignalFunction<T extends () => any> = T & Signal<ReturnType<T>>;
|
|
713
|
-
|
|
714
|
-
declare type SkipTokenForUseQueries = symbol;
|
|
715
|
-
|
|
716
575
|
/**
|
|
576
|
+
* A type alias that represents a feature which enables developer tools.
|
|
577
|
+
* The type is used to describe the return value of the `withDevtools` function.
|
|
717
578
|
* @public
|
|
579
|
+
* @see {@link withDevtools}
|
|
718
580
|
*/
|
|
719
|
-
|
|
720
|
-
initialData?: undefined;
|
|
721
|
-
};
|
|
722
|
-
|
|
581
|
+
type DeveloperToolsFeature = QueryFeature<'DeveloperTools'>;
|
|
723
582
|
/**
|
|
583
|
+
* Options for configuring the TanStack Query devtools.
|
|
724
584
|
* @public
|
|
725
585
|
*/
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
586
|
+
interface DevtoolsOptions {
|
|
587
|
+
/**
|
|
588
|
+
* Set this true if you want the devtools to default to being open
|
|
589
|
+
*/
|
|
590
|
+
initialIsOpen?: boolean;
|
|
591
|
+
/**
|
|
592
|
+
* The position of the TanStack logo to open and close the devtools panel.
|
|
593
|
+
* `top-left` | `top-right` | `bottom-left` | `bottom-right` | `relative`
|
|
594
|
+
* Defaults to `bottom-right`.
|
|
595
|
+
*/
|
|
596
|
+
buttonPosition?: DevtoolsButtonPosition;
|
|
597
|
+
/**
|
|
598
|
+
* The position of the TanStack Query devtools panel.
|
|
599
|
+
* `top` | `bottom` | `left` | `right`
|
|
600
|
+
* Defaults to `bottom`.
|
|
601
|
+
*/
|
|
602
|
+
position?: DevtoolsPosition;
|
|
603
|
+
/**
|
|
604
|
+
* Custom instance of QueryClient
|
|
605
|
+
*/
|
|
606
|
+
client?: QueryClient;
|
|
607
|
+
/**
|
|
608
|
+
* Use this so you can define custom errors that can be shown in the devtools.
|
|
609
|
+
*/
|
|
610
|
+
errorTypes?: Array<DevtoolsErrorType>;
|
|
611
|
+
/**
|
|
612
|
+
* Use this to pass a nonce to the style tag that is added to the document head. This is useful if you are using a Content Security Policy (CSP) nonce to allow inline styles.
|
|
613
|
+
*/
|
|
614
|
+
styleNonce?: string;
|
|
615
|
+
/**
|
|
616
|
+
* Use this so you can attach the devtool's styles to a specific element in the DOM.
|
|
617
|
+
*/
|
|
618
|
+
shadowDOMTarget?: ShadowRoot;
|
|
619
|
+
/**
|
|
620
|
+
* Whether the developer tools should load.
|
|
621
|
+
* - `auto`- (Default) Lazily loads devtools when in development mode. Skips loading in production mode.
|
|
622
|
+
* - `true`- Always load the devtools, regardless of the environment.
|
|
623
|
+
* - `false`- Never load the devtools, regardless of the environment.
|
|
624
|
+
*
|
|
625
|
+
* You can use `true` and `false` to override loading developer tools from an environment file.
|
|
626
|
+
* For example, a test environment might run in production mode but you may want to load developer tools.
|
|
627
|
+
*
|
|
628
|
+
* Additionally, you can use a signal in the callback to dynamically load the devtools based on a condition. For example,
|
|
629
|
+
* a signal created from a RxJS observable that listens for a keyboard shortcut.
|
|
630
|
+
*
|
|
631
|
+
* **Example**
|
|
632
|
+
* ```ts
|
|
633
|
+
* withDevtools(() => ({
|
|
634
|
+
* initialIsOpen: true,
|
|
635
|
+
* loadDevtools: inject(ExampleService).loadDevtools()
|
|
636
|
+
* }))
|
|
637
|
+
* ```
|
|
638
|
+
*/
|
|
639
|
+
loadDevtools?: 'auto' | boolean;
|
|
640
|
+
}
|
|
730
641
|
/**
|
|
731
642
|
* Enables developer tools.
|
|
732
643
|
*
|
|
@@ -750,9 +661,17 @@ export declare type UndefinedInitialDataOptions<TQueryFnData = unknown, TError =
|
|
|
750
661
|
* @see {@link provideTanStackQuery}
|
|
751
662
|
* @see {@link DevtoolsOptions}
|
|
752
663
|
*/
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
664
|
+
declare function withDevtools(optionsFn?: () => DevtoolsOptions): DeveloperToolsFeature;
|
|
665
|
+
/**
|
|
666
|
+
* A type alias that represents all Query features available for use with `provideTanStackQuery`.
|
|
667
|
+
* Features can be enabled by adding special functions to the `provideTanStackQuery` call.
|
|
668
|
+
* See documentation for each symbol to find corresponding function name. See also `provideTanStackQuery`
|
|
669
|
+
* documentation on how to use those functions.
|
|
670
|
+
* @public
|
|
671
|
+
* @see {@link provideTanStackQuery}
|
|
672
|
+
*/
|
|
673
|
+
type QueryFeatures = DeveloperToolsFeature;
|
|
674
|
+
declare const queryFeatures: readonly ["DeveloperTools"];
|
|
675
|
+
type QueryFeatureKind = (typeof queryFeatures)[number];
|
|
757
676
|
|
|
758
|
-
export { }
|
|
677
|
+
export { type BaseMutationNarrowing, type BaseQueryNarrowing, type CreateBaseMutationResult, type CreateBaseQueryOptions, type CreateBaseQueryResult, type CreateInfiniteQueryOptions, type CreateInfiniteQueryResult, type CreateMutateAsyncFunction, type CreateMutateFunction, type CreateMutationOptions, type CreateMutationResult, type CreateQueryOptions, type CreateQueryResult, type DefinedCreateInfiniteQueryResult, type DefinedCreateQueryResult, type DefinedInitialDataInfiniteOptions, type DefinedInitialDataOptions, type DeveloperToolsFeature, type DevtoolsOptions, type InjectMutationStateOptions, type NonUndefinedGuard, type QueriesOptions, type QueriesResults, type QueryFeature, type QueryFeatureKind, type QueryFeatures, type UndefinedInitialDataInfiniteOptions, type UndefinedInitialDataOptions, infiniteQueryOptions, injectInfiniteQuery, injectIsFetching, injectIsMutating, injectMutation, injectMutationState, injectQueries, injectQuery, injectQueryClient, provideAngularQuery, provideQueryClient, provideTanStackQuery, queryFeatures, queryOptions, withDevtools };
|