Neverending Programming Mistakes
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    micro-graphpublic

    Graph

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

    Build Status

    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

    1.1 Browser

    Reference the raw Github version of release.min.js in your code.

    Graph is compatible with requireJS and can be used by wrapping your code in the following block:

    require(['graph'], function (graph) {
        // Your code.
    });

    1.2 Node

    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.

    1.3 Versioning

    This project is maintained under the semantic versioning guidlines. This means that releases will have the following format <major>.<minor>.<patch>.

    • Breaking backward compatibility bumps the major (and resets the minor and patch).
    • New additions without breaking backward compatibility bumps the minor (and resets the patch).
    • Bug fixes and misc changes bumps the patch.

    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.

    Keywords

    none

    install

    npm i micro-graph

    Downloadslast 7 days

    7

    version

    1.0.3

    license

    none

    repository

    github.com

    last publish

    collaborators

    • avatar