function Enum([definition]) {
return Object.freeze(
definition
.trim()
.split(/\s+/)
.reduce((m, p) => ({
...m,
[p]: Symbol(p),
__proto__: null
}), {})
);
}
// Примеры
const Color = Enum`
RED
GREEN
BLUE
`;
const Cardsuits = Enum`
CLUBS
DIAMONDS
HEARTS
SPADES
`;
console.log(Color, Cardsuits);
// Используется так: Color.RED и т. д.