| # archy |
| |
| Render nested hierarchies `npm ls` style with unicode pipes. |
| |
| [![browser support](http://ci.testling.com/substack/node-archy.png)](http://ci.testling.com/substack/node-archy) |
| |
| [![build status](https://secure.travis-ci.org/substack/node-archy.png)](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 |