File size: 2,470 Bytes
bc20498 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 |
# text-table
generate borderless text table strings suitable for printing to stdout
[](http://travis-ci.org/substack/text-table)
[](http://ci.testling.com/substack/text-table)
# example
## default align
``` js
var table = require('text-table');
var t = table([
[ 'master', '0123456789abcdef' ],
[ 'staging', 'fedcba9876543210' ]
]);
console.log(t);
```
```
master 0123456789abcdef
staging fedcba9876543210
```
## left-right align
``` js
var table = require('text-table');
var t = table([
[ 'beep', '1024' ],
[ 'boop', '33450' ],
[ 'foo', '1006' ],
[ 'bar', '45' ]
], { align: [ 'l', 'r' ] });
console.log(t);
```
```
beep 1024
boop 33450
foo 1006
bar 45
```
## dotted align
``` js
var table = require('text-table');
var t = table([
[ 'beep', '1024' ],
[ 'boop', '334.212' ],
[ 'foo', '1006' ],
[ 'bar', '45.6' ],
[ 'baz', '123.' ]
], { align: [ 'l', '.' ] });
console.log(t);
```
```
beep 1024
boop 334.212
foo 1006
bar 45.6
baz 123.
```
## centered
``` js
var table = require('text-table');
var t = table([
[ 'beep', '1024', 'xyz' ],
[ 'boop', '3388450', 'tuv' ],
[ 'foo', '10106', 'qrstuv' ],
[ 'bar', '45', 'lmno' ]
], { align: [ 'l', 'c', 'l' ] });
console.log(t);
```
```
beep 1024 xyz
boop 3388450 tuv
foo 10106 qrstuv
bar 45 lmno
```
# methods
``` js
var table = require('text-table')
```
## var s = table(rows, opts={})
Return a formatted table string `s` from an array of `rows` and some options
`opts`.
`rows` should be an array of arrays containing strings, numbers, or other
printable values.
options can be:
* `opts.hsep` - separator to use between columns, default `' '`
* `opts.align` - array of alignment types for each column, default `['l','l',...]`
* `opts.stringLength` - callback function to use when calculating the string length
alignment types are:
* `'l'` - left
* `'r'` - right
* `'c'` - center
* `'.'` - decimal
# install
With [npm](https://npmjs.org) do:
```
npm install text-table
```
# Use with ANSI-colors
Since the string length of ANSI color schemes does not equal the length
JavaScript sees internally it is necessary to pass the a custom string length
calculator during the main function call.
See the `test/ansi-colors.js` file for an example.
# license
MIT
|