osynic_osuapi 0.1.10

High performance, well-structured, extensible Rust osu! API client. Supports both WASM and native environments.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use serde::{Deserialize, Deserializer, Serializer};
use std::sync::{Arc, Mutex};

pub fn serialize_arc_mutex_string<S>(val: &Arc<Mutex<String>>, s: S) -> Result<S::Ok, S::Error>
where
    S: Serializer,
{
    let guard = val.lock().unwrap();
    s.serialize_str(&guard)
}

pub fn deserialize_arc_mutex_string<'de, D>(d: D) -> Result<Arc<Mutex<String>>, D::Error>
where
    D: Deserializer<'de>,
{
    let s = String::deserialize(d)?;
    Ok(Arc::new(Mutex::new(s)))
}