interpolate static method
Replaces {{data.key}} patterns in text with values from formData.
Supports nested keys using dot notation (e.g., data.user.name).
Implementation
static String interpolate(String text, Map<String, dynamic>? formData) {
if (text.isEmpty || formData == null) return text;
final regExp = RegExp(r'\{\{\s*data\.([a-zA-Z0-9._]+)\s*\}\}');
return text.replaceAllMapped(regExp, (match) {
final key = match.group(1);
if (key == null) return match.group(0)!;
final value = getPathValue(formData, key);
return value?.toString() ?? '';
});
}