@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/.turbo/turbo-build.log +27 -13
- package/dist/react.cjs +35 -33
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +26 -106
- package/dist/react.d.ts +26 -106
- 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-BRIDXxNC.d.cts +92 -0
- package/dist/types-BRIDXxNC.d.ts +92 -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 +168 -155
- package/src/svelte.ts +483 -0
- package/src/utils/common.ts +4 -13
- package/src/utils/types.ts +13 -0
- package/src/vue.ts +429 -0
- package/test/react-typing-test.ts +109 -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 +106 -0
- package/test/vue-typing-test.ts +107 -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 } 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
|
|
|
@@ -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
|
|
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>>(
|
|
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
|
-
):
|
|
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
|
-
|
|
223
|
-
|
|
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):
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
344
|
+
return useInternalMutation(schema, modelName, 'DELETE', 'deleteMany', options);
|
|
318
345
|
},
|
|
319
346
|
|
|
320
|
-
useCount: (options?: any) => {
|
|
321
|
-
return useInternalQuery(schema, modelName, 'count',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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
|
|
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
|
|
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:
|
|
398
|
-
|
|
399
|
-
|
|
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,
|
|
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,
|
|
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<
|
|
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
|
|
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) {
|