Data oriented tree structure that unleashes the power of callbacks to create, search and traverse the tree.
npm install data-tree    
![]()
$ npm install data-treerequire('data-tree') OR use browserified build available at dataTree.min.js in directly.dataTree is global variable that can be used to create a tree in following way.``javascript`
var tree = dataTree.create();
`javascript
// Insert single value
tree.insert(183);
// Insert array of values
// NOTE: This does not create 3 different nodes. It considers an array as a whole data and puts in a single node.
tree.insert([34, 565, 78]);
// Insert Objects
tree.insert({
key: '#berries',
value: { name: 'Apple', color: 'Red'}
});
`
`javascript
// Insert data
tree.insert({
key: '#apple',
value: { name: 'Apple', color: 'Red'}
});
// New Data
var greenApple = {
key: '#greenapple',
value: { name: 'Green Apple', color: 'Green' }
};
// Insert data to node which has key = #apple`
tree.insertTo(function(data){
return data.key === '#apple'
}, greenApple);
`javascript
// Insert data
var node = tree.insert({
key: '#apple',
value: { name: 'Apple', color: 'Red'}
});
// New Data
var greenApple = {
key: '#greenapple',
value: { name: 'Green Apple', color: 'Green' }
};
// Insert data to node
// This will create a new node with given data and append to parent node provided
tree.insertToNode(node, greenApple);
`
`javascript
// Insert Node
var node = tree.insert({
key: '#apple',
value: { name: 'Apple', color: 'Red'}
});
// Remove it
tree.remove(node);
`
`javascript`
var node = tree.traverser().searchBFS(function(data){
return data.key === '#apple';
});
`javascript`
var node = tree.traverser().searchDFS(function(data){
return data.key === '#apple';
});
`javascript`
tree.traverser().traverseBFS(function(node){
console.log(node.data());
});
#### Traverse DFS
`javascript`
tree.traverser().traverseDFS(function(node){
console.log(node.data());
});
#### Find common parent
`javascript`
var commonParent = tree.findCommonParent(fromNode, toNode);cdDevelopers
1. Clone this repositoy and into itnpm install
2. npm run build
3. to build browserify files OR npm run dev-server` to start a development server.