{"version":3,"file":"validate-options.mjs","sources":["../../../../src/components/Combobox/OptionsDropdown/validate-options.ts"],"sourcesContent":["import { isOptionsGroup } from './is-options-group';\n\nexport function validateOptions(options: any[], valuesSet = new Set()) {\n  if (!Array.isArray(options)) {\n    return;\n  }\n\n  for (const option of options) {\n    if (isOptionsGroup(option)) {\n      validateOptions(option.items, valuesSet);\n    } else {\n      if (typeof option.value === 'undefined') {\n        throw new Error('[@raikou/core] Each option must have value property');\n      }\n\n      if (typeof option.value !== 'string') {\n        throw new Error(\n          `[@raikou/core] Option value must be a string, other data formats are not supported, got ${typeof option.value}`\n        );\n      }\n\n      if (valuesSet.has(option.value)) {\n        throw new Error(\n          `[@raikou/core] Duplicate options are not supported. Option with value \"${option.value}\" was provided more than once`\n        );\n      }\n\n      valuesSet.add(option.value);\n    }\n  }\n}\n"],"names":[],"mappings":";;AAEO,SAAS,eAAgB,CAAA,OAAA,EAAgB,SAAY,mBAAA,IAAI,KAAO,EAAA;AACrE,EAAA,IAAI,CAAC,KAAA,CAAM,OAAQ,CAAA,OAAO,CAAG,EAAA;AAC3B,IAAA;AAAA;AAGF,EAAA,KAAA,MAAW,UAAU,OAAS,EAAA;AAC5B,IAAI,IAAA,cAAA,CAAe,MAAM,CAAG,EAAA;AAC1B,MAAgB,eAAA,CAAA,MAAA,CAAO,OAAO,SAAS,CAAA;AAAA,KAClC,MAAA;AACL,MAAI,IAAA,OAAO,MAAO,CAAA,KAAA,KAAU,WAAa,EAAA;AACvC,QAAM,MAAA,IAAI,MAAM,qDAAqD,CAAA;AAAA;AAGvE,MAAI,IAAA,OAAO,MAAO,CAAA,KAAA,KAAU,QAAU,EAAA;AACpC,QAAA,MAAM,IAAI,KAAA;AAAA,UACR,CAAA,wFAAA,EAA2F,OAAO,MAAA,CAAO,KAAK,CAAA;AAAA,SAChH;AAAA;AAGF,MAAA,IAAI,SAAU,CAAA,GAAA,CAAI,MAAO,CAAA,KAAK,CAAG,EAAA;AAC/B,QAAA,MAAM,IAAI,KAAA;AAAA,UACR,CAAA,uEAAA,EAA0E,OAAO,KAAK,CAAA,6BAAA;AAAA,SACxF;AAAA;AAGF,MAAU,SAAA,CAAA,GAAA,CAAI,OAAO,KAAK,CAAA;AAAA;AAC5B;AAEJ;;;;"}