MermaidJS parser
npm install @mermaid-js/parser
Mermaid parser package

The package exports a parse function that has two parameters:
``ts`
declare function parse
diagramType: keyof typeof initializers,
text: string
): T;
`mermaid
sequenceDiagram
actor Package
participant Module
participant TokenBuilder
participant Lexer
participant Parser
participant ValueConverter
Package ->> Module: Create services
Module ->> TokenBuilder: Override or/and
reorder rules
TokenBuilder ->> Lexer: Read the string and transform
it into a token stream
Lexer ->> Parser: Parse token
stream into AST
Parser ->> ValueConverter: Clean/modify tokenized
rules returned value
ValueConverter -->> Package: Return AST
`
- When to override TokenBuilder?
- To override keyword rules.
- To override terminal rules that need a custom function.
- To manually reorder the list of rules.
- When to override Lexer?
- To modify input before tokenizing.
- To insert/modify tokens that cannot or have not been parsed.
- When to override LangiumParser?
- To insert or modify attributes that can't be parsed.
- When to override ValueConverter`?
- To modify the returned value from the parser.