src/utilities/ConditionUtility.js
/** @type {Object} */
const operators = {
'<': (a, b) => a < b,
'<=': (a, b) => a <= b,
'>': (a, b) => a > b,
'>=': (a, b) => a >= b,
'=': (a, b) => a === b,
'<>': (a, b) => a !== b,
};
/**
* Evaluate where a operator b
*
* @param {Any} a any value 1
* @param {String} operator which is defined by the operators array
* @param {Any} b any value 2
* @return {Boolean} true or false depending if a (operator) b
*/
function evaluate(a, operator, b) {
const _a = (parseFloat(a, 10)) ? parseFloat(a, 10) : a;
const _b = (parseFloat(b, 10)) ? parseFloat(b, 10) : b;
return operators[operator](_a, _b);
}
export { operators, evaluate };