Skip to main content

ResolvedDiscriminator

Struct ResolvedDiscriminator 

Source
pub struct ResolvedDiscriminator {
    pub property_name: String,
    pub mapping: IndexMap<String, NestedSchema>,
    pub extensions: IndexMap<String, Value>,
}
Expand description

Discriminator with every mapping value replaced by the schema it named.

A mapping value is either a $ref or a bare schema name. A value containing # is followed as a $ref (#/components/schemas/Cat, or a reference into another document, which fails exactly as the equivalent $ref would); any other value is the name of a schema under #/components/schemas, looked up as written.

On a oneOf or anyOf schema every mapping value must name one of the alternatives, and the entry is that alternative’s very edge; a value that names any other schema fails with ResolveError::DiscriminatorMappingMismatch. Inline alternatives cannot be named, as the specification says. A schema that is not a oneOf or anyOf (the allOf inheritance pattern, where the mapping lives on the parent) has no alternatives to check against, so its mapping values are resolved like any other $ref. Entries are resolved in document order, and the first one that fails is the error reported.

Fields§

§property_name: String§mapping: IndexMap<String, NestedSchema>§extensions: IndexMap<String, Value>

Trait Implementations§

Source§

impl Debug for ResolvedDiscriminator

Source§

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

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

impl PartialEq for ResolvedDiscriminator

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ResolvedDiscriminator

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> 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.