buildSqliteAsciiTable function

String buildSqliteAsciiTable(
  1. List<String> columns,
  2. List<Map<String, Object?>> rows
)

Renders rows as a width-capped ASCII table (omp's buildAsciiTable).

Implementation

String buildSqliteAsciiTable(
  List<String> columns,
  List<Map<String, Object?>> rows,
) {
  if (columns.isEmpty) {
    return rows.isEmpty ? '(no rows)' : '(rows returned without named columns)';
  }
  if (!_tableFitsAtMinimum(columns.length)) {
    return _buildVerticalBlocks(columns, rows);
  }

  final widths = _measureColumnWidths(columns, rows);
  _shrinkWidthsToFit(widths, columns.length);
  return _renderTableLines(columns, widths, rows);
}