Beta
This package contains the module for processing the DOT language at the Abstract Syntax Tree (AST) level for the ts-graphviz library.
🔗
It is part of the ts-graphviz library, which is split into modular packages to improve maintainability, flexibility, and ease of use.
This package is a foundational component of the ts-graphviz library that enables low-level manipulation of DOT language structures. It provides a parser that converts DOT language strings into AST nodes and a stringifier that converts AST nodes back to DOT language.
The AST package provides several key functions:
parse(input: string, options?)
: Parses a DOT language string into an AST structurestringify(ast: ASTNode)
: Converts an AST structure to a DOT language stringfromModel(model)
: Converts a Graph Model to an AST structuretoModel(ast)
: Converts an AST structure to a Graph Modelimport { parse } from "@ts-graphviz/ast";
const dotString = "digraph G { A -> B; }";
const ast = parse(dotString);
console.log(ast);
// Output: A DotASTNode representing the DOT structure
import { parse, stringify } from "@ts-graphviz/ast";
const dotString = "digraph G { A -> B; }";
const ast = parse(dotString);
// Modify the AST if needed
const outputDotString = stringify(ast);
console.log(outputDotString);
// Output: "digraph G { A -> B; }"
The package provides a specialized error class for handling syntax errors during parsing.
When a parsing error occurs, the parser throws a DotSyntaxError
with detailed information about the issue, which helps in debugging DOT language syntax problems.
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
See CHANGELOG.md for more details.
This software is released under the MIT License, see LICENSE.