JSPM

  • Created
  • Published
  • Downloads 398386
  • Score
    100M100P100Q185335F
  • License GPL3

Command line table generator.

Package Exports

  • tty-table

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (tty-table) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

tty-table

A table widget for CLI applications in nodejs.

Installation

npm install tty-table

Why

  • Automatic text wrapping
  • Colors
  • Optional callbacks on column values

Example Output

Example

Example Usage

var Table = require('tty-table');
var chalk = require('chalk');

var header = [
    {
        value : "item",
        headerColor : "cyan",
        color: "yellow",
        alignment : "left",
        paddingLeft : 1,
        width : 30
    },
    {
        value : "price",
        color : "red", 
        formatter : function(value){
            var str = "$" + value.toFixed(2);
            if(value > 5){
                str = chalk.underline.green(str);
            }
            return str;
        }
    },
    {
        value : "organic",
        formatter : function(value){
            if(value === 'yes'){
                value = chalk.stripColor(value);
                value = chalk.green(value);
            }
            else{
                value = chalk.white.bgRed(value);
            }
            return value;
        }
    }
];

var rows = [
    ["hamburger",2.50,"no"],
    ["el jefe's special cream sauce",0.10,"yes"],
    ["two tacos, rice and beans topped with cheddar cheese",9.80,"no"],
    ["apple slices",1.00,"yes"],
    ["ham sandwich",1.50,"no"],
    ["macaroni, ham and peruvian mozzarella",3.75,"no"]
];

//Example 1
var t1 = Table(header,rows,{
    borderStyle : 1,
    paddingBottom : 0,
    headerAlignment : "center",
    alignment : "center",
    color : "white"
});
var str1 = t1.render();
console.log(str1);

API Reference

Table

Kind: global class

Table(header, rows, options)

Param Type Description
header array
rows array
options object Table options
options.marginTop number default: 0
options.marginLeft number default: 0
options.maxWidth number default: 20
options.callback function default: null
options.headerAlignment string default: "center"
options.alignment string default: "center"
options.paddingRight number default: 0
options.paddingLeft number default: 0
options.paddingBottom number default: 0
options.paddingTop number default: 0
options.color string default: terminal default color
options.headerColor string default: terminal default color
options.borderStyles number default: 1 (0 = no border)

Example

var Table = require('tty-table');
Table(header,rows,options);

Table.render() ⇒ String

Renders a table to a string

Kind: static method of Table
Example

var str = t1.render(); 
console.log(str); //outputs table

Running tests

grunt test

License

GPLv3 License

Copyright 2015, Tecfu.