Manual Reference Source Test

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 };