1.0.0 • Published 4 months ago

mgraph.generators v1.0.0

Weekly downloads
-
License
BSD-3-Clause
Repository
github
Last release
4 months ago

mgraph.generators

Graph generators library for Node.js and browsers – a modern refactoring of the original ngraph.generators.

build status

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"