@@ -9,11 +9,11 @@ const recordOfRecords: RecordOfRecords = {}
9
9
>{} : {}
10
10
11
11
recordOfRecords.propA = {...(foo !== undefined ? {foo} : {})} // OK
12
- >recordOfRecords.propA = {...(foo !== undefined ? {foo} : {})} : { foo?: Record<never, never>; }
12
+ >recordOfRecords.propA = {...(foo !== undefined ? {foo} : {})} : { foo?: Record<never, never> | undefined ; }
13
13
>recordOfRecords.propA : RecordOfRecords
14
14
>recordOfRecords : RecordOfRecords
15
15
>propA : RecordOfRecords
16
- >{...(foo !== undefined ? {foo} : {})} : { foo?: Record<never, never>; }
16
+ >{...(foo !== undefined ? {foo} : {})} : { foo?: Record<never, never> | undefined ; }
17
17
>(foo !== undefined ? {foo} : {}) : { foo: Record<never, never>; } | {}
18
18
>foo !== undefined ? {foo} : {} : { foo: Record<never, never>; } | {}
19
19
>foo !== undefined : boolean
@@ -36,11 +36,11 @@ recordOfRecords.propB = {...(foo && {foo})} // OK
36
36
>foo : Record<never, never>
37
37
38
38
recordOfRecords.propC = {...(foo !== undefined && {foo})} // error'd in 3.7 beta, should be OK
39
- >recordOfRecords.propC = {...(foo !== undefined && {foo})} : { foo?: Record<never, never>; }
39
+ >recordOfRecords.propC = {...(foo !== undefined && {foo})} : { foo?: Record<never, never> | undefined ; }
40
40
>recordOfRecords.propC : RecordOfRecords
41
41
>recordOfRecords : RecordOfRecords
42
42
>propC : RecordOfRecords
43
- >{...(foo !== undefined && {foo})} : { foo?: Record<never, never>; }
43
+ >{...(foo !== undefined && {foo})} : { foo?: Record<never, never> | undefined ; }
44
44
>(foo !== undefined && {foo}) : false | { foo: Record<never, never>; }
45
45
>foo !== undefined && {foo} : false | { foo: Record<never, never>; }
46
46
>foo !== undefined : boolean
@@ -55,11 +55,11 @@ const recordsOfRecordsOrEmpty: RecordOfRecordsOrEmpty = {}
55
55
>{} : {}
56
56
57
57
recordsOfRecordsOrEmpty.propA = {...(foo !== undefined ? {foo} : {})} // OK
58
- >recordsOfRecordsOrEmpty.propA = {...(foo !== undefined ? {foo} : {})} : { foo?: Record<never, never>; }
58
+ >recordsOfRecordsOrEmpty.propA = {...(foo !== undefined ? {foo} : {})} : { foo?: Record<never, never> | undefined ; }
59
59
>recordsOfRecordsOrEmpty.propA : {} | RecordOfRecordsOrEmpty
60
60
>recordsOfRecordsOrEmpty : RecordOfRecordsOrEmpty
61
61
>propA : {} | RecordOfRecordsOrEmpty
62
- >{...(foo !== undefined ? {foo} : {})} : { foo?: Record<never, never>; }
62
+ >{...(foo !== undefined ? {foo} : {})} : { foo?: Record<never, never> | undefined ; }
63
63
>(foo !== undefined ? {foo} : {}) : { foo: Record<never, never>; } | {}
64
64
>foo !== undefined ? {foo} : {} : { foo: Record<never, never>; } | {}
65
65
>foo !== undefined : boolean
@@ -82,11 +82,11 @@ recordsOfRecordsOrEmpty.propB = {...(foo && {foo})} // OK
82
82
>foo : Record<never, never>
83
83
84
84
recordsOfRecordsOrEmpty.propC = {...(foo !== undefined && {foo})} // OK
85
- >recordsOfRecordsOrEmpty.propC = {...(foo !== undefined && {foo})} : { foo?: Record<never, never>; }
85
+ >recordsOfRecordsOrEmpty.propC = {...(foo !== undefined && {foo})} : { foo?: Record<never, never> | undefined ; }
86
86
>recordsOfRecordsOrEmpty.propC : {} | RecordOfRecordsOrEmpty
87
87
>recordsOfRecordsOrEmpty : RecordOfRecordsOrEmpty
88
88
>propC : {} | RecordOfRecordsOrEmpty
89
- >{...(foo !== undefined && {foo})} : { foo?: Record<never, never>; }
89
+ >{...(foo !== undefined && {foo})} : { foo?: Record<never, never> | undefined ; }
90
90
>(foo !== undefined && {foo}) : false | { foo: Record<never, never>; }
91
91
>foo !== undefined && {foo} : false | { foo: Record<never, never>; }
92
92
>foo !== undefined : boolean
0 commit comments