Тип строкового литерала в TypeScript

С помощью оператора объединения типов можно объединять не только встроенные типы, но и строки. Для примера сделаем так, чтобы переменная могла принимать только одно из двух строковых значений:

typescriptlet str: 'success' | 'error';

Давайте проверим. Запишем переменную одну из строк:

typescriptstr = 'success';

Запишем вторую:

typescriptstr = 'error';

А вот попытка записать иную строку приведет к ошибке:

typescriptstr = 'eee'; // ошибка
Задание 1

Сделайте так, чтобы переменная могла принимать одно из трех значений: 'error', 'warning' или 'success'.