micro-graph
v1.0.3
Published
A micro-library that provides "jQuery-like" functionality for graph structures in JavaScript.
Downloads
6
Readme
Graph
A micro-library that provides "jQuery-like" functionality for graph structures in JavaScript.
License
This work is licensed under a MIT License.
Contributing
Please make contributions by forking the project and creating a pull-request. Other contributions include maintaining the Wiki and issues.
Documentation
1 Installation
Reference the raw Github version of release.min.js in your code.
Graph is also available as a node package called "micro-graph". You can install it to your local repository using npm install micro-graph --save-dev
and you can use the library with node by using var graph = require("micro-graph").graph;
in your JavaScript file.
2 Getting Started
To create a new graph, use the global "graph" function.
graph(nodes[, options]);
Arguments
- {Array} nodes: An array of nodes.
- {Object} options: A object containing options that change the configuration of the graph.
- {String} parentsKey: Sets the key to be used for finding parents.
- {String} childrenKey: Sets the key to be used for finding children.
Returns
{Object} graph: A structure that can be manipulated like a graph.
3 Methods
3.1 Children
Finds the descendants of the nodes in the graph.
graph(nodes, options).children([fn, generations]);
Arguments
- {Function} fn: A function that returns true for nodes that should be returned.
- {Number} generations: The number of generations to search through (search depth).
Returns
{Object} graph: A structure that can be manipulated like a graph.
3.2 Parents
Finds the ancestors of the nodes in the graph.
graph(nodes, options).parents([fn, generations]);
Arguments
- {Function} fn: A function that returns true for nodes that should be returned.
- {Number} generations: The number of generations to search through (search depth).
Returns
{Object} graph: A structure that can be manipulated like a graph.
3.3 addChildren
Adds children to the nodes in the graph.
graph(nodes, options).addChildren(children);
Arguments
- {Array} children: An array of nodes to be added as children.
Returns
{Object} graph: A structure that can be manipulated like a graph.
3.4 addParents
Adds parents to the nodes in the graph.
graph(nodes, options).addParents(parents);
Arguments
- {Array} parents: An array of nodes to be added as parents.
Returns
{Object} graph: A structure that can be manipulated like a graph.
3.5 removeChildren
Removes children from the nodes in the graph.
graph(nodes, options).removeChildren([children]);
Arguments
- {Array} children: An array of nodes to be removed as children.
Returns
{Object} graph: A structure that can be manipulated like a graph.
3.6 removeParents
Removes parents from the nodes in the graph.
graph(nodes, options).removeChildren([parents]);
Arguments
- {Array} parents: An array of nodes to be removed as parents.
Returns
{Object} graph: A structure that can be manipulated like a graph.
3.7 filter
Filters out nodes in graph.
graph(nodes, options).filter([fn]);
Arguments
- {Function} fn: A function that returns true for nodes that should be returned.
Returns
{Object} graph: A structure that can be manipulated like a graph.
3.8 nodes
Returns the array of nodes in the graph.
graph(nodes, options).nodes();
Arguments
None.
Returns
{Array} nodes: An array of nodes.