You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			135 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
		
		
			
		
	
	
			135 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
| 
											6 years ago
										 | # 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 |