135 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # 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
 |