1use js_sys::{Array, Function};
2
3use crate::prelude::*;
4
5pub fn newid() -> Uuid {
6 Uuid::from_str(&interop::get_uuid()).unwrap()
7}
8
9pub fn to_json<T: Serialize>(value: &T) -> Result<String, WebUIError> {
10 let json = serde_json::ser::to_string_pretty(value)?;
11 Ok(json)
12}
13
14pub fn from_json<T: DeserializeOwned>(value: &str) -> Result<T, WebUIError> {
15 let instance = serde_json::from_str(value)?;
16 Ok(instance)
17}
18
19pub fn parse_uuid(value: &str) -> Result<Uuid, WebUIError> {
20 match Uuid::parse_str(value) {
21 Ok(uuid) => Ok(uuid),
22 Err(_) => Err(WebUIError::Invalid(String::from("Invalid UUID"))),
23 }
24}