use super::super::*;
use {
depiction::*,
std::{io, num::*, string},
thiserror::*,
};
#[derive(Debug, Depict, Error)]
pub enum ParseError {
#[error("unsupported format: {0:?}")]
UnsupportedFormat(Format),
#[error("hint: {0}")]
Hint(string::String),
#[error("reference not found: {0}")]
ReferenceNotFound(usize),
#[error("I/O: {0}")]
IO(#[from] io::Error),
#[error("UTF8: {0}")]
UTF8(#[from] string::FromUtf8Error),
#[error("parse integer: {0}")]
ParseInteger(#[from] ParseIntError),
#[error("parse float: {0}")]
ParseFloat(#[from] ParseFloatError),
#[cfg(feature = "yaml")]
#[error("Saphyr YAML: {0}")]
Saphyr(#[from] saphyr_parser::ScanError),
#[cfg(feature = "json")]
#[error("Struson JSON: {0}")]
Struson(#[from] struson::reader::ReaderError),
#[cfg(feature = "cbor")]
#[error("Borc CBOR: {0}")]
Borc(#[from] borc::errors::DecodeError),
#[cfg(feature = "messagepack")]
#[error("RMP MessagePack: {0}")]
RMP(#[from] rmp::decode::ValueReadError),
#[error("Base64: {0}")]
Base64(#[from] base64_simd::Error),
}