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 46 47
|
//// [errorOnUnionVsObjectShouldDeeplyDisambiguate.ts]
interface Stuff {
a?: () => Promise<number[]>;
b: () => Promise<string>;
c: () => Promise<string>;
d: () => Promise<string>;
e: () => Promise<string>;
f: () => Promise<string>;
g: () => Promise<string>;
h: () => Promise<string>;
i: () => Promise<string>;
j: () => Promise<string>;
k: () => Promise<number>;
}
function foo(): Stuff | string {
return {
a() { return [123] },
b: () => "hello",
c: () => "hello",
d: () => "hello",
e: () => "hello",
f: () => "hello",
g: () => "hello",
h: () => "hello",
i: () => "hello",
j: () => "hello",
k: () => 123
}
}
//// [errorOnUnionVsObjectShouldDeeplyDisambiguate.js]
function foo() {
return {
a: function () { return [123]; },
b: function () { return "hello"; },
c: function () { return "hello"; },
d: function () { return "hello"; },
e: function () { return "hello"; },
f: function () { return "hello"; },
g: function () { return "hello"; },
h: function () { return "hello"; },
i: function () { return "hello"; },
j: function () { return "hello"; },
k: function () { return 123; }
};
}
|