Об этом инструменте
Инструмент JSON Schema в TypeScript компилирует документ JSON Schema в интерфейсы и псевдонимы типов TypeScript, делая то же, что популярная библиотека json-schema-to-typescript, без установки набора инструментов. В отличие от конвертеров примеров JSON, этот читает настоящую схему: он обходит объект схемы и превращает type:'object' в интерфейс, где ключи, перечисленные в required, обязательны, а остальные помечаются знаком ?.
Всё разбирается и генерируется локально в вашем браузере через JSON.parse и обычный JavaScript, поэтому ваша схема никогда не покидает страницу. Строковые схемы с enum становятся объединением строковых литералов; простые string, number/integer, boolean и null отображаются на свои эквиваленты TypeScript; массивы становятся T[] (кортежем, когда items — массив). Комбинаторы поддерживаются — allOf становится пересечением (A & B), а anyOf / oneOf становятся объединениями (A | B) — и nullable-тип type:[T,'null'] становится T | null.
Ссылки разрешаются по имени: $ref, указывающий на #/definitions/X или #/$defs/X, выдаёт именованную ссылку на тип, и каждое определение генерируется как собственный export interface или export type. additionalProperties добавляет индексную сигнатуру [key: string]: T. Имя корневого типа откатывается к title или $id схемы. Переключайте вывод interface или type и то, становятся ли строки description схемы комментариями JSDoc /** */. Скопируйте результат или скачайте файл .ts.