@@ -39,6 +39,8 @@ import type {
3939 FindUniqueArgs ,
4040 GetProcedure ,
4141 GetProcedureNames ,
42+ GetSlicedModels ,
43+ GetSlicedProcedures ,
4244 GroupByArgs ,
4345 GroupByResult ,
4446 ProcedureEnvelope ,
@@ -62,7 +64,7 @@ import type {
6264 ExtraQueryOptions ,
6365 ProcedureReturn ,
6466 QueryContext ,
65- TrimDelegateModelOperations ,
67+ TrimSlicedOperations ,
6668 WithOptimistic ,
6769} from './common/types.js' ;
6870export type { FetchFn } from '@zenstackhq/client-helpers/fetch' ;
@@ -148,11 +150,11 @@ export type ModelMutationModelResult<
148150} ;
149151
150152export type ClientHooks < Schema extends SchemaDef , Options extends QueryOptions < Schema > = QueryOptions < Schema > > = {
151- [ Model in GetModels < Schema > as `${Uncapitalize < Model > } `] : ModelQueryHooks < Schema , Model , Options > ;
152- } & ProcedureHooks < Schema > ;
153+ [ Model in GetSlicedModels < Schema , Options > as `${Uncapitalize < Model > } `] : ModelQueryHooks < Schema , Model , Options > ;
154+ } & ProcedureHooks < Schema , Options > ;
153155
154- type ProcedureHookGroup < Schema extends SchemaDef > = {
155- [ Name in GetProcedureNames < Schema > ] : GetProcedure < Schema , Name > extends { mutation : true }
156+ type ProcedureHookGroup < Schema extends SchemaDef , Options extends QueryOptions < Schema > > = {
157+ [ Name in GetSlicedProcedures < Schema , Options > ] : GetProcedure < Schema , Name > extends { mutation : true }
156158 ? {
157159 useMutation (
158160 options ?: Omit <
@@ -195,133 +197,135 @@ type ProcedureHookGroup<Schema extends SchemaDef> = {
195197 } ;
196198} ;
197199
198- export type ProcedureHooks < Schema extends SchemaDef > = Schema [ 'procedures' ] extends Record < string , any >
199- ? {
200- /**
201- * Custom procedures.
202- */
203- $procs : ProcedureHookGroup < Schema > ;
204- }
205- : Record < never , never > ;
200+ export type ProcedureHooks < Schema extends SchemaDef , Options extends QueryOptions < Schema > > =
201+ Schema [ 'procedures' ] extends Record < string , any >
202+ ? {
203+ /**
204+ * Custom procedures.
205+ */
206+ $procs : ProcedureHookGroup < Schema , Options > ;
207+ }
208+ : Record < never , never > ;
206209
207210// Note that we can potentially use TypeScript's mapped type to directly map from ORM contract, but that seems
208211// to significantly slow down tsc performance ...
209212export type ModelQueryHooks <
210213 Schema extends SchemaDef ,
211214 Model extends GetModels < Schema > ,
212215 Options extends QueryOptions < Schema > = QueryOptions < Schema > ,
213- > = TrimDelegateModelOperations <
216+ > = TrimSlicedOperations <
214217 Schema ,
215218 Model ,
219+ Options ,
216220 {
217- useFindUnique < T extends FindUniqueArgs < Schema , Model > > (
218- args : SelectSubset < T , FindUniqueArgs < Schema , Model > > ,
221+ useFindUnique < T extends FindUniqueArgs < Schema , Model , Options > > (
222+ args : SelectSubset < T , FindUniqueArgs < Schema , Model , Options > > ,
219223 options ?: ModelQueryOptions < SimplifiedPlainResult < Schema , Model , T , Options > | null > ,
220224 ) : ModelQueryResult < SimplifiedPlainResult < Schema , Model , T , Options > | null > ;
221225
222- useSuspenseFindUnique < T extends FindUniqueArgs < Schema , Model > > (
223- args : SelectSubset < T , FindUniqueArgs < Schema , Model > > ,
226+ useSuspenseFindUnique < T extends FindUniqueArgs < Schema , Model , Options > > (
227+ args : SelectSubset < T , FindUniqueArgs < Schema , Model , Options > > ,
224228 options ?: ModelSuspenseQueryOptions < SimplifiedPlainResult < Schema , Model , T , Options > | null > ,
225229 ) : ModelSuspenseQueryResult < SimplifiedPlainResult < Schema , Model , T , Options > | null > ;
226230
227- useFindFirst < T extends FindFirstArgs < Schema , Model > > (
228- args ?: SelectSubset < T , FindFirstArgs < Schema , Model > > ,
231+ useFindFirst < T extends FindFirstArgs < Schema , Model , Options > > (
232+ args ?: SelectSubset < T , FindFirstArgs < Schema , Model , Options > > ,
229233 options ?: ModelQueryOptions < SimplifiedPlainResult < Schema , Model , T , Options > | null > ,
230234 ) : ModelQueryResult < SimplifiedPlainResult < Schema , Model , T , Options > | null > ;
231235
232- useSuspenseFindFirst < T extends FindFirstArgs < Schema , Model > > (
233- args ?: SelectSubset < T , FindFirstArgs < Schema , Model > > ,
236+ useSuspenseFindFirst < T extends FindFirstArgs < Schema , Model , Options > > (
237+ args ?: SelectSubset < T , FindFirstArgs < Schema , Model , Options > > ,
234238 options ?: ModelSuspenseQueryOptions < SimplifiedPlainResult < Schema , Model , T , Options > | null > ,
235239 ) : ModelSuspenseQueryResult < SimplifiedPlainResult < Schema , Model , T , Options > | null > ;
236240
237- useExists < T extends ExistsArgs < Schema , Model > > (
238- args ?: Subset < T , ExistsArgs < Schema , Model > > ,
241+ useExists < T extends ExistsArgs < Schema , Model , Options > > (
242+ args ?: Subset < T , ExistsArgs < Schema , Model , Options > > ,
239243 options ?: ModelQueryOptions < boolean > ,
240244 ) : ModelQueryResult < boolean > ;
241245
242- useFindMany < T extends FindManyArgs < Schema , Model > > (
243- args ?: SelectSubset < T , FindManyArgs < Schema , Model > > ,
246+ useFindMany < T extends FindManyArgs < Schema , Model , Options > > (
247+ args ?: SelectSubset < T , FindManyArgs < Schema , Model , Options > > ,
244248 options ?: ModelQueryOptions < SimplifiedPlainResult < Schema , Model , T , Options > [ ] > ,
245249 ) : ModelQueryResult < SimplifiedPlainResult < Schema , Model , T , Options > [ ] > ;
246250
247- useSuspenseFindMany < T extends FindManyArgs < Schema , Model > > (
248- args ?: SelectSubset < T , FindManyArgs < Schema , Model > > ,
251+ useSuspenseFindMany < T extends FindManyArgs < Schema , Model , Options > > (
252+ args ?: SelectSubset < T , FindManyArgs < Schema , Model , Options > > ,
249253 options ?: ModelSuspenseQueryOptions < SimplifiedPlainResult < Schema , Model , T , Options > [ ] > ,
250254 ) : ModelSuspenseQueryResult < SimplifiedPlainResult < Schema , Model , T , Options > [ ] > ;
251255
252- useInfiniteFindMany < T extends FindManyArgs < Schema , Model > > (
253- args ?: SelectSubset < T , FindManyArgs < Schema , Model > > ,
256+ useInfiniteFindMany < T extends FindManyArgs < Schema , Model , Options > > (
257+ args ?: SelectSubset < T , FindManyArgs < Schema , Model , Options > > ,
254258 options ?: ModelInfiniteQueryOptions < SimplifiedPlainResult < Schema , Model , T , Options > [ ] > ,
255259 ) : ModelInfiniteQueryResult < InfiniteData < SimplifiedPlainResult < Schema , Model , T , Options > [ ] > > ;
256260
257- useSuspenseInfiniteFindMany < T extends FindManyArgs < Schema , Model > > (
258- args ?: SelectSubset < T , FindManyArgs < Schema , Model > > ,
261+ useSuspenseInfiniteFindMany < T extends FindManyArgs < Schema , Model , Options > > (
262+ args ?: SelectSubset < T , FindManyArgs < Schema , Model , Options > > ,
259263 options ?: ModelSuspenseInfiniteQueryOptions < SimplifiedPlainResult < Schema , Model , T , Options > [ ] > ,
260264 ) : ModelSuspenseInfiniteQueryResult < InfiniteData < SimplifiedPlainResult < Schema , Model , T , Options > [ ] > > ;
261265
262- useCreate < T extends CreateArgs < Schema , Model > > (
266+ useCreate < T extends CreateArgs < Schema , Model , Options > > (
263267 options ?: ModelMutationOptions < SimplifiedPlainResult < Schema , Model , T , Options > , T > ,
264268 ) : ModelMutationModelResult < Schema , Model , T , false , Options > ;
265269
266270 useCreateMany < T extends CreateManyArgs < Schema , Model > > (
267271 options ?: ModelMutationOptions < BatchResult , T > ,
268272 ) : ModelMutationResult < BatchResult , T > ;
269273
270- useCreateManyAndReturn < T extends CreateManyAndReturnArgs < Schema , Model > > (
274+ useCreateManyAndReturn < T extends CreateManyAndReturnArgs < Schema , Model , Options > > (
271275 options ?: ModelMutationOptions < SimplifiedPlainResult < Schema , Model , T , Options > [ ] , T > ,
272276 ) : ModelMutationModelResult < Schema , Model , T , true , Options > ;
273277
274- useUpdate < T extends UpdateArgs < Schema , Model > > (
278+ useUpdate < T extends UpdateArgs < Schema , Model , Options > > (
275279 options ?: ModelMutationOptions < SimplifiedPlainResult < Schema , Model , T , Options > , T > ,
276280 ) : ModelMutationModelResult < Schema , Model , T , false , Options > ;
277281
278- useUpdateMany < T extends UpdateManyArgs < Schema , Model > > (
282+ useUpdateMany < T extends UpdateManyArgs < Schema , Model , Options > > (
279283 options ?: ModelMutationOptions < BatchResult , T > ,
280284 ) : ModelMutationResult < BatchResult , T > ;
281285
282- useUpdateManyAndReturn < T extends UpdateManyAndReturnArgs < Schema , Model > > (
286+ useUpdateManyAndReturn < T extends UpdateManyAndReturnArgs < Schema , Model , Options > > (
283287 options ?: ModelMutationOptions < SimplifiedPlainResult < Schema , Model , T , Options > [ ] , T > ,
284288 ) : ModelMutationModelResult < Schema , Model , T , true , Options > ;
285289
286- useUpsert < T extends UpsertArgs < Schema , Model > > (
290+ useUpsert < T extends UpsertArgs < Schema , Model , Options > > (
287291 options ?: ModelMutationOptions < SimplifiedPlainResult < Schema , Model , T , Options > , T > ,
288292 ) : ModelMutationModelResult < Schema , Model , T , false , Options > ;
289293
290- useDelete < T extends DeleteArgs < Schema , Model > > (
294+ useDelete < T extends DeleteArgs < Schema , Model , Options > > (
291295 options ?: ModelMutationOptions < SimplifiedPlainResult < Schema , Model , T , Options > , T > ,
292296 ) : ModelMutationModelResult < Schema , Model , T , false , Options > ;
293297
294- useDeleteMany < T extends DeleteManyArgs < Schema , Model > > (
298+ useDeleteMany < T extends DeleteManyArgs < Schema , Model , Options > > (
295299 options ?: ModelMutationOptions < BatchResult , T > ,
296300 ) : ModelMutationResult < BatchResult , T > ;
297301
298- useCount < T extends CountArgs < Schema , Model > > (
299- args ?: Subset < T , CountArgs < Schema , Model > > ,
302+ useCount < T extends CountArgs < Schema , Model , Options > > (
303+ args ?: Subset < T , CountArgs < Schema , Model , Options > > ,
300304 options ?: ModelQueryOptions < CountResult < Schema , Model , T > > ,
301305 ) : ModelQueryResult < CountResult < Schema , Model , T > > ;
302306
303- useSuspenseCount < T extends CountArgs < Schema , Model > > (
304- args ?: Subset < T , CountArgs < Schema , Model > > ,
307+ useSuspenseCount < T extends CountArgs < Schema , Model , Options > > (
308+ args ?: Subset < T , CountArgs < Schema , Model , Options > > ,
305309 options ?: ModelSuspenseQueryOptions < CountResult < Schema , Model , T > > ,
306310 ) : ModelSuspenseQueryResult < CountResult < Schema , Model , T > > ;
307311
308- useAggregate < T extends AggregateArgs < Schema , Model > > (
309- args : Subset < T , AggregateArgs < Schema , Model > > ,
312+ useAggregate < T extends AggregateArgs < Schema , Model , Options > > (
313+ args : Subset < T , AggregateArgs < Schema , Model , Options > > ,
310314 options ?: ModelQueryOptions < AggregateResult < Schema , Model , T > > ,
311315 ) : ModelQueryResult < AggregateResult < Schema , Model , T > > ;
312316
313- useSuspenseAggregate < T extends AggregateArgs < Schema , Model > > (
314- args : Subset < T , AggregateArgs < Schema , Model > > ,
317+ useSuspenseAggregate < T extends AggregateArgs < Schema , Model , Options > > (
318+ args : Subset < T , AggregateArgs < Schema , Model , Options > > ,
315319 options ?: ModelSuspenseQueryOptions < AggregateResult < Schema , Model , T > > ,
316320 ) : ModelSuspenseQueryResult < AggregateResult < Schema , Model , T > > ;
317321
318- useGroupBy < T extends GroupByArgs < Schema , Model > > (
319- args : Subset < T , GroupByArgs < Schema , Model > > ,
322+ useGroupBy < T extends GroupByArgs < Schema , Model , Options > > (
323+ args : Subset < T , GroupByArgs < Schema , Model , Options > > ,
320324 options ?: ModelQueryOptions < GroupByResult < Schema , Model , T > > ,
321325 ) : ModelQueryResult < GroupByResult < Schema , Model , T > > ;
322326
323- useSuspenseGroupBy < T extends GroupByArgs < Schema , Model > > (
324- args : Subset < T , GroupByArgs < Schema , Model > > ,
327+ useSuspenseGroupBy < T extends GroupByArgs < Schema , Model , Options > > (
328+ args : Subset < T , GroupByArgs < Schema , Model , Options > > ,
325329 options ?: ModelSuspenseQueryOptions < GroupByResult < Schema , Model , T > > ,
326330 ) : ModelSuspenseQueryResult < GroupByResult < Schema , Model , T > > ;
327331 }
0 commit comments