Я знаю, что существует проблема с созданием строковых перечислений с использованием Typescript, даже в v2.4 + я использую машинопись 2.8 и Angular 6.
Я хотел бы иметь enum и свободно получать строкузначение из перечисления и для разбора строки в перечисление.
Итак, предположим, у меня есть это перечисление:
export enum MyEnum{
INIT = 'init-room',
CLOSE = 'close-room'
}
Это перечисление полезно для связи с остальным API.Так что из API и API я должен отправлять строки.Но внутри приложения я хочу как можно скорее преобразовать строку из API в enum.
Поэтому я хочу иметь функцию для анализа и строкового преобразования моего enum.
Я пробую этот подход, но это не такработа.
export function toString(type: MyEnum): string {
return MyEnum[type];
}
export function parse(type: string): Mode {
return MyEnum[type];
}
Ну, это не большая неожиданность, потому что я хочу получить value
из этого перечисления, а не MyEnum[type]
- но я не знаю, как это сделать.
Я знаю, что существует проблема с преобразованием ключа в значение, в то время как значение для ключа работает.Поэтому я прошу любое решение с чистым кодом для достижения моей цели.