Options
All
  • Public
  • Public/Protected
  • All
Menu

cubitt-graph

Cubitt Graph

Typescript Graph library for the Cubitt framework.

npm version GitHub license Build Status Test Coverage

About

This package contains an in-memory graph with connectors. All Elements have support for dynamic properties. The graph has the following elements:

  • Model A subgraph inside the graph. All Nodes and Edges have to be linked to a Model.
  • Node A traditional Node.
  • Connector A Connector is an element that is connected to a Node, to which edges can be connected. A Node can have many connectors. A Connector can have many edges.
  • Edge An traditional directed edge that can be connected to connectors. It is not possible to connect an Edge directly to a Node.

It's main use case will be for the Cubitt framework, but the graph can be used standalone if it fits your datamodel.

Installation

$ npm install cubitt-graph

Features

  • Intergraph links
  • Hierarchical graphs
  • Connector support
  • Properties support on all Elements
  • Typescript
  • Unit tested

Usage

The Project class (implements GraphInterface) is the main entrypoint for consumers of this package. It is as simple as:

var graph = new Project();

All available methods on this class are described in the Code documentation.

Documentation

For developers

To generate documentation run:

$ npm install --only=dev
$ node_modules/.bin/typedoc --out doc/ --module commonjs --exclude test --readme README.md --target ES5 --mode file src/

To run the tests:

$ npm install --only=dev
$ cd node_modules/cubitt-graph
$ mocha

To debug the tests (uses node-debug, uses Chrome debugging tools):

  1. First set sourceMaps to true in src/tsdconfig.json (ensures that you can debug the Typescript code instead of the generated JavaScript)
    $ npm install --only=dev
    $ node-debug _mocha --no-timeouts
    

People

The original authors of Cubitt are Sander Klock and Thomas Ipskamp. The project is coordinated by Jan Martijn van der Werf.

License

MIT

Generated using TypeDoc