@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
1 lines • 1.26 kB
Source Map (JSON)
{"version":3,"file":"validate-options.cjs","names":["isOptionsGroup"],"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('[@mantine/core] Each option must have value property');\n }\n\n if (valuesSet.has(option.value)) {\n throw new Error(\n `[@mantine/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"],"mappings":";;;AAEA,SAAgB,gBAAgB,SAAgB,4BAAY,IAAI,IAAI,GAAG;CACrE,IAAI,CAAC,MAAM,QAAQ,OAAO,GACxB;CAGF,KAAK,MAAM,UAAU,SACnB,IAAIA,yBAAAA,eAAe,MAAM,GACvB,gBAAgB,OAAO,OAAO,SAAS;MAClC;EACL,IAAI,OAAO,OAAO,UAAU,aAC1B,MAAM,IAAI,MAAM,sDAAsD;EAGxE,IAAI,UAAU,IAAI,OAAO,KAAK,GAC5B,MAAM,IAAI,MACR,2EAA2E,OAAO,MAAM,8BAC1F;EAGF,UAAU,IAAI,OAAO,KAAK;CAC5B;AAEJ"}