Выбрать только один из представленных типов как обязательный. TypeScript

Имеется класс, который принимает файл конфигурации с заданными полями. Проблема в том, что в конфиге может быть 20 полей, из них только 5 являются обязательными, но если был выбран хотя бы один, то все остальные становятся опциональными. Есть ли более элегантное решение проблемы?

type required =
    { first: string } | { second: string } | { third: string } |
    { forth: string } | { fifth: string };

type result = required  & {
    six?: string | number;
    seven?: string | number;
    ...
}

То есть я указываю значение поля first и все ок. Или значение любого другого поля в required. Да хоть все разом.


Ответы (0 шт):