simple-text-table
v1.3.3
Published
Create simples text table
Downloads
21
Maintainers
Readme
simple-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.
Install
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 │
License
MIT