3.2.01.8.10function foo (a: number, b: number): number {
switch (a) {
case 1:
switch (b) {
case 2:
return 1;
default:
return 2;
}
default:
return 3;
}
}
with tslint.json configuration:
(include if relevant)
Throws no-switch-case-fall-through at line before default case of the outer loop.
No error.
Same for
function(a: number, b:number): void {
switch (a) {
case 1:
if (b > 10) {
return;
} else {
return;
}
case 2:
return;
default:
return;
}
}
It does not even need to be nested to throw.
function(a: number, b:number): void {
switch (a) {
case 1: {
return;
} // Throws
case 2:
return;
default:
return;
}
}
Same here - no-switch-case-fall-through doesn't recognize break/return inside case blocks case ... { ... }.
Most helpful comment
It does not even need to be nested to throw.