| layout | default |
|---|
@mks2508/better-logger / cli-module / renderTable
renderTable(
rows,options?,colorCap?):string
Defined in: playground/cli-table.ts:53
Renderiza un array de objetos como tabla ASCII alineada, con headers en
cian bold y separador (─) bajo la cabecera. Las columnas se autodetectan
a partir de las keys del primer row salvo que options.columns las imponga,
y los labels se toman de options.head (default: nombres de columna).
El ancho de cada columna se calcula como max(header, valor más largo) + 2
para garantizar padding horizontal consistente. Si colorCap es 'none',
se omiten todas las secuencias ANSI (útil para logs plain-text o CI).
Record<string, unknown>[]
Array de row objects. Un array vacío devuelve string vacío.
ITableOptions = {}
Ver ITableOptions para columns y head.
ColorCapability = 'full'
Capacidad de color del terminal destino.
string
String multilinea con la tabla (header + separator + data rows),
o '' si rows está vacío.
// Auto-detect columnas desde las keys del primer row
const rows = [
{ service: 'auth', status: 'healthy', latency: 12 },
{ service: 'api', status: 'degraded', latency: 245 }
];
process.stdout.write(renderTable(rows) + '\n');
// ┌─────────┬──────────┬─────────┐
// │ service │ status │ latency │
// ─────────────────────────────────
// │ auth │ healthy │ 12 │
// │ api │ degraded │ 245 │// Forzar columnas y renombrar headers
process.stdout.write(renderTable(rows, {
columns: ['service', 'latency'],
head: ['Service', 'Latency (ms)']
}, 'none') + '\n');- ITableOptions para las opciones disponibles.
- getVisibleLength y padToWidth para el cálculo de ancho.