Выбрать только один из представленных типов как обязательный. 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. Да хоть все разом.