Expand description
Eure Schema types and structures
This library provides schema type definitions for Eure documents,
following the specification in assets/eure-schema.schema.eure.
§Type Variants
All types are variants of SchemaNodeContent:
Primitives:
Text- Text type with optional language and length/pattern constraintsInteger- Integer type with optional range and multiple-of constraintsFloat- Float type with optional range and multiple-of constraintsBoolean- Boolean type (no constraints)Null- Null typeAny- Any type (accepts any value)
Literal:
Literal- Exact value match (e.g.,status = "active")
Compounds:
Record- Fixed named fieldsArray- Ordered list with item typeMap- Dynamic key-value pairsTuple- Fixed-length ordered elementsUnion- Tagged union with named variants
Reference:
Reference- Type reference (local or cross-schema)
Re-exports§
pub use build::BuildSchema;pub use build::SchemaBuilder;
Modules§
- build
- Schema building from Rust types
- convert
- Conversion from EureDocument to SchemaDocument
- identifiers
- parse
- FromEure implementations for schema types.
- synth
- Type Synthesis for Eure Documents
- validate
- Document schema validation
Structs§
- Array
Schema - Array type constraints
- ExtType
Schema - Extension type definition with optionality
- Float
Schema - Float type constraints
- Integer
Schema - Integer type constraints
- MapSchema
- Map type constraints
- Record
Field Schema - Record field with per-field metadata
- Record
Schema - Record type with fixed named fields
- Schema
Document - Schema document with arena-based node storage
- Schema
Metadata - Schema metadata (available at any nesting level via $ext-type on $types.type)
- Schema
Node - A single schema node
- Schema
Node Id - Reference to a schema node by index
- Schema
Ref - Reference to a schema file from
$schemaextension. - Text
Schema - Text type constraints
- Tuple
Schema - Tuple type with fixed-length ordered elements
- Type
Reference - Type reference (local or cross-schema)
- Union
Schema - Union type with named variants
Enums§
- Binding
Style - How to represent document paths in formatted output
- Bound
- Boundary condition for numeric constraints
- Description
- Description can be plain string or markdown
- Float
Precision - Float precision specifier
- Schema
Kind - The kind of a schema node (discriminant without data).
- Schema
Node Content - Type definitions with their specific constraints
- Unknown
Fields Policy - Policy for handling fields not defined in record properties