/rust/registry/src/index.crates.io-6f17d22bba15001f/async-graphql-value-7.0.15/src/extensions.rs
Line | Count | Source (jump to first uncovered line) |
1 | | use std::{ |
2 | | collections::HashMap, |
3 | | ops::{Deref, DerefMut}, |
4 | | }; |
5 | | |
6 | | use serde::{Deserialize, Deserializer, Serialize}; |
7 | | |
8 | | /// Extensions of a query. |
9 | | #[derive(Debug, Clone, Default, Serialize, Eq, PartialEq)] |
10 | | #[serde(transparent)] |
11 | | pub struct Extensions(pub HashMap<String, crate::ConstValue>); |
12 | | |
13 | | impl<'de> Deserialize<'de> for Extensions { |
14 | 0 | fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> { |
15 | 0 | Ok(Self( |
16 | 0 | <Option<HashMap<_, _>>>::deserialize(deserializer)?.unwrap_or_default(), |
17 | | )) |
18 | 0 | } Unexecuted instantiation: <async_graphql_value::extensions::Extensions as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer<serde_json::read::StrRead>> Unexecuted instantiation: <async_graphql_value::extensions::Extensions as serde::de::Deserialize>::deserialize::<_> |
19 | | } |
20 | | |
21 | | impl Deref for Extensions { |
22 | | type Target = HashMap<String, crate::ConstValue>; |
23 | | |
24 | 0 | fn deref(&self) -> &Self::Target { |
25 | 0 | &self.0 |
26 | 0 | } |
27 | | } |
28 | | |
29 | | impl DerefMut for Extensions { |
30 | 0 | fn deref_mut(&mut self) -> &mut Self::Target { |
31 | 0 | &mut self.0 |
32 | 0 | } |
33 | | } |