#[non_exhaustive]pub struct CompiledSchema {Show 13 fields
pub validations: Vec<Result<CompilationResult, CompilationError>>,
pub properties: HashMap<String, CompiledSchema>,
pub items: Option<Box<CompiledSchema>>,
pub additional_properties: Option<Box<CompiledSchema>>,
pub format: SchemaFormat,
pub all_of: Vec<CompiledSchema>,
pub one_of: Vec<CompiledSchema>,
pub any_of: Vec<CompiledSchema>,
pub max_length: Option<u64>,
pub max_items: Option<u64>,
pub max_properties: Option<u64>,
pub preserve_unknown_fields: bool,
pub embedded_resource: bool,
}validation only.Expand description
A pre-compiled schema tree. Compile once with compile_schema, then
validate many objects via Validator::validate_compiled.
§Note
CompiledSchema is not Clone because cel::Program is !Clone.
Wrap in Arc for shared ownership across threads.
#[non_exhaustive]: an output type the crate constructs; new fields may be
added without a breaking change. Read its fields directly or via the
accessor methods below.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.validations: Vec<Result<CompilationResult, CompilationError>>Compiled validation rules at this schema node.
properties: HashMap<String, CompiledSchema>Compiled child property schemas.
items: Option<Box<CompiledSchema>>Compiled array items schema.
additional_properties: Option<Box<CompiledSchema>>Compiled additionalProperties schema.
format: SchemaFormatThe format hint from the schema (e.g., date-time, duration).
all_of: Vec<CompiledSchema>Compiled allOf branch schemas.
one_of: Vec<CompiledSchema>Compiled oneOf branch schemas.
any_of: Vec<CompiledSchema>Compiled anyOf branch schemas.
max_length: Option<u64>maxLength from the schema (for cost estimation).
max_items: Option<u64>maxItems from the schema (for cost estimation).
max_properties: Option<u64>maxProperties from the schema (for cost estimation).
preserve_unknown_fields: boolWhether x-kubernetes-preserve-unknown-fields: true is set on this node.
When true, additionalProperties walking is skipped.
embedded_resource: boolWhether x-kubernetes-embedded-resource: true is set on this node.
When true, apiVersion, kind, and metadata keys are injected with
defaults if absent during value conversion.
Implementations§
Source§impl CompiledSchema
impl CompiledSchema
Sourcepub fn compilation_errors(&self) -> Vec<&CompilationError>
pub fn compilation_errors(&self) -> Vec<&CompilationError>
Returns references to all compilation errors in this node’s validations.
Sourcepub fn has_errors(&self) -> bool
pub fn has_errors(&self) -> bool
Returns true if any validation rule at this node failed to compile.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for CompiledSchema
impl !UnwindSafe for CompiledSchema
impl Freeze for CompiledSchema
impl Send for CompiledSchema
impl Sync for CompiledSchema
impl Unpin for CompiledSchema
impl UnsafeUnpin for CompiledSchema
Blanket Implementations§
Source§impl<T> AnyExt for T
impl<T> AnyExt for T
Source§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind referenceSource§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable referenceSource§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointerSource§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer