evaluate static method

String evaluate(
  1. String template,
  2. Map<String, dynamic> data
)

Evaluate a template string against data context.

Example:

TemplateParser.evaluate(
  '<span>{{ item.data.name }}</span>',
  {'item': {'data': {'name': 'Football'}}}
)
// Returns: '<span>Football</span>'

Implementation

static String evaluate(String template, Map<String, dynamic> data) {
  if (template.isEmpty) return '';

  // Match {{ variable.path }} patterns
  final regex = RegExp(r'\{\{\s*([^}]+)\s*\}\}');

  return template.replaceAllMapped(regex, (match) {
    final path = match.group(1)?.trim() ?? '';
    final value = _getNestedValue(data, path);
    return value?.toString() ?? '';
  });
}