pub struct SchemaObject {
pub metadata: Option<Box<Metadata>>,
pub instance_type: Option<SingleOrVec<InstanceType>>,
pub format: Option<String>,
pub enum_values: Option<Vec<Value>>,
pub const_value: Option<Value>,
pub subschemas: Option<Box<SubschemaValidation>>,
pub number: Option<Box<NumberValidation>>,
pub string: Option<Box<StringValidation>>,
pub array: Option<Box<ArrayValidation>>,
pub object: Option<Box<ObjectValidation>>,
pub reference: Option<String>,
pub extensions: BTreeMap<String, Value>,
}Expand description
A JSON Schema object.
Fields§
§metadata: Option<Box<Metadata>>Properties which annotate the SchemaObject which typically have no effect when an object is being validated against the schema.
instance_type: Option<SingleOrVec<InstanceType>>The type keyword.
See JSON Schema Validation 6.1.1. “type” and JSON Schema 4.2.1. Instance Data Model.
format: Option<String>The format keyword.
See JSON Schema Validation 7. A Vocabulary for Semantic Content With “format”.
enum_values: Option<Vec<Value>>The enum keyword.
const_value: Option<Value>The const keyword.
subschemas: Option<Box<SubschemaValidation>>Properties of the SchemaObject which define validation assertions in terms of other schemas.
number: Option<Box<NumberValidation>>Properties of the SchemaObject which define validation assertions for numbers.
string: Option<Box<StringValidation>>Properties of the SchemaObject which define validation assertions for strings.
array: Option<Box<ArrayValidation>>Properties of the SchemaObject which define validation assertions for arrays.
object: Option<Box<ObjectValidation>>Properties of the SchemaObject which define validation assertions for objects.
reference: Option<String>The $ref keyword.
extensions: BTreeMap<String, Value>Arbitrary extra properties which are not part of the JSON Schema specification, or which schemars does not support.
Implementations§
Source§impl SchemaObject
impl SchemaObject
Sourcepub fn new_ref(reference: String) -> SchemaObject
pub fn new_ref(reference: String) -> SchemaObject
Creates a new $ref schema.
The given reference string should be a URI reference. This will usually be a JSON Pointer in URI Fragment representation.
Sourcepub fn is_ref(&self) -> bool
pub fn is_ref(&self) -> bool
Returns true if self is a $ref schema.
If self has Some reference set, this returns true.
Otherwise, returns false.
Sourcepub fn has_type(&self, ty: InstanceType) -> bool
pub fn has_type(&self, ty: InstanceType) -> bool
Returns true if self accepts values of the given type, according to the instance_type field.
This is a basic check that always returns true if no instance_type is specified on the schema,
and does not check any subschemas. Because of this, both {} and {"not": {}} accept any type according
to this method.
Sourcepub fn metadata(&mut self) -> &mut Metadata
pub fn metadata(&mut self) -> &mut Metadata
Returns a mutable reference to this schema’s Metadata, creating it if it was None.
Sourcepub fn subschemas(&mut self) -> &mut SubschemaValidation
pub fn subschemas(&mut self) -> &mut SubschemaValidation
Returns a mutable reference to this schema’s SubschemaValidation, creating it if it was None.
Sourcepub fn number(&mut self) -> &mut NumberValidation
pub fn number(&mut self) -> &mut NumberValidation
Returns a mutable reference to this schema’s NumberValidation, creating it if it was None.
Sourcepub fn string(&mut self) -> &mut StringValidation
pub fn string(&mut self) -> &mut StringValidation
Returns a mutable reference to this schema’s StringValidation, creating it if it was None.
Sourcepub fn array(&mut self) -> &mut ArrayValidation
pub fn array(&mut self) -> &mut ArrayValidation
Returns a mutable reference to this schema’s ArrayValidation, creating it if it was None.
Sourcepub fn object(&mut self) -> &mut ObjectValidation
pub fn object(&mut self) -> &mut ObjectValidation
Returns a mutable reference to this schema’s ObjectValidation, creating it if it was None.
Trait Implementations§
Source§impl Clone for SchemaObject
impl Clone for SchemaObject
Source§fn clone(&self) -> SchemaObject
fn clone(&self) -> SchemaObject
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more