@@ -2,7 +2,7 @@ import { valuesOf } from './index.js'
2
2
3
3
import { forAll , record , unknown , string , array , oneOf , integer } from '../../random/index.js'
4
4
5
- import { expect , it } from 'vitest'
5
+ import { expect , it , expectTypeOf } from 'vitest'
6
6
7
7
it ( 'valuesOf === Object.values' , ( ) => {
8
8
forAll ( record ( unknown ( ) ) , ( o ) => {
@@ -30,8 +30,12 @@ it('valuesOf union object and array', () => {
30
30
forAll ( oneOf ( array ( string ( ) ) , record ( [ integer ( ) , integer ( ) ] ) ) , ( o ) => {
31
31
expect ( valuesOf ( o ) ) . toStrictEqual ( Object . values ( o ) )
32
32
} )
33
- const _foo : number [ ] = valuesOf ( [ 1 , 2 , 3 ] )
34
- const _foo2 : ( number | string ) [ ] = valuesOf ( [ 1 , '2' , 3 ] )
35
- const _foo3 : 'bar' [ ] = valuesOf ( { foo : 'bar' } as const )
36
- const _foo4 : number [ ] | string [ ] = valuesOf < number [ ] | { foo : string } > ( { foo : 'bar' } )
33
+ } )
34
+
35
+ it ( 'types' , ( ) => {
36
+ expectTypeOf ( valuesOf ( { foo : 'bar' } ) ) . toEqualTypeOf < 'bar' [ ] > ( )
37
+ expectTypeOf ( valuesOf < number [ ] | { foo : string } > ( { foo : 'bar' } ) ) . toEqualTypeOf < number [ ] | string [ ] > ( )
38
+
39
+ expectTypeOf ( valuesOf ( [ 1 , 2 , 3 ] ) ) . toEqualTypeOf < ( 1 | 2 | 3 ) [ ] > ( )
40
+ expectTypeOf ( valuesOf ( [ 1 , '2' , 3 ] ) ) . toEqualTypeOf < ( 1 | '2' | 3 ) [ ] > ( )
37
41
} )
0 commit comments