Ruka hadi maudhui makuu

Kibadilishi cha JSON hadi TypeScript bila malipo

Tengeneza violesura vya TypeScript au aina mbadala kutoka kwa kitu chochote cha JSON au safu mlalo. Bandika JSON yako na upate aina za TypeScript tayari kutumika haraka.

Inafanya kazi bila mtandao mara ikishapakia
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;
}

Matumizi ya kawaida

  • Tengeneza aina za TypeScript kutokana na matokeo ya APIAndika jibu la JSON la API na tengeneza mfululizo wa TypeScript kwa haraka kwa ajili ya nambari salama ya msimbo wa mbele.
  • Aina za TypeScript kwa ajili ya usanidi na vitu vya mpangilioTengeneza kiolesura cha TypeScript kutokana na faili za usanidi wa JSON ili kuongeza usalama wa aina kwa mipangilio ya programu.
  • Tengeneza aina za TypeScript kutokana na rekodi za hifadhi ya dataBadilisha rekodi za hifadhi ya data zilizosafiwa na JSON au matokeo ya ORM kwa ajili ya kiolesura cha TypeScript kwa ajili ya kupiga hatua kwa data.
  • Aina data ya njia na wezekazo wa jaribuTengeneza kiolesura cha TypeScript kutokana na data ya njia ya JSON na wezekazo wa jaribu ili kunyiga jaribio lako la kitengo na hadithi za Storybook.
  • Aina matokeo ya API ya wahusika wa tatuTengeneza kiolesura cha TypeScript kutokana na matokeo ya API ya wahusika wa tatu ambapo aina rasmi hazipatikani au zinajifanya.

Jinsi Inavyofanya Kazi

Kifaa hiki kinatumia alkoritimu ya kubashiri aina ya kurudia iliyoandikwa mwenyewe bila maktaba za nje β€” JSON.parse kuthibitisha na kuchambua uingizaji, kisha utambaazaji maalum unaopitia kila thamani kwenye mti wa JSON na kutoa matamko ya interface au type ya TypeScript moja kwa moja kwenye kivinjari. Hakuna kinachotumwa kwa seva.

  1. 1
    JSON imechambuliwa na kuthibitishwa
    Uingizaji wako unapitishwa kwa JSON.parse. Ikishindwa, hitilafu halisi ya uchambuzi inaonekana papo hapo chini ya uingizaji. Uchambuzi uliofaulu unatoa mti wa thamani ulioainishwa unaoendesha sehemu iliyobaki ya ubadilishaji.
  2. 2
    Ukisiaji wa aina wa kurudia
    Kazi ya kurudia ya getType inapitia kila nodi: primitives zinaunganishwa na string, number, boolean, au null; vitu vinaanzisha interface mpya yenye jina; safu za vitu zina funguo zake zilizounganishwa kwenye vipengele vyote ili funguo zilizopo kwenye baadhi tu ya vitu ziwe za hiari na aina za thamani zinazokinzana zinaunganishwa na |.
  3. 3
    Uwekaji jina la interface usio na mgongano
    Kila kitu kilichoingiliana kinapata jina la PascalCase linalotokana na funguo yake ya JSON (snake_case, kebab-case, na nafasi zote zinasanifishwa). Ikiwa vitu viwili vyenye muundo tofauti vingeshiriki jina lile lile, kiambishi cha nambari kinaongezwa (Data, Data2, …) badala ya kuandika upya kimya kimya tamko la awali.
  4. 4
    Matokeo yameonyeshwa na yanayopakuliwa
    Interfaces zilizoingiliana zinatolewa kwanza, kisha aina ya mzizi, ikipangwa kama export interface au export type kulingana na uchaguzi wako. Matokeo yanaweza kunakiliwa kwenye clipboard au kupakuliwa kama faili la .ts β€” vyote vimejengwa na Blob ya kawaida bila mzunguko wa seva.

Zana Zinazohusiana

Maswali Yanayoulizwa Mara Kwa Mara