UNPKG

@langchain/core

Version:
1 lines 3.76 kB
{"version":3,"file":"number.cjs","names":["def: ZodNumberDef","refs: Refs","res: JsonSchema7NumberType","addErrorMessage","setResponseValueAndErrors"],"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,eACdA,KACAC,MACuB;CACvB,MAAMC,MAA6B,EACjC,MAAM,SACP;AAED,KAAI,CAAC,IAAI,OAAQ,QAAO;AAExB,MAAK,MAAM,SAAS,IAAI,OACtB,SAAQ,MAAM,MAAd;EACE,KAAK;GACH,IAAI,OAAO;GACXC,sCAAgB,KAAK,QAAQ,MAAM,SAAS,KAAK;AACjD;EACF,KAAK;AACH,OAAI,KAAK,WAAW,cAClB,KAAI,MAAM,WACRC,gDACE,KACA,WACA,MAAM,OACN,MAAM,SACN,KACD;QAEDA,gDACE,KACA,oBACA,MAAM,OACN,MAAM,SACN,KACD;QAEE;AACL,QAAI,CAAC,MAAM,WACT,IAAI,mBAAmB;IAEzBA,gDACE,KACA,WACA,MAAM,OACN,MAAM,SACN,KACD;GACF;AACD;EACF,KAAK;AACH,OAAI,KAAK,WAAW,cAClB,KAAI,MAAM,WACRA,gDACE,KACA,WACA,MAAM,OACN,MAAM,SACN,KACD;QAEDA,gDACE,KACA,oBACA,MAAM,OACN,MAAM,SACN,KACD;QAEE;AACL,QAAI,CAAC,MAAM,WACT,IAAI,mBAAmB;IAEzBA,gDACE,KACA,WACA,MAAM,OACN,MAAM,SACN,KACD;GACF;AACD;EACF,KAAK;GACHA,gDACE,KACA,cACA,MAAM,OACN,MAAM,SACN,KACD;AACD;CACH;AAEH,QAAO;AACR"}