UNPKG

@langchain/core

Version:
1 lines 1.29 kB
{"version":3,"file":"optional.cjs","names":["parseDef","parseAnyDef"],"sources":["../../../../src/utils/zod-to-json-schema/parsers/optional.ts"],"sourcesContent":["import { ZodOptionalDef } from \"zod/v3\";\nimport { parseDef } from \"../parseDef.js\";\nimport { JsonSchema7Type } from \"../parseTypes.js\";\nimport { Refs } from \"../Refs.js\";\nimport { parseAnyDef } from \"./any.js\";\n\nexport const parseOptionalDef = (\n def: ZodOptionalDef,\n refs: Refs\n): JsonSchema7Type | undefined => {\n if (refs.currentPath.toString() === refs.propertyPath?.toString()) {\n return parseDef(def.innerType._def, refs);\n }\n\n const innerSchema = parseDef(def.innerType._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"anyOf\", \"1\"],\n });\n\n return innerSchema\n ? {\n anyOf: [\n {\n not: parseAnyDef(refs),\n },\n innerSchema,\n ],\n }\n : parseAnyDef(refs);\n};\n"],"mappings":";;;AAMA,MAAa,oBACX,KACA,SACgC;AAChC,KAAI,KAAK,YAAY,UAAU,KAAK,KAAK,cAAc,UAAU,CAC/D,QAAOA,iBAAAA,SAAS,IAAI,UAAU,MAAM,KAAK;CAG3C,MAAM,cAAcA,iBAAAA,SAAS,IAAI,UAAU,MAAM;EAC/C,GAAG;EACH,aAAa;GAAC,GAAG,KAAK;GAAa;GAAS;GAAI;EACjD,CAAC;AAEF,QAAO,cACH,EACE,OAAO,CACL,EACE,KAAKC,YAAAA,YAAY,KAAK,EACvB,EACD,YACD,EACF,GACDA,YAAAA,YAAY,KAAK"}