{"version":3,"file":"nativeEnum.cjs","names":[],"sources":["../../../../src/utils/zod-to-json-schema/parsers/nativeEnum.ts"],"sourcesContent":["import { ZodNativeEnumDef } from \"zod/v3\";\n\nexport type JsonSchema7NativeEnumType = {\n  type: \"string\" | \"number\" | [\"string\", \"number\"];\n  enum: (string | number)[];\n};\n\nexport function parseNativeEnumDef(\n  def: ZodNativeEnumDef\n): JsonSchema7NativeEnumType {\n  const object = def.values;\n  const actualKeys = Object.keys(def.values).filter((key: string) => {\n    return typeof object[object[key]] !== \"number\";\n  });\n\n  const actualValues = actualKeys.map((key: string) => object[key]);\n\n  const parsedTypes = Array.from(\n    new Set(actualValues.map((values: string | number) => typeof values))\n  );\n\n  return {\n    type:\n      parsedTypes.length === 1\n        ? parsedTypes[0] === \"string\"\n          ? \"string\"\n          : \"number\"\n        : [\"string\", \"number\"],\n    enum: actualValues,\n  };\n}\n"],"mappings":";AAOA,SAAgB,mBACd,KAC2B;CAC3B,MAAM,SAAS,IAAI;CAKnB,MAAM,eAJa,OAAO,KAAK,IAAI,OAAO,CAAC,QAAQ,QAAgB;AACjE,SAAO,OAAO,OAAO,OAAO,UAAU;GACtC,CAE8B,KAAK,QAAgB,OAAO,KAAK;CAEjE,MAAM,cAAc,MAAM,KACxB,IAAI,IAAI,aAAa,KAAK,WAA4B,OAAO,OAAO,CAAC,CACtE;AAED,QAAO;EACL,MACE,YAAY,WAAW,IACnB,YAAY,OAAO,WACjB,WACA,WACF,CAAC,UAAU,SAAS;EAC1B,MAAM;EACP"}