chore: format
This commit is contained in:
parent
4fc0cbc078
commit
5e315db651
3 changed files with 21 additions and 18 deletions
|
@ -1,4 +1,4 @@
|
|||
//! This module translates text
|
||||
//! This module translates text
|
||||
use crate::core;
|
||||
|
||||
/// Encodes text into catspeak using any base up to [`max_base()`]
|
||||
|
@ -104,7 +104,8 @@ pub mod bytes {
|
|||
let mut shortened_alphabet = core::alphabet();
|
||||
shortened_alphabet.truncate(base as usize);
|
||||
for byte in bytes.as_ref() {
|
||||
output += core::num_to_cat(*byte as u32, shortened_alphabet.clone(), char_length).as_str();
|
||||
output +=
|
||||
core::num_to_cat(*byte as u32, shortened_alphabet.clone(), char_length).as_str();
|
||||
output += " ";
|
||||
}
|
||||
return output.trim().to_string();
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
//! This module handles base 4, like the original [Cat2Text](https://github.com/Evelyn3440/Cat2Text); it can translate either english text a-z, or byte arrays (see [`bytes`])
|
||||
use crate::core;
|
||||
use crate::anybase;
|
||||
use crate::core;
|
||||
|
||||
/// Returns the alphabet used by `cat2text::base4`
|
||||
pub fn alphabet() -> Vec<String> {
|
||||
|
@ -14,7 +14,6 @@ pub fn char_length() -> u32 {
|
|||
return 3;
|
||||
}
|
||||
|
||||
|
||||
/// Encodes english text into base 4 catspeak
|
||||
///
|
||||
/// ```
|
||||
|
@ -34,13 +33,13 @@ pub fn encode(text: impl AsRef<str>) -> String {
|
|||
/// assert_eq!("i love cats", decode("meow mreow mrrp; meow mrow meow meow mrow mrow mrrp mrrp mreow meow mrrp mrrp; meow meow mrow meow meow mrrp mrrp mrrp meow mrrp meow mrow".to_string()));
|
||||
/// ```
|
||||
pub fn decode(text: String) -> String {
|
||||
return anybase::decode(text, 4, char_length())
|
||||
return anybase::decode(text, 4, char_length());
|
||||
}
|
||||
|
||||
pub mod bytes {
|
||||
//! This handles encoding and decoding bytes to/from catspeak
|
||||
use crate::anybase;
|
||||
use super::char_length;
|
||||
use crate::anybase;
|
||||
/// Encodes from bytes into catspeak
|
||||
///
|
||||
/// ```
|
||||
|
@ -62,4 +61,4 @@ pub mod bytes {
|
|||
pub fn decode(text: String) -> Vec<u8> {
|
||||
anybase::bytes::decode(text, 4, char_length())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
25
src/core.rs
25
src/core.rs
|
@ -59,7 +59,7 @@ pub fn cat_to_num(text: Vec<String>, alphabet: Vec<String>, char_length: u32) ->
|
|||
}
|
||||
|
||||
/// Splits a word encoded in catspeak every *x* segments
|
||||
///
|
||||
///
|
||||
/// Used for decoding by splitting words apart into letters which can then be decoded individually
|
||||
///
|
||||
/// ```ignore
|
||||
|
@ -81,21 +81,24 @@ pub(crate) fn split_every_x(text: String, x: u32) -> Vec<String> {
|
|||
}
|
||||
|
||||
// trim everything before sending it back
|
||||
output = output.into_iter().map(|item| item.trim().to_string()).collect();
|
||||
output = output
|
||||
.into_iter()
|
||||
.map(|item| item.trim().to_string())
|
||||
.collect();
|
||||
return output;
|
||||
}
|
||||
|
||||
/// Returns all cat sounds in the catspeak alphabet
|
||||
///
|
||||
///
|
||||
/// ```
|
||||
/// use cat2text::core::alphabet;
|
||||
///
|
||||
///
|
||||
/// println!("{:?}", alphabet());
|
||||
/// ```
|
||||
pub fn alphabet() -> Vec<String> {
|
||||
return vec![
|
||||
"meow", "mrrp", "mreow", "mrow", "nya~", "nyaaaa~", "mraow", "mew", "prrp", "mewo",
|
||||
"purrrr", "nya", "miao", "miau", "miauw", "mrow~"
|
||||
"purrrr", "nya", "miao", "miau", "miauw", "mrow~",
|
||||
]
|
||||
.into_iter()
|
||||
.map(|a| a.to_string())
|
||||
|
@ -103,12 +106,12 @@ pub fn alphabet() -> Vec<String> {
|
|||
}
|
||||
|
||||
/// Returns the max base that can be used
|
||||
///
|
||||
///
|
||||
/// For example, if the available alphabet was `["meow", "mrrp", "mreow", "mrow"]`, the max base would be 4
|
||||
///
|
||||
///
|
||||
/// ```
|
||||
/// use cat2text::core::max_base;
|
||||
///
|
||||
///
|
||||
/// println!("{}", max_base());
|
||||
/// ```
|
||||
pub fn max_base() -> u32 {
|
||||
|
@ -116,10 +119,10 @@ pub fn max_base() -> u32 {
|
|||
}
|
||||
|
||||
/// Returns the minimum catspeak words per character needed for this base
|
||||
///
|
||||
///
|
||||
/// ```
|
||||
/// use cat2text::core::char_length;
|
||||
///
|
||||
///
|
||||
/// let base = 10;
|
||||
/// assert_eq!(char_length(base), 2)
|
||||
/// ```
|
||||
|
@ -131,4 +134,4 @@ pub fn char_length(base: u32) -> u32 {
|
|||
}
|
||||
}
|
||||
return u32::MAX;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue