moonrockz/diagrams-mermaid

Types

DiagramPrintResult

pub struct DiagramPrintResult {
  output : String?
  diagnostics : ReadOnlyArray[@moonrockz/diagrams.Diagnostic]
} derive(Eq, @moonbitlang/core/debug.Debug)

Source

DiagramPrintResult::equal

fn DiagramPrintResult::equal(DiagramPrintResult, DiagramPrintResult) -> Bool

Source

DiagramPrintResult::not_equal

fn DiagramPrintResult::not_equal(x : DiagramPrintResult, y : DiagramPrintResult) -> Bool

Source

DiagramPrintResult::to_repr

fn DiagramPrintResult::to_repr(DiagramPrintResult) -> @moonbitlang/core/debug.Repr

Source

DiagramReadResult

pub struct DiagramReadResult {
  tree : DiagramTree
  ast : ParsedDiagram?
  diagnostics : ReadOnlyArray[@moonrockz/diagrams.Diagnostic]
} derive(Eq, @moonbitlang/core/debug.Debug)

Source

DiagramReadResult::equal

fn DiagramReadResult::equal(DiagramReadResult, DiagramReadResult) -> Bool

Source

DiagramReadResult::not_equal

fn DiagramReadResult::not_equal(x : DiagramReadResult, y : DiagramReadResult) -> Bool

Source

DiagramReadResult::to_repr

fn DiagramReadResult::to_repr(DiagramReadResult) -> @moonbitlang/core/debug.Repr

Source

DiagramTree

pub(all) enum DiagramTree {
  State(@moonrockz/diagrams-mermaid/state-cst.Node)
  Flowchart(@moonrockz/diagrams-mermaid/swimlane-cst.Node)
  Sequence(@moonrockz/diagrams-mermaid/cst.Node)
  Swimlane(@moonrockz/diagrams-mermaid/swimlane-cst.Node)
  Zenuml(@moonrockz/diagrams-mermaid/zenuml-cst.Node)
  Architecture(@moonrockz/diagrams-mermaid/architecture-cst.Node)
  Unsupported(String)
} derive(Eq, @moonbitlang/core/debug.Debug)

Source

DiagramTree::equal

fn DiagramTree::equal(DiagramTree, DiagramTree) -> Bool

Source

DiagramTree::not_equal

fn DiagramTree::not_equal(x : DiagramTree, y : DiagramTree) -> Bool

Source

DiagramTree::text

fn DiagramTree::text(self : DiagramTree) -> String

Source

DiagramTree::to_repr

fn DiagramTree::to_repr(DiagramTree) -> @moonbitlang/core/debug.Repr

Source

ParsedDiagram

pub(all) enum ParsedDiagram {
  State(@moonrockz/diagrams-mermaid/state-ast.Diagram)
  Flowchart(@moonrockz/diagrams-mermaid/flowchart-ast.Diagram)
  Sequence(@moonrockz/diagrams-mermaid/ast.Diagram)
  Swimlane(@moonrockz/diagrams-mermaid/swimlane-ast.Diagram)
  Zenuml(@moonrockz/diagrams-mermaid/zenuml-ast.Diagram)
  Architecture(@moonrockz/diagrams-mermaid/architecture-ast.Diagram)
} derive(Eq, @moonbitlang/core/debug.Debug)

Multi-kind entry points preserve the sequence-only API.

Source

ParsedDiagram::equal

fn ParsedDiagram::equal(ParsedDiagram, ParsedDiagram) -> Bool

Source

ParsedDiagram::not_equal

fn ParsedDiagram::not_equal(x : ParsedDiagram, y : ParsedDiagram) -> Bool

Source

ParsedDiagram::to_repr

fn ParsedDiagram::to_repr(ParsedDiagram) -> @moonbitlang/core/debug.Repr

Source

ReadResult

pub struct ReadResult {
  tree : @moonrockz/diagrams-mermaid/cst.Node
  ast : @moonrockz/diagrams-mermaid/ast.Diagram?
  diagnostics : ReadOnlyArray[@moonrockz/diagrams.Diagnostic]
}

The result of reading a Mermaid source: the lossless syntax tree, the typed AST when the source has the sequenceDiagram header, and all diagnostics.

Source

Values

architecture_conversion_diagnostic_codes

let architecture_conversion_diagnostic_codes : ReadOnlyArray[String]

Source

architecture_diagnostic_codes

let architecture_diagnostic_codes : ReadOnlyArray[String]

Source

conversion_diagnostic_codes

