1
+ import { PropType } from 'vue'
1
2
import { prop , Vue } from '../src'
2
3
3
4
describe ( 'props' , ( ) => {
@@ -18,6 +19,12 @@ describe('props', () => {
18
19
} ) ,
19
20
} )
20
21
22
+ optional = prop ( Object as PropType < Person > )
23
+ required = prop ( {
24
+ type : String ,
25
+ required : true ,
26
+ } )
27
+
21
28
// @ts -expect-error
22
29
invalidDefault : string = prop ( { default : 'default' } )
23
30
}
@@ -30,10 +37,14 @@ describe('props', () => {
30
37
equals < typeof vm . bar , number | undefined > ( true )
31
38
equals < typeof vm . baz , boolean > ( true )
32
39
equals < typeof vm . qux , Person > ( true )
40
+ equals < typeof vm . optional , Person | undefined > ( true )
41
+ equals < typeof vm . required , string > ( true )
33
42
equals < typeof vm . $props . foo , string > ( true )
34
43
equals < typeof vm . $props . bar , number | undefined > ( true )
35
44
equals < typeof vm . $props . baz , boolean | undefined > ( true )
36
45
equals < typeof vm . $props . qux , Person | undefined > ( true )
46
+ equals < typeof vm . $props . optional , Person | undefined > ( true )
47
+ equals < typeof vm . $props . required , string > ( true )
37
48
38
49
// @ts -expect-error
39
50
vm . notExists
0 commit comments