30 lines
644 B
TypeScript
30 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) { }
|
|
});
|