@@ -50,6 +50,20 @@ describe('infiniteQueryOptions', () => {
5050 InfiniteData < string , unknown > | undefined
5151 > ( )
5252 } )
53+ it ( 'should work when passed to useInfiniteQuery with select' , ( ) => {
54+ const options = infiniteQueryOptions ( {
55+ queryKey : [ 'key' ] ,
56+ queryFn : ( ) => Promise . resolve ( 'string' ) ,
57+ getNextPageParam : ( ) => 1 ,
58+ initialPageParam : 1 ,
59+ select : ( data ) => data . pages ,
60+ } )
61+
62+ const { data } = useInfiniteQuery ( options )
63+
64+ // known issue: type of pageParams is unknown when returned from useInfiniteQuery
65+ expectTypeOf ( data ) . toEqualTypeOf < string [ ] | undefined > ( )
66+ } )
5367 it ( 'should work when passed to useSuspenseInfiniteQuery' , ( ) => {
5468 const options = infiniteQueryOptions ( {
5569 queryKey : [ 'key' ] ,
@@ -62,6 +76,61 @@ describe('infiniteQueryOptions', () => {
6276
6377 expectTypeOf ( data ) . toEqualTypeOf < InfiniteData < string , unknown > > ( )
6478 } )
79+ it ( 'should work when passed to useInfiniteQuery with select' , ( ) => {
80+ const options = infiniteQueryOptions ( {
81+ queryKey : [ 'key' ] ,
82+ queryFn : ( ) => Promise . resolve ( 'string' ) ,
83+ getNextPageParam : ( ) => 1 ,
84+ initialPageParam : 1 ,
85+ select : ( data ) => data . pages ,
86+ } )
87+
88+ const { data } = useInfiniteQuery ( options )
89+
90+ // known issue: type of pageParams is unknown when returned from useInfiniteQuery
91+ expectTypeOf ( data ) . toEqualTypeOf < string [ ] | undefined > ( )
92+ } )
93+ it ( 'should work when passed to infiniteQuery' , async ( ) => {
94+ const options = infiniteQueryOptions ( {
95+ queryKey : [ 'key' ] ,
96+ queryFn : ( ) => Promise . resolve ( 'string' ) ,
97+ getNextPageParam : ( ) => 1 ,
98+ initialPageParam : 1 ,
99+ } )
100+
101+ options . select
102+
103+ const data = await new QueryClient ( ) . infiniteQuery ( options )
104+
105+ expectTypeOf ( data ) . toEqualTypeOf < InfiniteData < string , number > > ( )
106+ } )
107+ it ( 'should work when passed to fetchInfiniteQuery' , async ( ) => {
108+ const options = infiniteQueryOptions ( {
109+ queryKey : [ 'key' ] ,
110+ queryFn : ( ) => Promise . resolve ( 'string' ) ,
111+ getNextPageParam : ( ) => 1 ,
112+ initialPageParam : 1 ,
113+ } )
114+
115+ const data = await new QueryClient ( ) . fetchInfiniteQuery ( options )
116+
117+ expectTypeOf ( data ) . toEqualTypeOf < InfiniteData < string , number > > ( )
118+ } )
119+ it ( 'should work when passed to infiniteQuery with select' , async ( ) => {
120+ const options = infiniteQueryOptions ( {
121+ queryKey : [ 'key' ] ,
122+ queryFn : ( ) => Promise . resolve ( 'string' ) ,
123+ getNextPageParam : ( ) => 1 ,
124+ initialPageParam : 1 ,
125+ select : ( data ) => data . pages ,
126+ } )
127+
128+ options . select
129+
130+ const data = await new QueryClient ( ) . infiniteQuery ( options )
131+
132+ expectTypeOf ( data ) . toEqualTypeOf < InfiniteData < string , number > > ( )
133+ } )
65134 it ( 'should work when passed to fetchInfiniteQuery' , async ( ) => {
66135 const options = infiniteQueryOptions ( {
67136 queryKey : [ 'key' ] ,
0 commit comments