Prüfen Sie, ob ein Objekt zur Laufzeit eine Schnittstelle mit TypeScript implementiert.

Ich lade eine JSON-Konfigurationsdatei zur Laufzeit und benutze eine Schnittstelle, um die erwartete Struktur zu definieren:

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

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

interface DebugConfig {
    logLevel?: number;
}

...

Dies erleichtert den Zugriff auf die verschiedenen Eigenschaften, da ich Autovervollständigungen usw. verwenden kann.

Frage: Gibt es eine Möglichkeit, diese Deklaration zu verwenden, um die Richtigkeit der von mir geladenen Datei zu überprüfen? dh dass ich keine unerwarteten Eigenschaften habe?

Antworten auf die Frage(18)

Ihre Antwort auf die Frage