use qubit_codec::DecodeFailure;
use qubit_codec_misc::MiscCodecError;
pub(crate) fn invalid_source(failure: DecodeFailure<MiscCodecError>) -> MiscCodecError {
match failure {
DecodeFailure::Invalid { source, .. } => source,
other => {
panic!("expected invalid misc codec decode failure: {other:?}")
}
}
}
pub(crate) fn invalid_consumed(failure: DecodeFailure<MiscCodecError>) -> Option<usize> {
match failure {
DecodeFailure::Invalid { consumed, .. } => consumed.map(|width| width.get()),
other => {
panic!("expected invalid misc codec decode failure: {other:?}")
}
}
}
pub(crate) fn incomplete_required(failure: DecodeFailure<MiscCodecError>) -> usize {
match failure {
DecodeFailure::Incomplete { required_total, .. } => required_total.get(),
other => {
panic!("expected incomplete misc codec decode failure: {other:?}")
}
}
}