UNPKG

@nent/core

Version:

Functional elements to add routing, data-binding, dynamic HTML, declarative actions, audio, video, and so much more. Supercharge static HTML files into web apps without script or builds.

33 lines (32 loc) 820 B
/*! * 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; }