From 1b1ea8c42d397e4fc2ab944df9e4bb0f7fdfe838 Mon Sep 17 00:00:00 2001 From: theMackabu Date: Sun, 10 Nov 2024 22:32:48 -0800 Subject: [PATCH] add array commands --- src/modules/parse.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/modules/parse.rs b/src/modules/parse.rs index b668b52..c7a9123 100644 --- a/src/modules/parse.rs +++ b/src/modules/parse.rs @@ -17,3 +17,27 @@ pub mod json { } } } + +pub mod array { + pub fn join(array: &mut rhai::Array) -> String { array.iter().map(|x| x.to_string()).collect::>().join("") } + + pub fn join_separator(array: &mut rhai::Array, separator: &str) -> String { array.iter().map(|x| x.to_string()).collect::>().join(separator) } + + pub fn pad(arr: &mut rhai::Array, count: i64, value: rhai::Dynamic) -> rhai::Array { + let mut new_arr = arr.clone(); + for _ in 0..count { + new_arr.push(value.clone()); + } + new_arr + } +} + +pub mod string { + pub fn repeat(s: &str, count: i64) -> String { + let mut result = String::with_capacity((s.len() as i64 * count) as usize); + for _ in 0..count { + result.push_str(s); + } + result + } +} -- GitLab