@@ -152,7 +152,8 @@ export default class BuildsQuery extends HasAttributes {
152
152
*
153
153
* @return {BuildsQuery }
154
154
*/
155
- public static newQuery < T extends Model > ( ) : T {
155
+ // @ts -expect-error - despite TS2526, it still infers correctly
156
+ public static newQuery < T extends Model = InstanceType < this> > ( ) : T {
156
157
return new this as T ;
157
158
}
158
159
@@ -330,7 +331,8 @@ export default class BuildsQuery extends HasAttributes {
330
331
*
331
332
* @see BuildsQuery.prototype.where
332
333
*/
333
- public static where < T extends Model > (
334
+ // @ts -expect-error - despite TS2526, it still infers correctly
335
+ public static where < T extends Model = InstanceType < this> > (
334
336
column : string ,
335
337
operator : Operator | unknown ,
336
338
value ?: unknown ,
@@ -383,7 +385,8 @@ export default class BuildsQuery extends HasAttributes {
383
385
*
384
386
* @see BuildsQuery.prototype.whereKey
385
387
*/
386
- public static whereKey < T extends Model > (
388
+ // @ts -expect-error - despite TS2526, it still infers correctly
389
+ public static whereKey < T extends Model = InstanceType < this> > (
387
390
value : MaybeArray < number | string > , boolean : BooleanOperator = 'and'
388
391
) : T {
389
392
return this . newQuery < T > ( ) . whereKey ( value , boolean ) ;
@@ -426,7 +429,8 @@ export default class BuildsQuery extends HasAttributes {
426
429
*
427
430
* @see BuildsQuery.prototype.whereNotIn
428
431
*/
429
- public static whereKeyNot < T extends Model > (
432
+ // @ts -expect-error - despite TS2526, it still infers correctly
433
+ public static whereKeyNot < T extends Model = InstanceType < this> > (
430
434
value : MaybeArray < number | string > , boolean : BooleanOperator = 'and'
431
435
) : T {
432
436
return this . newQuery < T > ( ) . whereKeyNot ( value , boolean ) ;
@@ -470,7 +474,8 @@ export default class BuildsQuery extends HasAttributes {
470
474
*
471
475
* @see BuildsQuery.prototype.whereNull
472
476
*/
473
- public static whereNull < T extends Model > ( columns : MaybeArray < string > ) : T {
477
+ // @ts -expect-error - despite TS2526, it still infers correctly
478
+ public static whereNull < T extends Model = InstanceType < this> > ( columns : MaybeArray < string > ) : T {
474
479
return this . newQuery < T > ( ) . whereNull ( columns ) ;
475
480
}
476
481
@@ -512,7 +517,8 @@ export default class BuildsQuery extends HasAttributes {
512
517
*
513
518
* @see BuildsQuery.prototype.whereNotNull
514
519
*/
515
- public static whereNotNull < T extends Model > ( columns : MaybeArray < string > ) : T {
520
+ // @ts -expect-error - despite TS2526, it still infers correctly
521
+ public static whereNotNull < T extends Model = InstanceType < this> > ( columns : MaybeArray < string > ) : T {
516
522
return this . newQuery < T > ( ) . whereNotNull ( columns ) ;
517
523
}
518
524
@@ -549,7 +555,8 @@ export default class BuildsQuery extends HasAttributes {
549
555
*
550
556
* @see BuildsQuery.prototype.whereIn
551
557
*/
552
- public static whereIn < T extends Model > ( column : string , values : any [ ] , boolean : BooleanOperator = 'and' ) : T {
558
+ // @ts -expect-error - despite TS2526, it still infers correctly
559
+ public static whereIn < T extends Model = InstanceType < this> > ( column : string , values : any [ ] , boolean : BooleanOperator = 'and' ) : T {
553
560
return this . newQuery < T > ( ) . whereIn ( column , values , boolean ) ;
554
561
}
555
562
@@ -587,7 +594,8 @@ export default class BuildsQuery extends HasAttributes {
587
594
*
588
595
* @see BuildsQuery.prototype.whereNotIn
589
596
*/
590
- public static whereNotIn < T extends Model > ( column : string , values : any [ ] , boolean : BooleanOperator = 'and' ) : T {
597
+ // @ts -expect-error - despite TS2526, it still infers correctly
598
+ public static whereNotIn < T extends Model = InstanceType < this> > ( column : string , values : any [ ] , boolean : BooleanOperator = 'and' ) : T {
591
599
return this . newQuery < T > ( ) . whereNotIn ( column , values , boolean ) ;
592
600
}
593
601
@@ -630,7 +638,8 @@ export default class BuildsQuery extends HasAttributes {
630
638
*
631
639
* @see BuildsQuery.prototype.whereBetween
632
640
*/
633
- public static whereBetween < T extends Model > ( column : string , values : any [ ] , boolean : BooleanOperator = 'and' ) : T {
641
+ // @ts -expect-error - despite TS2526, it still infers correctly
642
+ public static whereBetween < T extends Model = InstanceType < this> > ( column : string , values : any [ ] , boolean : BooleanOperator = 'and' ) : T {
634
643
return this . newQuery < T > ( ) . whereBetween ( column , values , boolean ) ;
635
644
}
636
645
@@ -673,7 +682,8 @@ export default class BuildsQuery extends HasAttributes {
673
682
*
674
683
* @see BuildsQuery.prototype.whereNotBetween
675
684
*/
676
- public static whereNotBetween < T extends Model > ( column : string , values : any [ ] , boolean : BooleanOperator = 'and' ) : T {
685
+ // @ts -expect-error - despite TS2526, it still infers correctly
686
+ public static whereNotBetween < T extends Model = InstanceType < this> > ( column : string , values : any [ ] , boolean : BooleanOperator = 'and' ) : T {
677
687
return this . newQuery < T > ( ) . whereNotBetween ( column , values , boolean ) ;
678
688
}
679
689
@@ -715,7 +725,8 @@ export default class BuildsQuery extends HasAttributes {
715
725
*
716
726
* @see BuildsQuery.prototype.limit
717
727
*/
718
- public static limit < T extends Model > ( count : number ) : T {
728
+ // @ts -expect-error - despite TS2526, it still infers correctly
729
+ public static limit < T extends Model = InstanceType < this> > ( count : number ) : T {
719
730
return this . newQuery < T > ( ) . limit ( count ) ;
720
731
}
721
732
@@ -740,7 +751,8 @@ export default class BuildsQuery extends HasAttributes {
740
751
*
741
752
* @see BuildsQuery.prototype.page
742
753
*/
743
- public static page < T extends Model > ( pageNumber : number ) : T {
754
+ // @ts -expect-error - despite TS2526, it still infers correctly
755
+ public static page < T extends Model = InstanceType < this> > ( pageNumber : number ) : T {
744
756
return this . newQuery < T > ( ) . page ( pageNumber ) ;
745
757
}
746
758
@@ -770,7 +782,8 @@ export default class BuildsQuery extends HasAttributes {
770
782
*
771
783
* @see BuildsQuery.prototype.when
772
784
*/
773
- public static when < T extends Model > ( value : any , closure : ( instance : BuildsQuery ) => any ) : T {
785
+ // @ts -expect-error - despite TS2526, it still infers correctly
786
+ public static when < T extends Model = InstanceType < this> > ( value : any , closure : ( instance : BuildsQuery ) => any ) : T {
774
787
return this . newQuery < T > ( ) . when ( value , closure ) ;
775
788
}
776
789
@@ -800,7 +813,8 @@ export default class BuildsQuery extends HasAttributes {
800
813
*
801
814
* @see BuildsQuery.prototype.unless
802
815
*/
803
- public static unless < T extends Model > ( value : any , closure : ( instance : BuildsQuery ) => any ) : T {
816
+ // @ts -expect-error - despite TS2526, it still infers correctly
817
+ public static unless < T extends Model = InstanceType < this> > ( value : any , closure : ( instance : BuildsQuery ) => any ) : T {
804
818
return this . newQuery < T > ( ) . unless ( value , closure ) ;
805
819
}
806
820
@@ -822,7 +836,8 @@ export default class BuildsQuery extends HasAttributes {
822
836
*
823
837
* @see BuildsQuery.prototype.distinct
824
838
*/
825
- public static distinct < T extends Model > ( columns : MaybeArray < string > ) : T {
839
+ // @ts -expect-error - despite TS2526, it still infers correctly
840
+ public static distinct < T extends Model = InstanceType < this> > ( columns : MaybeArray < string > ) : T {
826
841
return this . newQuery < T > ( ) . distinct ( columns ) ;
827
842
}
828
843
@@ -848,7 +863,8 @@ export default class BuildsQuery extends HasAttributes {
848
863
*
849
864
* @see BuildsQuery.prototype.select
850
865
*/
851
- public static select < T extends Model > ( columns : MaybeArray < string > ) : T {
866
+ // @ts -expect-error - despite TS2526, it still infers correctly
867
+ public static select < T extends Model = InstanceType < this> > ( columns : MaybeArray < string > ) : T {
852
868
return this . newQuery < T > ( ) . select ( columns ) ;
853
869
}
854
870
@@ -874,7 +890,8 @@ export default class BuildsQuery extends HasAttributes {
874
890
*
875
891
* @see BuildsQuery.prototype.has
876
892
*/
877
- public static has < T extends Model > ( relations : MaybeArray < string > ) : T {
893
+ // @ts -expect-error - despite TS2526, it still infers correctly
894
+ public static has < T extends Model = InstanceType < this> > ( relations : MaybeArray < string > ) : T {
878
895
return this . newQuery < T > ( ) . has ( relations ) ;
879
896
}
880
897
@@ -900,7 +917,8 @@ export default class BuildsQuery extends HasAttributes {
900
917
*
901
918
* @see BuildsQuery.prototype.with
902
919
*/
903
- public static with < T extends Model > ( relations : MaybeArray < string > ) : T {
920
+ // @ts -expect-error - despite TS2526, it still infers correctly
921
+ public static with < T extends Model = InstanceType < this> > ( relations : MaybeArray < string > ) : T {
904
922
return this . newQuery < T > ( ) . with ( relations ) ;
905
923
}
906
924
@@ -924,7 +942,8 @@ export default class BuildsQuery extends HasAttributes {
924
942
*
925
943
* @see BuildsQuery.prototype.without
926
944
*/
927
- public static without < T extends Model > ( relations : MaybeArray < string > ) : T {
945
+ // @ts -expect-error - despite TS2526, it still infers correctly
946
+ public static without < T extends Model = InstanceType < this> > ( relations : MaybeArray < string > ) : T {
928
947
return this . newQuery < T > ( ) . without ( relations ) ;
929
948
}
930
949
@@ -950,7 +969,8 @@ export default class BuildsQuery extends HasAttributes {
950
969
*
951
970
* @see BuildsQuery.prototype.scope
952
971
*/
953
- public static scope < T extends Model > ( scopes : MaybeArray < string > ) : T {
972
+ // @ts -expect-error - despite TS2526, it still infers correctly
973
+ public static scope < T extends Model = InstanceType < this> > ( scopes : MaybeArray < string > ) : T {
954
974
return this . newQuery < T > ( ) . scope ( scopes ) ;
955
975
}
956
976
@@ -981,7 +1001,8 @@ export default class BuildsQuery extends HasAttributes {
981
1001
*
982
1002
* @see BuildsQuery.prototype.orderBy
983
1003
*/
984
- public static orderBy < T extends Model > ( column : string , direction : Direction = 'asc' ) : T {
1004
+ // @ts -expect-error - despite TS2526, it still infers correctly
1005
+ public static orderBy < T extends Model = InstanceType < this> > ( column : string , direction : Direction = 'asc' ) : T {
985
1006
return this . newQuery < T > ( ) . orderBy ( column , direction ) ;
986
1007
}
987
1008
@@ -1005,7 +1026,8 @@ export default class BuildsQuery extends HasAttributes {
1005
1026
*
1006
1027
* @see BuildsQuery.prototype.orderByDesc
1007
1028
*/
1008
- public static orderByDesc < T extends Model > ( column : string ) : T {
1029
+ // @ts -expect-error - despite TS2526, it still infers correctly
1030
+ public static orderByDesc < T extends Model = InstanceType < this> > ( column : string ) : T {
1009
1031
return this . newQuery < T > ( ) . orderByDesc ( column ) ;
1010
1032
}
1011
1033
@@ -1031,7 +1053,8 @@ export default class BuildsQuery extends HasAttributes {
1031
1053
*
1032
1054
* @see BuildsQuery.prototype.latest
1033
1055
*/
1034
- public static latest < T extends Model > ( column ?: string ) : T {
1056
+ // @ts -expect-error - despite TS2526, it still infers correctly
1057
+ public static latest < T extends Model = InstanceType < this> > ( column ?: string ) : T {
1035
1058
return this . newQuery < T > ( ) . latest ( column ) ;
1036
1059
}
1037
1060
@@ -1057,7 +1080,8 @@ export default class BuildsQuery extends HasAttributes {
1057
1080
*
1058
1081
* @see BuildsQuery.prototype.oldest
1059
1082
*/
1060
- public static oldest < T extends Model > ( column = 'created_at' ) : T {
1083
+ // @ts -expect-error - despite TS2526, it still infers correctly
1084
+ public static oldest < T extends Model = InstanceType < this> > ( column = 'created_at' ) : T {
1061
1085
return this . newQuery < T > ( ) . oldest ( column ) ;
1062
1086
}
1063
1087
@@ -1086,7 +1110,8 @@ export default class BuildsQuery extends HasAttributes {
1086
1110
*
1087
1111
* @see BuildsQuery.prototype.offset
1088
1112
*/
1089
- public static offset < T extends Model > ( count : number ) : T {
1113
+ // @ts -expect-error - despite TS2526, it still infers correctly
1114
+ public static offset < T extends Model = InstanceType < this> > ( count : number ) : T {
1090
1115
return this . newQuery < T > ( ) . offset ( count ) ;
1091
1116
}
1092
1117
@@ -1112,7 +1137,8 @@ export default class BuildsQuery extends HasAttributes {
1112
1137
*
1113
1138
* @see BuildsQuery.prototype.skip
1114
1139
*/
1115
- public static skip < T extends Model > ( count : number ) : T {
1140
+ // @ts -expect-error - despite TS2526, it still infers correctly
1141
+ public static skip < T extends Model = InstanceType < this> > ( count : number ) : T {
1116
1142
return this . newQuery < T > ( ) . skip ( count ) ;
1117
1143
}
1118
1144
}
0 commit comments