Tslint: no-switch-case-fall-through lançado em instruções switch aninhadas, onde todos os casos de switch interno têm instruções de retorno

Criado em 2 set. 2016  ·  3Comentários  ·  Fonte: palantir/tslint

Relatório de erro

  • Versão TSLint : 3.2.0
  • Versão do TypeScript : 1.8.10
  • Executando TSLint via : API Node.js

    Código TypeScript sendo vinculado

function foo (a: number, b: number): number {
    switch (a) {
        case 1:
            switch (b) {
                case 2:
                    return 1;
                default:
                    return 2;
            }
        default:
            return 3;
    }
}

com configuração tslint.json :

(include if relevant)

Comportamento real

Lança no-switch-case-fall-through na linha antes do caso padrão do loop externo.

Comportamento esperado

Sem erro.

P2 Fixed Bug

Comentários muito úteis

Ele nem precisa estar aninhado para ser lançado.

function(a: number, b:number): void {
    switch (a) {
        case 1: {
            return;
        } // Throws
        case 2:
            return;
        default:
            return;
    }
}

Todos 3 comentários

Mesmo para

function(a: number, b:number): void {
    switch (a) {
        case 1:
            if (b > 10) {
                return;
            } else {
                return;
            }
        case 2:
            return;
        default:
            return;
    }
}

Ele nem precisa estar aninhado para ser lançado.

function(a: number, b:number): void {
    switch (a) {
        case 1: {
            return;
        } // Throws
        case 2:
            return;
        default:
            return;
    }
}

O mesmo aqui - no-switch-case-fall-through não reconhece break/return dentro dos blocos de caso case ... { ... } .

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

zewa666 picture zewa666  ·  3Comentários

jamesarosen picture jamesarosen  ·  3Comentários

DanielKucal picture DanielKucal  ·  3Comentários

ypresto picture ypresto  ·  3Comentários

cateyes99 picture cateyes99  ·  3Comentários