Struct schemars::schema::SchemaObject [−][src]
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
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.
Returns true if self is a $ref schema.
If self has Some reference set, this returns true.
Otherwise, returns false.
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.
Returns a mutable reference to this schema’s Metadata, creating it if it was None.
Returns a mutable reference to this schema’s SubschemaValidation, creating it if it was None.
Returns a mutable reference to this schema’s NumberValidation, creating it if it was None.
Returns a mutable reference to this schema’s StringValidation, creating it if it was None.
Returns a mutable reference to this schema’s ArrayValidation, creating it if it was None.
Returns a mutable reference to this schema’s ObjectValidation, creating it if it was None.
Trait Implementations
Returns the “default value” for a type. Read more
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
Performs the conversion.
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
Auto Trait Implementations
impl RefUnwindSafe for SchemaObject
impl Send for SchemaObject
impl Sync for SchemaObject
impl Unpin for SchemaObject
impl UnwindSafe for SchemaObject
Blanket Implementations
Mutably borrows from an owned value. Read more