mgraph.generators v1.0.0
mgraph.generators
Graph generators library for Node.js and browsers – a modern refactoring of the original ngraph.generators.
Install
Install via npm:
npm install mgraph.generators
If you prefer a CDN, include:
html Copy
When using the CDN, the library is available under the global name generators.
Supported Graphs ladder: Creates a ladder graph with a given number of steps.
import generators from 'mgraph.generators'; const graph = generators.ladder(10); complete: Creates a complete graph (each node connected to every other node).
const graph = generators.complete(6); completeBipartite: Creates a complete bipartite graph.
const graph = generators.completeBipartite(3, 3); balancedBinTree: Generates a balanced binary tree with the specified number of levels.
const graph = generators.balancedBinTree(5); path: Generates a simple path graph.
const graph = generators.path(10); circularLadder: Generates a circular ladder graph.
const graph = generators.circularLadder(5); grid: Generates a 2D grid graph.
const graph = generators.grid(10, 10); grid3: Generates a 3D grid graph.
const graph = generators.grid3(5, 5, 5); noLinks: Creates a graph with a given number of nodes and no links.
const graph = generators.noLinks(100); cliqueCircle: Creates a circular graph composed of cliques.
const graph = generators.cliqueCircle(10, 5); wattsStrogatz: Generates a "small world" graph using the Watts-Strogatz model.
const graph = generators.wattsStrogatz(100, 20, 0.01); miserables: Loads the classic "Les Misérables" graph.
const graph = generators.miserables(); Custom Graph Factory By default, mgraph.generators uses mgraph.graph to create graphs. To use your own graph implementation:
import { factory } from 'mgraph.generators';
const customGenerators = factory(function createGraph() { return { addLink(from, to) { // your custom link logic }, addNode(node) { // your custom node logic }, getNodesCount() { // return current node count }, getLinks(node) { // return links for a node } }; });
const graph = customGenerators.ladder(3); Why? We refactored the original ngraph.generators into mgraph.generators to provide a modern, lightweight ES solution for generating a variety of graphs in both Node.js and browser environments.
Build To build the browser bundle, run:
npm run build Test To run tests:
npm test
License "BSD-3-Clause"
4 months ago