openapi_nexus_spec/oas31/spec/
error.rs1use semver::{Error as SemverError, Version};
2use snafu::Snafu;
3
4use super::{reference::ErrorRef, schema::ErrorSchema};
5
6#[derive(Debug, Snafu)]
8#[snafu(visibility(pub))]
9pub enum ErrorSpec {
10 #[snafu(display("Reference error"))]
12 Ref { source: ErrorRef },
13
14 #[snafu(display("Schema error"))]
16 Schema { source: ErrorSchema },
17
18 #[snafu(display("Semver error"))]
20 Semver { source: SemverError },
21
22 #[snafu(display("Unsupported spec file version ({})", version))]
24 UnsupportedSpecFileVersion { version: Version },
25}
26
27impl From<SemverError> for ErrorSpec {
28 fn from(source: SemverError) -> Self {
29 ErrorSpec::Semver { source }
30 }
31}