2023-10-03 11:14:36 +08:00
|
|
|
# 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
|