UNPKG

prisma-zod-generator

Version:

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

69 lines (68 loc) 2.06 kB
/** * PZG Pro - Contract Testing Generator * DMMF-based implementation for API contract testing */ import { ProFeatureBase } from '../../core/ProFeatureBase'; export interface ContractTestConfig { outputPath?: string; providers?: string[]; consumers?: string[]; includeResponseValidation?: boolean; includeRequestValidation?: boolean; mockServer?: boolean; wiremockConfig?: WiremockConfig; } export interface WiremockConfig { port?: number; host?: string; mappingsPath?: string; standalone?: boolean; } export interface ContractDefinition { provider: string; consumer: string; interactions: Interaction[]; } export interface Interaction { description: string; request: { method: string; path: string; headers?: Record<string, string>; body?: unknown; query?: Record<string, string>; }; response: { status: number; headers?: Record<string, string>; body?: unknown; }; } export declare class ContractTestingGenerator extends ProFeatureBase { private config; constructor(context: any, config?: ContractTestConfig); protected getFeatureName(): string; protected generateFeature(): Promise<void>; private generateContractDefinitions; private generateModelInteractions; private generateRequestSchema; private generateResponseSchema; private generateFieldExample; private generatePactTests; private generatePactTestFile; private generatePactInteraction; private generateMockServer; private generateMockServerCode; private generateMockEndpoint; private generateWiremockMappings; private generateWiremockMapping; private generateValidationHelpers; private generateValidationHelpersCode; private generateModelValidationSchema; private getZodType; private generateContractDocumentation; private generateDocumentationContent; private generateAPIClient; private generateAPIClientCode; private generateModelClientMethods; }