let conversion_diagnostic_codes : ReadOnlyArray[String]

Every diagnostic code that conversion can give. Reading uses diagnostic_codes; link resolution uses sequence/unresolved-link.

Source

diagnostic_codes

let diagnostic_codes : ReadOnlyArray[String]

Every diagnostic code that reading can give.

Source

flowchart_conversion_diagnostic_codes

let flowchart_conversion_diagnostic_codes : ReadOnlyArray[String]

Source

flowchart_diagnostic_codes

let flowchart_diagnostic_codes : ReadOnlyArray[String]

Source

print

fn print(diagram : @moonrockz/diagrams-mermaid/ast.Diagram) -> String

Canonical Mermaid text of diagram.

Source

fn print_diagram(diagram : ParsedDiagram, limits? : @moonrockz/diagrams-mermaid/swimlane-syntax.Limits, zenuml_limits? : @moonrockz/diagrams-mermaid/zenuml-syntax.Limits, architecture_limits? : @moonrockz/diagrams-mermaid/architecture-syntax.Limits, state_limits? : @moonrockz/diagrams-mermaid/state-syntax.Limits) -> DiagramPrintResult

Source

read

fn read(source : String) -> ReadResult

Read a Mermaid sequence diagram. The text of tree is always equal to source.

Source

read_diagram

fn read_diagram(source : String, limits? : @moonrockz/diagrams-mermaid/swimlane-syntax.Limits, zenuml_limits? : @moonrockz/diagrams-mermaid/zenuml-syntax.Limits, architecture_limits? : @moonrockz/diagrams-mermaid/architecture-syntax.Limits, state_limits? : @moonrockz/diagrams-mermaid/state-syntax.Limits) -> DiagramReadResult

Source

render_svg

fn render_svg(source : String, renderer? : @moonrockz/diagrams-svg.SvgRenderer) -> @moonrockz/diagrams/render.Rendered

Read source and render it with archify's classic theme as adaptive SVG. The result has the diagnostics of reading, converting and rendering. A source without a diagram gives no output.

Source

state_conversion_diagnostic_codes

let state_conversion_diagnostic_codes : ReadOnlyArray[String]

Source

state_diagnostic_codes

let state_diagnostic_codes : ReadOnlyArray[String]

Source

swimlane_conversion_diagnostic_codes

let swimlane_conversion_diagnostic_codes : ReadOnlyArray[String]

Source

swimlane_diagnostic_codes

let swimlane_diagnostic_codes : ReadOnlyArray[String]

Existing sequence-only inventories retain their original meaning.

Source

to_architecture

fn to_architecture(diagram : @moonrockz/diagrams-mermaid/architecture-ast.Diagram, limits? : @moonrockz/diagrams-mermaid/architecture-syntax.Limits, id? : String) -> @moonrockz/diagrams-mermaid/architecture.Conversion

Source

to_flowchart

fn to_flowchart(diagram : @moonrockz/diagrams-mermaid/flowchart-ast.Diagram, limits? : @moonrockz/diagrams-mermaid/swimlane-syntax.Limits, id? : String) -> @moonrockz/diagrams-mermaid/flowchart.Conversion

Source

to_sequence

fn to_sequence(diagram : @moonrockz/diagrams-mermaid/ast.Diagram) -> @moonrockz/diagrams-mermaid/sequence.Conversion

The sequence model of diagram, with the conversion diagnostics.

Source

to_state

fn to_state(diagram : @moonrockz/diagrams-mermaid/state-ast.Diagram, limits? : @moonrockz/diagrams-mermaid/state-syntax.Limits, id? : String) -> @moonrockz/diagrams-mermaid/state.Conversion

Source

to_swimlane

fn to_swimlane(diagram : @moonrockz/diagrams-mermaid/swimlane-ast.Diagram, limits? : @moonrockz/diagrams-mermaid/swimlane-syntax.Limits, id? : String) -> @moonrockz/diagrams-mermaid/swimlane.Conversion

Source

to_zenuml_sequence

fn to_zenuml_sequence(diagram : @moonrockz/diagrams-mermaid/zenuml-ast.Diagram, limits? : @moonrockz/diagrams-mermaid/zenuml-syntax.Limits) -> @moonrockz/diagrams-mermaid/zenuml.Conversion

Source

zenuml_conversion_diagnostic_codes

let zenuml_conversion_diagnostic_codes : ReadOnlyArray[String]

Source

zenuml_diagnostic_codes

let zenuml_diagnostic_codes : ReadOnlyArray[String]

Source