simple_slack_gen 0.1.0

Rust API Client
Documentation
#[allow(unused)]
pub fn parse_json<T>(arg: &str) -> Result<T, String>
where
    T: serde::de::DeserializeOwned,
{
    match serde_json::from_str(arg).map_err(|e| format!("Invalid JSON: {e}")) {
        Ok(val) => Ok(val),
        Err(e) => serde_json::from_str(&format!("\"{arg}\"")).map_err(|_| e),
    }
}
#[allow(unused)]
pub fn parse_upload_file(arg: &str) -> Result<super::upload_file::UploadFile, String> {
    super::upload_file::UploadFile::from_path(arg).map_err(|e| format!("{e}"))
}
#[allow(unused)]
pub fn parse_patch<T>(arg: &str) -> Result<super::patch::Patch<T>, String>
where
    T: serde::de::DeserializeOwned,
{
    if arg == "___undefined___" {
        Ok(super::patch::Patch::Undefined)
    } else if arg == "null" {
        Ok(super::patch::Patch::Null)
    } else {
        let parsed = parse_json::<T>(arg)?;
        Ok(super::patch::Patch::new(parsed))
    }
}
#[allow(unused)]
pub fn parse_patch_upload_file(
    arg: &str,
) -> Result<super::patch::Patch<super::upload_file::UploadFile>, String> {
    if arg == "___undefined___" {
        Ok(super::patch::Patch::Undefined)
    } else if arg == "null" {
        Ok(super::patch::Patch::Null)
    } else {
        let file = parse_upload_file(arg)?;
        Ok(super::patch::Patch::new(file))
    }
}