Skip to main content

ron_schema/
lib.rs

1//! Schema definition and validation for RON (Rusty Object Notation) files.
2
3/// Source location tracking types for mapping parsed values back to their origin in source text.
4pub mod span;
5/// Schema AST types representing a parsed `.ronschema` file.
6pub mod schema;
7/// RON data value types representing a parsed `.ron` file.
8pub mod ron;
9/// Validation logic for checking RON data against a schema.
10pub mod validate;
11/// Error types for schema parsing, RON parsing, and validation.
12pub mod error;
13/// Source line extraction for rendering error diagnostics.
14pub mod diagnostic;
15
16// Re-exports — these are the public API
17pub use span::{Position, Span, Spanned};
18pub use schema::{Schema, StructDef, FieldDef, SchemaType, EnumDef};
19pub use schema::parser::parse_schema;
20pub use ron::{RonValue, RonStruct};
21pub use ron::parser::parse_ron;
22pub use validate::validate;
23pub use error::{ValidationError, ErrorKind, ValidationResult, Warning, WarningKind, SchemaParseError, SchemaErrorKind, RonParseError, RonErrorKind};
24pub use diagnostic::{extract_source_line, SourceLine};