По синтаксису type и const это задача TypeScript, несмотря на метку dart. Задайте string enum, затем получите union его строковых значений.
Объявление нового типа через enum
По синтаксису type и const это задача TypeScript, несмотря на метку dart. Задайте string enum, затем получите union его строковых значений.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
С помощью перечисления создайте пользовательский тип.
enum TransactionState {
'idle',
'inProgress',
}
type Status
const currentStatus: Status = 'idle'
Ответ
По синтаксису type и const это задача TypeScript, несмотря на метку dart. Задайте string enum, затем получите union его строковых значений.
enum TransactionState {
Idle = 'idle',
InProgress = 'inProgress'
}
type Status = `${TransactionState}`;
const currentStatus: Status = 'idle';
Если Status должен быть самим enum, используйте type Status = TransactionState и присваивайте TransactionState.Idle. Template literal нужен именно для допуска обычных строковых литералов значений enum.
Источник: www.typescriptlang.org.