@@ -30,6 +30,7 @@ import type {
3030 NullableIf ,
3131 Optional ,
3232 OrArray ,
33+ Simplify ,
3334 ValueOfPotentialTuple ,
3435 WrapType ,
3536 XOR ,
@@ -157,6 +158,14 @@ export type ModelResult<
157158 Array
158159> ;
159160
161+ export type SimplifiedModelResult <
162+ Schema extends SchemaDef ,
163+ Model extends GetModels < Schema > ,
164+ Args extends SelectIncludeOmit < Schema , Model , boolean > ,
165+ Optional = false ,
166+ Array = false ,
167+ > = Simplify < ModelResult < Schema , Model , Args , Optional , Array > > ;
168+
160169export type BatchResult = { count : number } ;
161170
162171//#endregion
@@ -215,11 +224,13 @@ type PrimitiveFilter<T extends string, Nullable extends boolean> = T extends 'St
215224 ? BooleanFilter < Nullable >
216225 : T extends 'DateTime'
217226 ? DateTimeFilter < Nullable >
218- : T extends 'Json'
219- ? 'Not implemented yet' // TODO: Json filter
220- : never ;
227+ : T extends 'Bytes'
228+ ? BytesFilter < Nullable >
229+ : T extends 'Json'
230+ ? 'Not implemented yet' // TODO: Json filter
231+ : never ;
221232
222- export type CommonPrimitiveFilter < DataType , T extends BuiltinType , Nullable extends boolean > = {
233+ type CommonPrimitiveFilter < DataType , T extends BuiltinType , Nullable extends boolean > = {
223234 equals ?: NullableIf < DataType , Nullable > ;
224235 in ?: DataType [ ] ;
225236 notIn ?: DataType [ ] ;
@@ -255,6 +266,7 @@ export type BytesFilter<Nullable extends boolean> =
255266 notIn ?: Uint8Array [ ] ;
256267 not ?: BytesFilter < Nullable > ;
257268 } ;
269+
258270export type BooleanFilter < Nullable extends boolean > =
259271 | NullableIf < boolean , Nullable >
260272 | {
@@ -321,14 +333,14 @@ export type WhereUniqueInput<Schema extends SchemaDef, Model extends GetModels<S
321333 Extract < keyof GetModel < Schema , Model > [ 'uniqueFields' ] , string >
322334> ;
323335
324- type OmitFields < Schema extends SchemaDef , Model extends GetModels < Schema > > = {
336+ export type OmitInput < Schema extends SchemaDef , Model extends GetModels < Schema > > = {
325337 [ Key in NonRelationFields < Schema , Model > ] ?: true ;
326338} ;
327339
328340export type SelectIncludeOmit < Schema extends SchemaDef , Model extends GetModels < Schema > , AllowCount extends boolean > = {
329- select ?: Select < Schema , Model , AllowCount , boolean > ;
330- include ?: Include < Schema , Model > ;
331- omit ?: OmitFields < Schema , Model > ;
341+ select ?: SelectInput < Schema , Model , AllowCount , boolean > ;
342+ include ?: IncludeInput < Schema , Model > ;
343+ omit ?: OmitInput < Schema , Model > ;
332344} ;
333345
334346type Distinct < Schema extends SchemaDef , Model extends GetModels < Schema > > = {
@@ -339,14 +351,14 @@ type Cursor<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
339351 cursor ?: WhereUniqueInput < Schema , Model > ;
340352} ;
341353
342- type Select <
354+ export type SelectInput <
343355 Schema extends SchemaDef ,
344356 Model extends GetModels < Schema > ,
345- AllowCount extends boolean ,
357+ AllowCount extends boolean = true ,
346358 AllowRelation extends boolean = true ,
347359> = {
348360 [ Key in NonRelationFields < Schema , Model > ] ?: true ;
349- } & ( AllowRelation extends true ? Include < Schema , Model > : { } ) & // relation fields
361+ } & ( AllowRelation extends true ? IncludeInput < Schema , Model > : { } ) & // relation fields
350362 // relation count
351363 ( AllowCount extends true ? { _count ?: SelectCount < Schema , Model > } : { } ) ;
352364
@@ -362,7 +374,7 @@ type SelectCount<Schema extends SchemaDef, Model extends GetModels<Schema>> =
362374 } ;
363375 } ;
364376
365- type Include < Schema extends SchemaDef , Model extends GetModels < Schema > > = {
377+ export type IncludeInput < Schema extends SchemaDef , Model extends GetModels < Schema > > = {
366378 [ Key in RelationFields < Schema , Model > ] ?:
367379 | boolean
368380 | FindArgs <
@@ -431,7 +443,7 @@ type RelationFilter<
431443
432444//#region Field utils
433445
434- export type MapFieldType <
446+ type MapFieldType <
435447 Schema extends SchemaDef ,
436448 Model extends GetModels < Schema > ,
437449 Field extends GetFields < Schema , Model > ,
@@ -443,7 +455,7 @@ type MapFieldDefType<Schema extends SchemaDef, T extends Pick<FieldDef, 'type' |
443455 T [ 'array' ]
444456> ;
445457
446- export type OptionalFieldsForCreate < Schema extends SchemaDef , Model extends GetModels < Schema > > = keyof {
458+ type OptionalFieldsForCreate < Schema extends SchemaDef , Model extends GetModels < Schema > > = keyof {
447459 [ Key in GetFields < Schema , Model > as FieldIsOptional < Schema , Model , Key > extends true
448460 ? Key
449461 : FieldHasDefault < Schema , Model , Key > extends true
@@ -475,14 +487,14 @@ type OppositeRelation<
475487 : never
476488 : never ;
477489
478- export type OppositeRelationFields <
490+ type OppositeRelationFields <
479491 Schema extends SchemaDef ,
480492 Model extends GetModels < Schema > ,
481493 Field extends GetFields < Schema , Model > ,
482494 Opposite = OppositeRelation < Schema , Model , Field > ,
483495> = Opposite extends RelationInfo ? ( Opposite [ 'fields' ] extends string [ ] ? Opposite [ 'fields' ] : [ ] ) : [ ] ;
484496
485- export type OppositeRelationAndFK <
497+ type OppositeRelationAndFK <
486498 Schema extends SchemaDef ,
487499 Model extends GetModels < Schema > ,
488500 Field extends GetFields < Schema , Model > ,
@@ -521,6 +533,9 @@ export type FindArgs<
521533 Distinct < Schema , Model > &
522534 Cursor < Schema , Model > ;
523535
536+ export type FindManyArgs < Schema extends SchemaDef , Model extends GetModels < Schema > > = FindArgs < Schema , Model , true > ;
537+ export type FindFirstArgs < Schema extends SchemaDef , Model extends GetModels < Schema > > = FindArgs < Schema , Model , false > ;
538+
524539export type FindUniqueArgs < Schema extends SchemaDef , Model extends GetModels < Schema > > = {
525540 where ?: WhereUniqueInput < Schema , Model > ;
526541} & SelectIncludeOmit < Schema , Model , true > ;
@@ -531,9 +546,9 @@ export type FindUniqueArgs<Schema extends SchemaDef, Model extends GetModels<Sch
531546
532547export type CreateArgs < Schema extends SchemaDef , Model extends GetModels < Schema > > = {
533548 data : CreateInput < Schema , Model > ;
534- select ?: Select < Schema , Model , true > ;
535- include ?: Include < Schema , Model > ;
536- omit ?: OmitFields < Schema , Model > ;
549+ select ?: SelectInput < Schema , Model , true > ;
550+ include ?: IncludeInput < Schema , Model > ;
551+ omit ?: OmitInput < Schema , Model > ;
537552} ;
538553
539554export type CreateManyArgs < Schema extends SchemaDef , Model extends GetModels < Schema > > = CreateManyInput < Schema , Model > ;
@@ -542,8 +557,8 @@ export type CreateManyAndReturnArgs<Schema extends SchemaDef, Model extends GetM
542557 Schema ,
543558 Model
544559> & {
545- select ?: Select < Schema , Model , false , false > ;
546- omit ?: OmitFields < Schema , Model > ;
560+ select ?: SelectInput < Schema , Model , false , false > ;
561+ omit ?: OmitInput < Schema , Model > ;
547562} ;
548563
549564type OptionalWrap < Schema extends SchemaDef , Model extends GetModels < Schema > , T extends object > = Optional <
@@ -633,20 +648,15 @@ type ConnectOrCreatePayload<
633648 create : CreateInput < Schema , Model , Without > ;
634649} ;
635650
636- export type CreateManyInput <
637- Schema extends SchemaDef ,
638- Model extends GetModels < Schema > ,
639- Without extends string = never ,
640- > = {
651+ type CreateManyInput < Schema extends SchemaDef , Model extends GetModels < Schema > , Without extends string = never > = {
641652 data : OrArray < Omit < CreateScalarPayload < Schema , Model > , Without > & Omit < CreateFKPayload < Schema , Model > , Without > > ;
642653 skipDuplicates ?: boolean ;
643654} ;
644655
645- export type CreateInput <
646- Schema extends SchemaDef ,
647- Model extends GetModels < Schema > ,
648- Without extends string = never ,
649- > = XOR < Omit < CreateWithFKInput < Schema , Model > , Without > , Omit < CreateWithRelationInput < Schema , Model > , Without > > ;
656+ type CreateInput < Schema extends SchemaDef , Model extends GetModels < Schema > , Without extends string = never > = XOR <
657+ Omit < CreateWithFKInput < Schema , Model > , Without > ,
658+ Omit < CreateWithRelationInput < Schema , Model > , Without >
659+ > ;
650660
651661type NestedCreateInput <
652662 Schema extends SchemaDef ,
@@ -670,9 +680,9 @@ type NestedCreateManyInput<
670680export type UpdateArgs < Schema extends SchemaDef , Model extends GetModels < Schema > > = {
671681 data : UpdateInput < Schema , Model > ;
672682 where : WhereUniqueInput < Schema , Model > ;
673- select ?: Select < Schema , Model , true > ;
674- include ?: Include < Schema , Model > ;
675- omit ?: OmitFields < Schema , Model > ;
683+ select ?: SelectInput < Schema , Model , true > ;
684+ include ?: IncludeInput < Schema , Model > ;
685+ omit ?: OmitInput < Schema , Model > ;
676686} ;
677687
678688export type UpdateManyArgs < Schema extends SchemaDef , Model extends GetModels < Schema > > = UpdateManyPayload <
@@ -684,8 +694,8 @@ export type UpdateManyAndReturnArgs<Schema extends SchemaDef, Model extends GetM
684694 Schema ,
685695 Model
686696> & {
687- select ?: Select < Schema , Model , false , false > ;
688- omit ?: OmitFields < Schema , Model > ;
697+ select ?: SelectInput < Schema , Model , false , false > ;
698+ omit ?: OmitInput < Schema , Model > ;
689699} ;
690700
691701type UpdateManyPayload < Schema extends SchemaDef , Model extends GetModels < Schema > , Without extends string = never > = {
@@ -698,12 +708,12 @@ export type UpsertArgs<Schema extends SchemaDef, Model extends GetModels<Schema>
698708 create : CreateInput < Schema , Model > ;
699709 update : UpdateInput < Schema , Model > ;
700710 where : WhereUniqueInput < Schema , Model > ;
701- select ?: Select < Schema , Model , true > ;
702- include ?: Include < Schema , Model > ;
703- omit ?: OmitFields < Schema , Model > ;
711+ select ?: SelectInput < Schema , Model , true > ;
712+ include ?: IncludeInput < Schema , Model > ;
713+ omit ?: OmitInput < Schema , Model > ;
704714} ;
705715
706- export type UpdateScalarInput <
716+ type UpdateScalarInput <
707717 Schema extends SchemaDef ,
708718 Model extends GetModels < Schema > ,
709719 Without extends string = never ,
@@ -736,7 +746,7 @@ type ScalarUpdatePayload<
736746 }
737747 : never ) ;
738748
739- export type UpdateRelationInput <
749+ type UpdateRelationInput <
740750 Schema extends SchemaDef ,
741751 Model extends GetModels < Schema > ,
742752 Without extends string = never ,
@@ -747,7 +757,7 @@ export type UpdateRelationInput<
747757 Without
748758> ;
749759
750- export type UpdateInput <
760+ type UpdateInput <
751761 Schema extends SchemaDef ,
752762 Model extends GetModels < Schema > ,
753763 Without extends string = never ,
@@ -803,9 +813,9 @@ type ToOneRelationUpdateInput<
803813
804814export type DeleteArgs < Schema extends SchemaDef , Model extends GetModels < Schema > > = {
805815 where : WhereUniqueInput < Schema , Model > ;
806- select ?: Select < Schema , Model , true > ;
807- include ?: Include < Schema , Model > ;
808- omit ?: OmitFields < Schema , Model > ;
816+ select ?: SelectInput < Schema , Model , true > ;
817+ include ?: IncludeInput < Schema , Model > ;
818+ omit ?: OmitInput < Schema , Model > ;
809819} ;
810820
811821export type DeleteManyArgs < Schema extends SchemaDef , Model extends GetModels < Schema > > = {
@@ -824,7 +834,7 @@ export type CountArgs<Schema extends SchemaDef, Model extends GetModels<Schema>>
824834 select ?: CountAggregateInput < Schema , Model > | true ;
825835} ;
826836
827- export type CountAggregateInput < Schema extends SchemaDef , Model extends GetModels < Schema > > = {
837+ type CountAggregateInput < Schema extends SchemaDef , Model extends GetModels < Schema > > = {
828838 [ Key in NonRelationFields < Schema , Model > ] ?: true ;
829839} & { _all ?: true } ;
830840
0 commit comments