@langchain/core
Version:
Core LangChain.js abstractions and schemas
1 lines • 3.69 kB
Source Map (JSON)
{"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,SACR;CAEA,IAAI,CAAC,IAAI,QAAQ,OAAO;CAExB,KAAK,MAAM,SAAS,IAAI,QACtB,QAAQ,MAAM,MAAd;EACE,KAAK;GACH,IAAI,OAAO;GACX,sBAAA,gBAAgB,KAAK,QAAQ,MAAM,SAAS,IAAI;GAChD;EACF,KAAK;GACH,IAAI,KAAK,WAAW,eAClB,IAAI,MAAM,WACR,sBAAA,0BACE,KACA,WACA,MAAM,OACN,MAAM,SACN,IACF;QAEA,sBAAA,0BACE,KACA,oBACA,MAAM,OACN,MAAM,SACN,IACF;QAEG;IACL,IAAI,CAAC,MAAM,WACT,IAAI,mBAAmB;IAEzB,sBAAA,0BACE,KACA,WACA,MAAM,OACN,MAAM,SACN,IACF;GACF;GACA;EACF,KAAK;GACH,IAAI,KAAK,WAAW,eAClB,IAAI,MAAM,WACR,sBAAA,0BACE,KACA,WACA,MAAM,OACN,MAAM,SACN,IACF;QAEA,sBAAA,0BACE,KACA,oBACA,MAAM,OACN,MAAM,SACN,IACF;QAEG;IACL,IAAI,CAAC,MAAM,WACT,IAAI,mBAAmB;IAEzB,sBAAA,0BACE,KACA,WACA,MAAM,OACN,MAAM,SACN,IACF;GACF;GACA;EACF,KAAK;GACH,sBAAA,0BACE,KACA,cACA,MAAM,OACN,MAAM,SACN,IACF;GACA;CACJ;CAEF,OAAO;AACT"}