@zenstackhq/tanstack-query 3.0.0-beta.17 → 3.0.0-beta.18

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