Prefiro:
// Definindo o enum de status
const OrderStatus = Object.freeze({
PENDING: 'pending',
PROCESSING: 'processing',
SHIPPED: 'shipped',
DELIVERED: 'delivered',
CANCELED: 'canceled',
});
// Mapeando mensagens para os status
const statusMessages = Object.freeze({
[OrderStatus.PENDING]: 'Seu pedido está em análise.',
[OrderStatus.PROCESSING]: 'Seu pedido está sendo preparado.',
[OrderStatus.SHIPPED]: 'Seu pedido foi enviado.',
[OrderStatus.DELIVERED]: 'Seu pedido foi entregue!',
[OrderStatus.CANCELED]: 'Seu pedido foi cancelado.',
});
// Função usando o mapa de mensagens
function getOrderStatusMessage(orderStatus) {
return statusMessages[orderStatus] || 'Status desconhecido';
}
// Testes
console.log(getOrderStatusMessage(OrderStatus.PENDING)); // "Seu pedido está em análise."
console.log(getOrderStatusMessage(OrderStatus.SHIPPED)); // "Seu pedido foi enviado."
console.log(getOrderStatusMessage('unknown')); // "Status desconhecido"