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: {0}")]
Decode(#[source] CodecDecodeError<D>),
#[error("codec conversion encode error: {0}")]
Encode(#[source] CodecEncodeError<E>),
}
impl<D, E> CodecConvertError<D, E> {
#[inline(always)]
#[must_use]
pub const fn decode(source: CodecDecodeError<D>) -> Self {
Self::Decode(source)
}
#[inline(always)]
#[must_use]
pub const fn encode(source: CodecEncodeError<E>) -> Self {
Self::Encode(source)
}
}