2014-07-13 01:04:16 +02:00
|
|
|
//// [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({
|
2015-03-26 21:46:35 +01:00
|
|
|
thunk: function (str) { },
|
|
|
|
thunk: function (num) { }
|
2014-07-13 01:04:16 +02:00
|
|
|
});
|
|
|
|
test({
|
2015-03-26 21:46:35 +01:00
|
|
|
thunk: function (num) { },
|
|
|
|
thunk: function (str) { }
|
2014-07-13 01:04:16 +02:00
|
|
|
});
|