braillify 2.0.0

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

pub static CHOSEONG_MAP: phf::Map<char, u8> = phf_map! {
    '' => decode_unicode(''),
    '' => decode_unicode(''),
    '' => decode_unicode(''),
    '' => decode_unicode(''),
    '' => decode_unicode(''),
    '' => decode_unicode(''),
    '' => decode_unicode(''),
    // 'ㅇ' => decode_unicode(''), // skip ㅇ of choseong
    '' => decode_unicode(''),
    '' => decode_unicode(''),
    '' => decode_unicode(''),
    '' => decode_unicode(''),
    '' => decode_unicode(''),
    '' => decode_unicode(''),
};

pub fn encode_choseong(text: char) -> Result<u8, String> {
    if let Some(code) = CHOSEONG_MAP.get(&text) {
        Ok(*code)
    } else {
        Err("Invalid Korean choseong character".to_string())
    }
}

#[cfg(test)]
mod test {
    use crate::unicode::decode_unicode;

    use super::*;
    #[test]
    pub fn test_encode_choseong() {
        assert_eq!(encode_choseong('').unwrap(), decode_unicode(''));
        assert_eq!(encode_choseong('').unwrap(), decode_unicode(''));
        assert_eq!(encode_choseong('').unwrap(), decode_unicode(''));
        assert_eq!(encode_choseong('').unwrap(), decode_unicode(''));
        assert_eq!(encode_choseong('').unwrap(), decode_unicode(''));
        assert_eq!(encode_choseong('').unwrap(), decode_unicode(''));
        assert_eq!(encode_choseong('').unwrap(), decode_unicode(''));
        assert_eq!(encode_choseong('').unwrap(), decode_unicode(''));
        assert_eq!(encode_choseong('').unwrap(), decode_unicode(''));
        assert_eq!(encode_choseong('').unwrap(), decode_unicode(''));
        assert_eq!(encode_choseong('').unwrap(), decode_unicode(''));
        assert_eq!(encode_choseong('').unwrap(), decode_unicode(''));
        assert_eq!(encode_choseong('').unwrap(), decode_unicode(''));
    }
}