pub struct Mappings {
pub expand: HashMap<String, String>,
pub compress: HashMap<String, String>,
}Expand description
Mapping storage for bidirectional key translation
This is the ONLY caching mechanism needed. The HashMaps provide instant O(1) lookups with zero overhead after initial load.
Fields§
§expand: HashMap<String, String>Short key → Full name (machine → human expansion) Example: “n” → “name”
compress: HashMap<String, String>Full name → Short key (human → machine compression) Example: “name” → “n”
Implementations§
Source§impl Mappings
impl Mappings
Sourcepub fn expand_key(&self, key: &str) -> String
pub fn expand_key(&self, key: &str) -> String
Expand short key to full name (machine → human)
§The Smart Logic
IF key exists in mappings.dx:
expand it (popular key)
ELSE:
keep it as-is (custom key)§Examples
let m = Mappings::get();
// Popular keys: expand (using default mappings)
assert_eq!(m.expand_key("n"), "name");
assert_eq!(m.expand_key("v"), "version");
assert_eq!(m.expand_key("d"), "description");
// Custom keys: preserve
assert_eq!(m.expand_key("myCustomKey"), "myCustomKey");
assert_eq!(m.expand_key("userPrefs"), "userPrefs");§Performance
O(1) - Single HashMap lookup with instant fallback
Sourcepub fn compress_key(&self, key: &str) -> String
pub fn compress_key(&self, key: &str) -> String
Compress full name to short key (human → machine)
§The Smart Logic
IF key exists in mappings.dx:
abbreviate it (popular key)
ELSE:
keep it as-is (custom key)§Examples
let m = Mappings::get();
// Popular keys: abbreviate (using default mappings)
assert_eq!(m.compress_key("name"), "n");
assert_eq!(m.compress_key("version"), "v");
assert_eq!(m.compress_key("description"), "d");
// Custom keys: preserve
assert_eq!(m.compress_key("myCustomKey"), "myCustomKey");
assert_eq!(m.compress_key("userPrefs"), "userPrefs");§Performance
O(1) - Single HashMap lookup with instant fallback
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Mappings
impl RefUnwindSafe for Mappings
impl Send for Mappings
impl Sync for Mappings
impl Unpin for Mappings
impl UnsafeUnpin for Mappings
impl UnwindSafe for Mappings
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.