notatestuser/treeify

Pretty-print a javascript object as a tree

262

stars

51

commits

JavaScript

primary language

Oct 7, 2024

updated

console
javascript
pretty-print
terminal
tree
treeify
Browse cluster: Terminal and CLI color libraries

README

treeify

Build Status

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:

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()

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()

treeify.asTree(obj, showValues (boolean), [hideFunctions (boolean)]): String

Running the tests

There's a pretty extensive suite of Vows tests included.

$ npm test

Contributors

notatestuser

46 commits

darvin

3 commits

justusjonas74

1 commits

mike-north

1 commits

notatestuser/treeify

Pretty-print a javascript object as a tree

262

stars

51

commits

JavaScript

primary language

Oct 7, 2024

updated

console
javascript
pretty-print
terminal
tree
treeify
Browse cluster: Terminal and CLI color libraries

README

treeify

Build Status

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:

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()

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()

treeify.asTree(obj, showValues (boolean), [hideFunctions (boolean)]): String

Running the tests

There's a pretty extensive suite of Vows tests included.

$ npm test

Contributors

notatestuser

46 commits

darvin

3 commits

justusjonas74

1 commits

mike-north

1 commits

Languages

JavaScript

100.0%