evaluateExpression function
Evaluates expression against variables, returning the result (a num,
bool, or String). Throws FormatException on a syntax error, an unknown
variable, or a type mismatch (e.g. adding a string).
Example:
evaluateExpression('age >= 18 && country == "US"',
variables: {'age': 21, 'country': 'US'}); // true
Audited: 2026-06-12 11:26 EDT
Implementation
Object? evaluateExpression(
String expression, {
Map<String, Object?> variables = const <String, Object?>{},
}) {
final List<Token> tokens = tokenize(expression, _rules);
return _Evaluator(tokens, variables).run();
}