35 lines
664 B
JavaScript
35 lines
664 B
JavaScript
|
//// [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) {
|
||
|
}
|
||
|
});
|