@langchain/core
Version:
Core LangChain.js abstractions and schemas
1 lines • 2.59 kB
Source Map (JSON)
{"version":3,"file":"nullable.cjs","names":["primitiveMappings","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,iBACd,KACA,MACqC;AACrC,KACE;EAAC;EAAa;EAAa;EAAa;EAAc;EAAU,CAAC,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,MAAMA,cAAAA,kBACJ,IAAI,UAAU,KAAK;GAErB,UAAU;GACX;AAGH,SAAO,EACL,MAAM,CACJA,cAAAA,kBACE,IAAI,UAAU,KAAK,WAErB,OACD,EACF;;AAGH,KAAI,KAAK,WAAW,YAAY;EAC9B,MAAM,OAAOC,iBAAAA,SAAS,IAAI,UAAU,MAAM;GACxC,GAAG;GACH,aAAa,CAAC,GAAG,KAAK,YAAY;GACnC,CAAC;AAEF,MAAI,QAAQ,UAAU,KAAM,QAAO;GAAE,OAAO,CAAC,KAAK;GAAE,UAAU;GAAM;AAEpE,SAAO,QAAS;GAAE,GAAG;GAAM,UAAU;GAAM;;CAG7C,MAAM,OAAOA,iBAAAA,SAAS,IAAI,UAAU,MAAM;EACxC,GAAG;EACH,aAAa;GAAC,GAAG,KAAK;GAAa;GAAS;GAAI;EACjD,CAAC;AAEF,QAAO,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,QAAQ,CAAC,EAAE"}