TypeScript/tests/baselines/reference/lastPropertyInLiteralWins.js

31 lines
644 B
TypeScript

//// [lastPropertyInLiteralWins.ts]
interface Thing {
thunk: (str: string) => void;
}
function test(thing: Thing) {
thing.thunk("str");
}
test({ // Should error, as last one wins, and is wrong type
thunk: (str: string) => {},
thunk: (num: number) => {}
});
test({ // Should be OK. Last 'thunk' is of correct type
thunk: (num: number) => {},
thunk: (str: string) => {}
});
//// [lastPropertyInLiteralWins.js]
function test(thing) {
thing.thunk("str");
}
test({
thunk: function (str) { },
thunk: function (num) { }
});
test({
thunk: function (num) { },
thunk: function (str) { }
});