Какво е Prisma и Zod?

Prisma е ORM (Object-Relational Mapping) инструмент, който използва файл със схема за определяне на структурата на вашата база данни с модели, полета и връзки. Zod е TypeScript-първа библиотека за валидация на схеми, която ви позволява да определите валидатори на типове по време на изпълнение. Преобразуването на Prisma схеми в Zod схеми ви позволява да преизползвате дефинициите на моделите на вашата база данни за валидация на входни данни, което гарантира съответствие между структурата на вашата база данни и логиката на валидация в цялото приложение.

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

Този инструмент автоматично преобразува дефинициите на Prisma схеми в Zod валидационни схеми. Той анализира вашите Prisma модели, enum-и и типове полета, след което генерира съответните Zod схеми с правилни картографирания на типове. Инструментът обработва незадължителни полета, масиви и специални Prisma типове, създавайки TypeScript-готини валидационни схеми, които отразяват структурата на вашата база данни.

Функции

  • Автоматично картографиране на типове: Преобразува Prisma типове (String, Int, DateTime и др.) в съответните Zod валидатори
  • Поддръжка на Enum: Генерира Zod enum схеми от Prisma enum дефиниции
  • Обработка на масиви: Правилно преобразува Prisma полета със списък в Zod array валидатори

Поддържани картографирания на типове

  • Stringz.string()
  • Int, Float, Decimalz.number()
  • Booleanz.boolean()
  • DateTimez.date()
  • Jsonz.record(z.any())
  • Bytesz.instanceof(Buffer)
  • BigIntz.bigint()
  • Персонализирани типове/enum-и → z.lazy(() => TypeSchema)
  • Списъци → z.array()
  • Незадължителни полета → .optional()