{"version":3,"file":"number.cjs","names":[],"sources":["../../../../src/utils/zod-to-json-schema/parsers/number.ts"],"sourcesContent":["import { ZodNumberDef } from \"zod/v3\";\nimport {\n  addErrorMessage,\n  ErrorMessages,\n  setResponseValueAndErrors,\n} from \"../errorMessages.js\";\nimport { Refs } from \"../Refs.js\";\n\nexport type JsonSchema7NumberType = {\n  type: \"number\" | \"integer\";\n  minimum?: number;\n  exclusiveMinimum?: number;\n  maximum?: number;\n  exclusiveMaximum?: number;\n  multipleOf?: number;\n  errorMessage?: ErrorMessages<JsonSchema7NumberType>;\n};\n\nexport function parseNumberDef(\n  def: ZodNumberDef,\n  refs: Refs\n): JsonSchema7NumberType {\n  const res: JsonSchema7NumberType = {\n    type: \"number\",\n  };\n\n  if (!def.checks) return res;\n\n  for (const check of def.checks) {\n    switch (check.kind) {\n      case \"int\":\n        res.type = \"integer\";\n        addErrorMessage(res, \"type\", check.message, refs);\n        break;\n      case \"min\":\n        if (refs.target === \"jsonSchema7\") {\n          if (check.inclusive) {\n            setResponseValueAndErrors(\n              res,\n              \"minimum\",\n              check.value,\n              check.message,\n              refs\n            );\n          } else {\n            setResponseValueAndErrors(\n              res,\n              \"exclusiveMinimum\",\n              check.value,\n              check.message,\n              refs\n            );\n          }\n        } else {\n          if (!check.inclusive) {\n            res.exclusiveMinimum = true as any;\n          }\n          setResponseValueAndErrors(\n            res,\n            \"minimum\",\n            check.value,\n            check.message,\n            refs\n          );\n        }\n        break;\n      case \"max\":\n        if (refs.target === \"jsonSchema7\") {\n          if (check.inclusive) {\n            setResponseValueAndErrors(\n              res,\n              \"maximum\",\n              check.value,\n              check.message,\n              refs\n            );\n          } else {\n            setResponseValueAndErrors(\n              res,\n              \"exclusiveMaximum\",\n              check.value,\n              check.message,\n              refs\n            );\n          }\n        } else {\n          if (!check.inclusive) {\n            res.exclusiveMaximum = true as any;\n          }\n          setResponseValueAndErrors(\n            res,\n            \"maximum\",\n            check.value,\n            check.message,\n            refs\n          );\n        }\n        break;\n      case \"multipleOf\":\n        setResponseValueAndErrors(\n          res,\n          \"multipleOf\",\n          check.value,\n          check.message,\n          refs\n        );\n        break;\n    }\n  }\n  return res;\n}\n"],"mappings":";;AAkBA,SAAgB,eACd,KACA,MACuB;CACvB,MAAM,MAA6B,EACjC,MAAM,UACP;AAED,KAAI,CAAC,IAAI,OAAQ,QAAO;AAExB,MAAK,MAAM,SAAS,IAAI,OACtB,SAAQ,MAAM,MAAd;EACE,KAAK;AACH,OAAI,OAAO;AACX,yBAAA,gBAAgB,KAAK,QAAQ,MAAM,SAAS,KAAK;AACjD;EACF,KAAK;AACH,OAAI,KAAK,WAAW,cAClB,KAAI,MAAM,UACR,uBAAA,0BACE,KACA,WACA,MAAM,OACN,MAAM,SACN,KACD;OAED,uBAAA,0BACE,KACA,oBACA,MAAM,OACN,MAAM,SACN,KACD;QAEE;AACL,QAAI,CAAC,MAAM,UACT,KAAI,mBAAmB;AAEzB,0BAAA,0BACE,KACA,WACA,MAAM,OACN,MAAM,SACN,KACD;;AAEH;EACF,KAAK;AACH,OAAI,KAAK,WAAW,cAClB,KAAI,MAAM,UACR,uBAAA,0BACE,KACA,WACA,MAAM,OACN,MAAM,SACN,KACD;OAED,uBAAA,0BACE,KACA,oBACA,MAAM,OACN,MAAM,SACN,KACD;QAEE;AACL,QAAI,CAAC,MAAM,UACT,KAAI,mBAAmB;AAEzB,0BAAA,0BACE,KACA,WACA,MAAM,OACN,MAAM,SACN,KACD;;AAEH;EACF,KAAK;AACH,yBAAA,0BACE,KACA,cACA,MAAM,OACN,MAAM,SACN,KACD;AACD;;AAGN,QAAO"}