GraphQL SDL zu TypeScript Types
Konvertieren Sie ein GraphQL-Schema in entsprechende TypeScript Types, Interfaces und Enums.
GraphQL SDL zu TypeScript Types
Fügen Sie ein GraphQL Schema Definition Language (SDL) Dokument ein — die Type-, Input-, Interface- und Enum-Deklarationen, die eine GraphQL API beschreiben — und dieses Tool generiert die entsprechenden TypeScript Types. Backend-Teams, die einen GraphQL Server aufbauen, oder Frontend-Teams, die einen nutzen, ohne Codegen-Tools installiert zu haben, erhalten typisierte Shapes für jedes Objekt, Input und Interface im Schema in einem Durchgang, ohne einen Build-Schritt nur zum Anschauen der Types einzurichten.
Die Scalar-Zuordnung folgt standardmäßig der GraphQL-Spezifikation: ID und String werden zu string, Int und Float zu number, Boolean bleibt boolean, und jeder benutzerdefinierte Scalar — DateTime, JSON, Upload — fällt auf einen konfigurierbaren Typ zurück, den Sie wählen. Nullable-Felder können als optionale Eigenschaft (field?: Type) oder als explizite Union mit null (field: Type | null) dargestellt werden, und die gleiche Wahl der Form gilt für ganze Deklarationen: Wählen Sie zwischen TypeScript Type-Aliasen oder Interfaces, wobei implements zu extends wird, wenn Interfaces gewählt werden. Enums generieren entweder eine String-Literal-Union oder ein echtes TypeScript enum. Ein Namenspräfix oder -suffix verhindert Kollisionen zwischen generierten und handgeschriebenen Namen, Kommentare und description-Blöcke aus dem Schema werden als JSDoc übertragen, und Typen, deren Name mit einem Unterstrich beginnt — GraphQL's eigene Introspection Types — werden standardmäßig übersprungen.
Feld-Argumente und Directives werden automatisch entfernt, da TypeScript Types Form beschreiben, nicht Resolver: field(id: ID!): User @deprecated wird zu einem einfachen Feld. Verschachtelte List-Typen wie [String!]! behalten ihre innere und äußere Nullability unabhängig, sodass eine Non-Null-Liste von Nullable Strings und eine Nullable-Liste von Non-Null Strings unterschiedlich ausgegeben werden. Deklarationen können auch alphabetisch sortiert werden, anstatt der ursprünglichen Reihenfolge des Schemas zu folgen.
Alles läuft lokal in Ihrem Browser — das Schema, das Sie einfügen, wird nie hochgeladen. Kopieren Sie die generierten Types, laden Sie sie als .txt-Datei herunter oder senden Sie die Ausgabe direkt zurück in die Eingabe, um das Schema weiter zu verfeinern.