formatTable method

String formatTable(
  1. Map<String, dynamic> data, {
  2. bool useColors = true,
})

Formats a table of key-value pairs

Implementation

String formatTable(Map<String, dynamic> data, {bool useColors = true}) {
  final buffer = StringBuffer();

  if (data.isEmpty) return '';

  // Find the longest key for alignment
  final maxKeyLength = data.keys
      .map((k) => k.length)
      .reduce((a, b) => a > b ? a : b);

  for (final entry in data.entries) {
    final key = entry.key.padRight(maxKeyLength);
    final value = entry.value;

    if (useColors) {
      buffer.write('${_cyan}$key$_reset: ${_white}$value$_reset\n');
    } else {
      buffer.write('$key: $value\n');
    }
  }

  return buffer.toString().trimRight();
}