57 / 58
Как типизировать конфиг с вложенными вариантами (discriminated config)?
Discriminated config -- это конфиг, где тип вложенных секций зависит от значения дискриминанта (обычно поле type или driver). TypeScript через discriminated union гарантирует, что для type: 'postgres' доступны поля host, port, database, а для type: 'sqlite' -- только filename. Это убирает невалидные комбинации на уровне типов.