Cubitt Graph
Typescript Graph library for the Cubitt framework.
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):
- First set
sourceMaps
totrue
insrc/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.