Struct schemars::schema::SchemaObject
source · 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: Map<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: Map<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) -> Self
pub fn new_ref(reference: String) -> Self
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 moresource§impl Debug for SchemaObject
impl Debug for SchemaObject
source§impl Default for SchemaObject
impl Default for SchemaObject
source§fn default() -> SchemaObject
fn default() -> SchemaObject
source§impl<'de> Deserialize<'de> for SchemaObjectwhere
SchemaObject: Default,
impl<'de> Deserialize<'de> for SchemaObjectwhere
SchemaObject: Default,
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>,
source§impl From<Schema> for SchemaObject
impl From<Schema> for SchemaObject
source§impl From<SchemaObject> for Schema
impl From<SchemaObject> for Schema
source§fn from(o: SchemaObject) -> Self
fn from(o: SchemaObject) -> Self
source§impl PartialEq for SchemaObject
impl PartialEq for SchemaObject
source§fn eq(&self, other: &SchemaObject) -> bool
fn eq(&self, other: &SchemaObject) -> bool
self and other values to be equal, and is used
by ==.