Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

grapha

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

grapha

grapha.js - A javascript es6 graph library

  • 0.1.5
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Grapha.js

A tiny ES6 Graph library

Installing

You can install this library by either importing the library locally or using npm.

To install it locally include the minified ES5 file lib/grapha.min.js or the ES6 file lib/grapha.js.

To install it using npm, run the following command:

npm install grapha

To use it in your code:

var Graph = require('grapha'); // ES5
import {Graph} from 'grapha'; // ES6 

Examples

API

  • Creating a Graph instance
  • Adding and Removing Nodes
  • Adding and Removing Edges
  • Serialization
  • Search

Creating a Graph instance

# Graph([config])

Returns a new instance of a Graph. If no configuration object is provided, the graph will be directed and the Edges will be unweighted.

const config = {
    'isWeighted': false,
    'isDirected': true
}
let graph = new Graph(config);

Adding and Removing Nodes

# graph.addNode(node)

Adds a node to the graph. Does nothing if the node is already in the graph.

# graph.removeNode(node)

Removes a node from the graph. All edges referencing the node will be removed. Does nothing if the node is not in the graph.

Adding and Removing Edges

# graph.addEdge(u, v ,[weight])

Adds an edge from node u to v with an optional weight to the graph. If either u or v are not in the graph, an Error will be thrown. If the graph is undirected the edge will be between nodes u and v.

# graph.removeNode(edge)

If an edge from u to v exist, it will be removed from the graph. If the graph is undirected the edge between u and v will be removed.

Serialization

# Graph.serialize(json)

A static function returning the graph specified by the json object.

const json = {
    "nodes": [
        {"id": "1"},
        {"id": "2"},
        {"id": "3"}
    ],
    "links": [
        {"source": "1", "target": "2"}
        {"source": "3", "target": "1"}
    ]
};
let graph = Graph.serialize(json);

# graph.deserialize()

Returns a json object representing the graph with its nodes and its edges.

# graph.DFS(node)

Returns all reachable nodes from node in the order of depth first search with its respective discovery node.

License

MIT: Copyright 2017 Florian Marienwald

Keywords

FAQs

Package last updated on 24 Aug 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc