Описание на инструмента

Автоматично преобразувайте TypeScript тип в Zod схема. Трансформирайте всеки интерфейс в Zod схема за валидация или генерирайте Zod от дефиниции на интерфейс без ръчно преписване. Идеално за преобразуване на TS тип в Zod за секунди.

Функции

  • Автоматично преобразува интерфейс в формат на Zod схема с съответни правила за валидация.
  • Трансформира TypeScript тип в Zod схема, включително примитиви, вложени обекти, масиви, кортежи, литерални обединения и опционални свойства.
  • Открива множество интерфейси и типови псевдоними в един фрагмент и генерира съответни Zod константи.
  • Разрешава кръстосано референцирани типове с z.lazy и подчертава връщане към z.any().
  • Показва структурирани предупреждения за неподдържани конструкции или липсващи анотации.

Случаи на употреба

  • Генерирайте Zod от дефиниции на интерфейс, за да стартирате слоеве за валидация от съществуващи TypeScript модели.
  • Преобразувайте TS тип в Zod при миграция от TypeScript-само модели към валидация по време на изпълнение.
  • Трансформирайте интерфейс в Zod, за да споделите дефиниции на договор между фронтенд и бекенд без ръчно дублиране.
  • Експериментирайте с преобразувания на TypeScript тип в Zod схема при миграция от други библиотеки за валидация.

Детайли на преобразуването

  • Картира общи примитиви към z.string(), z.number(), z.boolean(), z.null(), z.undefined() и z.unknown().
  • Преобразува литерални обединения в z.enum([...]), когда всички членове са низове, в противен случай се връща към z.union([...]).
  • Генерира z.object({...}) за вградени обектни литерали и свързва .catchall() за индексни подписи.
  • Произвежда действащи предупреждения всеки път, когато конвертерът трябва да се върне към z.any() или да пропусне разширение на интерфейс.