Cómo verificar si un valor existe en un enum en TypeScript
¡Hola a todos! Acabo de empezar a aprender TypeScript y me encontré con un problema al trabajar con enumeraciones (enum). Tengo este código:
```typescript
enum Color {
Red = 'RED',
Green = 'GREEN',
Blue = 'BLUE'
}
// Obtengo un valor de una fuente externa (por ejemplo, de una API)
const userInput: string = 'RED'; // o quizás 'YELLOW'
// Necesito verificar si userInput es un valor válido de Color
if (userInput === Color.Red) {
console.log('Es rojo');
}
```
Pero el problema es que si obtengo un valor que no está en el enum (por ejemplo, 'YELLOW'), necesito manejar esta situación correctamente. Intenté usar `Object.values(Color).includes(userInput)`, pero TypeScript se queja de que `userInput` es de tipo `string`, no `Color`.
Por favor, indíquenme cómo verificar correctamente si un valor está en un enum. ¿Necesito usar alguna utilidad especial o hay una solución simple? ¡Gracias de antemano!
P.D. Estoy usando string enums, pero sería útil saber también para otros tipos.