{
  "version": 3,
  "sources": ["../src/converter.ts", "../src/codegen.ts"],
  "sourcesContent": ["/* eslint-disable @typescript-eslint/class-methods-use-this */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { z } from \"zod\";\n\ninterface OpenAPISchemaBase {\n  type?: string;\n  nullable?: boolean;\n  enum?: string[];\n}\n\ninterface OpenAPISchemaObject extends OpenAPISchemaBase {\n  type: \"object\";\n  properties?: Record<string, OpenAPISchema | undefined>;\n  required?: string[];\n}\n\ninterface OpenAPISchemaArray extends OpenAPISchemaBase {\n  type: \"array\";\n  items?: OpenAPISchema | undefined;\n}\n\ninterface OpenAPISchemaAllOf {\n  allOf: OpenAPISchema[];\n}\n\ninterface OpenAPISchemaOneOf {\n  oneOf: OpenAPISchema[];\n}\n\ninterface OpenAPISchemaAnyOf {\n  anyOf: OpenAPISchema[];\n}\n\ninterface OpenAPISchemaRef {\n  $ref: string;\n}\n\ntype OpenAPISchema =\n  | OpenAPISchemaAllOf\n  | OpenAPISchemaAnyOf\n  | OpenAPISchemaArray\n  | OpenAPISchemaBase\n  | OpenAPISchemaObject\n  | OpenAPISchemaOneOf\n  | OpenAPISchemaRef;\n\ninterface OpenAPISpec {\n  components: {\n    schemas: Record<string, OpenAPISchema | undefined>;\n  };\n}\n\nconst isRefSchema = (schema: OpenAPISchema): schema is OpenAPISchemaRef => \"$ref\" in schema;\nconst isAllOfSchema = (schema: OpenAPISchema): schema is OpenAPISchemaAllOf => \"allOf\" in schema;\nconst isOneOfSchema = (schema: OpenAPISchema): schema is OpenAPISchemaOneOf => \"oneOf\" in schema;\nconst isAnyOfSchema = (schema: OpenAPISchema): schema is OpenAPISchemaAnyOf => \"anyOf\" in schema;\nconst isObjectSchema = (schema: OpenAPISchema): schema is OpenAPISchemaObject =>\n  \"type\" in schema && schema.type === \"object\";\nconst isArraySchema = (schema: OpenAPISchema): schema is OpenAPISchemaArray =>\n  \"type\" in schema && schema.type === \"array\";\nconst isStringSchema = (schema: OpenAPISchema): schema is OpenAPISchemaBase =>\n  \"type\" in schema && schema.type === \"string\";\nconst isNumberSchema = (schema: OpenAPISchema): schema is OpenAPISchemaBase =>\n  \"type\" in schema && (schema.type === \"number\" || schema.type === \"integer\");\nconst isBooleanSchema = (schema: OpenAPISchema): schema is OpenAPISchemaBase =>\n  \"type\" in schema && schema.type === \"boolean\";\n\nclass OpenAPIToZodConverter {\n  private spec: OpenAPISpec;\n  private zodSchemas: Record<string, z.ZodTypeAny> = {};\n\n  constructor(spec: OpenAPISpec) {\n    this.spec = spec;\n  }\n\n  private convertSchema(schema: OpenAPISchema): z.ZodTypeAny {\n    if (isRefSchema(schema)) return this.handleRef(schema.$ref);\n    if (isAllOfSchema(schema)) return this.handleAllOf(schema.allOf);\n    if (isAnyOfSchema(schema)) return this.handleAnyOf(schema.anyOf);\n    // who the fuck thought having oneOf and anyOf was a good decision for schema design?\n    if (isOneOfSchema(schema)) return this.handleAnyOf(schema.oneOf);\n    if (isObjectSchema(schema)) return this.convertObjectSchema(schema);\n    if (isArraySchema(schema)) return this.convertArraySchema(schema);\n    if (isStringSchema(schema)) return this.convertStringSchema(schema);\n    if (isNumberSchema(schema)) return this.convertNumberSchema(schema);\n    if (isBooleanSchema(schema)) return this.convertBooleanSchema(schema);\n    return z.unknown();\n  }\n\n  private handleAllOf(schemas: OpenAPISchema[]): z.ZodTypeAny {\n    const mergedSchema: OpenAPISchemaObject = {\n      type: \"object\",\n      properties: {},\n      required: [],\n    };\n\n    for (const schema of schemas) {\n      if (isObjectSchema(schema)) {\n        if (schema.properties) {\n          mergedSchema.properties = { ...mergedSchema.properties, ...schema.properties };\n        }\n        if (schema.required) {\n          mergedSchema.required = [...(mergedSchema.required ?? []), ...schema.required];\n        }\n      }\n    }\n\n    return this.convertObjectSchema(mergedSchema);\n  }\n\n  private handleAnyOf(schemas: OpenAPISchema[]): z.ZodTypeAny {\n    const convertedSchemas = schemas.map((s) => this.convertSchema(s));\n    if (convertedSchemas.length === 1) {\n      return convertedSchemas[0];\n    }\n    return z.union(convertedSchemas as [z.ZodTypeAny, z.ZodTypeAny, ...z.ZodTypeAny[]]);\n  }\n\n  private handleRef(ref: string): z.ZodTypeAny {\n    const schemaName = ref.split(\"/\").pop() as string;\n    if (!this.zodSchemas[schemaName]) {\n      const refSchema = this.spec.components.schemas[schemaName];\n      if (!refSchema) {\n        console.warn(`Warning: Referenced schema \"${schemaName}\" not found in spec`);\n        return z.unknown();\n      }\n      this.zodSchemas[schemaName] = z.lazy(() => this.convertSchema(refSchema));\n    }\n    return this.zodSchemas[schemaName];\n  }\n\n  private convertObjectSchema(schema: OpenAPISchemaObject): z.ZodTypeAny {\n    const shape: Record<string, z.ZodTypeAny> = {};\n    const requiredFields = new Set(schema.required ?? []);\n\n    for (const [key, value] of Object.entries(schema.properties ?? {})) {\n      if (value) {\n        const fieldSchema = this.convertSchema(value);\n        shape[key] = requiredFields.has(key) ? fieldSchema : fieldSchema.optional();\n      }\n    }\n\n    const objectSchema = z.object(shape);\n    return schema.nullable ? objectSchema.nullable() : objectSchema;\n  }\n\n  private convertArraySchema(schema: OpenAPISchemaArray): z.ZodTypeAny {\n    const itemSchema = schema.items ? this.convertSchema(schema.items) : z.unknown();\n    const arraySchema = z.array(itemSchema);\n    return schema.nullable ? arraySchema.nullable() : arraySchema;\n  }\n\n  private convertStringSchema(schema: OpenAPISchemaBase): z.ZodTypeAny {\n    if (schema.enum) {\n      if (schema.enum.length === 1) {\n        return z.literal(schema.enum[0]);\n      }\n      return z.enum(schema.enum as [string, ...string[]]);\n    }\n    const stringSchema = z.string();\n    return schema.nullable ? stringSchema.nullable() : stringSchema;\n  }\n\n  private convertNumberSchema(schema: OpenAPISchemaBase): z.ZodTypeAny {\n    const numberSchema = z.number();\n    return schema.nullable ? numberSchema.nullable() : numberSchema;\n  }\n\n  private convertBooleanSchema(schema: OpenAPISchemaBase): z.ZodTypeAny {\n    return schema.nullable ? z.boolean().nullable() : z.boolean();\n  }\n\n  public convert(): Record<string, z.ZodTypeAny> {\n    for (const [name, schema] of Object.entries(this.spec.components.schemas)) {\n      if (schema) {\n        this.zodSchemas[name] = z.lazy(() => this.convertSchema(schema));\n      }\n    }\n    return this.zodSchemas;\n  }\n}\n\nexport function convertOpenAPISpecToZodSchemas(spec: OpenAPISpec) {\n  const converter = new OpenAPIToZodConverter(spec);\n  const map = converter.convert();\n  return {\n    map,\n    items: Object.entries(map).map(([name, schema]) => ({ name, schema })),\n  };\n}\n\nexport { type OpenAPISpec, OpenAPIToZodConverter };\n", "/* eslint-disable sonarjs/no-nested-template-literals */\nimport { z } from \"zod\";\nimport { OpenAPISpec, OpenAPIToZodConverter } from \"./converter\";\n\ninterface ZodLazyDef {\n  getter: () => z.ZodTypeAny;\n}\n\ninterface ZodUnionDef {\n  options: z.ZodTypeAny[];\n}\n\ninterface ZodEnumDef {\n  values: string[];\n}\n\ninterface ZodLiteralDef {\n  value: boolean | number | string;\n}\n\ninterface ZodSchemaWithDef<T> {\n  _def: T;\n}\n\nconst indent = (code: string, level = 1) => {\n  const spaces = \"  \".repeat(level);\n  return code\n    .split(\"\\n\")\n    .map((line) => spaces + line)\n    .join(\"\\n\");\n};\n\nconst formatObjectKey = (key: string) => {\n  if (/^[$A-Z_a-z][\\w$]*$/.test(key)) {\n    return key;\n  }\n  return `\"${key}\"`;\n};\n\nclass ZodSchemaCodeGenerator {\n  private schemas: Record<string, z.ZodTypeAny>;\n  private generatedSchemas: Set<string>;\n  private currentlyGenerating: Set<string>;\n  private prefix: string;\n\n  constructor(schemas: Record<string, z.ZodTypeAny>, prefix = \"\") {\n    this.schemas = schemas;\n    this.generatedSchemas = new Set();\n    this.currentlyGenerating = new Set();\n    this.prefix = prefix;\n  }\n\n  private generateSchemaCode(schema: z.ZodTypeAny, schemaName: string): string {\n    const referencedSchemaName = Object.entries(this.schemas).find(([, s]) => s === schema)?.[0];\n    if (\n      referencedSchemaName &&\n      this.generatedSchemas.has(referencedSchemaName) &&\n      !this.currentlyGenerating.has(referencedSchemaName)\n    ) {\n      return `${this.prefix}${referencedSchemaName}Schema`;\n    }\n\n    if (schema instanceof z.ZodObject) {\n      const shape = schema.shape;\n      const properties = Object.entries(shape)\n        .map(\n          ([key, value]) =>\n            `${formatObjectKey(key)}: ${this.generateSchemaCode(value as z.ZodTypeAny, `${schemaName}.${key}`)}`\n        )\n        .join(\",\\n\");\n      return `z.object({\\n${indent(properties)}\\n})`;\n    } else if (schema instanceof z.ZodArray) {\n      return `z.array(${this.generateSchemaCode(schema.element, `${schemaName}.element`)})`;\n    } else if (schema instanceof z.ZodUnion) {\n      const unionSchema = schema as ZodSchemaWithDef<ZodUnionDef>;\n      const options = unionSchema._def.options;\n      return `z.union([${options\n        .map((opt: z.ZodTypeAny, index: number) => this.generateSchemaCode(opt, `${schemaName}.union.${index}`))\n        .join(\", \")}])`;\n    } else if (schema instanceof z.ZodString) {\n      return \"z.string()\";\n    } else if (schema instanceof z.ZodNumber) {\n      return \"z.number()\";\n    } else if (schema instanceof z.ZodBoolean) {\n      return \"z.boolean()\";\n    } else if (schema instanceof z.ZodEnum) {\n      const enumSchema = schema as ZodSchemaWithDef<ZodEnumDef>;\n      const values = enumSchema._def.values;\n      if (values.length === 1) {\n        return `z.literal(\"${values[0]}\")`;\n      }\n      return `z.enum([${values.map((v: string) => `\"${v}\"`).join(\", \")}])`;\n    } else if (schema instanceof z.ZodLiteral) {\n      const literalSchema = schema as ZodSchemaWithDef<ZodLiteralDef>;\n      const value = literalSchema._def.value;\n      return `z.literal(${typeof value === \"string\" ? `\"${value}\"` : value})`;\n    } else if (schema instanceof z.ZodNullable) {\n      return `${this.generateSchemaCode(schema.unwrap(), schemaName)}.nullable()`;\n    } else if (schema instanceof z.ZodOptional) {\n      return `${this.generateSchemaCode(schema.unwrap(), schemaName)}.optional()`;\n    } else if (schema instanceof z.ZodLazy) {\n      const referencedName = Object.entries(this.schemas).find(([, s]) => s === schema)?.[0];\n      if (referencedName) {\n        if (this.currentlyGenerating.has(referencedName)) {\n          return `z.lazy(() => ${this.prefix}${referencedName}Schema)`;\n        }\n        return `${this.prefix}${referencedName}Schema`;\n      }\n      const lazySchema = schema as ZodSchemaWithDef<ZodLazyDef>;\n      return `z.lazy(() => ${this.generateSchemaCode(lazySchema._def.getter(), schemaName)})`;\n    }\n    return \"z.unknown()\";\n  }\n\n  generateCode(): string {\n    const imports = `import { z } from 'zod';\\n\\n`;\n    const schemaDefinitions = Object.entries(this.schemas)\n      .map(([name, schema]) => {\n        if (this.currentlyGenerating.has(name)) {\n          return \"\";\n        }\n        this.currentlyGenerating.add(name);\n        let schemaCode: string;\n        if (schema instanceof z.ZodLazy) {\n          const lazySchema = schema as ZodSchemaWithDef<ZodLazyDef>;\n          schemaCode = this.generateSchemaCode(lazySchema._def.getter(), name);\n        } else {\n          schemaCode = this.generateSchemaCode(schema, name);\n        }\n        this.currentlyGenerating.delete(name);\n        this.generatedSchemas.add(name);\n        return `export const ${this.prefix}${name}Schema = ${schemaCode};`;\n      })\n      .filter(Boolean)\n      .join(\"\\n\\n\");\n    return imports + schemaDefinitions;\n  }\n}\n\nexport const codegen = (spec: OpenAPISpec, prefix = \"\") => {\n  const converter = new OpenAPIToZodConverter(spec);\n  const zodSchemas = converter.convert();\n  const codeGenerator = new ZodSchemaCodeGenerator(zodSchemas, prefix);\n  return codeGenerator.generateCode();\n};\n"],
  "mappings": "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",
  "names": ["z", "isRefSchema", "schema", "isAllOfSchema", "isOneOfSchema", "isAnyOfSchema", "isObjectSchema", "isArraySchema", "isStringSchema", "isNumberSchema", "isBooleanSchema", "OpenAPIToZodConverter", "spec", "z", "schemas", "_a", "mergedSchema", "__spreadValues", "convertedSchemas", "s", "ref", "schemaName", "refSchema", "_b", "shape", "requiredFields", "key", "value", "fieldSchema", "objectSchema", "itemSchema", "arraySchema", "stringSchema", "numberSchema", "name", "convertOpenAPISpecToZodSchemas", "map", "z", "indent", "code", "level", "spaces", "line", "formatObjectKey", "key", "ZodSchemaCodeGenerator", "schemas", "prefix", "schema", "schemaName", "_a", "_b", "referencedSchemaName", "s", "z", "shape", "properties", "value", "opt", "index", "values", "v", "referencedName", "lazySchema", "imports", "schemaDefinitions", "name", "schemaCode", "codegen", "spec", "zodSchemas", "OpenAPIToZodConverter"]
}
