Files

25 lines
829 B
JavaScript

import { computeGroupsNames } from './compute-groups-names.js'
/**
* Throws an error if a group is specified more than once.
*
* @param parameters - Parameters object.
* @param parameters.groups - The groups to check for duplicates.
* @throws Error Will throw an error if duplicated groups are found.
*/
function validateNoDuplicatedGroups({ groups }) {
let groupNames = computeGroupsNames(groups)
let seenGroups = /* @__PURE__ */ new Set()
let duplicatedGroups = /* @__PURE__ */ new Set()
for (let groupName of groupNames) {
if (seenGroups.has(groupName)) {
duplicatedGroups.add(groupName)
} else {
seenGroups.add(groupName)
}
}
if (duplicatedGroups.size > 0) {
throw new Error(`Duplicated group(s): ${[...duplicatedGroups].join(', ')}`)
}
}
export { validateNoDuplicatedGroups }