prompt_graph_core/utils/
mod.rs1use crate::proto::serialized_value::Val;
2use crate::proto::SerializedValue;
3
4
5pub mod wasm_error;
6
7pub fn uppercase_first_letter(s: &str) -> String {
8 let mut c = s.chars();
9 match c.next() {
10 None => String::new(),
11 Some(f) => f.to_uppercase().collect::<String>() + c.as_str(),
12 }
13}
14
15pub fn lowercase_first_letter(s: &str) -> String {
16 let mut c = s.chars();
17 match c.next() {
18 None => String::new(),
19 Some(f) => f.to_lowercase().collect::<String>() + c.as_str(),
20 }
21}
22
23
24pub fn serialized_value_to_string(v: &SerializedValue) -> String {
25 if let Some(v) = &v.val {
26 match v {
27 Val::Float(f) => { f.to_string() }
28 Val::Number(f) => { f.to_string() }
29 Val::String(s) => { s.to_string()}
30 Val::Boolean(b) => { b.to_string()}
31 Val::Array(a) => {
32 a.values.iter()
33 .map(|v| serialized_value_to_string(&v.clone()))
34 .collect::<Vec<String>>().join(", ")
35 }
36 Val::Object(o) => {
37 o.values.iter()
38 .map(|(k, v)| format!("{}: {}", k, serialized_value_to_string(&v.clone())))
39 .collect::<Vec<String>>().join(", ")
40 }
41 }
42 } else {
43 String::from("None")
44 }
45
46}