buildSlowDescription function
Build a human-readable description from tagged arguments.
Implementation
String buildSlowDescription(String template, List<dynamic> args) {
var result = template;
for (var i = 0; i < args.length; i++) {
final v = args[i];
String replacement;
if (v is List) {
replacement = 'List[${v.length}]';
} else if (v is Map) {
replacement = 'Map{${v.length} keys}';
} else if (v is String) {
replacement = v.length > 80 ? '${v.substring(0, 80)}...' : v;
} else {
replacement = '$v';
}
result = result.replaceFirst('{$i}', replacement);
}
return result;
}