| 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 |
| ``` |