mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-12-24 13:24:05 -06:00
78 lines
2.5 KiB
Markdown
78 lines
2.5 KiB
Markdown
treeify  
|
|
=======
|
|
|
|
[](https://travis-ci.org/notatestuser/treeify)
|
|
|
|
_treeify_ converts a JS object into a nice, visible depth-indented tree for console printing. The structure
|
|
generated is similar to what you get by running the ```tree``` command on Unixy platforms.
|
|
|
|
```
|
|
{
|
|
oranges: {
|
|
'mandarin': { ├─ oranges
|
|
clementine: null, │ └─ mandarin
|
|
tangerine: 'so cheap and juicy!' -=> │ ├─ clementine
|
|
} │ └─ tangerine: so cheap and juicy!
|
|
}, └─ apples
|
|
apples: { ├─ gala
|
|
'gala': null, └─ pink lady
|
|
'pink lady': null
|
|
}
|
|
}
|
|
```
|
|
|
|
It also works well with larger nested hierarchies such as file system directory trees.
|
|
In fact, the ```fs_tree``` example does a pretty good job of imitating ```tree```. Try it out!
|
|
|
|
See the other included examples or the test suite for usage scenarios.
|
|
|
|
Getting it
|
|
----------
|
|
|
|
### For use with node.js
|
|
|
|
First you'll want to run this command in your project's root folder:
|
|
```
|
|
$ npm install treeify
|
|
```
|
|
|
|
Then proceed to use it in your project:
|
|
```js
|
|
var treeify = require('treeify');
|
|
console.log(
|
|
treeify.asTree({
|
|
apples: 'gala', // ├─ apples: gala
|
|
oranges: 'mandarin' // └─ oranges: mandarin
|
|
}, true)
|
|
);
|
|
```
|
|
|
|
### For use in a browser
|
|
|
|
Treeify cooperates with Node, AMD or browser globals to create a module. This means it'll work
|
|
in a browser regardless of whether you have an AMD-compliant module loader or not. If such
|
|
a loader isn't found when the script is executed, you may access Treeify at ```window.treeify```.
|
|
|
|
Usage
|
|
-----
|
|
|
|
The methods exposed to you are as follows, in a strange kind of signature notation:
|
|
|
|
### asLines()
|
|
```js
|
|
treeify.asLines(obj, showValues (boolean), [hideFunctions (boolean),] lineCallback (function))
|
|
// NOTE: hideFunctions is optional and may be safely omitted - this was done to ensure we don't break uses of the previous form
|
|
```
|
|
### asTree()
|
|
```js
|
|
treeify.asTree(obj, showValues (boolean), hideFunctions (boolean)): String
|
|
```
|
|
|
|
Running the tests
|
|
-----------------
|
|
|
|
There's a pretty extensive suite of Vows tests included.
|
|
```
|
|
$ npm test
|
|
```
|