blob: ba50eeb1881fe575ddbc8ef62c0b8880ed9db47b [file] [log] [blame] [edit]
use crate::gen::scope::FieldWithContext;
use crate::gen::scope::MessageWithScope;
/// Pair of (key, value) if this message is map entry
pub(crate) fn map_entry<'a>(
d: &'a MessageWithScope,
) -> Option<(FieldWithContext<'a>, FieldWithContext<'a>)> {
if d.message.is_map_entry() {
// `MessageDescriptor` validated the fields.
let key = d.fields()[0].clone();
let value = d.fields()[1].clone();
Some((key, value))
} else {
None
}
}