resolveValueExpression function

dynamic resolveValueExpression(
  1. String expression,
  2. dynamic data
)

Resolves either a plain JSON path or a formula against one data row.

Implementation

dynamic resolveValueExpression(String expression, dynamic data) {
  var normalized = expression.trim();
  if (normalized.startsWith('{{=') && normalized.endsWith('}}')) {
    normalized = normalized.substring(3, normalized.length - 2).trim();
  }
  try {
    return evaluateFormula(normalized, data);
  } catch (_) {
    return resolvePath(normalized, data);
  }
}