contensis-zod
v1.1.1
Published
A utility library for generating [Zod](https://github.com/colinhacks/zod) schemas from [Contensis](https://www.contensis.com/) content types and components. This enables type-safe validation and parsing of Contensis content using Zod, making it easier to
Readme
contensis-zod
A utility library for generating Zod schemas from Contensis content types and components. This enables type-safe validation and parsing of Contensis content using Zod, making it easier to work with content models in TypeScript projects.
Features
- Automatic Zod schema generation for Contensis content types and components
- Type-safe validation of content entries and components
- Support for complex field types (canvas, rich text, components, etc.)
Installation
This package can be installed from npm using your preferred client.
pnpm i contensis-zodUsage
1. Generate Zod Schemas for a Contensis Project
import { zodifyContensis } from "contensis-zod";
import type { Config } from "contensis-management-api";
const config: Config = {
// Your Contensis API config here
};
const { components, contentTypes } = await zodifyContensis(config);
// Use the schemas for validation
const entrySchema = contentTypes["mycontenttypeid"];
const result = entrySchema.safeParse(myEntryData);
if (result.success) {
// Valid entry
} else {
// Handle validation errors
}
2. Generate Schemas for Individual Content Types or Components
import { zodifyComponent, zodifyContentType } from "./src/zodify";
const myComponentSchema = zodifyComponent(myComponentDefinition);
const myContentTypeSchema = zodifyContentType(myContentTypeDefinition);[!WARNING]
For best results, ensure you generate schemas for all referenced components and content types.
3. Validate Content
const result = myContentTypeSchema.safeParse(contentData);
if (!result.success) {
console.error(result.error);
}