Alternativa ao Switch
Switch padrão
O switch é um dos blocos de código mais básicos da programação, porém, temos outras maneiras de obter o mesmo comportamento usando o JavaScript e TypeScript.
Exemplo de Switch:
function formatStatus(status: 'PENDING' | 'AUTHORIZED' | 'REFUNDED') {
switch (status) {
case 'PENDING':
return 'Processando'
case 'AUTHORIZED':
return 'Pago'
case 'REFUNDED':
return 'Estornado'
default:
throw new Error('status not found')
}
}
formatStatus('PENDING')
No exemplo acima, é preciso fazer uma função para retornar a tradução do status do pagamento, ou seria preciso em cada local de uso replicar o bloco do switch.
Alternativa
Como alternativa podemos criar um objeto com as chaves sendo o case do switch e os valores sendo o bloco interno de cada case, o exemplo abaixo tem o mesmo funcionamento do anterior.
const formattedStatus = {
PENDING: 'Processando',
AUTHORIZED: 'Pago',
REFUNDED: 'Estornado',
}
formattedStatus['PENDING']