apply method

  1. @override
Future<String> apply(
  1. String content,
  2. Map<String, dynamic> context
)
override

Implementation

@override
Future<String> apply(String content, Map<String, dynamic> context) async {
  return content.replaceAllMapped(_replaceRegex, (match) {
    final strExpr = match.group(1)!.trim();
    final searchExpr = match.group(2)!.trim();
    final replaceExpr = match.group(3)!.trim();

    try {
      final str = _evaluate(strExpr, context).toString();
      final search = _evaluate(searchExpr, context).toString();
      final replace = _evaluate(replaceExpr, context).toString();

      return str.replaceAll(search, replace);
    } catch (_) {
      return '';
    }
  });
}