29 lines
830 B
JavaScript
29 lines
830 B
JavaScript
|
|
/**
|
||
|
|
* @file assertionUtils.js
|
||
|
|
*
|
||
|
|
* Utility functions for assertions and throwing errors in EVOLV.
|
||
|
|
*
|
||
|
|
* @description This module provides functions to assert conditions and throw errors when those conditions are not met.
|
||
|
|
* @exports ValidationUtils
|
||
|
|
*/
|
||
|
|
|
||
|
|
class Assertions {
|
||
|
|
/**
|
||
|
|
* Assert that no NaN values are present in an array.
|
||
|
|
* @param {Array} arr - The array to check for NaN values.
|
||
|
|
* @param {string} label - Array label to indicate where the error occurs.
|
||
|
|
*/
|
||
|
|
assertNoNaN(arr, label = "array") {
|
||
|
|
if (Array.isArray(arr)) {
|
||
|
|
for (const el of arr) {
|
||
|
|
assertNoNaN(el, label);
|
||
|
|
}
|
||
|
|
} else {
|
||
|
|
if (Number.isNaN(arr)) {
|
||
|
|
throw new Error(`NaN detected in ${label}!`);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
module.exports = Assertions;
|