UNPKG

@pulzar/core

Version:

Next-generation Node.js framework for ultra-fast web applications with zero-reflection DI, GraphQL, WebSockets, events, and edge runtime support

107 lines 3 kB
import { z } from "zod"; export interface OpenAPISchema { type?: string; format?: string; description?: string; example?: any; enum?: any[]; items?: OpenAPISchema; properties?: Record<string, OpenAPISchema>; required?: string[]; additionalProperties?: boolean | OpenAPISchema; oneOf?: OpenAPISchema[]; anyOf?: OpenAPISchema[]; allOf?: OpenAPISchema[]; not?: OpenAPISchema; nullable?: boolean; readOnly?: boolean; writeOnly?: boolean; deprecated?: boolean; minLength?: number; maxLength?: number; pattern?: string; minimum?: number; maximum?: number; exclusiveMinimum?: boolean | number; exclusiveMaximum?: boolean | number; multipleOf?: number; minItems?: number; maxItems?: number; uniqueItems?: boolean; minProperties?: number; maxProperties?: number; } export interface OpenAPIParameter { name: string; in: "path" | "query" | "header" | "cookie"; required?: boolean; description?: string; schema: OpenAPISchema; example?: any; examples?: Record<string, any>; style?: string; explode?: boolean; allowReserved?: boolean; deprecated?: boolean; } export interface OpenAPIResponse { description: string; content?: Record<string, { schema: OpenAPISchema; example?: any; examples?: Record<string, any>; }>; headers?: Record<string, any>; links?: Record<string, any>; } export declare class ZodToOpenAPI { private schemas; private components; /** * Convert a Zod schema to OpenAPI schema */ convert(schema: z.ZodSchema, name?: string): OpenAPISchema; private convertString; private convertNumber; private convertBoolean; private convertArray; private convertObject; private convertEnum; private convertUnion; private convertIntersection; private convertOptional; private convertNullable; private convertDefault; private convertLiteral; private convertDate; private convertRecord; private convertTuple; private convertSet; private convertMap; private convertPromise; private convertEffects; private convertNativeEnum; private convertDiscriminatedUnion; private convertLazy; private convertBranded; private convertPipeline; private convertReadonly; private convertCatch; /** * Get all registered schemas */ getSchemas(): Record<string, OpenAPISchema>; /** * Get OpenAPI components */ getComponents(): Record<string, any>; /** * Clear all registered schemas */ clear(): void; } export declare const zodToOpenAPI: ZodToOpenAPI; export declare function convertZodToOpenAPI(schema: z.ZodSchema, name?: string): OpenAPISchema; export declare function getOpenAPISchemas(): Record<string, OpenAPISchema>; export declare function getOpenAPIComponents(): Record<string, any>; //# sourceMappingURL=zod-to-openapi.d.ts.map