UNPKG

@langchain/core

Version:
1 lines 2.33 kB
{"version":3,"file":"array.cjs","names":["def: ZodArrayDef","refs: Refs","res: JsonSchema7ArrayType","ZodFirstPartyTypeKind","parseDef","setResponseValueAndErrors"],"sources":["../../../../src/utils/zod-to-json-schema/parsers/array.ts"],"sourcesContent":["import { ZodArrayDef, ZodFirstPartyTypeKind } from \"zod/v3\";\nimport { ErrorMessages, setResponseValueAndErrors } from \"../errorMessages.js\";\nimport { parseDef } from \"../parseDef.js\";\nimport { JsonSchema7Type } from \"../parseTypes.js\";\nimport { Refs } from \"../Refs.js\";\n\nexport type JsonSchema7ArrayType = {\n type: \"array\";\n items?: JsonSchema7Type;\n minItems?: number;\n maxItems?: number;\n errorMessages?: ErrorMessages<JsonSchema7ArrayType, \"items\">;\n};\n\nexport function parseArrayDef(def: ZodArrayDef, refs: Refs) {\n const res: JsonSchema7ArrayType = {\n type: \"array\",\n };\n if (\n def.type?._def &&\n def.type?._def?.typeName !== ZodFirstPartyTypeKind.ZodAny\n ) {\n res.items = parseDef(def.type._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"items\"],\n });\n }\n\n if (def.minLength) {\n setResponseValueAndErrors(\n res,\n \"minItems\",\n def.minLength.value,\n def.minLength.message,\n refs\n );\n }\n if (def.maxLength) {\n setResponseValueAndErrors(\n res,\n \"maxItems\",\n def.maxLength.value,\n def.maxLength.message,\n refs\n );\n }\n if (def.exactLength) {\n setResponseValueAndErrors(\n res,\n \"minItems\",\n def.exactLength.value,\n def.exactLength.message,\n refs\n );\n setResponseValueAndErrors(\n res,\n \"maxItems\",\n def.exactLength.value,\n def.exactLength.message,\n refs\n );\n }\n return res;\n}\n"],"mappings":";;;;;;AAcA,SAAgB,cAAcA,KAAkBC,MAAY;CAC1D,MAAMC,MAA4B,EAChC,MAAM,QACP;AACD,KACE,IAAI,MAAM,QACV,IAAI,MAAM,MAAM,aAAaC,6BAAsB,QAEnD,IAAI,QAAQC,0BAAS,IAAI,KAAK,MAAM;EAClC,GAAG;EACH,aAAa,CAAC,GAAG,KAAK,aAAa,OAAQ;CAC5C,EAAC;AAGJ,KAAI,IAAI,WACNC,gDACE,KACA,YACA,IAAI,UAAU,OACd,IAAI,UAAU,SACd,KACD;AAEH,KAAI,IAAI,WACNA,gDACE,KACA,YACA,IAAI,UAAU,OACd,IAAI,UAAU,SACd,KACD;AAEH,KAAI,IAAI,aAAa;EACnBA,gDACE,KACA,YACA,IAAI,YAAY,OAChB,IAAI,YAAY,SAChB,KACD;EACDA,gDACE,KACA,YACA,IAAI,YAAY,OAChB,IAAI,YAAY,SAChB,KACD;CACF;AACD,QAAO;AACR"}