{"version":3,"file":"Options.cjs","names":["defaultOptions: Options","options: Partial<Options<Target>> | string | undefined"],"sources":["../../../src/utils/zod-to-json-schema/Options.ts"],"sourcesContent":["import { ZodSchema, ZodTypeDef } from \"zod/v3\";\nimport { Refs, Seen } from \"./Refs\";\nimport { JsonSchema7Type } from \"./parseTypes\";\n\nexport type Targets =\n  | \"jsonSchema7\"\n  | \"jsonSchema2019-09\"\n  | \"openApi3\"\n  | \"openAi\";\n\nexport type DateStrategy =\n  | \"format:date-time\"\n  | \"format:date\"\n  | \"string\"\n  | \"integer\";\n\nexport const ignoreOverride = Symbol(\n  \"Let zodToJsonSchema decide on which parser to use\"\n);\n\nexport type OverrideCallback = (\n  def: ZodTypeDef,\n  refs: Refs,\n  seen: Seen | undefined,\n  forceResolution?: boolean\n) => JsonSchema7Type | undefined | typeof ignoreOverride;\n\nexport type PostProcessCallback = (\n  jsonSchema: JsonSchema7Type | undefined,\n  def: ZodTypeDef,\n  refs: Refs\n) => JsonSchema7Type | undefined;\n\nexport const jsonDescription: PostProcessCallback = (jsonSchema, def) => {\n  if (def.description) {\n    try {\n      return {\n        ...jsonSchema,\n        ...JSON.parse(def.description),\n      };\n    } catch {}\n  }\n\n  return jsonSchema;\n};\n\nexport type Options<Target extends Targets = \"jsonSchema7\"> = {\n  name: string | undefined;\n  $refStrategy: \"root\" | \"relative\" | \"none\" | \"seen\";\n  basePath: string[];\n  effectStrategy: \"input\" | \"any\";\n  pipeStrategy: \"input\" | \"output\" | \"all\";\n  dateStrategy: DateStrategy | DateStrategy[];\n  mapStrategy: \"entries\" | \"record\";\n  removeAdditionalStrategy: \"passthrough\" | \"strict\";\n  allowedAdditionalProperties: true | undefined;\n  rejectedAdditionalProperties: false | undefined;\n  target: Target;\n  strictUnions: boolean;\n  definitionPath: string;\n  definitions: Record<string, ZodSchema>;\n  errorMessages: boolean;\n  markdownDescription: boolean;\n  patternStrategy: \"escape\" | \"preserve\";\n  applyRegexFlags: boolean;\n  emailStrategy: \"format:email\" | \"format:idn-email\" | \"pattern:zod\";\n  base64Strategy: \"format:binary\" | \"contentEncoding:base64\" | \"pattern:zod\";\n  nameStrategy: \"ref\" | \"title\";\n  override?: OverrideCallback;\n  postProcess?: PostProcessCallback;\n  openAiAnyTypeName: string;\n};\n\nexport const defaultOptions: Options = {\n  name: undefined,\n  $refStrategy: \"root\",\n  basePath: [\"#\"],\n  effectStrategy: \"input\",\n  pipeStrategy: \"all\",\n  dateStrategy: \"format:date-time\",\n  mapStrategy: \"entries\",\n  removeAdditionalStrategy: \"passthrough\",\n  allowedAdditionalProperties: true,\n  rejectedAdditionalProperties: false,\n  definitionPath: \"definitions\",\n  target: \"jsonSchema7\",\n  strictUnions: false,\n  definitions: {},\n  errorMessages: false,\n  markdownDescription: false,\n  patternStrategy: \"escape\",\n  applyRegexFlags: false,\n  emailStrategy: \"format:email\",\n  base64Strategy: \"contentEncoding:base64\",\n  nameStrategy: \"ref\",\n  openAiAnyTypeName: \"OpenAiAnyType\",\n};\n\nexport const getDefaultOptions = <Target extends Targets>(\n  options: Partial<Options<Target>> | string | undefined\n) =>\n  (typeof options === \"string\"\n    ? {\n        ...defaultOptions,\n        name: options,\n      }\n    : {\n        ...defaultOptions,\n        ...options,\n      }) as Options<Target>;\n"],"mappings":";;AAgBA,MAAa,iBAAiB,OAC5B,oDACD;AAuDD,MAAaA,iBAA0B;CACrC,MAAM;CACN,cAAc;CACd,UAAU,CAAC,GAAI;CACf,gBAAgB;CAChB,cAAc;CACd,cAAc;CACd,aAAa;CACb,0BAA0B;CAC1B,6BAA6B;CAC7B,8BAA8B;CAC9B,gBAAgB;CAChB,QAAQ;CACR,cAAc;CACd,aAAa,CAAE;CACf,eAAe;CACf,qBAAqB;CACrB,iBAAiB;CACjB,iBAAiB;CACjB,eAAe;CACf,gBAAgB;CAChB,cAAc;CACd,mBAAmB;AACpB;AAED,MAAa,oBAAoB,CAC/BC,YAEC,OAAO,YAAY,WAChB;CACE,GAAG;CACH,MAAM;AACP,IACD;CACE,GAAG;CACH,GAAG;AACJ"}