@@ -60,6 +60,8 @@ type DeepPartial<T> = T extends object
60
60
}
61
61
: T
62
62
63
+ type DefaultTo < T , D > = unknown extends T ? D : T
64
+
63
65
export type CompatibleError = CompatibleWithV4 < DefaultError , Error >
64
66
65
67
export type Fetcher < TFnData , TVariables = void , TPageParam = never > = (
@@ -596,92 +598,122 @@ export type inferCreateOptions<T> = T extends QueryHook<
596
598
597
599
// router
598
600
601
+ export type RouterQueryOptions <
602
+ TFnData ,
603
+ TVariables = void ,
604
+ TError = CompatibleError
605
+ > = Omit < CreateQueryOptions < TFnData , TVariables , TError > , 'queryKey' >
606
+
599
607
export type RouterQuery <
600
608
TFnData ,
601
609
TVariables = void ,
602
610
TError = CompatibleError
603
- > = Omit < CreateQueryOptions < TFnData , TVariables , TError > , 'queryKey' > & {
611
+ > = RouterQueryOptions < TFnData , TVariables , TError > & {
604
612
_type : `q`
605
613
}
606
614
607
- export type RouterInfiniteQuery <
615
+ export type ResolvedRouterQuery <
616
+ TFnData ,
617
+ TVariables = void ,
618
+ TError = CompatibleError
619
+ > = {
620
+ useQuery : QueryHook < TFnData , TVariables , TError >
621
+ useSuspenseQuery : SuspenseQueryHook < TFnData , TVariables , TError >
622
+ } & ExposeMethods < TFnData , TVariables , TError >
623
+
624
+ export type RouterInfiniteQueryOptions <
608
625
TFnData ,
609
626
TVariables = void ,
610
627
TError = CompatibleError ,
611
628
TPageParam = number
612
629
> = Omit <
613
630
CreateInfiniteQueryOptions < TFnData , TVariables , TError , TPageParam > ,
614
631
'queryKey'
632
+ >
633
+
634
+ export type RouterInfiniteQuery <
635
+ TFnData ,
636
+ TVariables = void ,
637
+ TError = CompatibleError ,
638
+ TPageParam = number
639
+ > = RouterInfiniteQueryOptions <
640
+ TFnData ,
641
+ TVariables ,
642
+ TError ,
643
+ Clone < TPageParam >
615
644
> & {
616
645
_type : `inf`
617
646
}
618
647
619
- export type RouterMutation <
648
+ export type ResolvedRouterInfiniteQuery <
649
+ TFnData ,
650
+ TVariables = void ,
651
+ TError = CompatibleError ,
652
+ TPageParam = number
653
+ > = {
654
+ useInfiniteQuery : InfiniteQueryHook < TFnData , TVariables , TError , TPageParam >
655
+ useSuspenseInfiniteQuery : SuspenseInfiniteQueryHook <
656
+ TFnData ,
657
+ TVariables ,
658
+ TError ,
659
+ TPageParam
660
+ >
661
+ } & ExposeMethods < TFnData , TVariables , TError , TPageParam >
662
+
663
+ export type RouterMutationOptions <
620
664
TData = unknown ,
621
665
TVariables = void ,
622
666
TError = CompatibleError ,
623
667
TContext = unknown
624
668
> = Omit <
625
669
CreateMutationOptions < TData , TVariables , TError , TContext > ,
626
670
'mutationKey'
627
- > & {
671
+ >
672
+
673
+ export type RouterMutation <
674
+ TData = unknown ,
675
+ TVariables = void ,
676
+ TError = CompatibleError ,
677
+ TContext = unknown
678
+ > = RouterMutationOptions < TData , TVariables , TError , TContext > & {
628
679
_type : `m`
629
680
}
630
681
631
- type DefaultTo < T , D > = unknown extends T ? D : T
632
-
633
- export type RouterConfig = Record <
634
- string ,
635
- | RouterQuery < any , any , any >
636
- | RouterInfiniteQuery < any , any , any , any >
637
- | RouterMutation < any , any , any , any >
638
- | Record <
639
- string ,
640
- | RouterQuery < any , any , any >
641
- | RouterInfiniteQuery < any , any , any , any >
642
- | RouterMutation < any , any , any , any >
643
- | Record <
644
- string ,
645
- | RouterQuery < any , any , any >
646
- | RouterInfiniteQuery < any , any , any , any >
647
- | RouterMutation < any , any , any , any >
648
- | Record <
649
- string ,
650
- | RouterQuery < any , any , any >
651
- | RouterInfiniteQuery < any , any , any , any >
652
- | RouterMutation < any , any , any , any >
653
- | Record <
654
- string ,
655
- | RouterQuery < any , any , any >
656
- | RouterInfiniteQuery < any , any , any , any >
657
- | RouterMutation < any , any , any , any >
658
- | Record <
659
- string ,
660
- | RouterQuery < any , any , any >
661
- | RouterInfiniteQuery < any , any , any , any >
662
- | RouterMutation < any , any , any , any >
663
- >
664
- >
665
- >
666
- >
667
- >
682
+ export type ResolvedRouterMutation <
683
+ TData = unknown ,
684
+ TVariables = void ,
685
+ TError = CompatibleError ,
686
+ TContext = unknown
687
+ > = {
688
+ useMutation : MutationHook <
689
+ TData ,
690
+ DefaultTo < TVariables , void > ,
691
+ DefaultTo < TError , CompatibleError > ,
692
+ TContext
693
+ >
694
+ } & ExposeMutationMethods <
695
+ TData ,
696
+ DefaultTo < TVariables , void > ,
697
+ DefaultTo < TError , CompatibleError > ,
698
+ TContext
668
699
>
669
700
701
+ export interface RouterConfig {
702
+ [ k : string ] :
703
+ | RouterQuery < any , any , any >
704
+ | RouterInfiniteQuery < any , any , any , any >
705
+ | RouterMutation < any , any , any , any >
706
+ | RouterConfig
707
+ }
708
+
670
709
export type CreateRouter < TConfig extends RouterConfig > = {
671
710
[ K in keyof TConfig ] : TConfig [ K ] extends RouterMutation <
672
711
infer TFnData ,
673
712
infer TVariables ,
674
713
infer TError ,
675
714
infer TContext
676
715
>
677
- ? {
678
- useMutation : MutationHook <
679
- TFnData ,
680
- DefaultTo < TVariables , void > ,
681
- DefaultTo < TError , CompatibleError > ,
682
- TContext
683
- >
684
- } & ExposeMutationMethods <
716
+ ? ResolvedRouterMutation <
685
717
TFnData ,
686
718
DefaultTo < TVariables , void > ,
687
719
DefaultTo < TError , CompatibleError > ,
@@ -693,20 +725,7 @@ export type CreateRouter<TConfig extends RouterConfig> = {
693
725
infer TError ,
694
726
infer TPageParam
695
727
>
696
- ? {
697
- useInfiniteQuery : InfiniteQueryHook <
698
- TFnData ,
699
- DefaultTo < TVariables , void > ,
700
- DefaultTo < TError , CompatibleError > ,
701
- DefaultTo < TPageParam , number >
702
- >
703
- useSuspenseInfiniteQuery : SuspenseInfiniteQueryHook <
704
- TFnData ,
705
- DefaultTo < TVariables , void > ,
706
- DefaultTo < TError , CompatibleError > ,
707
- DefaultTo < TPageParam , number >
708
- >
709
- } & ExposeMethods <
728
+ ? ResolvedRouterInfiniteQuery <
710
729
TFnData ,
711
730
DefaultTo < TVariables , void > ,
712
731
DefaultTo < TError , CompatibleError > ,
@@ -716,23 +735,12 @@ export type CreateRouter<TConfig extends RouterConfig> = {
716
735
RouterQuery < infer TFnData , infer TVariables , infer TError > ,
717
736
'queryKey'
718
737
>
719
- ? {
720
- useQuery : QueryHook <
721
- TFnData ,
722
- DefaultTo < TVariables , void > ,
723
- DefaultTo < TError , CompatibleError >
724
- >
725
- useSuspenseQuery : SuspenseQueryHook <
726
- TFnData ,
727
- DefaultTo < TVariables , void > ,
728
- DefaultTo < TError , CompatibleError >
729
- >
730
- } & ExposeMethods <
738
+ ? ResolvedRouterQuery <
731
739
TFnData ,
732
740
DefaultTo < TVariables , void > ,
733
741
DefaultTo < TError , CompatibleError >
734
742
>
735
743
: TConfig [ K ] extends RouterConfig
736
744
? CreateRouter < TConfig [ K ] >
737
745
: never
738
- } & { getKey : ( ) => [ string ] }
746
+ } & { getKey : ( ) => string [ ] }
0 commit comments