npm.io
9.0.0 • Published 5 months ago

le-table

Licence
MIT
Version
9.0.0
Deps
4
Size
11 kB
Vulns
0
Weekly
0
Stars
23

le-table

le-table

Another NodeJS module for creating ASCII tables.

le-table

Installation

$ npm i le-table

Example

"use strict";

const Table = require("le-table");

// Table data
const data = [
    ["Cell 1.1", "Cell 2.1", "Cell 3.1"],
    ["Cell 1.2", {
        text: "Multi\nline\n\u001b[34mcell\ncontent that\u001b[0m is\n left aligned.",
        data: {
            hAlign: "left",
        }
    }, "Cell 3.2"],
    ["Cell 1.3", "Cell 2.3", "Cell 3.3"],
    ["Cell 1.4", "Cell 2.4", "Cell 3.4"]
];

// Create table instance
const myTable = new Table({
    cell: {
        padding: { left: 4, right: 4} // adds 2 spaces to both sides of every cell
    }
});

// Push data
for (let i = 0; i < data.length; ++i) {
    myTable.addRow([i].concat(data[i]), {
        hAlign: i > 2 ? "left": "right"
    });
}

// Output table
console.log(myTable.stringify());

Documentation

LeTable(options)

Creates a new instance of LeTable.

Params
  • Object options: An object containing the table configuration:
    • cell: object containing
      • hAlign (default: "center"): One of the following values: "left", "center" and "right"
      • vAlign (default: "middle"): One of the following values: "top", "middle" and "bottom"
      • autoEOL (default: true): if true, the lines are wrapped inside of the cell
      • stretch (default: true): if true, the size of the box will not be fixed
    • marks: object containing the mark characters (see example)
    • noAnsi (Boolean): If you want to disable ANSI characters in the output.
Return
  • LeTable The LeTable instance.
addRow(columns, ops)

Adds a new row in table.

Params
  • Array columns: Row data (as array)
  • Object ops: Options for cell content
Return
  • LeTable The LeTable instance.
stringify()

Stringifies the table.

Return
  • String The stringified table

How to contribute

Have an idea? Found a bug? See how to contribute.

License

See the LICENSE file.

Keywords