GraphQL SDL na TypeScript typy
Konvertuj GraphQL schému na zodpovedajúce TypeScript typy, rozhrania a enumerácie.
GraphQL SDL na TypeScript typy
Vložte GraphQL SDL dokument — deklarácie typov, vstupov, rozhraní a enumerácií, ktoré popisujú GraphQL API — a tento nástroj vygeneruje zodpovedajúce TypeScript typy. Vývojárske tímy vytvárajúce GraphQL server alebo frontend tímy bez nástroja codegen si získajú typizované tvary pre každý objekt, vstup a rozhranie zo schémy jedným prichodom bez nastavenia build kroku len na to, aby videli, ako vyzerajú typy.
Mapovanie skalárov nasleduje GraphQL špecifikáciu v predvolenom stave: ID a String sa stanú string, Int a Float sa stanú number, Boolean zostáva boolean a akýkoľvek vlastný skalár — DateTime, JSON, Upload — sa vrátia na typ, ktorý si zvolíte. Nullovateľné polia sa môžu javia ako voliteľná vlastnosť (field?: Type) alebo ako explicitná unia s null (field: Type | null) a rovnaká voľba tvaru platí pre celé deklarácie: vyberte si aliasy typov TypeScript alebo rozhrania, pričom implements sa zmení na extends pri vybraných rozhraniach. Enumerácie generujú buď reťazcovú uniu alebo skutočný TypeScript enum. Predpona alebo prípona názvu zabráni kolíziám vygenerovaných mien s ručne napísanými, komentáre a bloky "description" zo schémy sa prenášajú ako JSDoc a typy, ktorých názov začína podčiarkovníkom — vlastné introspekčné typy GraphQL — sú predvolene preskočené.
Argumenty poľa a direktívy sa automaticky odstraňujú, pretože TypeScript typy popisujú tvar skôr ako resolvery: "field(id: ID!): User @deprecated" sa stane jednoduchým poľom. Vnorené typy zoznamov ako [String!]! si zachovajú svoju vnútornú a vonkajšiu nullovateľnosť nezávisle, takže zoznam non-null-able stringov s nullovateľnými prvkami a zoznam nullable stringov s non-null-able prvkami sa objavia inak. Deklarácie je možné tiež triediť abecedne namiesto nasledovania pôvodného poradia schémy.
Všetko prebieha lokálne vo vašom prehliadači — schéma, ktorú vložíte, nie je nikdy nahrána niekam. Skopírujte vygenerované typy, stiahnite ich ako súbor .txt alebo pošlite výstup priamo späť do vstupu, aby ste pokračovali v doladení schémy.