1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
=== tests/cases/compiler/mappedTypeMultiInference.ts ===
interface Style {
flashy: any;
>flashy : any
}
declare function mergeStyleSets<K extends string>(
>mergeStyleSets : <K extends string>(...cssSets: { [P in K]?: Style; }[]) => { [P in K]: Style; }
...cssSets: { [P in K]?: Style }[]): { [P in K]: Style };
>cssSets : { [P in K]?: Style; }[]
// Expected:
// let x: {
// a: Style;
// b: Style;
// }
let x = mergeStyleSets(
>x : { a: Style; b: Style; }
>mergeStyleSets( {}, { a: { flashy: true }, }, { b: { flashy: true }, },) : { a: Style; b: Style; }
>mergeStyleSets : <K extends string>(...cssSets: { [P in K]?: Style; }[]) => { [P in K]: Style; }
{},
>{} : {}
{
>{ a: { flashy: true }, } : { a: { flashy: boolean; }; }
a: { flashy: true },
>a : { flashy: boolean; }
>{ flashy: true } : { flashy: boolean; }
>flashy : boolean
>true : true
},
{
>{ b: { flashy: true }, } : { b: { flashy: boolean; }; }
b: { flashy: true },
>b : { flashy: boolean; }
>{ flashy: true } : { flashy: boolean; }
>flashy : boolean
>true : true
},
)
|