GraphQL SDL TypeScript típusokra konvertálása
Konvertálja a GraphQL sémát egyező TypeScript típusokra, interfészekre és enumokra.
GraphQL SDL TypeScript típusokra konvertálása
Illesszen be egy GraphQL séma definíciós nyelv (SDL) dokumentumot — a típus-, bemenet-, interfész- és enum-deklarációkat, amelyek egy GraphQL API-t írnak le — és ez az eszköz generálja a megfelelő TypeScript típusokat. A GraphQL szerveren dolgozó backend csapatok vagy egy codegen eszköz nélkül felhasználó frontend csapatok a séma minden objektumához, bemenethez és interfészhez tipizált formákat kapnak egyetlen menetben, anélkül, hogy egy build lépést kellene csatlakoztatniuk csak azért, hogy meglássák a típusok kinézetét.
A skaláris leképezés alapértelmezés szerint követi a GraphQL specifikációt: az ID és String string lesz, az Int és Float szám, a Boolean marad boolean, és bármilyen egyéni skaláris — DateTime, JSON, Upload — visszaesik egy tetszőleges típusra. A nullázható mezők opcionális tulajdonságként (mező?: Típus) vagy kifejezett union-ként null-lal (mező: Típus | null) jeleníthetők meg, és az ugyanez a forma-választás vonatkozik az egész deklarációkra: válasszon TypeScript típusaliasok vagy interfészek közül, az implements extends lesz, ha interfészeket választ. Az enumok vagy string-literál uniont vagy egy valódi TypeScript enumot generálnak. A név előtagja vagy utótagja megakadályozza, hogy a generált neveket összecsaljuk a kézzel írtakkal, a séma megjegyzéseiből és description blokkjaiban a JSDoc-ként kerülnek át, és az aláhúzásjellel kezdődő típusok — a GraphQL saját introspekciós típusai — alapértelmezés szerint kimaradnak.
A mező argumentumai és direktívái automatikusan eltávolításra kerülnek, mivel a TypeScript típusok formát írnak le, nem resolvereket: a mező(id: ID!): Felhasználó @deprecated egy sima mezővé válik. A beágyazott listatípusok, például [String!]! megtartják belső és külső nullázhatóságukat függetlenül, tehát egy nem-null karakterlánc-lista és egy null-lenullázható nem-null karakterlánc-lista másképpen jöhet létre. A deklarációk alfabetikus sorrendben vagy a séma eredeti sorrendje szerint is rendezhető.
Minden helyileg az Ön böngészőjében fut — a beillesztett séma soha nem kerül sehová. Másolja ki a generált típusokat, töltse le .txt fájlként, vagy küldje vissza az output-ot közvetlenül a bemenetbe a séma további finomítása érdekében.