braillify 2.0.0

Rust 기반 크로스플랫폼 한국어 점역 라이브러리
Documentation
use phf::phf_map;

use crate::unicode::decode_unicode;

pub static SHORTCUT_MAP: phf::Map<char, &'static [u8]> = phf_map! {
    '' => &[decode_unicode('')],
    '' => &[decode_unicode('')],
    '' => &[decode_unicode('')],
    '' => &[decode_unicode('')],
    '' => &[decode_unicode('')],
    '' => &[decode_unicode('')],
    '' => &[decode_unicode('')],
    '' => &[decode_unicode('')],
    '' => &[decode_unicode('')],
    '' => &[decode_unicode('')],
    '' => &[decode_unicode('')],
    '' => &[decode_unicode(''), decode_unicode('')],
    '' => &[decode_unicode('')],
    '' => &[decode_unicode('')],
    '' => &[decode_unicode('')],
    '' => &[decode_unicode('')],
    '' => &[decode_unicode('')],
    '' => &[decode_unicode('')],
    '' => &[decode_unicode('')],
    '' => &[decode_unicode('')],
    '' => &[decode_unicode('')],
    '' => &[decode_unicode('')],
    '' => &[decode_unicode('')],
    '' => &[decode_unicode('')],
    '' => &[decode_unicode('')],
    '' => &[decode_unicode('')],
    '' => &[decode_unicode(''), decode_unicode('')],
    '' => &[decode_unicode(''), decode_unicode('')],
    '' => &[decode_unicode(''), decode_unicode('')],
};

pub fn encode_char_shortcut(text: char) -> Result<&'static [u8], String> {
    if let Some(code) = SHORTCUT_MAP.get(&text) {
        Ok(code)
    } else {
        Err("Invalid Korean char shortcut".to_string())
    }
}

#[cfg(test)]
mod test {
    use super::*;

    #[test]
    pub fn test_encode_char_shortcut() {
        assert_eq!(encode_char_shortcut('').unwrap(), &[decode_unicode('')]);
        assert_eq!(encode_char_shortcut('').unwrap(), &[decode_unicode('')]);
        assert_eq!(encode_char_shortcut('').unwrap(), &[decode_unicode('')]);
        assert_eq!(encode_char_shortcut('').unwrap(), &[decode_unicode('')]);
        assert_eq!(encode_char_shortcut('').unwrap(), &[decode_unicode('')]);
        assert_eq!(encode_char_shortcut('').unwrap(), &[decode_unicode('')]);
        assert_eq!(encode_char_shortcut('').unwrap(), &[decode_unicode('')]);
        assert_eq!(encode_char_shortcut('').unwrap(), &[decode_unicode('')]);
        assert_eq!(encode_char_shortcut('').unwrap(), &[decode_unicode('')]);
        assert_eq!(encode_char_shortcut('').unwrap(), &[decode_unicode('')]);
        assert_eq!(encode_char_shortcut('').unwrap(), &[decode_unicode('')]);
        assert_eq!(
            encode_char_shortcut('').unwrap(),
            &[decode_unicode(''), decode_unicode('')]
        );
    }
}