use thiserror::Error;
use super::{
codec_decode_error::CodecDecodeError,
codec_encode_error::CodecEncodeError,
};
#[derive(Clone, Copy, Debug, Eq, Error, Hash, PartialEq)]
pub enum CodecConvertError<D, E> {
#[error("codec conversion decode error: {source}")]
Decode {
#[source]
source: CodecDecodeError<D>,
},
#[error("codec conversion encode error: {source}")]
Encode {
#[source]
source: CodecEncodeError<E>,
},
}
impl<D, E> CodecConvertError<D, E> {
#[must_use]
#[inline(always)]
pub const fn decode(source: CodecDecodeError<D>) -> Self {
Self::Decode { source }
}
#[must_use]
#[inline(always)]
pub const fn encode(source: CodecEncodeError<E>) -> Self {
Self::Encode { source }
}
}