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.
88 lines
1.7 KiB
88 lines
1.7 KiB
# 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
|
|
|