use crate::Value;
#[derive(Clone)]
pub struct LanguageTexts {
language: String,
texts: Value,
}
impl LanguageTexts {
pub fn new(language: String, texts: Value) -> anyhow::Result<Self> {
if !texts.is_object() {
return Err(anyhow::Error::msg(format!("`{}` is not an object.", texts)));
}
Ok(Self { language, texts })
}
pub fn get_language(&self) -> String {
self.language.clone()
}
pub fn try_get_text(&self, text: &str) -> Option<Value> {
if self.texts.is_object() {
if let Some(value) = self.texts.get_object().unwrap().get(&String::from(text)) {
return Some(value.clone());
}
}
None
}
}