use thiserror::Error;
#[derive(Error, Debug)]
pub enum SerdeFlowError {
#[error("Variant not found for the object")]
VariantNotFound,
#[error("File not found the object")]
FileNotFound,
#[error("Encoding process failed")]
EncodingFailed,
#[error("Parsing failed due to incorrect format or insufficient variants")]
ParsingFailed,
#[error("Invalid data format")]
FormatInvalid,
#[error("Failed to write bytes on the disk")]
FailedToWrite,
#[error("An undefined error occurred")]
Undefined,
#[error(transparent)]
IOError(#[from] std::io::Error),
}