تبدیل JSON به TypeScript رایگان
رابطها یا نام مستعارهای نوع TypeScript را از هر شیء یا آرایه JSON تولید کنید. 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;
}کاربردهای رایج
- انواع TypeScript را از پاسخ های API تولید کنیدپاسخ JSON API را چسبانید و بلافاصله رابط های TypeScript را تولید کنید تا کد front-end خود را ایمن کنید.
- انواع TypeScript برای اشیاء پیکربندی و تنظیماترابط های TypeScript را از فایل های پیکربندی JSON تولید کنید تا ایمنی نوع را به تنظیمات برنامه اضافه کنید.
- انواع TypeScript را از رکوردهای پایگاه داده تولید کنیدرکوردهای پایگاه داده را که به JSON صادر شده اند یا نتایج پرس و جو ORM را به رابط های TypeScript برای تایپ لایه داده تبدیل کنید.
- داده های Mock و Fix های تست را تایپ کنیدرابط های TypeScript را از داده های mock JSON و fixture های تست تولید کنید تا تست های واحد و داستان های Storybook خود را تایپ کنید.
- انواع پاسخ های API شخص ثالثرابط های TypeScript را از پاسخ های API شخص ثالث تولید کنید جایی که انواع رسمی وجود ندارند یا منسوخ هستند.
نحوه کار
این ابزار یک الگوریتم استنتاج نوع بازگشتی دستنویس با صفر کتابخانه خارجی استفاده میکند — JSON.parse برای اعتبارسنجی و تجزیه ورودی، سپس یک پیمایش سفارشی که هر مقدار در درخت JSON را میگردد و اعلانهای TypeScript interface یا type را مستقیماً در مرورگر صادر میکند. چیزی به سروری ارسال نمیشود.
- 1JSON تجزیه و اعتبارسنجی شدورودی شما به JSON.parse تحویل میشود. اگر شکست بخورد، خطای دقیق تجزیه فوراً زیر ورودی آشکار میشود. یک تجزیه موفق یک درخت مقدار تایپشده تولید میکند که بقیه تبدیل را هدایت میکند.
- 2استنتاج نوع بازگشتییک تابع بازگشتی getType هر گره را میگردد: نوعهای اولیه به string، number، boolean، یا null نگاشت میشوند؛ اشیاء یک interface نامدار جدید فعال میکنند؛ آرایههای اشیاء کلیدهای خود را در همه عناصر ادغام میکنند پس کلیدهایی که فقط در برخی موارد حضور دارند اختیاری میشوند و نوعهای مقدار متناقض با | متصل میشوند.
- 3نامگذاری interface ایمن-برخوردهر شیء تودرتو یک نام PascalCase از کلید JSON خود میگیرد (snake_case، kebab-case، و فاصله همه نرمال میشوند). اگر دو شیء ساختاری-متفاوت همان نام را داشته باشند، یک پسوند عددی اضافه میشود (Data، Data2، …) بهجای بازنویسی خاموش تعریف قبلی.
- 4خروجی رندر و قابلدانلودinterfaceهای تودرتو ابتدا صادر میشوند، سپس نوع ریشه، بهصورت export interface یا export type بسته به انتخاب شما قالببندی میشود. نتیجه میتواند در کلیپبورد کپی یا بهعنوان فایل .ts دانلود شود — همه با یک Blob استاندارد و بدون رفتوبرگشت سروری ساخته میشوند.
ابزارهای مرتبط
تبدیل JSON Schema به فرم
یک JSON Schema را بچسبانید و یک فرم زنده و کارا دریافت کنید — فیلدهای متن، عدد، چکباکس، منوی کشویی و فهرست — سپس JSON تولیدشده توسط ورودیهای خود را کپی کنید. مناسب برای نمونهسازی بدنه درخواست API. در مرورگر شما اجرا میشود.
آزمون سرعت تایپ (WPM)
سرعت تایپ (WPM) و دقت خود را با آزمونهای زمانی، تعداد کلمه، نقلقول، سفارشی و ذن بسنجید. WPM زنده، سرعت خام، ثبات، نمودار نتایج، زبانهای متعدد و بازخورد برای هر نویسه — همه در مرورگر شما.
تولید CSS clamp()
یک مقدار CSS clamp() سیال برای تایپوگرافی و فاصلهگذاری ریسپانسیو تولید کنید. حداقل/حداکثر اندازه و محدوده viewport را تنظیم کنید، پیشنمایش زنده ببینید و CSS یکخطی را کپی کنید.