evaluate method
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;
}
}