@aureooms/js-graph-spec

    5.0.2 • Public • Published

    js-graph-spec

    Graph specification code bricks for JavaScript. Parent is js-gn.

    graphspec.Graph( "My graph implementation" , MyGraphConstructor ) ;

    NPM license NPM version Bower version Build Status Coverage Status Dependencies Status devDependencies Status Code Climate NPM downloads per month GitHub issues Inline docs

    Can be managed through jspm, duo, component, bower, ender, jam, spm, and npm.

    Install

    jspm

    jspm install github:aureooms/js-graph-spec
    # or
    jspm install npm:@aureooms/js-graph-spec

    duo

    No install step needed for duo!

    component

    component install aureooms/js-graph-spec

    bower

    bower install @aureooms/js-graph-spec

    ender

    ender add @aureooms/js-graph-spec

    jam

    jam install @aureooms/js-graph-spec

    spm

    spm install @aureooms/js-graph-spec --save

    npm

    npm install @aureooms/js-graph-spec --save

    Require

    jspm

    let graphspec = require( "github:aureooms/js-graph-spec" ) ;
    // or
    import graphspec from '@aureooms/js-graph-spec' ;

    duo

    let graphspec = require( "aureooms/js-graph-spec" ) ;

    component, ender, spm, npm

    let graphspec = require( "@aureooms/js-graph-spec" ) ;

    bower

    The script tag exposes the global variable graphspec.

    <script src="bower_components/@aureooms/js-graph-spec/js/dist/graph-spec.min.js"></script>

    Alternatively, you can use any tool mentioned here.

    jam

    require( [ "@aureooms/js-graph-spec" ] , function ( graphspec ) { ... } ) ;

    Signatures

    Graphs, DiGraphs, MultiGraphs, and MultiDiGraphs

    Graph, DiGraph, MultiGraph, or MultiDiGraph

    Create a new graph.

    let G = new Graph( ) ;
    // ...
    let G = new DiGraph( ) ;
    // ...
    let G = new MultiGraph( ) ;
    // ...
    let G = new MultiDiGraph( ) ;
    // ...

    vadd

    Add a vertex to graph G.

    let u = G.vadd( ) ;

    vdel

    Delete vertex u from graph G.

    G.vdel( u ) ;

    eadd

    Add edge (u,v) to graph G.

    let e = G.eadd( u , v ) ;

    edel

    Delete edge e from graph G.

    G.edel( e ) ;

    vitr

    Get an iterator over vertex references in graph G.

    for ( let u of G.vitr( ) ) ... ;

    eitr

    Get an iterator over edge references in graph G.

    for ( let e of g.eitr( ) ) ... ;

    iitr

    Get an iterator over edge references of edges incident to u in graph G.

    for ( let e of G.iitr( u ) ) ... ;

    nitr

    Get an iterator over vertex references of neighbors of u in graph G.

    for ( let v of G.nitr( u ) ) ... ;

    vertices

    Get an iterator over vertices in graph G.

    for ( let u of G.vertices( ) ) ... ;

    edges

    Get an iterator over edges in graph G.

    for ( let [ u , v , e ] of G.edges( ) ) ... ;

    incident

    Get an iterator over edges incident to w in graph G.

    for ( let [ u , v , e ] of G.incident( w ) ) ... ;

    endpoints

    Get endpoints u and v of an edge reference e in graph G.

    let [ u , v ] = G.endpoints( e ) ;

    DiGraphs and MultiDiGraphs

    These methods must also be implemented (with the same invariants) in Graphs and MultiGraphs for convenience.

    initr

    Get an iterator over edge references of ingoing edges of u in graph G.

    for ( let e of G.initr( u ) ) ... ;

    outitr

    Get an iterator over edge references of outgoing edges of u in graph G.

    for ( let e of G.outitr( u ) ) ... ;

    dpitr

    Get an iterator over direct predecessors of u in graph G.

    for ( let v of G.dpitr( u ) ) ... ;

    dsitr

    Get an iterator over direct successors of u in graph G.

    for ( let v of G.dsitr( u ) ) ... ;

    ingoing

    Get an iterator over ingoing edges of w in graph G. The invariant v === w must hold.

    for ( let [ u , v , e ] of G.ingoing( w ) ) ... ;

    outgoing

    Get an iterator over outgoing edges of w in graph G. The invariant u === w must hold.

    for ( let [ u , v , e ] of G.outgoing( w ) ) ... ;

    reverse

    Reverse the directions of edges in G.

    G.reverse( ) ;

    Install

    npm i @aureooms/js-graph-spec

    DownloadsWeekly Downloads

    2

    Version

    5.0.2

    License

    AGPL-3.0

    Last publish

    Collaborators

    • avatar