Preskoči na vsebino
100% lokalno

TypeScript tip v JSON Shemo

Pretvori TypeScript vmesnik ali alias tipa v JSON Shemo.

Vhod
Izhod

TypeScript tip v JSON Shemo

Prilepite TypeScript vmesnik ali alias tipa in to orodje generira enakovredno JSON Shemo, pripravljeno za validacijo API ključnic, konfiguracijskih datotek ali katerih koli drugih JSON podatkov, ki bi se morali ujemati z vašimi definicijami tipov. Ustvarjeno je za razvojne programerje, ki že opisujejo oblike svojih podatkov v TypeScript-u in želijo shemo brez ročnega pisanja od začetka ali nastavitve gradnje.

Izberite med JSON Shemo draft-07 in novejšo 2020-12 narečjo, saj se validatorji in orodja še vedno razlikujejo glede tega, katero pričakujejo. Stringovske dobesedne unije, kot je 'active' | 'inactive', se lahko prikažejo kot enum ali kot anyOf vrednosti const, in lahko zahtevate, da objekti zavrnejo neznane lastnosti, obrnete doc komentarje v polja opisa ali izvlečete poimenovane vmesnike v blok $defs (ali definitions), na katerega se sklicujete z $ref namesto da bi bili vgrajeni povsod, kjer se uporabljajo.

Nizove, tuple-e, Record in Map tipe ter unije, ki vključujejo null, se obravnavajo tako, kot jih dejansko uporablja TypeScript — nullable polje postane niz tipa ali anyOf veja namesto da se tiho izpusti. Gradnje, ki nimajo enakovrednika v JSON Shemi, kot so metode, tipi funkcij ali neresolvirani generični parametri, se pretvorijo čim bolj permisivno kot je mogoče in so navedene kot opozorila pod rezultatom, da se nič tiho ne bo izgubjeno.

Vse se izvršava lokalno v vašem brskalniku; vaše definicije tipov in generirana shema se nikoli ne pošljeta nikamor. Kopirajte rezultat, ga preuzmite kot datoteko .txt ali ga pošljite naravnost v vnos drugega orodja in nadaljujte s svojim delom.

FAQ

Katere dele TypeScript-a lahko pretvori?
Vmesnike, alias tipe, ugniježđene objektne literale, nize, tuple-e, Record/Map/Set, Date, Partial/Required/Pick/Omit ter unije, vključno s stringovskimi dobesednimi unijami in null. Gradnje, ki nimajo enakovrednika v JSON Shemi, kot so metode in tipi funkcij, se preskočijo in navedejo kot opozorila.
Kakšna je razlika med draft-07 in 2020-12?
Obe so JSON Shemi narečji. 2020-12 je novejša in uporablja $defs in prefixItems za tuple-e, medtem ko draft-07 uporablja definitions in niz items. Izberite tistega, ki ga pričakuje vaš validator.
Kaj se zgodi z lastnostmi, označenimi z '?'?
Izpuščeni so iz niza required sheme, tako da se generirana shema ujema s TypeScript-ovo lastno predstavo o tem, katera polja so opcionalna.
Zakaj nekatere lastnosti končajo kot prazna shema {}?
To se zgodi za gradnje, ki jih JSON Shema ne more izraziti, kot so parametri generičnega tipa ali tip, ki ga orodje ni moglo razrešiti. Opozorilo se doda pod rezultatom in pojasni natančno, katero lastnost in zakaj.
Ali je moj TypeScript kod učitan negdje?
Ne. Pretvorba poteka v celoti v vašem brskalniku — vaše definicije tipov in generirana shema nikada ne zapustijo vašo napravo.