|  | 3 anos atrás | |
|---|---|---|
| .. | ||
| lib | 3 anos atrás | |
| node_modules | 3 anos atrás | |
| CHANGELOG.md | 3 anos atrás | |
| LICENSE | 3 anos atrás | |
| README.md | 3 anos atrás | |
| package.json | 3 anos atrás | |
var Table = require('cli-tableau');
var table = new Table({
    head: ['TH 1 label', 'TH 2 label'],
    colWidths: [100, 200],
    borders: false
});
table.push(
    ['First value', 'Second value'],
    ['First value', 'Second value']
);
console.log(table.toString());
var Table = require('cli-tableau');
var table = new Table();
table.push(
    { 'Some key': 'Some value' },
    { 'Another key': 'Another value' }
);
console.log(table.toString());
Cross tables are very similar to vertical tables, with two key differences:
head setting when instantiated that has an empty string as the first headervar Table = require('cli-tableau');
var table = new Table({ head: ["", "Top Header 1", "Top Header 2"] });
table.push(
    { 'Left Header 1': ['Value Row 1 Col 1', 'Value Row 1 Col 2'] },
    { 'Left Header 2': ['Value Row 2 Col 1', 'Value Row 2 Col 2'] }
);
console.log(table.toString());
The chars property controls how the table is drawn:
var table = new Table({
  chars: {
    'top': '═' , 'top-mid': '╤' , 'top-left': '╔' , 'top-right': '╗',
    'bottom': '═' , 'bottom-mid': '╧' , 'bottom-left': '╚' , 'bottom-right': '╝',
    'left': '║' , 'left-mid': '╟' , 'mid': '─' , 'mid-mid': '┼',
    'right': '║' , 'right-mid': '╢' , 'middle': '│'
  }
});
table.push(
    ['foo', 'bar', 'baz'],
    ['frob', 'bar', 'quuz']
);
console.log(table.toString());
// Outputs:
//
//╔══════╤═════╤══════╗
//║ foo  │ bar │ baz  ║
//╟──────┼─────┼──────╢
//║ frob │ bar │ quuz ║
//╚══════╧═════╧══════╝
Empty decoration lines will be skipped, to avoid vertical separator rows just set the 'mid', 'left-mid', 'mid-mid', 'right-mid' to the empty string:
var table = new Table({ chars: {'mid': '', 'left-mid': '', 'mid-mid': '', 'right-mid': ''} });
table.push(
    ['foo', 'bar', 'baz'],
    ['frobnicate', 'bar', 'quuz']
);
console.log(table.toString());
// Outputs: (note the lack of the horizontal line between rows)
//┌────────────┬─────┬──────┐
//│ foo        │ bar │ baz  │
//│ frobnicate │ bar │ quuz │
//└────────────┴─────┴──────┘
By setting all chars to empty with the exception of 'middle' being set to a single space and by setting padding to zero, it's possible to get the most compact layout with no decorations:
var table = new Table({
  chars: {
    'top': '' , 'top-mid': '' , 'top-left': '' , 'top-right': '',
    'bottom': '' , 'bottom-mid': '' , 'bottom-left': '' , 'bottom-right': '',
    'left': '' , 'left-mid': '' , 'mid': '' , 'mid-mid': '',
    'right': '' , 'right-mid': '' , 'middle': ' '
  },
  style: { 'padding-left': 0, 'padding-right': 0 }
});
table.push(
    ['foo', 'bar', 'baz'],
    ['frobnicate', 'bar', 'quuz']
);
console.log(table.toString());
// Outputs:
//foo        bar baz
//frobnicate bar quuz