1.3.3 • Published 2 months ago

simple-text-table v1.3.3

Weekly downloads
-
License
MIT
Repository
gitlab
Last release
2 months ago

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

1.3.3

2 months ago

1.3.2

3 months ago

1.2.3

3 months ago

1.3.1

3 months ago

1.3.0

3 months ago

1.2.0

3 months ago

1.2.2

3 months ago

1.1.3

3 months ago

1.2.1

3 months ago

1.1.2

3 months ago

1.1.1

3 months ago

1.1.0

3 months ago

1.0.2

3 months ago

1.0.1

3 months ago

1.0.0

3 months ago