SC.Validator (sc v1.0.2)
View SourceValidates SCXML documents for structural correctness and semantic consistency.
Catches issues like invalid initial state references, unreachable states, malformed hierarchies, and other problems that could cause runtime errors.
Summary
Functions
Finalize validation with whole-document validations and optimization.
Validate an SCXML document and optimize it for runtime use.
Types
@type validation_result_with_document() :: {validation_result(), SC.Document.t()}
Functions
@spec finalize(validation_result(), SC.Document.t()) :: validation_result_with_document()
Finalize validation with whole-document validations and optimization.
This callback is called after all individual validations have completed, allowing for validations that require the entire document context. If the document is valid, it will be optimized for runtime performance.
@spec validate(SC.Document.t()) :: {:ok, SC.Document.t(), [String.t()]} | {:error, [String.t()], [String.t()]}
Validate an SCXML document and optimize it for runtime use.
Returns {:ok, optimized_document, warnings} if document is valid. Returns {:error, errors, warnings} if document has validation errors. The optimized document includes performance optimizations like lookup maps.