[−][src]Enum jsl::errors::JslError
An enum of possible errors that can emerge from this crate.
Variants
InvalidForm
A schema-like object did not take on a valid form.
Only certain combinations of keywords make for valid JSL schemas. When a
schema uses an invalid combination of keywords, it is said to not take on
one of the valid forms. Converting a SerdeSchema
with an invalid
combination of keywords into a Schema
will result in this error.
AmbiguousProperty
A schema-like object specified a keyword in an ambiguous manner.
JSL prohibits schemas from specifying the same property twice in the same
schema. This error arises when a SerdeSchema
's properties
,
optionalProperties
, or discriminator.propertyName
share a property in
common, and one attempts to convert this into a Schema
.
Fields of AmbiguousProperty
property: String
NoSuchDefinition
A schema refers to a definition which does not exist.
Schemas may refer to one another using the ref
keyword, which may refer
to a definition
of another schema. If a schema refers to another
schema's definition, but that schema is already in a Registry
and lacks
such a definition, then the reference cannot be resolved, and this error
is thrown.
Fields of NoSuchDefinition
RelativeRefFromAnonymousSchema
A schema attempts to refer to something relative to its ID, but it has no ID.
JSL resolves inter-schema references using the usual rules for URIs, where
the id
of a schema is used as the base URI for all ref
s within that
schema. But if a schema lacks an id
, then references must either be
only a fragment, or be an absolute URI. Otherwise, there's no meaningful
way to resolve the reference.
An example of one such unresolvable reference would be:
{
"ref": "/foo"
}
There's no way to resolve /foo
without having a base URI, but the schema
doesn't have a base URI to work from.
NonRoot
A non-root schema was given to a function which expected a root schema.
Unsealed
A sealed registry was given to a function which expected a sealed schema.
NoSuchSchema
An ID was given, but no schema with that ID exists.
MaxDepthExceeded
The maximum depth during evaluating was exceeded.
This likely means that your configured max_depth
is too small, or that
there is a infinite cyclical definition in your schemas.
Trait Implementations
impl PartialEq<JslError> for JslError
[src]
impl Display for JslError
[src]
impl Debug for JslError
[src]
impl Fail for JslError
[src]
fn name(&self) -> Option<&str>
[src]
fn cause(&self) -> Option<&dyn Fail>
[src]
fn backtrace(&self) -> Option<&Backtrace>
[src]
fn context<D>(self, context: D) -> Context<D> where
D: Display + Send + Sync + 'static,
[src]
D: Display + Send + Sync + 'static,
Provides context for this failure. Read more
fn compat(self) -> Compat<Self>
[src]
Wraps this failure in a compatibility wrapper that implements std::error::Error
. Read more
Auto Trait Implementations
Blanket Implementations
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From for T
[src]
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> AsFail for T where
T: Fail,
[src]
T: Fail,
impl<E> Fail for E where
E: 'static + Error + Send + Sync,
[src]
E: 'static + Error + Send + Sync,
fn name(&self) -> Option<&str>
[src]
Returns the "name" of the error. Read more
fn cause(&self) -> Option<&(dyn Fail + 'static)>
[src]
Returns a reference to the underlying cause of this failure, if it is an error that wraps other errors. Read more
fn backtrace(&self) -> Option<&Backtrace>
[src]
Returns a reference to the Backtrace
carried by this failure, if it carries one. Read more
fn context<D>(self, context: D) -> Context<D> where
D: Display + Send + Sync + 'static,
[src]
D: Display + Send + Sync + 'static,
Provides context for this failure. Read more
fn compat(self) -> Compat<Self>
[src]
Wraps this failure in a compatibility wrapper that implements std::error::Error
. Read more