evaluate method

dynamic evaluate(
  1. String expression,
  2. Map<String, dynamic> context
)

Evaluates a complex expression against a context map Supports dot notation, array access with brackets and dots, and property access

Implementation

dynamic evaluate(String expression, Map<String, dynamic> context) {
  if (expression.isEmpty) return null;

  try {
    final parts = _parseExpression(expression);
    dynamic current = context;

    for (final part in parts) {
      current = _resolvePart(current, part);
      if (current == null) break; // Safe navigation
    }

    return current;
  } catch (e) {
    // Return null for any evaluation errors
    return null;
  }
}