SPeCS Packages Documentation
    Preparing search index...

    Module @specs-feup/flow - v1.0.5

    flow

    The primary purpose of this library is control-flow, data-flow, static-call, and other graphs for lara. As it does not actually depend on lara, it can also be used simply as a cytoscape abstraction for other graph purposes with increased type safety and structure.

    • For beginners, the tutorial slides can be a good starting point, as it introduces the main capabilities and concepts of the library, with simple and intuitive examples of how to use it.
    • For a more thorough description, check out the documentation page.

    To start development on an unpublished version, create a new folder with the following package.json:

    {
    "name": "my-workspace",
    "type": "module",
    "workspaces": [
    "flow"
    ]
    }

    Then, inside the folder, run the following commands:

    git clone https://github.com/specs-feup/flow
    npm i
    npm run -w flow build
    npm i

    Now flow is installed in this workspace and can be imported as a module. You can add your own package(s) to the workspaces array to develop them alongside flow. Make sure that these packages have flow as a dependency in their package.json.

    Modules

    error/LaraFlowError
    flow
    flow/CallEdge
    flow/ControlFlowEdge
    flow/ControlFlowEndNode
    flow/ControlFlowNode
    flow/dot/FlowDotFormatter
    flow/FlowGraph
    flow/FunctionNode
    graph
    graph/BaseEdge
    graph/BaseGraph
    graph/BaseNode
    graph/dot/DefaultDotFormatter
    graph/dot/dot
    graph/dot/DotFormatter
    graph/Edge
    graph/EdgeCollection
    graph/Graph
    graph/id/IncrementingIdGenerator
    graph/Node
    graph/NodeCollection
    graph/search/BreadthFirstSearch
    graph/search/DepthFirstSearch
    graph/search/DijkstraSearch