Konfigurationsobjekte haben typischerweise tiefe Verschachtelung: Anwendungseinstellungen, Datenbankanmeldeinformationen, Feature-Flags. Dieses Beispiel konvertiert eine mehrstufige Konfigurationsstruktur in typisierte TypeScript-Interfaces, sodass jeder Konfigurationszugriff typsicher ist.
Was Sie Bekommen
Das Werkzeug erzeugt:
RootAppfür Anwendungseinstellungen auf oberster Ebene (Name, Version, Debug-Flag)RootDatabaseundRootDatabaseCredentialsfür den Datenbankabschnitt mit verschachtelten AnmeldeinformationenRootFeaturesfür den Feature-Flags-Abschnitt einschließlich eines erlaubten Quellen-Arrays- Alle Primitiven korrekt typisiert: Strings, Numbers, Booleans und String-Arrays
So Verwenden Sie Es
- Das Beispiel lädt mit einer Beispiel-Anwendungskonfiguration
- Die verschachtelte Struktur zeigt, wie tief verschachtelte Objekte jeweils ihr eigenes Interface erhalten
- Kopieren Sie die Ausgabe und verwenden Sie sie, um Ihren Konfigurationslader oder Einstellungsmodul zu typisieren
- Ersetzen Sie durch Ihr tatsächliches KonfigurationsJSON, um Typen für Ihr Projekt zu erzeugen
Muster aus der Praxis
Anwendungskonfigurationen haben typischerweise 2-3 Ebenen Verschachtelung. Datenbankabschnitte enthalten Anmeldeinformationen, Feature-Abschnitte enthalten Arrays erlaubter Werte. Die pfadbasierte Benennung (z.B. RootDatabaseCredentials) macht klar, wo jeder Typ in die Konfigurationshierarchie passt. Verwenden Sie diese Typen mit Ihrer Konfigurationsvalidierungsbibliothek, um Fehlkonfigurationen zur Kompilierungszeit zu erfassen.