@langchain/core
Version:
Core LangChain.js abstractions and schemas
1 lines • 2.63 kB
Source Map (JSON)
{"version":3,"file":"nullable.cjs","names":["def: ZodNullableDef","refs: Refs","primitiveMappings","base","parseDef"],"sources":["../../../../src/utils/zod-to-json-schema/parsers/nullable.ts"],"sourcesContent":["import { ZodNullableDef } from \"zod/v3\";\nimport { parseDef } from \"../parseDef.js\";\nimport { JsonSchema7Type } from \"../parseTypes.js\";\nimport { Refs } from \"../Refs.js\";\nimport { JsonSchema7NullType } from \"./null.js\";\nimport { primitiveMappings } from \"./union.js\";\n\nexport type JsonSchema7NullableType =\n | {\n anyOf: [JsonSchema7Type, JsonSchema7NullType];\n }\n | {\n type: [string, \"null\"];\n };\n\nexport function parseNullableDef(\n def: ZodNullableDef,\n refs: Refs\n): JsonSchema7NullableType | undefined {\n if (\n [\"ZodString\", \"ZodNumber\", \"ZodBigInt\", \"ZodBoolean\", \"ZodNull\"].includes(\n def.innerType._def.typeName\n ) &&\n (!def.innerType._def.checks || !def.innerType._def.checks.length)\n ) {\n if (refs.target === \"openApi3\") {\n return {\n type: primitiveMappings[\n def.innerType._def.typeName as keyof typeof primitiveMappings\n ],\n nullable: true,\n } as any;\n }\n\n return {\n type: [\n primitiveMappings[\n def.innerType._def.typeName as keyof typeof primitiveMappings\n ],\n \"null\",\n ],\n };\n }\n\n if (refs.target === \"openApi3\") {\n const base = parseDef(def.innerType._def, {\n ...refs,\n currentPath: [...refs.currentPath],\n });\n\n if (base && \"$ref\" in base) return { allOf: [base], nullable: true } as any;\n\n return base && ({ ...base, nullable: true } as any);\n }\n\n const base = parseDef(def.innerType._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"anyOf\", \"0\"],\n });\n\n return base && { anyOf: [base, { type: \"null\" }] };\n}\n"],"mappings":";;;;AAeA,SAAgB,iBACdA,KACAC,MACqC;AACrC,KACE;EAAC;EAAa;EAAa;EAAa;EAAc;CAAU,EAAC,SAC/D,IAAI,UAAU,KAAK,SACpB,KACA,CAAC,IAAI,UAAU,KAAK,UAAU,CAAC,IAAI,UAAU,KAAK,OAAO,SAC1D;AACA,MAAI,KAAK,WAAW,WAClB,QAAO;GACL,MAAMC,gCACJ,IAAI,UAAU,KAAK;GAErB,UAAU;EACX;AAGH,SAAO,EACL,MAAM,CACJA,gCACE,IAAI,UAAU,KAAK,WAErB,MACD,EACF;CACF;AAED,KAAI,KAAK,WAAW,YAAY;EAC9B,MAAMC,SAAOC,0BAAS,IAAI,UAAU,MAAM;GACxC,GAAG;GACH,aAAa,CAAC,GAAG,KAAK,WAAY;EACnC,EAAC;AAEF,MAAID,UAAQ,UAAUA,OAAM,QAAO;GAAE,OAAO,CAACA,MAAK;GAAE,UAAU;EAAM;AAEpE,SAAOA,UAAS;GAAE,GAAGA;GAAM,UAAU;EAAM;CAC5C;CAED,MAAM,OAAOC,0BAAS,IAAI,UAAU,MAAM;EACxC,GAAG;EACH,aAAa;GAAC,GAAG,KAAK;GAAa;GAAS;EAAI;CACjD,EAAC;AAEF,QAAO,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,OAAQ,CAAC,EAAE;AACnD"}