moonrockz/diagrams-plantuml/state
Types
Conversion
pub struct Conversion {
state : @moonrockz/diagrams/state.StateDiagram?
diagnostics : ReadOnlyArray[@moonrockz/diagrams.Diagnostic]
}Document
pub struct Document {
name : String?
complete : Bool
statements : ReadOnlyArray[@moonrockz/diagrams-plantuml/envelope.Statement]
items : ReadOnlyArray[Statement]
} derive(Eq, @moonbitlang/core/debug.Debug)Document::equal
fn Document::equal(Document, Document) -> BoolDocument::logical_equal
fn Document::logical_equal(self : Document, other : Document) -> BoolDocument::new
fn Document::new(items : ArrayView[Statement], name? : String, complete? : Bool, statements? : ArrayView[@moonrockz/diagrams-plantuml/envelope.Statement]) -> DocumentDocument::not_equal
fn Document::not_equal(x : Document, y : Document) -> BoolDocument::to_repr
fn Document::to_repr(Document) -> @moonbitlang/core/debug.ReprDocument::without_spans
fn Document::without_spans(self : Document) -> DocumentKind
pub(all) enum Kind {
Declaration(String, String, String, Bool)
Close
Separator(Bool)
Description(String, String)
Transition(String, String, String, String)
Note(String, String?, String, String?)
Direction(@moonrockz/diagrams/flowchart.Direction)
Presentation(String)
} derive(Eq, @moonbitlang/core/debug.Debug)Editable native statements. Open/close/separator values retain lexical order.
Kind::equal
fn Kind::equal(Kind, Kind) -> BoolKind::not_equal
fn Kind::not_equal(x : Kind, y : Kind) -> BoolKind::to_repr
fn Kind::to_repr(Kind) -> @moonbitlang/core/debug.ReprReadResult
pub struct ReadResult {
nodes : ReadOnlyArray[@moonrockz/diagrams-plantuml/cst.Node]
document : Document?
diagnostics : ReadOnlyArray[@moonrockz/diagrams.Diagnostic]
}Statement
pub struct Statement {
kind : Kind
explicit_label : Bool
span : @moonrockz/diagrams.Span?
} derive(Eq, @moonbitlang/core/debug.Debug)Statement::equal
fn Statement::equal(Statement, Statement) -> BoolStatement::new
fn Statement::new(kind : Kind, span? : @moonrockz/diagrams.Span, explicit_label? : Bool) -> StatementStatement::not_equal
fn Statement::not_equal(x : Statement, y : Statement) -> BoolStatement::to_repr
fn Statement::to_repr(Statement) -> @moonbitlang/core/debug.ReprValues
diagnostic_codes
let diagnostic_codes : ReadOnlyArray[String]print_body
fn print_body(document : Document, limits? : @moonrockz/diagrams-plantuml/envelope.Limits) -> Result[String, ReadOnlyArray[@moonrockz/diagrams.Diagnostic]]Canonical source is derived from edited values and checked for representability.
read
fn read(scan : @moonrockz/diagrams-plantuml/envelope.Scan, limits? : @moonrockz/diagrams-plantuml/envelope.Limits) -> ReadResultRead a scanned native state block. Recovery preserves subsequent statements.
to_state
fn to_state(document : Document, id? : String, limits? : @moonrockz/diagrams-plantuml/envelope.Limits) -> ConversionBuild explicit state topology; descriptions and history never execute.