Compruebe si un objeto implementa una interfaz en tiempo de ejecución con TypeScript
Cargo un archivo de configuración JSON en tiempo de ejecución y uso una interfaz para definir su estructura esperada:
interface EngineConfig {
pathplanner?: PathPlannerConfig;
debug?: DebugConfig;
...
}
interface PathPlannerConfig {
nbMaxIter?: number;
nbIterPerChunk?: number;
heuristic?: string;
}
interface DebugConfig {
logLevel?: number;
}
...
Esto hace que sea conveniente acceder a las diversas propiedades ya que puedo usar autocompletados, etc.
Pregunta:¿Hay alguna manera de usar esta declaración para verificar la exactitud del archivo que cargo? es decir, que no tengo propiedades inesperadas?