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
|
//// [exhaustiveSwitchWithWideningLiteralTypes.ts]
// Repro from #12529
class A {
readonly kind = "A"; // (property) A.kind: "A"
}
class B {
readonly kind = "B"; // (property) B.kind: "B"
}
function f(value: A | B): number {
switch(value.kind) {
case "A": return 0;
case "B": return 1;
}
}
//// [exhaustiveSwitchWithWideningLiteralTypes.js]
// Repro from #12529
var A = /** @class */ (function () {
function A() {
this.kind = "A"; // (property) A.kind: "A"
}
return A;
}());
var B = /** @class */ (function () {
function B() {
this.kind = "B"; // (property) B.kind: "B"
}
return B;
}());
function f(value) {
switch (value.kind) {
case "A": return 0;
case "B": return 1;
}
}
|