use crabstep::{OutputData, deserializer::iter::Property};
#[derive(Debug)]
pub struct TypeLengthPair {
pub type_index: i64,
pub length: u64,
}
#[inline(always)]
pub fn as_type_length_pair(property: &Property<'_, '_>) -> Option<TypeLengthPair> {
if let Property::Group(group) = property {
let mut iter = group.iter();
if let Some(Property::Primitive(OutputData::SignedInteger(type_index))) = iter.next()
&& let Some(Property::Primitive(OutputData::UnsignedInteger(length))) = iter.next()
{
return Some(TypeLengthPair {
type_index: *type_index,
length: *length,
});
}
}
None
}