use ifc_schema::{Schema, TypeKind};
#[must_use]
pub fn is_member(schema: &Schema, type_name: &str, member: &str) -> Option<bool> {
let TypeKind::Enumeration(members) = &schema.type_def(type_name)?.kind else {
return None;
};
Some(
members
.iter()
.any(|declared| declared.eq_ignore_ascii_case(member)),
)
}
#[must_use]
pub fn members<'a>(schema: &'a Schema, type_name: &str) -> Option<&'a [String]> {
let TypeKind::Enumeration(members) = &schema.type_def(type_name)?.kind else {
return None;
};
Some(members)
}