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}