Avatar ·

Cómo verificar si un valor existe en un enum en TypeScript

¡Hola! Soy nuevo en TypeScript y me encontré con un problema al trabajar con enumeraciones (enum). Tengo el siguiente enum: ```typescript enum UserRole { Admin = 'admin', User = 'user', Guest = 'guest' } ``` Necesito verificar si una cadena obtenida de una API (por ejemplo, 'moderator') es un valor válido de este enum. Intenté usar `Object.values(UserRole).includes(value)`, pero TypeScript se queja de que includes no funciona con enum. También probé `value in UserRole`, pero esto verifica las keys, no los values. En JavaScript podría usar simplemente `Object.values(...)`, pero en TypeScript es más complicado debido a los tipos. Indícame cómo verificar de manera correcta y type-safe que una cadena es uno de los valores del enum. Preferiblemente con un ejemplo de código. <<>>

Verificación de existencia de un valor en un enum en TypeScript

El problema que encontraste es realmente típico. En TypeScript, un enum no es solo un conjunto de constantes, sino una construcción especial que crea una