Skip to main content

SpecVersion

Enum SpecVersion 

Source
pub enum SpecVersion {
    Draft00,
    Draft01,
    Draft02,
    Draft03,
    Draft04,
    Draft05,
    Draft06,
    Draft07,
    Draft201909,
    Draft202012,
}
Expand description

JSON Schema specification version. One variant per vendored spec.

Variants§

§

Draft00

§

Draft01

§

Draft02

§

Draft03

§

Draft04

§

Draft05

§

Draft06

§

Draft07

§

Draft201909

§

Draft202012

Implementations§

Source§

impl SpecVersion

Source

pub fn schema_uri(self) -> &'static str

Returns the canonical meta-schema URI for this draft (e.g. for use in $schema).

URIs match the local specs (draft-00 through 2020-12). Drafts 00–02 used hyper-schema URIs; draft-03 onward use schema# or draft/YYYY-MM/schema.

Source

pub fn from_schema_uri(s: &str) -> Option<SpecVersion>

Parses a $schema URI string and returns the corresponding SpecVersion, if recognized.

Matching is done by comparing the trimmed string to canonical URIs (with or without trailing slash). The legacy draft-04 URI http://json-schema.org/schema# is deprecated and returns [Some(SpecVersion::Draft04)] for compatibility.

Returns None for empty, unknown, or malformed URIs.

Source

pub fn default_schema_settings(self) -> JsonSchemaSettings

Returns JsonSchemaSettings tuned for this spec version. Callers can use the builder to override individual options.

Default (latest) spec: Draft202012 is the latest supported spec; its settings match JsonSchemaSettings::default() when no options are set.

Trait Implementations§

Source§

impl Clone for SpecVersion

Source§

fn clone(&self) -> SpecVersion

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SpecVersion

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for SpecVersion

Source§

fn eq(&self, other: &SpecVersion) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for SpecVersion

Source§

impl Eq for SpecVersion

Source§

impl StructuralPartialEq for SpecVersion

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.