Zod Schema API
generateZodSchema
generateZodSchema
Signature:
function generateZodSchema(options: { oas: OpenAPIDocument }): { schemas: Record<string, z.ZodTypeAny> }
options.oas
: The OpenAPI 3.0+ document (as JS object)Returns: An object with a
schemas
property, mapping schema names to Zod schema objects
Example:
import { generateZodSchema } from 'src/pipeline/stages/zod-generator';
import openApiDoc from './openapi.json';
const { schemas } = generateZodSchema({ oas: openApiDoc });
const user = schemas.User.parse({ id: '...', email: '...', age: 42 });
createBasicOpenAPISchema
createBasicOpenAPISchema
Signature:
function createBasicOpenAPISchema(schemas?: Record<string, any>): TestOpenAPISchema
schemas
: Optional. Object mapping schema names to OpenAPI schema definitions.Returns: A minimal OpenAPI document for testing.
Test Utilities
createUserSchema()
: Returns a sample user schema for testing.createComplexNestedSchema()
: Returns a nested object schema.createValidationTestSchema()
: Returns a schema with validation rules.generateValidTestData()
/generateInvalidTestData()
: Returns valid/invalid mock data.expectValidData(schema, data)
: Asserts that data passes schema validation.expectInvalidData(schema, data)
: Asserts that data fails schema validation.validatePerformance(fn, maxTimeMs)
: Asserts that a function completes within a time budget.
Notes
All Zod schemas are generated using the latest supported features from OpenAPI 3.0+.
For unsupported features or custom needs, extend the generated schemas in your own codebase.
See the user guide for CLI/API usage and examples.
Last updated