Skip to main content

SubSchema

Type Alias SubSchema 

Source
pub type SubSchema = PropSchema;
Expand description

A composition branch is now a full property schema - every constraint that compile_prop produces is available in a branch and evaluated by the runtime. This alias maintains naming clarity at usage sites.

Aliased Type§

pub struct SubSchema {
Show 33 fields pub ref_name: Option<String>, pub prop_type: Option<PropType>, pub enum_values: Vec<Value>, pub enum_case_insensitive: Vec<Value>, pub not_enum: Vec<Value>, pub const_value: Option<Value>, pub pattern: Option<String>, pub minimum: Option<f64>, pub maximum: Option<f64>, pub exclusive_minimum: Option<f64>, pub exclusive_maximum: Option<f64>, pub multiple_of: Option<f64>, pub min_length: Option<u64>, pub max_length: Option<u64>, pub min_items: Option<u64>, pub max_items: Option<u64>, pub unique_items: Option<bool>, pub min_properties: Option<u64>, pub max_properties: Option<u64>, pub format: Option<String>, pub properties: BTreeMap<String, PropSchema>, pub required: Vec<String>, pub additional_properties: Option<bool>, pub pattern_properties: BTreeMap<String, PropSchema>, pub items: Option<Box<PropSchema>>, pub all_of: Vec<PropSchema>, pub any_of: Vec<PropSchema>, pub one_of: Vec<PropSchema>, pub if_then_else: Vec<IfThenElse>, pub dependent_required: BTreeMap<String, Vec<String>>, pub dependent_excluded: BTreeMap<String, Vec<String>>, pub required_or: Vec<String>, pub required_xor: Vec<String>,
}

Fields§

§ref_name: Option<String>§prop_type: Option<PropType>§enum_values: Vec<Value>§enum_case_insensitive: Vec<Value>§not_enum: Vec<Value>§const_value: Option<Value>§pattern: Option<String>§minimum: Option<f64>§maximum: Option<f64>§exclusive_minimum: Option<f64>§exclusive_maximum: Option<f64>§multiple_of: Option<f64>§min_length: Option<u64>§max_length: Option<u64>§min_items: Option<u64>§max_items: Option<u64>§unique_items: Option<bool>

None when the source schema omits uniqueItems, so an overlay that explicitly sets it to false can relax a bundled true. Serialization only emits the field when it is true, keeping the encoding identical to the plain-boolean form this replaced.

§min_properties: Option<u64>§max_properties: Option<u64>§format: Option<String>§properties: BTreeMap<String, PropSchema>§required: Vec<String>§additional_properties: Option<bool>§pattern_properties: BTreeMap<String, PropSchema>§items: Option<Box<PropSchema>>§all_of: Vec<PropSchema>§any_of: Vec<PropSchema>§one_of: Vec<PropSchema>§if_then_else: Vec<IfThenElse>§dependent_required: BTreeMap<String, Vec<String>>§dependent_excluded: BTreeMap<String, Vec<String>>§required_or: Vec<String>§required_xor: Vec<String>