File tree 2 files changed +43
-1
lines changed
packages/angular-query-experimental/src
2 files changed +43
-1
lines changed Original file line number Diff line number Diff line change
1
+ import { TestBed } from '@angular/core/testing'
2
+ import { afterEach } from 'vitest'
3
+ import { provideExperimentalZonelessChangeDetection } from '@angular/core'
4
+ import { QueryClient , injectInfiniteQuery , provideTanStackQuery } from '..'
5
+ import { infiniteFetcher } from './test-utils'
6
+ import type { InfiniteData } from '@tanstack/query-core'
7
+
8
+ describe ( 'injectInfiniteQuery' , ( ) => {
9
+ let queryClient : QueryClient
10
+
11
+ beforeEach ( ( ) => {
12
+ queryClient = new QueryClient ( )
13
+ vi . useFakeTimers ( )
14
+ TestBed . configureTestingModule ( {
15
+ providers : [
16
+ provideExperimentalZonelessChangeDetection ( ) ,
17
+ provideTanStackQuery ( queryClient ) ,
18
+ ] ,
19
+ } )
20
+ } )
21
+
22
+ afterEach ( ( ) => {
23
+ vi . useRealTimers ( )
24
+ } )
25
+
26
+ test ( 'should narrow type after isSuccess' , async ( ) => {
27
+ const query = TestBed . runInInjectionContext ( ( ) => {
28
+ return injectInfiniteQuery ( ( ) => ( {
29
+ queryKey : [ 'infiniteQuery' ] ,
30
+ queryFn : infiniteFetcher ,
31
+ initialPageParam : 0 ,
32
+ getNextPageParam : ( ) => 12 ,
33
+ } ) )
34
+ } )
35
+
36
+ if ( query . isSuccess ( ) ) {
37
+ const data = query . data ( )
38
+ expectTypeOf ( data ) . toEqualTypeOf < InfiniteData < string , unknown > > ( )
39
+ }
40
+ } )
41
+ } )
Original file line number Diff line number Diff line change @@ -145,7 +145,8 @@ export type DefinedCreateQueryResult<
145
145
export type CreateInfiniteQueryResult <
146
146
TData = unknown ,
147
147
TError = DefaultError ,
148
- > = MapToSignals < InfiniteQueryObserverResult < TData , TError > >
148
+ > = BaseQueryNarrowing < TData , TError > &
149
+ MapToSignals < InfiniteQueryObserverResult < TData , TError > >
149
150
150
151
/**
151
152
* @public
You can’t perform that action at this time.
0 commit comments