objtree
is a script that generates a text tree representation of an object. The script can be executed in a browser console or imported as an npm
module.
How to Use
var target = {};
var result = objtree(target, {
maxlevel: 10,
grandparent: "",
indentstr: " ",
exclude: []
});
result.asObj();
result.asText();
result.downloadText(filename);
Example
var target = {
testBool: true,
testInt: 15,
testFloat: -3.6,
testString: "text",
testFunction: function(a, b, c){},
testArray1: [ 1, 2, true, "abc" ],
testArray2: [
{ hi: "there" },
[ 0, 1, [false] ]
],
testObject: {
abc: [ 1, 2 ]
}
};
target.testObject["testSpecial-Name!"] = null;
function MyClass(){}
MyClass.CONSTANT = true;
MyClass.data = 10;
MyClass.prototype.a = function(){};
MyClass.prototype.b = function(){};
target["testClass"] = MyClass;
Calling objtree(target).asText()
with no additional settings yields (ordered by type and then name):
OBJECT TREE
===========
|-- testArray2
|-- testArray2['0']
|-- [var] testArray2['0'].hi > there
|-- testArray2['1']
|-- [arr] testArray2['1']['2'] > [ false ]
|-- [var] testArray2['1']['0'] > 0
|-- [var] testArray2['1']['1'] > 1
|-- testObject
|-- [arr] testObject.abc > [ 1, 2 ]
|-- [var] testObject['testSpecial-Name!'] > (null)
|-- [fun] testClass()
|-- testClass.prototype
|-- [fun] testClass.prototype.a()
|-- [fun] testClass.prototype.b()
|-- [var] testClass.CONSTANT > true
|-- [var] testClass.data > 10
|-- [fun] testFunction(a, b, c)
|-- [arr] testArray1 > [ 1, 2, true, abc ]
|-- [var] testBool > true
|-- [var] testFloat > -3.6
|-- [var] testInt > 15
|-- [var] testString > text