rusty_gql/
variables.rs

1use std::collections::BTreeMap;
2
3use serde::{Deserialize, Serialize};
4
5use crate::GqlValue;
6
7#[derive(Serialize, Clone, Default, Debug)]
8pub struct Variables(pub BTreeMap<String, GqlValue>);
9
10impl<'de> Deserialize<'de> for Variables {
11    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
12    where
13        D: serde::Deserializer<'de>,
14    {
15        Ok(Self(
16            <Option<BTreeMap<String, GqlValue>>>::deserialize(deserializer)?.unwrap_or_default(),
17        ))
18    }
19}