pub struct SchemaDefinition {
pub data_type: SchemaDataType,
pub constraints: Vec<SchemaConstraint>,
pub description: Option<String>,
pub default: Option<Value>,
pub optional: bool,
}Expand description
Schema definition for data validation
Fields§
§data_type: SchemaDataTypeType of the data
constraints: Vec<SchemaConstraint>Constraints to apply
description: Option<String>Human-readable description
default: Option<Value>Default value if not provided
optional: boolWhether this field is optional
Implementations§
Source§impl SchemaDefinition
impl SchemaDefinition
Sourcepub fn new(data_type: SchemaDataType) -> Self
pub fn new(data_type: SchemaDataType) -> Self
Create a new schema definition
Sourcepub fn with_constraint(self, constraint: SchemaConstraint) -> Self
pub fn with_constraint(self, constraint: SchemaConstraint) -> Self
Add a constraint to the schema
Sourcepub fn with_constraints(self, constraints: Vec<SchemaConstraint>) -> Self
pub fn with_constraints(self, constraints: Vec<SchemaConstraint>) -> Self
Add multiple constraints to the schema
Sourcepub fn with_description<S: Into<String>>(self, description: S) -> Self
pub fn with_description<S: Into<String>>(self, description: S) -> Self
Set description for the schema
Sourcepub fn with_default(self, default: Value) -> Self
pub fn with_default(self, default: Value) -> Self
Set default value for the schema
Trait Implementations§
Source§impl Clone for SchemaDefinition
impl Clone for SchemaDefinition
Source§fn clone(&self) -> SchemaDefinition
fn clone(&self) -> SchemaDefinition
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SchemaDefinition
impl Debug for SchemaDefinition
Source§impl<'de> Deserialize<'de> for SchemaDefinition
impl<'de> Deserialize<'de> for SchemaDefinition
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for SchemaDefinition
impl PartialEq for SchemaDefinition
Source§impl Serialize for SchemaDefinition
impl Serialize for SchemaDefinition
impl StructuralPartialEq for SchemaDefinition
Auto Trait Implementations§
impl Freeze for SchemaDefinition
impl RefUnwindSafe for SchemaDefinition
impl Send for SchemaDefinition
impl Sync for SchemaDefinition
impl Unpin for SchemaDefinition
impl UnwindSafe for SchemaDefinition
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.