summaryrefslogtreecommitdiffstats
path: root/third_party/rust/fluent-bundle/src/message.rs
blob: 4b0a84769e819b96b91ac64394822b4788d38294 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use fluent_syntax::ast;

#[derive(Debug, PartialEq)]
pub struct FluentAttribute<'m> {
    pub id: &'m str,
    pub value: &'m ast::Pattern<&'m str>,
}
/// A single localization unit composed of an identifier,
/// value, and attributes.
#[derive(Debug, PartialEq)]
pub struct FluentMessage<'m> {
    pub value: Option<&'m ast::Pattern<&'m str>>,
    pub attributes: Vec<FluentAttribute<'m>>,
}

impl<'m> FluentMessage<'m> {
    pub fn get_attribute(&self, key: &str) -> Option<&FluentAttribute> {
        self.attributes.iter().find(|attr| attr.id == key)
    }
}