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(_countRegex, (match) {
    final expr = match.group(1)!.trim();

    try {
      final value = _evaluate(expr, context);
      if (value is List || value is Map || value is String) {
        return value.length.toString();
      }
      return '0';
    } catch (_) {
      return '0';
    }
  });
}