@lodestar/beacon-node
Version:
A Typescript implementation of the beacon chain
23 lines • 806 B
JavaScript
import { ApiError } from "./errors.js";
/**
* Ensures that the array contains unique values, and throws an ApiError
* otherwise.
* @param array - The array to check for uniqueness.
* @param message - The message to put in the ApiError if the array contains
* duplicates.
*/
export function assertUniqueItems(array, message) {
if (!array) {
return;
}
const duplicateItems = array.reduce((partialDuplicateItems, item, index) => {
if (array.indexOf(item) !== index && !partialDuplicateItems.includes(item)) {
return partialDuplicateItems.concat(item);
}
return partialDuplicateItems;
}, []);
if (duplicateItems.length) {
throw new ApiError(400, `${message}: ${duplicateItems.join(", ")}`);
}
}
//# sourceMappingURL=utils.js.map