@nent/core
Version:
33 lines (32 loc) • 820 B
JavaScript
/*!
* NENT 2022
*/
/* istanbul ignore file */
;
self.importScripts('https://cdn.jsdelivr.net/npm/expr-eval@2.0.2/dist/bundle.min.js');
/**
* Documentation: https://github.com/silentmatt/expr-eval
*/
const expressionEvaluator = new self.exprEval.Parser({
operators: {
in: true,
assignment: false,
},
});
/**
* This base expression parsing is performed by the library: expr-eval
*
* @export evaluate
* @param {string} expression A js-based expression for value comparisons or calculations
* @param {object} context An object holding any variables for the expression.
*/
export async function evalExpression(expression, context = {}) {
let result = false;
try {
result = expressionEvaluator.evaluate(expression, context);
}
catch (error) {
console.debug(error);
}
return result;
}