From 02e91d8b9aee3b1815c3ad86c506c0f2cc27741a Mon Sep 17 00:00:00 2001 From: Bunny Bites Date: Sat, 4 Nov 2023 21:50:11 +0530 Subject: [PATCH] add get_parsed_values function --- packages/rink/src/hooks.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/packages/rink/src/hooks.rs b/packages/rink/src/hooks.rs index f8c4500d2..a78194753 100644 --- a/packages/rink/src/hooks.rs +++ b/packages/rink/src/hooks.rs @@ -74,6 +74,29 @@ impl FormData { files: None, } } + + // ***** function to parse the 'values' to make it ready to use******* + // e.g - self.values = { username: ["rust"], password: ["dioxus"]} + // what we need it to be: { username: "rust", password: "dioxus"} + pub fn get_parsed_values(&self) -> Option> { + if (self.values.is_empty()) { + return None; + } + + let raw_values = self.values.clone(); + + let mut parsed_values: HashMap = HashMap::new(); + + for (fieldname, values) in raw_values.into_iter() { + // convert array of string value to string + // eg - ["rust", "javascript"] => "rust, javascript" + let prepared_value = values.join(", "); + + parsed_values.insert(fieldname, prepared_value); + } + + Some(parsed_values) + } } #[derive(Clone, Debug, PartialEq)]