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: SchemaDataType
Type of the data
constraints: Vec<SchemaConstraint>
Constraints to apply
description: Option<String>
Human-readable description
default: Option<Value>
Default value if not provided
optional: bool
Whether 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§const fn clone_from(&mut self, source: &Self)
const 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 more