@langchain/core
Version:
Core LangChain.js abstractions and schemas
1 lines • 2.91 kB
Source Map (JSON)
{"version":3,"file":"date.cjs","names":["def: ZodDateDef","refs: Refs","overrideDateStrategy?: DateStrategy","res: JsonSchema7DateType","setResponseValueAndErrors"],"sources":["../../../../src/utils/zod-to-json-schema/parsers/date.ts"],"sourcesContent":["import { ZodDateDef } from \"zod/v3\";\nimport { Refs } from \"../Refs.js\";\nimport { ErrorMessages, setResponseValueAndErrors } from \"../errorMessages.js\";\nimport { JsonSchema7NumberType } from \"./number.js\";\nimport { DateStrategy } from \"../Options.js\";\n\nexport type JsonSchema7DateType =\n | {\n type: \"integer\" | \"string\";\n format: \"unix-time\" | \"date-time\" | \"date\";\n minimum?: number;\n maximum?: number;\n errorMessage?: ErrorMessages<JsonSchema7NumberType>;\n }\n | {\n anyOf: JsonSchema7DateType[];\n };\n\nexport function parseDateDef(\n def: ZodDateDef,\n refs: Refs,\n overrideDateStrategy?: DateStrategy\n): JsonSchema7DateType {\n const strategy = overrideDateStrategy ?? refs.dateStrategy;\n\n if (Array.isArray(strategy)) {\n return {\n anyOf: strategy.map((item) => parseDateDef(def, refs, item)),\n };\n }\n\n switch (strategy) {\n case \"string\":\n case \"format:date-time\":\n return {\n type: \"string\",\n format: \"date-time\",\n };\n case \"format:date\":\n return {\n type: \"string\",\n format: \"date\",\n };\n case \"integer\":\n return integerDateParser(def, refs);\n }\n}\n\nconst integerDateParser = (def: ZodDateDef, refs: Refs) => {\n const res: JsonSchema7DateType = {\n type: \"integer\",\n format: \"unix-time\",\n };\n\n if (refs.target === \"openApi3\") {\n return res;\n }\n\n for (const check of def.checks) {\n switch (check.kind) {\n case \"min\":\n setResponseValueAndErrors(\n res,\n \"minimum\",\n check.value, // This is in milliseconds\n check.message,\n refs\n );\n break;\n case \"max\":\n setResponseValueAndErrors(\n res,\n \"maximum\",\n check.value, // This is in milliseconds\n check.message,\n refs\n );\n break;\n }\n }\n\n return res;\n};\n"],"mappings":";;;AAkBA,SAAgB,aACdA,KACAC,MACAC,sBACqB;CACrB,MAAM,WAAW,wBAAwB,KAAK;AAE9C,KAAI,MAAM,QAAQ,SAAS,CACzB,QAAO,EACL,OAAO,SAAS,IAAI,CAAC,SAAS,aAAa,KAAK,MAAM,KAAK,CAAC,CAC7D;AAGH,SAAQ,UAAR;EACE,KAAK;EACL,KAAK,mBACH,QAAO;GACL,MAAM;GACN,QAAQ;EACT;EACH,KAAK,cACH,QAAO;GACL,MAAM;GACN,QAAQ;EACT;EACH,KAAK,UACH,QAAO,kBAAkB,KAAK,KAAK;CACtC;AACF;AAED,MAAM,oBAAoB,CAACF,KAAiBC,SAAe;CACzD,MAAME,MAA2B;EAC/B,MAAM;EACN,QAAQ;CACT;AAED,KAAI,KAAK,WAAW,WAClB,QAAO;AAGT,MAAK,MAAM,SAAS,IAAI,OACtB,SAAQ,MAAM,MAAd;EACE,KAAK;GACHC,gDACE,KACA,WACA,MAAM,OACN,MAAM,SACN,KACD;AACD;EACF,KAAK;GACHA,gDACE,KACA,WACA,MAAM,OACN,MAAM,SACN,KACD;AACD;CACH;AAGH,QAAO;AACR"}