@@ -9,11 +9,11 @@ const recordOfRecords: RecordOfRecords = {}
99>{} : {}
1010
1111recordOfRecords.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 ; }
1313>recordOfRecords.propA : RecordOfRecords
1414>recordOfRecords : RecordOfRecords
1515>propA : RecordOfRecords
16- >{...(foo !== undefined ? {foo} : {})} : { foo?: Record<never, never>; }
16+ >{...(foo !== undefined ? {foo} : {})} : { foo?: Record<never, never> | undefined ; }
1717>(foo !== undefined ? {foo} : {}) : { foo: Record<never, never>; } | {}
1818>foo !== undefined ? {foo} : {} : { foo: Record<never, never>; } | {}
1919>foo !== undefined : boolean
@@ -36,11 +36,11 @@ recordOfRecords.propB = {...(foo && {foo})} // OK
3636>foo : Record<never, never>
3737
3838recordOfRecords.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 ; }
4040>recordOfRecords.propC : RecordOfRecords
4141>recordOfRecords : RecordOfRecords
4242>propC : RecordOfRecords
43- >{...(foo !== undefined && {foo})} : { foo?: Record<never, never>; }
43+ >{...(foo !== undefined && {foo})} : { foo?: Record<never, never> | undefined ; }
4444>(foo !== undefined && {foo}) : false | { foo: Record<never, never>; }
4545>foo !== undefined && {foo} : false | { foo: Record<never, never>; }
4646>foo !== undefined : boolean
@@ -55,11 +55,11 @@ const recordsOfRecordsOrEmpty: RecordOfRecordsOrEmpty = {}
5555>{} : {}
5656
5757recordsOfRecordsOrEmpty.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 ; }
5959>recordsOfRecordsOrEmpty.propA : {} | RecordOfRecordsOrEmpty
6060>recordsOfRecordsOrEmpty : RecordOfRecordsOrEmpty
6161>propA : {} | RecordOfRecordsOrEmpty
62- >{...(foo !== undefined ? {foo} : {})} : { foo?: Record<never, never>; }
62+ >{...(foo !== undefined ? {foo} : {})} : { foo?: Record<never, never> | undefined ; }
6363>(foo !== undefined ? {foo} : {}) : { foo: Record<never, never>; } | {}
6464>foo !== undefined ? {foo} : {} : { foo: Record<never, never>; } | {}
6565>foo !== undefined : boolean
@@ -82,11 +82,11 @@ recordsOfRecordsOrEmpty.propB = {...(foo && {foo})} // OK
8282>foo : Record<never, never>
8383
8484recordsOfRecordsOrEmpty.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 ; }
8686>recordsOfRecordsOrEmpty.propC : {} | RecordOfRecordsOrEmpty
8787>recordsOfRecordsOrEmpty : RecordOfRecordsOrEmpty
8888>propC : {} | RecordOfRecordsOrEmpty
89- >{...(foo !== undefined && {foo})} : { foo?: Record<never, never>; }
89+ >{...(foo !== undefined && {foo})} : { foo?: Record<never, never> | undefined ; }
9090>(foo !== undefined && {foo}) : false | { foo: Record<never, never>; }
9191>foo !== undefined && {foo} : false | { foo: Record<never, never>; }
9292>foo !== undefined : boolean
0 commit comments