@zenstackhq/tanstack-query 3.0.0-beta.17 → 3.0.0-beta.19
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/.turbo/turbo-build.log +27 -13
- package/dist/react.cjs +35 -33
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +28 -108
- package/dist/react.d.ts +28 -108
- package/dist/react.js +35 -33
- package/dist/react.js.map +1 -1
- package/dist/svelte.cjs +1224 -0
- package/dist/svelte.cjs.map +1 -0
- package/dist/svelte.d.cts +381 -0
- package/dist/svelte.d.ts +381 -0
- package/dist/svelte.js +1183 -0
- package/dist/svelte.js.map +1 -0
- package/dist/types-C8iIZD-7.d.cts +99 -0
- package/dist/types-C8iIZD-7.d.ts +99 -0
- package/dist/vue.cjs +1192 -0
- package/dist/vue.cjs.map +1 -0
- package/dist/vue.d.cts +382 -0
- package/dist/vue.d.ts +382 -0
- package/dist/vue.js +1152 -0
- package/dist/vue.js.map +1 -0
- package/package.json +43 -11
- package/src/react.ts +172 -157
- package/src/svelte.ts +485 -0
- package/src/utils/common.ts +4 -13
- package/src/utils/types.ts +24 -0
- package/src/vue.ts +429 -0
- package/test/react-typing-test.ts +113 -0
- package/test/schemas/basic/input.ts +40 -0
- package/test/schemas/basic/models.ts +2 -0
- package/test/schemas/basic/schema-lite.ts +48 -0
- package/test/schemas/basic/schema.zmodel +11 -1
- package/test/svelte-typing-test.ts +111 -0
- package/test/vue-typing-test.ts +111 -0
- package/tsup.config.ts +2 -0
package/src/react.ts
CHANGED
|
@@ -36,7 +36,9 @@ import type {
|
|
|
36
36
|
GroupByArgs,
|
|
37
37
|
GroupByResult,
|
|
38
38
|
ModelResult,
|
|
39
|
+
SelectIncludeOmit,
|
|
39
40
|
SelectSubset,
|
|
41
|
+
Subset,
|
|
40
42
|
UpdateArgs,
|
|
41
43
|
UpdateManyAndReturnArgs,
|
|
42
44
|
UpdateManyArgs,
|
|
@@ -55,6 +57,7 @@ import {
|
|
|
55
57
|
type ExtraMutationOptions,
|
|
56
58
|
type ExtraQueryOptions,
|
|
57
59
|
} from './utils/common';
|
|
60
|
+
import type { TrimDelegateModelOperations, WithOptimistic } from './utils/types';
|
|
58
61
|
|
|
59
62
|
export type { FetchFn } from './utils/common';
|
|
60
63
|
|
|
@@ -79,7 +82,7 @@ export const QuerySettingsProvider = QuerySettingsContext.Provider;
|
|
|
79
82
|
/**
|
|
80
83
|
* React context provider for configuring query settings.
|
|
81
84
|
*
|
|
82
|
-
* @deprecated Use
|
|
85
|
+
* @deprecated Use {@link QuerySettingsProvider} instead.
|
|
83
86
|
*/
|
|
84
87
|
export const Provider = QuerySettingsProvider;
|
|
85
88
|
|
|
@@ -90,12 +93,14 @@ function useHooksContext() {
|
|
|
90
93
|
|
|
91
94
|
export type ModelQueryOptions<T> = Omit<UseQueryOptions<T, DefaultError>, 'queryKey'> & ExtraQueryOptions;
|
|
92
95
|
|
|
93
|
-
export type ModelQueryResult<T> = UseQueryResult<T
|
|
96
|
+
export type ModelQueryResult<T> = UseQueryResult<WithOptimistic<T>, DefaultError> & { queryKey: QueryKey };
|
|
94
97
|
|
|
95
98
|
export type ModelSuspenseQueryOptions<T> = Omit<UseSuspenseQueryOptions<T, DefaultError>, 'queryKey'> &
|
|
96
99
|
ExtraQueryOptions;
|
|
97
100
|
|
|
98
|
-
export type ModelSuspenseQueryResult<T> = UseSuspenseQueryResult<T
|
|
101
|
+
export type ModelSuspenseQueryResult<T> = UseSuspenseQueryResult<WithOptimistic<T>, DefaultError> & {
|
|
102
|
+
queryKey: QueryKey;
|
|
103
|
+
};
|
|
99
104
|
|
|
100
105
|
export type ModelInfiniteQueryOptions<T> = Omit<
|
|
101
106
|
UseInfiniteQueryOptions<T, DefaultError, InfiniteData<T>>,
|
|
@@ -118,120 +123,144 @@ export type ModelMutationOptions<T, TArgs> = Omit<UseMutationOptions<T, DefaultE
|
|
|
118
123
|
|
|
119
124
|
export type ModelMutationResult<T, TArgs> = UseMutationResult<T, DefaultError, TArgs>;
|
|
120
125
|
|
|
121
|
-
export type
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
): ModelQueryResult<ModelResult<Schema, Model, T> | null>;
|
|
130
|
-
|
|
131
|
-
useSuspenseFindUnique<T extends FindUniqueArgs<Schema, Model>>(
|
|
132
|
-
args: SelectSubset<T, FindUniqueArgs<Schema, Model>>,
|
|
133
|
-
options?: ModelSuspenseQueryOptions<ModelResult<Schema, Model, T> | null>,
|
|
134
|
-
): ModelSuspenseQueryResult<ModelResult<Schema, Model, T> | null>;
|
|
135
|
-
|
|
136
|
-
useFindFirst<T extends FindArgs<Schema, Model, false>>(
|
|
137
|
-
args?: SelectSubset<T, FindArgs<Schema, Model, false>>,
|
|
138
|
-
options?: ModelQueryOptions<ModelResult<Schema, Model, T> | null>,
|
|
139
|
-
): ModelQueryResult<ModelResult<Schema, Model, T> | null>;
|
|
140
|
-
|
|
141
|
-
useSuspenseFindFirst<T extends FindArgs<Schema, Model, false>>(
|
|
142
|
-
args?: SelectSubset<T, FindArgs<Schema, Model, false>>,
|
|
143
|
-
options?: ModelSuspenseQueryOptions<ModelResult<Schema, Model, T> | null>,
|
|
144
|
-
): ModelSuspenseQueryResult<ModelResult<Schema, Model, T> | null>;
|
|
145
|
-
|
|
146
|
-
useFindMany<T extends FindArgs<Schema, Model, true>>(
|
|
147
|
-
args?: SelectSubset<T, FindArgs<Schema, Model, true>>,
|
|
148
|
-
options?: ModelQueryOptions<ModelResult<Schema, Model, T>[]>,
|
|
149
|
-
): ModelQueryResult<ModelResult<Schema, Model, T>[]>;
|
|
150
|
-
|
|
151
|
-
useSuspenseFindMany<T extends FindArgs<Schema, Model, true>>(
|
|
152
|
-
args?: SelectSubset<T, FindArgs<Schema, Model, true>>,
|
|
153
|
-
options?: ModelSuspenseQueryOptions<ModelResult<Schema, Model, T>[]>,
|
|
154
|
-
): ModelSuspenseQueryResult<ModelResult<Schema, Model, T>[]>;
|
|
155
|
-
|
|
156
|
-
useInfiniteFindMany<T extends FindArgs<Schema, Model, true>>(
|
|
157
|
-
args?: SelectSubset<T, FindArgs<Schema, Model, true>>,
|
|
158
|
-
options?: ModelInfiniteQueryOptions<ModelResult<Schema, Model, T>[]>,
|
|
159
|
-
): ModelInfiniteQueryResult<InfiniteData<ModelResult<Schema, Model, T>[]>>;
|
|
160
|
-
|
|
161
|
-
useSuspenseInfiniteFindMany<T extends FindArgs<Schema, Model, true>>(
|
|
162
|
-
args?: SelectSubset<T, FindArgs<Schema, Model, true>>,
|
|
163
|
-
options?: ModelSuspenseInfiniteQueryOptions<ModelResult<Schema, Model, T>[]>,
|
|
164
|
-
): ModelSuspenseInfiniteQueryResult<InfiniteData<ModelResult<Schema, Model, T>[]>>;
|
|
165
|
-
|
|
166
|
-
useCreate<T extends CreateArgs<Schema, Model>>(
|
|
167
|
-
options?: ModelMutationOptions<ModelResult<Schema, Model, T>, T>,
|
|
168
|
-
): ModelMutationResult<ModelResult<Schema, Model, T>, T>;
|
|
169
|
-
|
|
170
|
-
useCreateMany<T extends CreateManyArgs<Schema, Model>>(
|
|
171
|
-
options?: ModelMutationOptions<BatchResult, T>,
|
|
172
|
-
): ModelMutationResult<BatchResult, T>;
|
|
173
|
-
|
|
174
|
-
useCreateManyAndReturn<T extends CreateManyAndReturnArgs<Schema, Model>>(
|
|
175
|
-
options?: ModelMutationOptions<ModelResult<Schema, Model, T>[], T>,
|
|
176
|
-
): ModelMutationResult<ModelResult<Schema, Model, T>[], T>;
|
|
177
|
-
|
|
178
|
-
useUpdate<T extends UpdateArgs<Schema, Model>>(
|
|
179
|
-
options?: ModelMutationOptions<ModelResult<Schema, Model, T>, T>,
|
|
180
|
-
): ModelMutationResult<ModelResult<Schema, Model, T>, T>;
|
|
181
|
-
|
|
182
|
-
useUpdateMany<T extends UpdateManyArgs<Schema, Model>>(
|
|
183
|
-
options?: ModelMutationOptions<BatchResult, T>,
|
|
184
|
-
): ModelMutationResult<BatchResult, T>;
|
|
185
|
-
|
|
186
|
-
useUpdateManyAndReturn<T extends UpdateManyAndReturnArgs<Schema, Model>>(
|
|
187
|
-
options?: ModelMutationOptions<ModelResult<Schema, Model, T>[], T>,
|
|
188
|
-
): ModelMutationResult<ModelResult<Schema, Model, T>[], T>;
|
|
189
|
-
|
|
190
|
-
useUpsert<T extends UpsertArgs<Schema, Model>>(
|
|
191
|
-
options?: ModelMutationOptions<ModelResult<Schema, Model, T>, T>,
|
|
192
|
-
): ModelMutationResult<ModelResult<Schema, Model, T>, T>;
|
|
193
|
-
|
|
194
|
-
useDelete<T extends DeleteArgs<Schema, Model>>(
|
|
126
|
+
export type ModelMutationModelResult<
|
|
127
|
+
Schema extends SchemaDef,
|
|
128
|
+
Model extends GetModels<Schema>,
|
|
129
|
+
TArgs extends SelectIncludeOmit<Schema, Model, boolean>,
|
|
130
|
+
Array extends boolean = false,
|
|
131
|
+
> = Omit<ModelMutationResult<ModelResult<Schema, Model, TArgs>, TArgs>, 'mutateAsync'> & {
|
|
132
|
+
mutateAsync<T extends TArgs>(
|
|
133
|
+
args: T,
|
|
195
134
|
options?: ModelMutationOptions<ModelResult<Schema, Model, T>, T>,
|
|
196
|
-
):
|
|
197
|
-
|
|
198
|
-
useDeleteMany<T extends DeleteManyArgs<Schema, Model>>(
|
|
199
|
-
options?: ModelMutationOptions<BatchResult, T>,
|
|
200
|
-
): ModelMutationResult<BatchResult, T>;
|
|
201
|
-
|
|
202
|
-
useCount<T extends CountArgs<Schema, Model>>(
|
|
203
|
-
options?: ModelQueryOptions<CountResult<Schema, Model, T>>,
|
|
204
|
-
): ModelQueryResult<CountResult<Schema, Model, T>>;
|
|
205
|
-
|
|
206
|
-
useSuspenseCount<T extends CountArgs<Schema, Model>>(
|
|
207
|
-
options?: ModelSuspenseQueryOptions<CountResult<Schema, Model, T>>,
|
|
208
|
-
): ModelSuspenseQueryResult<CountResult<Schema, Model, T>>;
|
|
209
|
-
|
|
210
|
-
useAggregate<T extends AggregateArgs<Schema, Model>>(
|
|
211
|
-
options?: ModelQueryOptions<AggregateResult<Schema, Model, T>>,
|
|
212
|
-
): ModelQueryResult<AggregateResult<Schema, Model, T>>;
|
|
213
|
-
|
|
214
|
-
useSuspenseAggregate<T extends AggregateArgs<Schema, Model>>(
|
|
215
|
-
options?: ModelSuspenseQueryOptions<AggregateResult<Schema, Model, T>>,
|
|
216
|
-
): ModelSuspenseQueryResult<AggregateResult<Schema, Model, T>>;
|
|
217
|
-
|
|
218
|
-
useGroupBy<T extends GroupByArgs<Schema, Model>>(
|
|
219
|
-
options?: ModelQueryOptions<GroupByResult<Schema, Model, T>>,
|
|
220
|
-
): ModelQueryResult<GroupByResult<Schema, Model, T>>;
|
|
135
|
+
): Promise<Array extends true ? ModelResult<Schema, Model, T>[] : ModelResult<Schema, Model, T>>;
|
|
136
|
+
};
|
|
221
137
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
): ModelSuspenseQueryResult<GroupByResult<Schema, Model, T>>;
|
|
138
|
+
export type ClientHooks<Schema extends SchemaDef> = {
|
|
139
|
+
[Model in GetModels<Schema> as `${Uncapitalize<Model>}`]: ModelQueryHooks<Schema, Model>;
|
|
225
140
|
};
|
|
226
141
|
|
|
142
|
+
// Note that we can potentially use TypeScript's mapped type to directly map from ORM contract, but that seems
|
|
143
|
+
// to significantly slow down tsc performance ...
|
|
144
|
+
export type ModelQueryHooks<Schema extends SchemaDef, Model extends GetModels<Schema>> = TrimDelegateModelOperations<
|
|
145
|
+
Schema,
|
|
146
|
+
Model,
|
|
147
|
+
{
|
|
148
|
+
useFindUnique<T extends FindUniqueArgs<Schema, Model>>(
|
|
149
|
+
args: SelectSubset<T, FindUniqueArgs<Schema, Model>>,
|
|
150
|
+
options?: ModelQueryOptions<ModelResult<Schema, Model, T> | null>,
|
|
151
|
+
): ModelQueryResult<ModelResult<Schema, Model, T> | null>;
|
|
152
|
+
|
|
153
|
+
useSuspenseFindUnique<T extends FindUniqueArgs<Schema, Model>>(
|
|
154
|
+
args: SelectSubset<T, FindUniqueArgs<Schema, Model>>,
|
|
155
|
+
options?: ModelSuspenseQueryOptions<ModelResult<Schema, Model, T> | null>,
|
|
156
|
+
): ModelSuspenseQueryResult<ModelResult<Schema, Model, T> | null>;
|
|
157
|
+
|
|
158
|
+
useFindFirst<T extends FindArgs<Schema, Model, false>>(
|
|
159
|
+
args?: SelectSubset<T, FindArgs<Schema, Model, false>>,
|
|
160
|
+
options?: ModelQueryOptions<ModelResult<Schema, Model, T> | null>,
|
|
161
|
+
): ModelQueryResult<ModelResult<Schema, Model, T> | null>;
|
|
162
|
+
|
|
163
|
+
useSuspenseFindFirst<T extends FindArgs<Schema, Model, false>>(
|
|
164
|
+
args?: SelectSubset<T, FindArgs<Schema, Model, false>>,
|
|
165
|
+
options?: ModelSuspenseQueryOptions<ModelResult<Schema, Model, T> | null>,
|
|
166
|
+
): ModelSuspenseQueryResult<ModelResult<Schema, Model, T> | null>;
|
|
167
|
+
|
|
168
|
+
useFindMany<T extends FindArgs<Schema, Model, true>>(
|
|
169
|
+
args?: SelectSubset<T, FindArgs<Schema, Model, true>>,
|
|
170
|
+
options?: ModelQueryOptions<ModelResult<Schema, Model, T>[]>,
|
|
171
|
+
): ModelQueryResult<ModelResult<Schema, Model, T>[]>;
|
|
172
|
+
|
|
173
|
+
useSuspenseFindMany<T extends FindArgs<Schema, Model, true>>(
|
|
174
|
+
args?: SelectSubset<T, FindArgs<Schema, Model, true>>,
|
|
175
|
+
options?: ModelSuspenseQueryOptions<ModelResult<Schema, Model, T>[]>,
|
|
176
|
+
): ModelSuspenseQueryResult<ModelResult<Schema, Model, T>[]>;
|
|
177
|
+
|
|
178
|
+
useInfiniteFindMany<T extends FindArgs<Schema, Model, true>>(
|
|
179
|
+
args?: SelectSubset<T, FindArgs<Schema, Model, true>>,
|
|
180
|
+
options?: ModelInfiniteQueryOptions<ModelResult<Schema, Model, T>[]>,
|
|
181
|
+
): ModelInfiniteQueryResult<InfiniteData<ModelResult<Schema, Model, T>[]>>;
|
|
182
|
+
|
|
183
|
+
useSuspenseInfiniteFindMany<T extends FindArgs<Schema, Model, true>>(
|
|
184
|
+
args?: SelectSubset<T, FindArgs<Schema, Model, true>>,
|
|
185
|
+
options?: ModelSuspenseInfiniteQueryOptions<ModelResult<Schema, Model, T>[]>,
|
|
186
|
+
): ModelSuspenseInfiniteQueryResult<InfiniteData<ModelResult<Schema, Model, T>[]>>;
|
|
187
|
+
|
|
188
|
+
useCreate<T extends CreateArgs<Schema, Model>>(
|
|
189
|
+
options?: ModelMutationOptions<ModelResult<Schema, Model, T>, T>,
|
|
190
|
+
): ModelMutationModelResult<Schema, Model, T>;
|
|
191
|
+
|
|
192
|
+
useCreateMany<T extends CreateManyArgs<Schema, Model>>(
|
|
193
|
+
options?: ModelMutationOptions<BatchResult, T>,
|
|
194
|
+
): ModelMutationResult<BatchResult, T>;
|
|
195
|
+
|
|
196
|
+
useCreateManyAndReturn<T extends CreateManyAndReturnArgs<Schema, Model>>(
|
|
197
|
+
options?: ModelMutationOptions<ModelResult<Schema, Model, T>[], T>,
|
|
198
|
+
): ModelMutationModelResult<Schema, Model, T, true>;
|
|
199
|
+
|
|
200
|
+
useUpdate<T extends UpdateArgs<Schema, Model>>(
|
|
201
|
+
options?: ModelMutationOptions<ModelResult<Schema, Model, T>, T>,
|
|
202
|
+
): ModelMutationModelResult<Schema, Model, T>;
|
|
203
|
+
|
|
204
|
+
useUpdateMany<T extends UpdateManyArgs<Schema, Model>>(
|
|
205
|
+
options?: ModelMutationOptions<BatchResult, T>,
|
|
206
|
+
): ModelMutationResult<BatchResult, T>;
|
|
207
|
+
|
|
208
|
+
useUpdateManyAndReturn<T extends UpdateManyAndReturnArgs<Schema, Model>>(
|
|
209
|
+
options?: ModelMutationOptions<ModelResult<Schema, Model, T>[], T>,
|
|
210
|
+
): ModelMutationModelResult<Schema, Model, T, true>;
|
|
211
|
+
|
|
212
|
+
useUpsert<T extends UpsertArgs<Schema, Model>>(
|
|
213
|
+
options?: ModelMutationOptions<ModelResult<Schema, Model, T>, T>,
|
|
214
|
+
): ModelMutationModelResult<Schema, Model, T>;
|
|
215
|
+
|
|
216
|
+
useDelete<T extends DeleteArgs<Schema, Model>>(
|
|
217
|
+
options?: ModelMutationOptions<ModelResult<Schema, Model, T>, T>,
|
|
218
|
+
): ModelMutationModelResult<Schema, Model, T>;
|
|
219
|
+
|
|
220
|
+
useDeleteMany<T extends DeleteManyArgs<Schema, Model>>(
|
|
221
|
+
options?: ModelMutationOptions<BatchResult, T>,
|
|
222
|
+
): ModelMutationResult<BatchResult, T>;
|
|
223
|
+
|
|
224
|
+
useCount<T extends CountArgs<Schema, Model>>(
|
|
225
|
+
args?: Subset<T, CountArgs<Schema, Model>>,
|
|
226
|
+
options?: ModelQueryOptions<CountResult<Schema, Model, T>>,
|
|
227
|
+
): ModelQueryResult<CountResult<Schema, Model, T>>;
|
|
228
|
+
|
|
229
|
+
useSuspenseCount<T extends CountArgs<Schema, Model>>(
|
|
230
|
+
args?: Subset<T, CountArgs<Schema, Model>>,
|
|
231
|
+
options?: ModelSuspenseQueryOptions<CountResult<Schema, Model, T>>,
|
|
232
|
+
): ModelSuspenseQueryResult<CountResult<Schema, Model, T>>;
|
|
233
|
+
|
|
234
|
+
useAggregate<T extends AggregateArgs<Schema, Model>>(
|
|
235
|
+
args: Subset<T, AggregateArgs<Schema, Model>>,
|
|
236
|
+
options?: ModelQueryOptions<AggregateResult<Schema, Model, T>>,
|
|
237
|
+
): ModelQueryResult<AggregateResult<Schema, Model, T>>;
|
|
238
|
+
|
|
239
|
+
useSuspenseAggregate<T extends AggregateArgs<Schema, Model>>(
|
|
240
|
+
args: Subset<T, AggregateArgs<Schema, Model>>,
|
|
241
|
+
options?: ModelSuspenseQueryOptions<AggregateResult<Schema, Model, T>>,
|
|
242
|
+
): ModelSuspenseQueryResult<AggregateResult<Schema, Model, T>>;
|
|
243
|
+
|
|
244
|
+
useGroupBy<T extends GroupByArgs<Schema, Model>>(
|
|
245
|
+
args: Subset<T, GroupByArgs<Schema, Model>>,
|
|
246
|
+
options?: ModelQueryOptions<GroupByResult<Schema, Model, T>>,
|
|
247
|
+
): ModelQueryResult<GroupByResult<Schema, Model, T>>;
|
|
248
|
+
|
|
249
|
+
useSuspenseGroupBy<T extends GroupByArgs<Schema, Model>>(
|
|
250
|
+
args: Subset<T, GroupByArgs<Schema, Model>>,
|
|
251
|
+
options?: ModelSuspenseQueryOptions<GroupByResult<Schema, Model, T>>,
|
|
252
|
+
): ModelSuspenseQueryResult<GroupByResult<Schema, Model, T>>;
|
|
253
|
+
}
|
|
254
|
+
>;
|
|
255
|
+
|
|
227
256
|
/**
|
|
228
257
|
* Gets data query hooks for all models in the schema.
|
|
229
258
|
*/
|
|
230
|
-
export function useClientQueries<Schema extends SchemaDef>(schema: Schema):
|
|
259
|
+
export function useClientQueries<Schema extends SchemaDef>(schema: Schema): ClientHooks<Schema> {
|
|
231
260
|
return Object.keys(schema.models).reduce((acc, model) => {
|
|
232
261
|
(acc as any)[lowerCaseFirst(model)] = useModelQueries(schema, model as GetModels<Schema>);
|
|
233
262
|
return acc;
|
|
234
|
-
}, {} as
|
|
263
|
+
}, {} as ClientHooks<Schema>);
|
|
235
264
|
}
|
|
236
265
|
|
|
237
266
|
/**
|
|
@@ -282,63 +311,63 @@ export function useModelQueries<Schema extends SchemaDef, Model extends GetModel
|
|
|
282
311
|
},
|
|
283
312
|
|
|
284
313
|
useCreate: (options?: any) => {
|
|
285
|
-
return useInternalMutation(schema, modelName, 'POST', 'create', options
|
|
314
|
+
return useInternalMutation(schema, modelName, 'POST', 'create', options);
|
|
286
315
|
},
|
|
287
316
|
|
|
288
317
|
useCreateMany: (options?: any) => {
|
|
289
|
-
return useInternalMutation(schema, modelName, 'POST', 'createMany', options
|
|
318
|
+
return useInternalMutation(schema, modelName, 'POST', 'createMany', options);
|
|
290
319
|
},
|
|
291
320
|
|
|
292
321
|
useCreateManyAndReturn: (options?: any) => {
|
|
293
|
-
return useInternalMutation(schema, modelName, 'POST', 'createManyAndReturn', options
|
|
322
|
+
return useInternalMutation(schema, modelName, 'POST', 'createManyAndReturn', options);
|
|
294
323
|
},
|
|
295
324
|
|
|
296
325
|
useUpdate: (options?: any) => {
|
|
297
|
-
return useInternalMutation(schema, modelName, 'PUT', 'update', options
|
|
326
|
+
return useInternalMutation(schema, modelName, 'PUT', 'update', options);
|
|
298
327
|
},
|
|
299
328
|
|
|
300
329
|
useUpdateMany: (options?: any) => {
|
|
301
|
-
return useInternalMutation(schema, modelName, 'PUT', 'updateMany', options
|
|
330
|
+
return useInternalMutation(schema, modelName, 'PUT', 'updateMany', options);
|
|
302
331
|
},
|
|
303
332
|
|
|
304
333
|
useUpdateManyAndReturn: (options?: any) => {
|
|
305
|
-
return useInternalMutation(schema, modelName, 'PUT', 'updateManyAndReturn', options
|
|
334
|
+
return useInternalMutation(schema, modelName, 'PUT', 'updateManyAndReturn', options);
|
|
306
335
|
},
|
|
307
336
|
|
|
308
337
|
useUpsert: (options?: any) => {
|
|
309
|
-
return useInternalMutation(schema, modelName, 'POST', 'upsert', options
|
|
338
|
+
return useInternalMutation(schema, modelName, 'POST', 'upsert', options);
|
|
310
339
|
},
|
|
311
340
|
|
|
312
341
|
useDelete: (options?: any) => {
|
|
313
|
-
return useInternalMutation(schema, modelName, 'DELETE', 'delete', options
|
|
342
|
+
return useInternalMutation(schema, modelName, 'DELETE', 'delete', options);
|
|
314
343
|
},
|
|
315
344
|
|
|
316
345
|
useDeleteMany: (options?: any) => {
|
|
317
|
-
return useInternalMutation(schema, modelName, 'DELETE', 'deleteMany', options
|
|
346
|
+
return useInternalMutation(schema, modelName, 'DELETE', 'deleteMany', options);
|
|
318
347
|
},
|
|
319
348
|
|
|
320
|
-
useCount: (options?: any) => {
|
|
321
|
-
return useInternalQuery(schema, modelName, 'count',
|
|
349
|
+
useCount: (args: any, options?: any) => {
|
|
350
|
+
return useInternalQuery(schema, modelName, 'count', args, options);
|
|
322
351
|
},
|
|
323
352
|
|
|
324
|
-
useSuspenseCount: (options?: any) => {
|
|
325
|
-
return useInternalSuspenseQuery(schema, modelName, 'count',
|
|
353
|
+
useSuspenseCount: (args: any, options?: any) => {
|
|
354
|
+
return useInternalSuspenseQuery(schema, modelName, 'count', args, options);
|
|
326
355
|
},
|
|
327
356
|
|
|
328
|
-
useAggregate: (options?: any) => {
|
|
329
|
-
return useInternalQuery(schema, modelName, 'aggregate',
|
|
357
|
+
useAggregate: (args: any, options?: any) => {
|
|
358
|
+
return useInternalQuery(schema, modelName, 'aggregate', args, options);
|
|
330
359
|
},
|
|
331
360
|
|
|
332
|
-
useSuspenseAggregate: (options?: any) => {
|
|
333
|
-
return useInternalSuspenseQuery(schema, modelName, 'aggregate',
|
|
361
|
+
useSuspenseAggregate: (args: any, options?: any) => {
|
|
362
|
+
return useInternalSuspenseQuery(schema, modelName, 'aggregate', args, options);
|
|
334
363
|
},
|
|
335
364
|
|
|
336
|
-
useGroupBy: (options?: any) => {
|
|
337
|
-
return useInternalQuery(schema, modelName, 'groupBy',
|
|
365
|
+
useGroupBy: (args: any, options?: any) => {
|
|
366
|
+
return useInternalQuery(schema, modelName, 'groupBy', args, options);
|
|
338
367
|
},
|
|
339
368
|
|
|
340
|
-
useSuspenseGroupBy: (options?: any) => {
|
|
341
|
-
return useInternalSuspenseQuery(schema, modelName, 'groupBy',
|
|
369
|
+
useSuspenseGroupBy: (args: any, options?: any) => {
|
|
370
|
+
return useInternalSuspenseQuery(schema, modelName, 'groupBy', args, options);
|
|
342
371
|
},
|
|
343
372
|
} as ModelQueryHooks<Schema, Model>;
|
|
344
373
|
}
|
|
@@ -360,7 +389,7 @@ export function useInternalQuery<TQueryFnData, TData>(
|
|
|
360
389
|
queryKey,
|
|
361
390
|
...useQuery({
|
|
362
391
|
queryKey,
|
|
363
|
-
queryFn: ({ signal }) => fetcher<TQueryFnData
|
|
392
|
+
queryFn: ({ signal }) => fetcher<TQueryFnData>(reqUrl, { signal }, fetch),
|
|
364
393
|
...options,
|
|
365
394
|
}),
|
|
366
395
|
};
|
|
@@ -383,7 +412,7 @@ export function useInternalSuspenseQuery<TQueryFnData, TData>(
|
|
|
383
412
|
queryKey,
|
|
384
413
|
...useSuspenseQuery({
|
|
385
414
|
queryKey,
|
|
386
|
-
queryFn: ({ signal }) => fetcher<TQueryFnData
|
|
415
|
+
queryFn: ({ signal }) => fetcher<TQueryFnData>(reqUrl, { signal }, fetch),
|
|
387
416
|
...options,
|
|
388
417
|
}),
|
|
389
418
|
};
|
|
@@ -394,11 +423,14 @@ export function useInternalInfiniteQuery<TQueryFnData, TData>(
|
|
|
394
423
|
model: string,
|
|
395
424
|
operation: string,
|
|
396
425
|
args: unknown,
|
|
397
|
-
options:
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
426
|
+
options:
|
|
427
|
+
| Omit<
|
|
428
|
+
UseInfiniteQueryOptions<TQueryFnData, DefaultError, InfiniteData<TData>>,
|
|
429
|
+
'queryKey' | 'initialPageParam'
|
|
430
|
+
>
|
|
431
|
+
| undefined,
|
|
401
432
|
) {
|
|
433
|
+
options = options ?? { getNextPageParam: () => undefined };
|
|
402
434
|
const { endpoint, fetch } = useHooksContext();
|
|
403
435
|
const queryKey = getQueryKey(model, operation, args, { infinite: true, optimisticUpdate: false });
|
|
404
436
|
return {
|
|
@@ -406,12 +438,7 @@ export function useInternalInfiniteQuery<TQueryFnData, TData>(
|
|
|
406
438
|
...useInfiniteQuery({
|
|
407
439
|
queryKey,
|
|
408
440
|
queryFn: ({ pageParam, signal }) => {
|
|
409
|
-
return fetcher<TQueryFnData,
|
|
410
|
-
makeUrl(endpoint, model, operation, pageParam ?? args),
|
|
411
|
-
{ signal },
|
|
412
|
-
fetch,
|
|
413
|
-
false,
|
|
414
|
-
);
|
|
441
|
+
return fetcher<TQueryFnData>(makeUrl(endpoint, model, operation, pageParam ?? args), { signal }, fetch);
|
|
415
442
|
},
|
|
416
443
|
initialPageParam: args,
|
|
417
444
|
...options,
|
|
@@ -436,12 +463,7 @@ export function useInternalSuspenseInfiniteQuery<TQueryFnData, TData>(
|
|
|
436
463
|
...useSuspenseInfiniteQuery({
|
|
437
464
|
queryKey,
|
|
438
465
|
queryFn: ({ pageParam, signal }) => {
|
|
439
|
-
return fetcher<TQueryFnData,
|
|
440
|
-
makeUrl(endpoint, model, operation, pageParam ?? args),
|
|
441
|
-
{ signal },
|
|
442
|
-
fetch,
|
|
443
|
-
false,
|
|
444
|
-
);
|
|
466
|
+
return fetcher<TQueryFnData>(makeUrl(endpoint, model, operation, pageParam ?? args), { signal }, fetch);
|
|
445
467
|
},
|
|
446
468
|
initialPageParam: args,
|
|
447
469
|
...options,
|
|
@@ -460,20 +482,14 @@ export function useInternalSuspenseInfiniteQuery<TQueryFnData, TData>(
|
|
|
460
482
|
* @param options The react-query options.
|
|
461
483
|
* @param checkReadBack Whether to check for read back errors and return undefined if found.
|
|
462
484
|
*/
|
|
463
|
-
export function useInternalMutation<
|
|
464
|
-
TArgs,
|
|
465
|
-
R = any,
|
|
466
|
-
C extends boolean = boolean,
|
|
467
|
-
Result = C extends true ? R | undefined : R,
|
|
468
|
-
>(
|
|
485
|
+
export function useInternalMutation<TArgs, R = any>(
|
|
469
486
|
schema: SchemaDef,
|
|
470
487
|
model: string,
|
|
471
488
|
method: 'POST' | 'PUT' | 'DELETE',
|
|
472
489
|
operation: string,
|
|
473
|
-
options?: Omit<UseMutationOptions<
|
|
474
|
-
checkReadBack?: C,
|
|
490
|
+
options?: Omit<UseMutationOptions<R, DefaultError, TArgs>, 'mutationFn'> & ExtraMutationOptions,
|
|
475
491
|
) {
|
|
476
|
-
const { endpoint, fetch } = useHooksContext();
|
|
492
|
+
const { endpoint, fetch, logging } = useHooksContext();
|
|
477
493
|
const queryClient = useQueryClient();
|
|
478
494
|
const mutationFn = (data: any) => {
|
|
479
495
|
const reqUrl =
|
|
@@ -487,13 +503,12 @@ export function useInternalMutation<
|
|
|
487
503
|
body: marshal(data),
|
|
488
504
|
}),
|
|
489
505
|
};
|
|
490
|
-
return fetcher<R
|
|
506
|
+
return fetcher<R>(reqUrl, fetchInit, fetch) as Promise<R>;
|
|
491
507
|
};
|
|
492
508
|
|
|
493
509
|
const finalOptions = { ...options, mutationFn };
|
|
494
510
|
const invalidateQueries = options?.invalidateQueries !== false;
|
|
495
511
|
const optimisticUpdate = !!options?.optimisticUpdate;
|
|
496
|
-
const { logging } = useContext(QuerySettingsContext);
|
|
497
512
|
|
|
498
513
|
if (operation) {
|
|
499
514
|
if (invalidateQueries) {
|