GraphQL SDL naar TypeScript types
Zet een GraphQL-schema om in overeenkomstige TypeScript types, interfaces en enums.
GraphQL SDL naar TypeScript types
Plak een GraphQL Schema Definition Language (SDL)-document in — de type-, input-, interface- en enum-declaraties die een GraphQL API beschrijven — en deze tool genereert de bijbehorende TypeScript types. Backend-teams die een GraphQL server bouwen, of frontend-teams die er een gebruiken zonder codegen-tools geïnstalleerd, krijgen getypeerde shapes voor elk object, input en interface in het schema in één keer, zonder een buildstap in te stellen alleen om de types te bekijken.
Scalaire mapping volgt standaard de GraphQL-specificatie: ID en String worden string, Int en Float worden number, Boolean blijft boolean, en elke aangepaste scalaire waarde — DateTime, JSON, Upload — valt terug op een configureerbaar type dat u kiest. Nullbare velden kunnen weergegeven worden als optionele eigenschap (field?: Type) of als expliciete union met null (field: Type | null), en dezelfde vormkeuze geldt voor hele declaraties: kies tussen TypeScript type aliases of interfaces, waarbij implements extends wordt wanneer interfaces geselecteerd zijn. Enums genereren ofwel een string-letterlijke union ofwel een echte TypeScript enum. Een naamvoorvoegsel of -achtervoegsel voorkomt botsingen tussen gegenereerde en handgeschreven namen, opmerkingen en description-blokken uit het schema worden overgedragen als JSDoc, en typen waarvan de naam met een onderstreping begint — GraphQL's eigen introspectietypen — worden standaard overgeslagen.
Veldargumenten en directives worden automatisch verwijderd, omdat TypeScript types vorm beschrijven, niet resolvers: field(id: ID!): User @deprecated wordt een gewoon veld. Geneste lijsttypen zoals [String!]! behouden hun interne en externe nullabiliteit onafhankelijk, zodat een niet-null lijst met nullbare strings en een nullable lijst met niet-null strings anders uitkomen. Declaraties kunnen ook alfabetisch gesorteerd worden in plaats van de originele volgorde van het schema te volgen.
Alles wordt lokaal in uw browser uitgevoerd — het schema dat u plakt, wordt nooit geüpload. Kopieer de gegenereerde types, download ze als .txt-bestand, of stuur de uitvoer direct terug naar de invoer om het schema verder aan te scherpen.