1
2
3
4
5
6
7
8
9
10
11
12
13
14
use crate::definition::FieldDefinition;
use crate::AsIter;

pub trait FieldsDefinition: AsIter<Item = Self::FieldDefinition> {
    type FieldDefinition: FieldDefinition;

    fn contains_field(&self, name: &str) -> bool {
        self.iter().any(|fd| fd.name() == name)
    }

    fn get(&self, name: &str) -> Option<&Self::FieldDefinition> {
        self.iter().find(|fd| fd.name() == name)
    }
}