Create simples text table
Create a plain text table with a pre-defined style or a customized one. It also produces csv format from table data.
The table is made up of two parts: header and lines, each part having its own alignments, independent of each other. The alignments are: __left, right and center__. Left is the default choice. Header line and rows are not mandatory.
Blank spaces can be padded to the left of the table, __leftPadding__ attribute is optional. __undefined__ and __null__ fields will be replaced by empty string.
You can choose from 4 different styles: __line, clean, ascii or vertical__. Default style is __line__ (the parameter is optional). It is also possible to customize your one, by defining argument "style" as an object containing borders elements.
npm install simple-text-table
`
Example:
`
const table = require('simple-text-table')const tableData = {
leftPadding: 5,
headerAlign: [ 'left', 'right', 'center', '', 'left' ],
headers: [ 'Name', 'Rank', 'StarShip', 'Warp Speed', 'Series' ],
rowAlign: [ 'left', 'right', '', 'left', 'center' ],
rows: [
[ 'James Tiberius Kirk', 'Captain', 'NCC-1701 Enterprise', 8, 'Star Trek Classic' ],
[ 'Kathryn Janeway', 'Captain', 'NCC-74656 Voyager', 9.975, 'Voyager' ],
[ 'Spock', 'Science Officer', 'NCC-1701 Enterprise', undefined, 'Star Trek Classic' ],
[ 'Jean-Luc Picard', 'Captain', 'NCC-1701 Enterprise-D', 9.6, 'Star Trek Next Generation' ],
[ 'Data', 'Lt. Commander', null, 9.6, 'Star Trek Next Generation' ],
[ 'Benjamin Sisko', 'Captain', 'NCC-1764 Defiant', 9.5, 'Deep Space 9' ],
[ 'TPol', 'Science Officer', 'NX-01 Enterprise', 5.2, ]
]
}
let tableTxt = table.createTable(tableData)
console.log(tableTxt)
console.log()
const csvFormat = table.getCsvFormat(tableData)
console.log(csvFormat)
console.log()
tableTxt = table.createTable(tableData, 'clean')
console.log(tableTxt)
tableTxt = table.createTable(tableData, {
upper: {
line:
,
join: ,
left: ,
right: ,
},
bottom: {
line: ,
join: ,
left: ,
right: ,
},
line: {
left: ,
right: ,
join: │,
},
join: {
line: ,
left: ,
right: ,
cross: │
}
})
console.log(tableTxt)
`Output
`
┌─────────────────────┬─────────────────┬───────────────────────┬────────────┬───────────────────────────┐
│ Name │ Rank │ StarShip │ Warp Speed │ Series │
├─────────────────────┼─────────────────┼───────────────────────┼────────────┼───────────────────────────┤
│ James Tiberius Kirk │ Captain │ NCC-1701 Enterprise │ 8 │ Star Trek Classic │
│ Kathryn Janeway │ Captain │ NCC-74656 Voyager │ 9.975 │ Voyager │
│ Spock │ Science Officer │ NCC-1701 Enterprise │ │ Star Trek Classic │
│ Jean-Luc Picard │ Captain │ NCC-1701 Enterprise-D │ 9.6 │ Star Trek Next Generation │
│ Data │ Lt. Commander │ │ 9.6 │ Star Trek Next Generation │
│ Benjamin Sisko │ Captain │ NCC-1764 Defiant │ 9.5 │ Deep Space 9 │
│ TPol │ Science Officer │ NX-01 Enterprise │ 5.2 │ │
└─────────────────────┴─────────────────┴───────────────────────┴────────────┴───────────────────────────┘Name;Rank;StarShip;Warp Speed;Series
James Tiberius Kirk;Captain;NCC-1701 Enterprise;8;Star Trek Classic
Kathryn Janeway;Captain;NCC-74656 Voyager;9.975;Voyager
Spock;Science Officer;NCC-1701 Enterprise;;Star Trek Classic
Jean-Luc Picard;Captain;NCC-1701 Enterprise-D;9.6;Star Trek Next Generation
Data;Lt. Commander;;9.6;Star Trek Next Generation
Benjamin Sisko;Captain;NCC-1764 Defiant;9.5;Deep Space 9
TPol;Science Officer;NX-01 Enterprise;5.2;
──────────────────────────────────────────────────────────────────────────────────────────────────────────
Name Rank StarShip Warp Speed Series
──────────────────────────────────────────────────────────────────────────────────────────────────────────
James Tiberius Kirk Captain NCC-1701 Enterprise 8 Star Trek Classic
Kathryn Janeway Captain NCC-74656 Voyager 9.975 Voyager
Spock Science Officer NCC-1701 Enterprise Star Trek Classic
Jean-Luc Picard Captain NCC-1701 Enterprise-D 9.6 Star Trek Next Generation
Data Lt. Commander 9.6 Star Trek Next Generation
Benjamin Sisko Captain NCC-1764 Defiant 9.5 Deep Space 9
TPol Science Officer NX-01 Enterprise 5.2
──────────────────────────────────────────────────────────────────────────────────────────────────────────
Name │ Rank │ StarShip │ Warp Speed │ Series
│ │ │ │
James Tiberius Kirk │ Captain │ NCC-1701 Enterprise │ 8 │ Star Trek Classic
Kathryn Janeway │ Captain │ NCC-74656 Voyager │ 9.975 │ Voyager
Spock │ Science Officer │ NCC-1701 Enterprise │ │ Star Trek Classic
Jean-Luc Picard │ Captain │ NCC-1701 Enterprise-D │ 9.6 │ Star Trek Next Generation
Data │ Lt. Commander │ │ 9.6 │ Star Trek Next Generation
Benjamin Sisko │ Captain │ NCC-1764 Defiant │ 9.5 │ Deep Space 9
TPol │ Science Officer │ NX-01 Enterprise │ 5.2 │
``MIT