You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							89 lines
						
					
					
						
							1.7 KiB
						
					
					
				
			
		
		
	
	
							89 lines
						
					
					
						
							1.7 KiB
						
					
					
				| # archy
 | |
| 
 | |
| Render nested hierarchies `npm ls` style with unicode pipes.
 | |
| 
 | |
| [](http://ci.testling.com/substack/node-archy)
 | |
| 
 | |
| [](http://travis-ci.org/substack/node-archy)
 | |
| 
 | |
| # example
 | |
| 
 | |
| ``` js
 | |
| var archy = require('archy');
 | |
| var s = archy({
 | |
|   label : 'beep',
 | |
|   nodes : [
 | |
|     'ity',
 | |
|     {
 | |
|       label : 'boop',
 | |
|       nodes : [
 | |
|         {
 | |
|           label : 'o_O',
 | |
|           nodes : [
 | |
|             {
 | |
|               label : 'oh',
 | |
|               nodes : [ 'hello', 'puny' ]
 | |
|             },
 | |
|             'human'
 | |
|           ]
 | |
|         },
 | |
|         'party\ntime!'
 | |
|       ]
 | |
|     }
 | |
|   ]
 | |
| });
 | |
| console.log(s);
 | |
| ```
 | |
| 
 | |
| output
 | |
| 
 | |
| ```
 | |
| beep
 | |
| ├── ity
 | |
| └─┬ boop
 | |
|   ├─┬ o_O
 | |
|   │ ├─┬ oh
 | |
|   │ │ ├── hello
 | |
|   │ │ └── puny
 | |
|   │ └── human
 | |
|   └── party
 | |
|       time!
 | |
| ```
 | |
| 
 | |
| # methods
 | |
| 
 | |
| var archy = require('archy')
 | |
| 
 | |
| ## archy(obj, prefix='', opts={})
 | |
| 
 | |
| Return a string representation of `obj` with unicode pipe characters like how
 | |
| `npm ls` looks.
 | |
| 
 | |
| `obj` should be a tree of nested objects with `'label'` and `'nodes'` fields.
 | |
| `'label'` is a string of text to display at a node level and `'nodes'` is an
 | |
| array of the descendents of the current node.
 | |
| 
 | |
| If a node is a string, that string will be used as the `'label'` and an empty
 | |
| array of `'nodes'` will be used.
 | |
| 
 | |
| `prefix` gets prepended to all the lines and is used by the algorithm to
 | |
| recursively update.
 | |
| 
 | |
| If `'label'` has newlines they will be indented at the present indentation level
 | |
| with the current prefix.
 | |
| 
 | |
| To disable unicode results in favor of all-ansi output set `opts.unicode` to
 | |
| `false`.
 | |
| 
 | |
| # install
 | |
| 
 | |
| With [npm](http://npmjs.org) do:
 | |
| 
 | |
| ```
 | |
| npm install archy
 | |
| ```
 | |
| 
 | |
| # license
 | |
| 
 | |
| MIT
 |