micro-graph

A micro-library that provides "jQuery-like" functionality for graph structures in JavaScript.

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

Returns the array of nodes in the graph.

graph(nodes, options).nodes();

Arguments
None.

Returns
{Array} nodes: An array of nodes.