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}