'use strict'; var chunkSKPYVQBT_cjs = require('./chunk-SKPYVQBT.cjs'); var chunkDZUJEN5N_cjs = require('./chunk-DZUJEN5N.cjs'); var zodToJsonSchemaOriginal = require('zod-to-json-schema'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var zodToJsonSchemaOriginal__default = /*#__PURE__*/_interopDefault(zodToJsonSchemaOriginal); // src/standard-schema/adapters/zod-v3.ts var import_json_schema_traverse = chunkDZUJEN5N_cjs.__toESM(chunkSKPYVQBT_cjs.require_json_schema_traverse(), 1); var TARGET_MAP = { "draft-04": "jsonSchema7", "draft-07": "jsonSchema7", "draft-2020-12": "jsonSchema2019-09", "openapi-3.0": "openApi3" }; function convertToJsonSchema(zodSchema, options) { const target = TARGET_MAP[options.target]; if (!target) { const supportedTargets = Object.keys(TARGET_MAP); throw new Error( `Unsupported JSON Schema target: "${options.target}". Supported targets are: ${supportedTargets.join(", ")}` ); } const jsonSchema = zodToJsonSchemaOriginal__default.default(zodSchema, { $refStrategy: "none", target, override: (def) => { if (def.typeName === "ZodDate") { return { type: "string", format: "date-time", "x-date": true }; } return zodToJsonSchemaOriginal.ignoreOverride; } }); (0, import_json_schema_traverse.default)(jsonSchema, { cb: { pre: (schema) => { if (schema.type === "string" && schema.format === "email") { schema.pattern = `^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$`; } } // post: (schema, jsonPtr, rootSchema, parentJsonPtr, parentKeyword, parentSchema) => { // this.postProcessJSONNode(schema, parentSchema); // }, } }); return jsonSchema; } function toStandardSchema(zodSchema) { const wrapper = Object.create(zodSchema); const existingStandard = zodSchema["~standard"]; const jsonSchemaConverter = { input: (options) => { return convertToJsonSchema(zodSchema, options); }, output: (options) => { return convertToJsonSchema(zodSchema, options); } }; Object.defineProperty(wrapper, "~standard", { value: { ...existingStandard, jsonSchema: jsonSchemaConverter }, writable: false, enumerable: true, configurable: false }); return wrapper; } exports.toStandardSchema = toStandardSchema; //# sourceMappingURL=chunk-BQ3VTMIR.cjs.map //# sourceMappingURL=chunk-BQ3VTMIR.cjs.map