INNER CODE UNIT · JavaScript
printTable
linxidnju/OpenTag · src/cli.js:243
function printTable(rows) {
if (!rows.length) {
console.log("(none)");
return;
}
const headers = Object.keys(rows[0]);
const widths = headers.map((header) => Math.max(header.length, ...rows.map((row) => String(row[header] ?? "").length)));
console.log(headers.map((header, i) => header.padEnd(widths[i])).join(" "));
console.log(headers.map((_, i) => "-".repeat(widths[i])).join(" "));
for (const row of rows) {
console.log(headers.map((header, i) => String(row[header] ?? "").padEnd(widths[i])).join(" "));
}
}