dazzling-graph-progressive
Graph manipulation with filtering for progressive rendering of 2D layers
Installation
$ npm install --save dazzling-graph-progressive
Introduction
dazzling-graph-progressive is a framework for building json file formats that rely on a basic graph state machine.
The state is managed through transitions which are simple text tags.
Each edge of the graph manipulates these transitions to reflect the desired state for the destination node. Loops are possible, but inbound flows are treated separately (not merged).
The validation of the graph check the validity of the fields used, but also verify the coherence of the user data.
This framework is intended to be used for the development of a rendering library by the author, and even if it can easily be customized, it may appear very opinionated for most users.
Usage
var dazzlingGraphProgressive = ; // This configuration is needed to validate your DSLconst config = validators: natives: metadata: graphDaoobject graphDao graphDao path: graphDaoobject graphDao graphDao graphDaoobject graphDao graphDao regexes: '[A-Za-z0-9]{2,10}' '[A-Za-z0-9]{2,10}' '[A-Za-z0-9]{2,10}' '[A-Za-z0-9]{2,10}' '[A-Za-z0-9]{2,10}' '[A-Za-z0-9]{2,10}' '[A-Za-z0-9]{2,10}' '[A-Za-z0-9]{2,10}' ; // An example of options passed for iterating the graph starting at p1const chunkOptions = optionstotal + optionsedgedata optionstotal >= limit start: 'p1' maxArraySize: 200 initial: 0; const validGraph = {}; //see test/fixtures/simple-graph.json const graphProg = ; // Validate that the given json data is correctconst validation = graphProg; // Iterate the graph and calculate all the transitionsconst actual = graphProg;
Development Workflow
- Add code to
src/index.js
and tests totest/index.js
. - Lint, build and test a project with
npm run build
. - Build and watch changes in
src/
withnpm run watch
- Run only tests with
npm run test
. - Check coverage with
npm run coverage
. - Generate a TOC for the
CHANGELOG
withnpm run toc
- Deploy to a remote origin with
npm run deploy
. - Bump version and publish a package with
npm run major
orminor/patch