{"version":3,"file":"tuple.cjs","names":["parseDef"],"sources":["../../../../src/utils/zod-to-json-schema/parsers/tuple.ts"],"sourcesContent":["import { ZodTupleDef, ZodTupleItems, ZodTypeAny } from \"zod/v3\";\nimport { parseDef } from \"../parseDef.js\";\nimport { JsonSchema7Type } from \"../parseTypes.js\";\nimport { Refs } from \"../Refs.js\";\n\nexport type JsonSchema7TupleType = {\n  type: \"array\";\n  minItems: number;\n  items: JsonSchema7Type[];\n} & (\n  | {\n      maxItems: number;\n    }\n  | {\n      additionalItems?: JsonSchema7Type;\n    }\n);\n\nexport function parseTupleDef(\n  def: ZodTupleDef<ZodTupleItems | [], ZodTypeAny | null>,\n  refs: Refs\n): JsonSchema7TupleType {\n  if (def.rest) {\n    return {\n      type: \"array\",\n      minItems: def.items.length,\n      items: def.items\n        .map((x, i) =>\n          parseDef(x._def, {\n            ...refs,\n            currentPath: [...refs.currentPath, \"items\", `${i}`],\n          })\n        )\n        .reduce(\n          (acc: JsonSchema7Type[], x) => (x === undefined ? acc : [...acc, x]),\n          []\n        ),\n      additionalItems: parseDef(def.rest._def, {\n        ...refs,\n        currentPath: [...refs.currentPath, \"additionalItems\"],\n      }),\n    };\n  } else {\n    return {\n      type: \"array\",\n      minItems: def.items.length,\n      maxItems: def.items.length,\n      items: def.items\n        .map((x, i) =>\n          parseDef(x._def, {\n            ...refs,\n            currentPath: [...refs.currentPath, \"items\", `${i}`],\n          })\n        )\n        .reduce(\n          (acc: JsonSchema7Type[], x) => (x === undefined ? acc : [...acc, x]),\n          []\n        ),\n    };\n  }\n}\n"],"mappings":";;AAkBA,SAAgB,cACd,KACA,MACsB;AACtB,KAAI,IAAI,KACN,QAAO;EACL,MAAM;EACN,UAAU,IAAI,MAAM;EACpB,OAAO,IAAI,MACR,KAAK,GAAG,MACPA,iBAAAA,SAAS,EAAE,MAAM;GACf,GAAG;GACH,aAAa;IAAC,GAAG,KAAK;IAAa;IAAS,GAAG;IAAI;GACpD,CAAC,CACH,CACA,QACE,KAAwB,MAAO,MAAM,KAAA,IAAY,MAAM,CAAC,GAAG,KAAK,EAAE,EACnE,EAAE,CACH;EACH,iBAAiBA,iBAAAA,SAAS,IAAI,KAAK,MAAM;GACvC,GAAG;GACH,aAAa,CAAC,GAAG,KAAK,aAAa,kBAAkB;GACtD,CAAC;EACH;KAED,QAAO;EACL,MAAM;EACN,UAAU,IAAI,MAAM;EACpB,UAAU,IAAI,MAAM;EACpB,OAAO,IAAI,MACR,KAAK,GAAG,MACPA,iBAAAA,SAAS,EAAE,MAAM;GACf,GAAG;GACH,aAAa;IAAC,GAAG,KAAK;IAAa;IAAS,GAAG;IAAI;GACpD,CAAC,CACH,CACA,QACE,KAAwB,MAAO,MAAM,KAAA,IAAY,MAAM,CAAC,GAAG,KAAK,EAAE,EACnE,EAAE,CACH;EACJ"}