alpaca_api_client 0.7.0

Unofficial Alpaca API Client
Documentation
use std::collections::HashMap;

use serde::{Deserialize, Deserializer};

pub fn deserialize_to_string_map<'de, D>(
    deserializer: D,
) -> Result<Option<HashMap<String, String>>, D::Error>
where
    D: Deserializer<'de>,
{
    let map: Option<HashMap<String, serde_json::Value>> = Option::deserialize(deserializer)?;
    if let Some(map) = map {
        let transformed_map = map
            .into_iter()
            .map(|(key, value)| (key, value.to_string().trim_matches('"').to_string()))
            .collect();
        Ok(Some(transformed_map))
    } else {
        Ok(None)
    }
}