У меня есть перечисление, которое должно остаться как числовое перечисление - поэтому я не могу изменить его на строку.
Я бы хотел привести строку к правильному перечислению без длинного переключателя: -)
например, вот мое перечисление
export enum LogLevel {
TRACE = 0,
DEBUG = 1,
INFO = 2,
LOG = 3,
WARN = 4,
ERROR = 5,
FATAL = 6,
OFF = 7
}
Я получил строку, переданную мне, скажем, строка "WARN", что мне нужно иметь переменную, равную
LogLevel.WARN
Бросать между строками и строками enum легко, но не так просто, когда мне нужно сохранить перечисление как нумерованное перечисление.
Какие идеи лучший способ сделать это?
Заранее спасибо
** РЕДАКТИРОВАТЬ **
На самом деле это ошибка компилятора, показывающая следующее
Ошибка TypeScript TS7015 при доступе к перечислению с использованием параметра типа строки
Здесь есть исправление
https://github.com/Microsoft/TypeScript/issues/17800
let s: string = "WARN"
console.log(LogLevel[s as keyof typeof LogLevel]) // 4