JSON uz TypeScript konvertētājs bez maksas
Ģenerē TypeScript interfeisus vai tipa aizstājvārdus no jebkura JSON objekta vai masīva. Ielīmē JSON un tūlītēji saņem gatavus TypeScript tipus.
export interface User {
id: number;
name: string;
email: string;
isActive: boolean;
score: number;
tags: string[];
address?: null;
}
export interface Root {
user: User;
createdAt: string;
version: number;
}Biežākie lietojumi
- Ģenerēt TypeScript veidus no API atbildēmIelīmējiet API JSON atbildi un uzreiz ģenerējiet TypeScript sąsajas drošam priekšpuses koda tipējumam.
- TypeScript veidi konfigurācijai un iestatījuma objektiemĢenerējiet TypeScript sąsajas no JSON konfigurācijas failiem, lai pievienotu tipa drošumu programmas iestatījumiem.
- Ģenerēt TypeScript veidus no datu bāzes ierakstiemPārvērtiet JSON eksportētus datu bāzes ierakstus vai ORM vaicājuma rezultātus TypeScript sąsajās datu slāņa tipējumam.
- Tipa viltotu datus un testa nomodelesĢenerējiet TypeScript sąsajas no JSON viltotu datu un testa nomodelēm vienību testu un Storybook stāstu tipējumam.
- Tipa trešo pušu API atbildesĢenerējiet TypeScript sąsajas no trešo pušu API atbildēm, kur trūkst vai ir novecojuši oficiālie veidi.
Kā tas darbojas
Šis rīks izmanto pašrakstītu rekursīvu tipa secinājumu algoritmu bez ārējām bibliotēkām — JSON.parse ievades validēšanai un parsēšanai, tad pielāgotu apiešanu, kas iet cauri katrai vērtībai JSON kokā un izvada TypeScript interfeisa vai tipa deklarācijas tieši pārlūkprogrammā. Nekas netiek sūtīts uz serveri.
- 1JSON parsēts un validētsJūsu ievade tiek nodota JSON.parse. Ja tā neizdodas, precīza parsēšanas kļūda parādās uzreiz zem ievades. Veiksmīga parsēšana rada tipizētu vērtību koku, kas virza pārējo konvertēšanu.
- 2Rekursīvs tipa secinājumsRekursīva getType funkcija iet cauri katram mezglam: primitīvi kartējas uz string, number, boolean vai null; objekti izraisa jaunu nosauktu interfeisu; objektu masīviem to atslēgas tiek apvienotas visos elementos, tāpēc atslēgas, kas atrodas tikai dažos vienumos, kļūst neobligātas, un konfliktējošie vērtību tipi tiek savienoti ar |.
- 3Sadursmes-droša interfeisa nosaukšanaKatrs ligzdotais objekts saņem PascalCase nosaukumu, atvasinātu no tā JSON atslēgas (snake_case, kebab-case un atstarpes tiek visas normalizētas). Ja diviem strukturāli atšķirīgiem objektiem būtu tas pats nosaukums, tiek pievienota skaitliska sufiksa (Data, Data2, …), nevis klusi pārrakstīta iepriekšējā definīcija.
- 4Izvade renderēta un lejupielādējamaLigzdotie interfeisi tiek izvadīti pirmie, tad saknes tips, formatēts kā export interface vai export type atkarībā no jūsu izvēles. Rezultātu var kopēt starpliktuvē vai lejupielādēt kā .ts failu — viss veidots ar standarta Blob un bez servera saziņas.
Saistītie rīki
JSON shēma uz veidlapu
Ielīmē JSON shēmu un saņem tiešraides, darbojošu veidlapu — teksta, skaitļa, izvēles rūtiņas, nolaižamā saraksta un saraksta laukus — pēc tam kopē JSON, ko rada ievades. Lieliski prototipiem API pieprasījumu pamattekstiem. Darbojas pārlūkprogrammā.
Rakstīšanas ātruma tests (VPM)
Izmēriet savu rakstīšanas ātrumu (VPM) un precizitāti ar laika, vārdu skaita, citātu, pielāgotiem un zen testiem. Reāllaika VPM, neapstrādāts ātrums, konsekvence, rezultātu grafiks, vairākas valodas un atgriezeniskā saite par katru rakstzīmi — viss jūsu pārlūkprogrammā.
CSS clamp() ģenerētājs
Ģenerē plūstošu CSS clamp() vērtību responsvai tipogrāfijai un atstarpēm. Iestatiet min/max izmēru un skatāmā loga diapazonu, skatiet tiešraides priekšskatījumu un kopējiet vienas rindas CSS.