formatOptimizationResult method

String formatOptimizationResult(
  1. List<OptimizationResult> results
)

Implementation

String formatOptimizationResult(List<OptimizationResult> results) {
  final buffer = StringBuffer();

  if (results.isEmpty) {
    buffer.writeln('\nNo files were optimized.');
    buffer.writeln(Color.dim(
        'Images may already be optimized or compression yielded no savings.'));
    return buffer.toString();
  }

  final totalSaved = results.fold(0, (sum, r) => sum + r.savedBytes);
  final totalOriginal = results.fold(
    0,
    (sum, r) => sum + r.originalAsset.size,
  );

  buffer.writeln(Color.cyan('\nOptimization Results'));
  buffer.writeln(Color.dim('=' * _terminalWidth));

  buffer.writeln(
      '\nOptimized ${Color.yellow(results.length.toString())} files');
  final savingsPercent = totalOriginal > 0
      ? (totalSaved / totalOriginal * 100).toStringAsFixed(1)
      : '0.0';
  buffer.writeln('Total space saved: ${Color.green(_formatSize(totalSaved))} '
      '${Color.dim('($savingsPercent%)')}');

  _writeSavingsByType(buffer, results, totalSaved);
  _writeBestOptimizations(buffer, results);
  _writeRecommendations(buffer, results);

  return buffer.toString();
}