UNPKG

@ladislaogarcia/prisma-zod-generator

Version:

Prisma 2+ generator to emit Zod schemas from your Prisma schema

37 lines (31 loc) 1.08 kB
import { DMMF } from '@prisma/generator-helper'; export function checkModelHasModelRelation(model: DMMF.Model) { const { fields: modelFields } = model; for (const modelField of modelFields) { const isRelationField = checkIsModelRelationField(modelField); if (isRelationField) { return true; } } return false; } export function checkModelHasManyModelRelation(model: DMMF.Model) { const { fields: modelFields } = model; for (const modelField of modelFields) { const isManyRelationField = checkIsManyModelRelationField(modelField); if (isManyRelationField) { return true; } } return false; } export function checkIsModelRelationField(modelField: DMMF.Field) { const { kind, relationName } = modelField; return kind === 'object' && !!relationName; } export function checkIsManyModelRelationField(modelField: DMMF.Field) { return checkIsModelRelationField(modelField) && modelField.isList; } export function findModelByName(models: DMMF.Model[], modelName: string) { return models.find(({ name }) => name === modelName); }