JSON-ды TypeScript конвертері — тегін
Кез келген JSON нысанынан немесе массивтен TypeScript интерфейстерін немесе тип баламаларын жасаңыз. JSON-ды қойыңыз және дайын TypeScript түрлерін лезде алыңыз.
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;
}Жиі қолданылуы
- API Жауабтарынан TypeScript Түрлерін ЖасаңызJSON API жауабын құстырыңыз және сол сәттеде TypeScript интерфейстерін жасаңыз жанarrayway кодыңызды түр-анық істеу үшін.
- Конфигурациялық Файлдар және Параметр Нысандары үшін TypeScript ТүрлеріJSON конфигурациялық файлдарынан TypeScript интерфейстерін жасаңыз қолданба параметреріне түр-анықтау қосу үшін.
- Мәліметтер Базасы Жазбасынан TypeScript Түрлерін ЖасаңызJSON-дан шығарылмыс мәліметтер базасы жазбасын немесе ORM сұрау нәтижесін мәліметтер түрі үшін TypeScript интерфейсіне айналдырыңыз.
- Mock Мәліметтер және Тест Ондарын ТүріJSON қалымдау мәліметтері және тест қондарынан TypeScript интерфейстерін жасаңыз модульдік тестіңізді және Storybook ертегілеріңізді түрі істеу үшін.
- Үшінші Орынды API Жауабтарын ТүріҮшінші орынды API жауабтарынан TypeScript интерфейстерін жасаңыз ресімді түрлері болмаса немесе ескі болса.
Қалай жұмыс істейді
Бұл құрал нөлдік сыртқы кітапханамен қолмен жазылған рекурсивті түр шығару алгоритмін пайдаланады — кірісті тексеру және талдау үшін JSON.parse, содан кейін JSON ағашындағы әр мәнді аралап, TypeScript интерфейс немесе түр декларацияларын тікелей браузерде шығаратын таңдаулы аралау. Ешнәрсе серверге жіберілмейді.
- 1JSON талданды және тексерілдіКірісіңіз JSON.parse-ке беріледі. Сәтсіз болса, дәл талдау қатесі кірістің астында дереу пайда болады. Сәтті талдау түрлендірудің қалғанын басқаратын терілген мән ағашын шығарады.
- 2Рекурсивті түр шығаруРекурсивті getType функциясы әр түйінді аралайды: примитивтер жолға, санға, логикалық мәнге немесе null-ге сәйкестендіріледі; нысандар жаңа аталған интерфейсті іске қосады; нысандар массивтерінің кілттері барлық элементтер бойынша біріктіріледі, сондықтан тек кейбір элементтерде бар кілттер қосымша болады, ал қайшылықты мән түрлері |-мен біріктіріледі.
- 3Қақтығыстан-қауіпсіз интерфейс атауыӘр кірістірілген нысан JSON кілтінен алынған PascalCase атауын алады (snake_case, kebab-case және бос орындардың бәрі қалыпқа келтіріледі). Егер екі құрылымдық жағынан әртүрлі нысан бірдей атауды бөлісетін болса, алдыңғы анықтаманы үнсіз қайта жазудың орнына сандық жалғау (Data, Data2, …) қосылады.
- 4Шығыс өңделді және жүктеп алуға дайынКірістірілген интерфейстер алдымен шығарылады, содан кейін таңдауыңызға байланысты export interface немесе export type ретінде пішімделген түбір түрі. Нәтижені буферге көшіруге немесе .ts файлы ретінде жүктеп алуға болады — барлығы стандартты Blob арқылы құрылған, серверге барып-келусіз.
Байланысты құралдар
JSON Schema-дан форма
JSON Schema-ны қойыңыз және тірі жұмыс істейтін форманы алыңыз — мәтін, сан, жалаушалар, ашылмалы тізім және тізім өрістері — содан соң кірістеріңіз жасайтын JSON-ды көшіріңіз. API сұрау денелерін прототиптеу үшін тамаша. Браузерде жұмыс істейді.
Теру жылдамдығы тесті (WPM)
Теру жылдамдығыңызды (WPM) және дәлдігіңізді уақыт, сөз саны, дәйексөз, өз мәтіні және zen тесттері арқылы өлшеңіз. Нақты уақыттағы WPM, шикі жылдамдық, тұрақтылық, нәтиже графигі, бірнеше тіл және әр таңба бойынша кері байланыс — бәрі браузеріңізде.
CSS clamp() генераторы
Адаптивті типография және бос орын үшін сұйық CSS clamp() мәнін жасаңыз. Минимум/максимум өлшем мен көрініс порт ауқымын орнатыңыз, тірі алдын ала қараңыз және бір жолды CSS-ті көшіріңіз.