braillify 2.0.0

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

pub static JONGSEONG_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(''), 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_jongseong(text: char) -> Result<&'static [u8], String> {
    if let Some(code) = JONGSEONG_MAP.get(&text) {
        return Ok(code);
    }
    Err("Invalid Korean jongseong character".to_string())
}

// pub fn decode_jongseong(code: u8) -> char {
//     JONGSEONG_MAP.get_by_right(&code).unwrap().clone()
// }

#[cfg(test)]
mod test {
    use super::*;
    #[test]
    pub fn test_encode_jongseong() {
        assert_eq!(encode_jongseong('').unwrap(), vec![decode_unicode('')]);
        assert_eq!(encode_jongseong('').unwrap(), vec![decode_unicode('')]);
        assert_eq!(encode_jongseong('').unwrap(), vec![decode_unicode('')]);
        assert_eq!(encode_jongseong('').unwrap(), vec![decode_unicode('')]);
        assert_eq!(encode_jongseong('').unwrap(), vec![decode_unicode('')]);
        assert_eq!(encode_jongseong('').unwrap(), vec![decode_unicode('')]);
        assert_eq!(encode_jongseong('').unwrap(), vec![decode_unicode('')]);
        assert_eq!(encode_jongseong('').unwrap(), vec![decode_unicode('')]);
        assert_eq!(encode_jongseong('').unwrap(), vec![decode_unicode('')]);
        assert_eq!(encode_jongseong('').unwrap(), vec![decode_unicode('')]);
        assert_eq!(encode_jongseong('').unwrap(), vec![decode_unicode('')]);
        assert_eq!(encode_jongseong('').unwrap(), vec![decode_unicode('')]);
        assert_eq!(encode_jongseong('').unwrap(), vec![decode_unicode('')]);
        assert_eq!(encode_jongseong('').unwrap(), vec![decode_unicode('')]);
    }
}