Package Exports
- easy-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 (easy-table) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Easy table
Simple and nice utility for rendering text tables with javascript.
Usage
var Table = require('easy-table');
var data = [
{ id: 123123, desc: 'Something awesome', price: 1000.00 },
{ id: 245452, desc: 'Very interesting book', price: 11.45},
{ id: 232323, desc: 'Yet another product', price: 555.55 }
]
var t = new Table;
data.forEach(function (product) {
t.cell('Product Id', product.id);
t.cell('Description', product.desc);
t.cell('Price, USD', product.price.toFixed(2), Table.padLeft);
t.newLine();
});
console.log(t.toString());
The script above will render:
Product Id Description Price, USD
---------- --------------------- ----------
123123 Something awesome 1000.00
245452 Very interesting book 11.45
232323 Yet another product 555.55
The full signature of .cell()
method is:
t.cell(column, value, printer, width)
Where column
is a column name to print, value
- cell's value, printer
is
a function with which cell's value should be printed, width
- column's width.
By default column's width is ajusted to fit the longest value, but if specified explicitly it is fixed and any non-fitting cell is truncated.
Cell's value rendering occures in two phases. At the first phase printer
function is called to get minimal width required to fit cell correctly, at the
second phase printer
function is called to get actual string to render with
additional width
parameter supplied.
You can sort a table by calling .sort()
, and optionally passing in a list of
column names to sort on (by default uses all columns), or a custom comparator
function. It is also possible to specify the sort order. For example:
t.sort(['Price, USD|des']) // will sort in descending order
t.sort(['Price, USD|asc']) // will sort in ascending order
t.sort(['Price, USD']) // sorts in ascending order by default
Installation
Just install from the npm repository with:
$ npm install easy-table