A library to display JavaScript objects as colorized, tree-like structures in the console using ANSI colors. It's especially helpful for debugging complex objects and data structures.
npm install jsm-treeify
Import the jsmTreeify
function and call it with the object you want to visualize:
import jsmTreeify from 'jsm-treeify';
const myObject = {
name: 'John Doe',
age: 30,
isAdmin: false,
address: {
street: '123 Main St',
city: 'Anytown',
zip: '12345',
},
hobbies: ['reading', 'hiking', 'coding'],
active: true,
lastLogin: new Date('2023-08-17T12:34:56.789Z'),
emptyObject: {},
emptyArray: [],
deeplyNested: {
level1: {
level2: {
level3: {
value: 'Finally!'
}
}
}
}
};
console.log(jsmTreeify(myObject));
The output will be a colorized tree representation of the object, printed to the console. The colors used are:
- Cyan: Strings
- Yellow: Numbers
-
Green: Boolean
true
-
Red: Boolean
false
- Blue: Dates (ISO format)
-
Gray:
null
, empty arrays(empty array)
, empty objects(empty object)
, tree connectors, and other elements
└─ name: 'John Doe'
└─ age: 30
└─ isAdmin: false
└─ address:
│ └─ street: '123 Main St'
│ └─ city: 'Anytown'
│ └─ zip: '12345'
└─ hobbies:
│ └─ 'reading'
│ └─ 'hiking'
│ └─ 'coding'
└─ active: true
└─ lastLogin: 2023-08-17T12:34:56.789Z
└─ emptyObject: (empty object)
└─ emptyArray: (empty array)
└─ deeplyNested:
└─ level1:
└─ level2:
└─ level3:
└─ value: 'Finally!'
Transforms a JavaScript object into a colored, tree-like string representation suitable for console output.
-
obj
: The JavaScript object you want to visualize as a tree. It can be any valid JavaScript object, including nested objects, arrays, primitives, dates,null
, andundefined
.
A formatted string that represents the object as a tree, including ANSI color codes for visual enhancement in supported terminals.
Contributions are welcome! If you find a bug or want to add a feature, please follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature/my-new-feature
- Make your changes and commit them:
git commit -am 'Add some feature'
- Push to the branch:
git push origin feature/my-new-feature
- Submit a pull request.
Please ensure your code adheres to the existing code style and includes appropriate tests.
MIT