Проверьте, реализует ли объект интерфейс во время выполнения с TypeScript

Я загружаю файл конфигурации JSON во время выполнения и использую интерфейс для определения его ожидаемой структуры:

interface EngineConfig {
    pathplanner?: PathPlannerConfig;
    debug?: DebugConfig;
    ...
}

interface PathPlannerConfig {
    nbMaxIter?: number;
    nbIterPerChunk?: number;
    heuristic?: string;
}

interface DebugConfig {
    logLevel?: number;
}

...

Это делает удобным доступ к различным свойствам, так как я могу использовать автозаполнение и т. Д.

Вопрос:Есть ли способ использовать это объявление для проверки правильности загружаемого файла? т.е. что у меня нет неожиданных свойств?

Ответы на вопрос(9)

Ваш ответ на вопрос