11import { anyPass , filter } from 'rambda'
2+ import { describe , expectTypeOf , it } from 'vitest'
23
34describe ( 'anyPass' , ( ) => {
45 it ( 'issue #604' , ( ) => {
56 const plusEq = ( w : number , x : number , y : number , z : number ) => w + x === y + z
67 const result = anyPass ( [ plusEq ] ) ( 3 , 3 , 3 , 3 )
78
8- result // $ExpectType boolean
9+ expectTypeOf ( result ) . toEqualTypeOf < boolean > ( )
910 } )
1011 it ( 'issue #642' , ( ) => {
1112 const isGreater = ( num : number ) => num > 5
1213 const pred = anyPass ( [ isGreater ] )
1314 const xs = [ 0 , 1 , 2 , 3 ]
1415
1516 const filtered1 = filter ( pred ) ( xs )
16- filtered1 // $ExpectType number[]
17+ expectTypeOf ( filtered1 ) . toEqualTypeOf < number [ ] > ( )
1718 const filtered2 = xs . filter ( pred )
18- filtered2 // $ExpectType number[]
19+ expectTypeOf ( filtered2 ) . toEqualTypeOf < number [ ] > ( )
1920 } )
2021 it ( 'functions as a type guard' , ( ) => {
2122 const isString = ( x : unknown ) : x is string => typeof x === 'string'
@@ -27,7 +28,7 @@ describe('anyPass', () => {
2728 const aValue : unknown = 1
2829
2930 if ( isStringNumberOrBoolean ( aValue ) ) {
30- aValue // $ExpectType string | number | boolean
31+ expectTypeOf ( aValue ) . toEqualTypeOf < string | number | boolean > ( )
3132 }
3233 } )
3334} )
0 commit comments