Generiere ein Zod Validierungsschema mit TypeScript Typinferenz aus einem verschachtelten Konfigurationsobjekt. Füge Config JSON ein und erhalte ein Schema...
// Generated by DevBento — json-to-typescript
interface RootApp {
name: string;
version: string;
debug: boolean;
}
interface RootDatabaseCredentials {
user: string;
password: string;
}
interface RootDatabase {
host: string;
port: number;
credentials: RootDatabaseCredentials;
}
interface RootFeatures {
darkMode: boolean;
maxConnections: number;
allowedOrigins: string[];
}
interface Root {
app: RootApp;
database: RootDatabase;
features: RootFeatures;
}Dieses Beispiel konvertiert eine verschachtelte Anwendungskonfiguration in ein Zod Validierungsschema mit TypeScript Typinferenz. Die vorausgefüllte JSON enthält App Einstellungen, eine Datenbank Sektion mit Zugangsdaten und Feature Flags. Der Zod Modus ist vorausgewählt, sodass das Schema sofort beim Laden der Seite erscheint.
Das Tool erzeugt:
RootSchema mit z.object() für die Config der obersten EbeneRootDatabaseSchema und RootDatabaseCredentialsSchema für die verschachtelte Datenbank SektionRootFeaturesSchema für Feature Flags, einschließlich des Arrays erlaubter Originsz.string(), z.number(), z.boolean(), z.array(z.string())z.infer<typeof SchemaName>zod inklusivenpm install zod)Das Fail-Fast Config Muster: baue das Config Objekt aus Env Vars oder einer Datei, parse es mit dem Schema am Anfang deines Entrypoints und stürze sofort mit einem lesbaren Fehler ab, wenn etwas falsch ist. Jedes andere Modul importiert den inferierten Typ, sodass die Config Form einmal definiert und sowohl zur Laufzeit als auch zur Compilezeit erzwungen wird.
Umgebungsvariablen kommen immer als Strings an, auch für Zahlen und Boolesche Werte. Wenn deine Config aus process.env kommt, füge z.coerce.number() für Ports und Limits hinzu und einen Booleschen Preprocessing Schritt für Flags. Das generierte Schema gibt dir die Struktur, an der du diese Verfeinerungen aufhängst.
Wenn die Validierung in der Produktion fehlschlägt, logge die Zod Issue Pfade, nicht die Werte. Config enthält oft Geheimnisse wie Datenbank Zugangsdaten, und Issue Pfade (database.credentials.user) zeigen auf das Problem, ohne das Geheimnis in die Logs zu leaken.
Nothing you paste leaves this tab. Every tool runs entirely in your browser — no upload, no server, no account.