UNPKG

@langchain/core

Version:
1 lines 3.67 kB
{"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"}