UNPKG

@langchain/core

Version:
1 lines 2.61 kB
{"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;CACrC,IACE;EAAC;EAAa;EAAa;EAAa;EAAc;CAAS,CAAC,CAAC,SAC/D,IAAI,UAAU,KAAK,QACrB,MACC,CAAC,IAAI,UAAU,KAAK,UAAU,CAAC,IAAI,UAAU,KAAK,OAAO,SAC1D;EACA,IAAI,KAAK,WAAW,YAClB,OAAO;GACL,MAAMA,cAAAA,kBACJ,IAAI,UAAU,KAAK;GAErB,UAAU;EACZ;EAGF,OAAO,EACL,MAAM,CACJA,cAAAA,kBACE,IAAI,UAAU,KAAK,WAErB,MACF,EACF;CACF;CAEA,IAAI,KAAK,WAAW,YAAY;EAC9B,MAAM,OAAOC,iBAAAA,SAAS,IAAI,UAAU,MAAM;GACxC,GAAG;GACH,aAAa,CAAC,GAAG,KAAK,WAAW;EACnC,CAAC;EAED,IAAI,QAAQ,UAAU,MAAM,OAAO;GAAE,OAAO,CAAC,IAAI;GAAG,UAAU;EAAK;EAEnE,OAAO,QAAS;GAAE,GAAG;GAAM,UAAU;EAAK;CAC5C;CAEA,MAAM,OAAOA,iBAAAA,SAAS,IAAI,UAAU,MAAM;EACxC,GAAG;EACH,aAAa;GAAC,GAAG,KAAK;GAAa;GAAS;EAAG;CACjD,CAAC;CAED,OAAO,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,EAAE;AACnD"}