beemovie/
lib.rs

1mod stuff;
2mod script;
3pub use script::script;
4pub fn sentence(num: i32) -> String {
5    let script = script();
6    let mut split: Vec<&str> = script.split('.').collect();
7    split.retain(|&str| str != ".");
8    split.retain(|&str| str != " .");
9    split.retain(|&str| str != " . ");
10    split.retain(|&str| str != ". ");
11    split.retain(|&str| !str.is_empty());
12    split.retain(|&str| str != " ");
13    let mut vector = Vec::<String>::new();
14    for item in &split {
15        vector.push(item.to_string());
16    }
17    stuff::multiply_sentences(num, vector)
18}
19
20pub fn word(num: i32) -> String {
21    let mut script = script();
22    script = script.replace(&['.', '?', '!', '?', ','][..], "");
23    let mut split: Vec<&str> = script.split(' ').collect();
24    split.retain(|&str| !str.is_empty());
25    let mut vector = Vec::<String>::new();
26    for item in &split {
27        vector.push(item.to_string());
28    }
29    stuff::multiply_words(num, vector)
30}
31
32pub fn paragraph(num: i32) -> String {
33    let script = script();
34    let mut split: Vec<&str> = script.split('.').collect();
35    split.retain(|&str| str != ".");
36    split.retain(|&str| str != " .");
37    split.retain(|&str| str != " . ");
38    split.retain(|&str| str != ". ");
39    split.retain(|&str| !str.is_empty());
40    split.retain(|&str| str != " ");
41    let mut vector = Vec::<String>::new();
42    for item in &split {
43        vector.push(item.to_string());
44    }
45    stuff::paragraph(num, vector)
46}
47
48pub fn version() -> String {
49    "1.0.1".to_string()
50}
51
52#[cfg(test)]
53mod tests {
54    use super::*;
55    #[test]
56    fn test() {
57        sentence(1);
58        script();
59        word(1);
60        paragraph(1);
61    }
62}