@zod-codepen/core
v1.0.1
Published
Core serialization logic for zod-to-code
Downloads
248
Maintainers
Readme
[!TIP] @zod-codepen/core contains the version-agnostic core logic for serializing Zod schemas to code strings. For complete documentation and examples, visit our documentation site.
Installation
npm install @zod-codepen/coreNote: Most users should install
@zod-codepen/zod-v3or@zod-codepen/zod-v4instead, which include this package as a dependency.
Usage
import { createSerializer, ZodAdapter } from '@zod-codepen/core';
// Create a serializer with a custom adapter
const serializer = createSerializer(myAdapter);
serializer.serialize(schema);
serializer.generateModule(schemas);
serializer.registerHandler('custom', customHandler);API
createSerializer(adapter: ZodAdapter)
Creates a new serializer instance with the given adapter.
Returns an object with:
serialize(schema, options?)- Serialize a single schemagenerateModule(schemas, options?)- Generate a complete moduleregisterHandler(type, handler)- Register a custom handleradapter- The current adapter
builtinHandlers
Map of built-in schema type handlers.
defaultOptions
Default serialization options:
{
indent: ' ',
indentLevel: 0,
format: true,
}Types
interface ZodAdapter {
version: 'v3' | 'v4';
getType(schema: unknown): string | undefined;
getDef(schema: unknown): Record<string, unknown> | undefined;
isZodSchema(value: unknown): boolean;
}
interface SerializeOptions {
indent?: string;
indentLevel?: number;
format?: boolean;
}
type SchemaHandler = (schema: unknown, ctx: SerializerContext) => string | undefined;License
MPL-2.0
