Prisma naar Zod-converter
Converteer Prisma‑schemamodellen naar Zod‑validatieschema’s met TypeScript‑type‑inference
Invoer
Uitvoer
Readme
Wat is Prisma en Zod?
Prisma is een ORM (Object-Relational Mapping) tool die een schema‑bestand gebruikt om de structuur van je database te definiëren met modellen, velden en relaties. Zod is een TypeScript‑first schema‑validatiebibliotheek die je runtime‑type‑validators laat definiëren. Het converteren van Prisma‑schema's naar Zod‑schema's stelt je in staat om je database‑modeldefinities opnieuw te gebruiken voor invoervalidatie, waardoor consistentie tussen je databasestructuur en validatielogica in de hele applicatie wordt gewaarborgd.
Toolbeschrijving
Deze tool converteert automatisch Prisma‑schema‑definities naar Zod‑validatieschema's. Hij parseert je Prisma‑modellen, enums en veldtypes, en genereert vervolgens de bijbehorende Zod‑schema's met de juiste type‑mappings. De tool verwerkt optionele velden, arrays en speciale Prisma‑types, en maakt TypeScript‑klaar validatieschema's die je databasestructuur weerspiegelen.
Functies
- Automatische type‑mapping: Converteert Prisma‑types (String, Int, DateTime, etc.) naar de bijbehorende Zod‑validators
- Enum‑ondersteuning: Genereert Zod‑enum‑schema's vanuit Prisma‑enum‑definities
- Array‑verwerking: Converteert Prisma‑list‑velden correct naar Zod‑array‑validators
- Optionele velden: Behoudt optionele velddefinities in de gegenereerde Zod‑schema's
- TypeScript‑types: Genereert automatisch TypeScript‑type‑definities met behulp van
z.infer - Relatie‑commentaren: Voegt commentaren toe voor relatie‑velden die niet direct kunnen worden geconverteerd
- Meerdere modellen: Verwerkt alle modellen en enums in één Prisma‑schema‑bestand
- Syntax‑highlighting: Code‑editor met Prisma‑ en TypeScript‑syntax‑highlighting
Toepassingsgevallen
- API‑invoervalidatie: Valideer request‑bodies tegen je database‑modellen
- Formulier‑validatie: Gebruik Zod‑schema's met formulierveldenbibliotheken zoals React Hook Form
- Type‑veiligheid: Zorg ervoor dat runtime‑validatie overeenkomt met je databaseschema
- Code‑generatie: Genereer automatisch validatielogica vanuit je database‑modellen
- Consistentie: Houd validatieschema's gesynchroniseerd met de databasestructuur
- GraphQL‑resolvers: Valideer invoer in GraphQL‑mutatie‑resolvers
- Migratie‑ondersteuning: Werk validatieschema's bij wanneer database‑modellen veranderen
Ondersteunde type‑mappings
String→z.string()Int,Float,Decimal→z.number()Boolean→z.boolean()DateTime→z.date()Json→z.record(z.any())Bytes→z.instanceof(Buffer)BigInt→z.bigint()- Custom types/enums →
z.lazy(() => TypeSchema) - Lists →
z.array() - Optional fields →
.optional()