Eu recebo um número type = 3
e tenho que verificar se ele existe nesta enumeração:
export const MESSAGE_TYPE = {
INFO: 1,
SUCCESS: 2,
WARNING: 3,
ERROR: 4,
};
A melhor maneira que eu encontrei é obtendo todos os valores de enum como uma matriz e usando indexOf nela. Mas o código resultante não é muito legível:
if( -1 < _.values( MESSAGE_TYPE ).indexOf( _.toInteger( type ) ) ) {
// do stuff ...
}
Existe uma maneira mais simples de fazer isso?
!!MESSAGE_TYPE[type]
para verificar se existe um valor. MESSAGE_TYPE[type]
irá retornar undefined se o valor type
não existir noMESSAGE_TYPE
0
, no entanto.
MESSAGE_TYPE[type] !== undefined
if(Object.values(MESSAGE_TYPE).includes(+type)
? Não há muito que você possa fazer.