GraphToMermaid
Export your graph to Mermaid flowchart syntax.
Import
import { GraphToMermaid } from 'grafio';
fromGraph()
static async fromGraph(graph: Graph, options?: MermaidOptions): Promise<GraphToMermaid>
Create a GraphToMermaid instance from a Graph.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
graph | Graph | ✅ | Source graph |
options | MermaidOptions | ❌ | Mermaid options |
Constructor
constructor(data: string | GraphData)
Create from JSON (synchronous).
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
data | string | GraphData | ✅ | JSON string or GraphData object |
toString()
toString(): string
Returns the Mermaid flowchart definition.
Options
interface MermaidOptions {
showProperties?: boolean; // default: false
includeEdgeLabels?: boolean; // default: true
direction?: 'TD' | 'LR'; // default: 'TD'
}
Examples
Basic Usage
import { InMemoryGraphFactory, GraphToMermaid } from 'grafio';
const factory = new InMemoryGraphFactory();
const graph = factory.forGraph('default');
const alice = await graph.addNode('Person', { name: 'Alice' });
const bob = await graph.addNode('Person', { name: 'Bob' });
await graph.addEdge(alice.id, bob.id, 'KNOWS');
const mermaid = await GraphToMermaid.fromGraph(graph);
console.log(mermaid.toString());
Output:
With Properties
const mermaid = await GraphToMermaid.fromGraph(graph, {
showProperties: true
});
/*
flowchart TD
abc123["Person | name: Alice"]
def456["Person | name: Bob"]
abc123 -->|"KNOWS"| def456
*/
Left-Right Direction
const mermaid = await GraphToMermaid.fromGraph(graph, {
direction: 'LR'
});
/*
flowchart LR
...
*/
From JSON
const json = await graph.exportJSON();
const mermaid = new GraphToMermaid(JSON.stringify(json));
// or
const mermaid2 = new GraphToMermaid(json);
Rendering
Copy the output to:
- Mermaid Live Editor
- Docusaurus markdown blocks
- VS Code Mermaid preview
Next Steps
- Visualization — visualization guide
- Serialization — JSON export/import