glossa_shared/
aliases.rs

1// #![cfg(feature = "type-aliases")]
2use glossa_dsl::resolver::Resolver;
3
4use crate::{
5  MiniStr as Key, MiniStr as Value, MiniStr as Language, MiniStr as MapName,
6};
7
8#[cfg(feature = "std")]
9pub mod type_aliases {
10  pub use ahash;
11  use ahash::HashMap;
12  pub use kstring::KString;
13
14  use super::*;
15
16  pub type L10nFlattenMap = HashMap<(MapName, Key), Value>;
17  pub type L10nMaps = HashMap<Language, L10nFlattenMap>;
18
19  pub type L10nDSLMap = HashMap<MapName, Resolver>;
20  pub type DSLMaps = HashMap<Language, L10nDSLMap>;
21}
22
23#[cfg(not(feature = "std"))]
24pub mod type_aliases {
25  use alloc::collections::BTreeMap;
26
27  use super::*;
28
29  pub type L10nFlattenMap = BTreeMap<(MapName, Key), Value>;
30
31  pub type L10nMaps = BTreeMap<Language, L10nFlattenMap>;
32
33  pub type L10nDSLMap = BTreeMap<MapName, Resolver>;
34
35  pub type DSLMaps = BTreeMap<Language, L10nDSLMap>;
36}