zng_ext_l10n/sources/
nil.rs

1use std::{collections::HashMap, path::PathBuf, sync::Arc};
2
3use zng_var::{ArcEq, BoxedVar, LocalVar, Var as _};
4
5use crate::{L10nSource, Lang, LangFilePath, LangMap, LangResourceStatus};
6
7/// Localization source that is never available.
8pub struct NilL10nSource;
9impl L10nSource for NilL10nSource {
10    fn available_langs(&mut self) -> BoxedVar<Arc<LangMap<HashMap<LangFilePath, PathBuf>>>> {
11        LocalVar(Arc::default()).boxed()
12    }
13
14    fn available_langs_status(&mut self) -> BoxedVar<LangResourceStatus> {
15        LocalVar(LangResourceStatus::NotAvailable).boxed()
16    }
17
18    fn lang_resource(&mut self, _: Lang, _: LangFilePath) -> BoxedVar<Option<ArcEq<fluent::FluentResource>>> {
19        LocalVar(None).boxed()
20    }
21
22    fn lang_resource_status(&mut self, _: Lang, _: LangFilePath) -> BoxedVar<LangResourceStatus> {
23        LocalVar(LangResourceStatus::NotAvailable).boxed()
24    }
25}