Socket
Socket
Sign inDemoInstall

treeify

Package Overview
Dependencies
0
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

treeify

converts a JS object into a nice and readable tree structure for the console


Version published
Maintainers
1
Weekly downloads
1,264,264
increased by0.84%
Install size
22.6 kB

Weekly downloads

Package description

What is treeify?

The treeify npm package is used to convert a flat, nested object into a visual tree structure. This can be useful for displaying hierarchical data in a more readable format, such as in command-line tools or debugging outputs.

What are treeify's main functionalities?

Convert object to tree

This feature allows you to convert a nested object into a string that visually represents a tree structure. The 'asTree' method takes the object and a boolean indicating whether to show empty values.

const treeify = require('treeify');
let tree = treeify.asTree({hello: 'world', foo: {bar: 'baz'}}, true);
console.log(tree);

Custom sorting of tree branches

This feature allows you to provide a custom sorting function for the keys of your object, which will affect the order in which branches are displayed in the tree.

const treeify = require('treeify');
let tree = treeify.asTree({foo: {bar: 'baz'}, hello: 'world'}, true, (a, b) => a.localeCompare(b));
console.log(tree);

Other packages similar to treeify

Readme

Source

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

Keywords

FAQs

Last updated on 16 Feb 2018

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc