Tool description

Переводит интерфейсы и псевдонимы типов TypeScript в готовые схемы Zod без ручного переписывания.

Features

  • Находит интерфейсы и псевдонимы типов в введённом фрагменте и создаёт соответствующие константы Zod.
  • Поддерживает примитивы, вложенные объекты, массивы, кортежи, объединения литералов и сочетания optional/nullish.
  • Связывает пересекающиеся типы через z.lazy и подчёркивает переходы к z.any().
  • Показывает структурированные предупреждения при отсутствии аннотаций или неподдерживаемых конструкциях.

Use Cases

  • Быстро запускайте слой валидации на базе существующих моделей TypeScript.
  • Делитесь описаниями контрактов между фронтендом и бэкендом без ручного дублирования.
  • Экспериментируйте с переносом на Zod из других библиотек схем.

Conversion Details

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