diff options
Diffstat (limited to 'src/sprite.rs')
| -rw-r--r-- | src/sprite.rs | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/sprite.rs b/src/sprite.rs index 0e08b86..d5f65a0 100644 --- a/src/sprite.rs +++ b/src/sprite.rs @@ -1,5 +1,5 @@ -use serde::{Serialize, Serializer}; +use serde::{Serialize, Serializer, Deserialize, Deserializer}; #[derive(Debug, Clone, PartialEq, Hash, Eq)] pub struct Sprite { @@ -7,10 +7,14 @@ pub struct Sprite { } impl Serialize for Sprite { - fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> - where - S: Serializer, - { - serializer.serialize_str(self.name.as_str()) - } + fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> + where S: Serializer { + serializer.serialize_str(self.name.as_str()) + } +} +impl<'de> Deserialize<'de> for Sprite { + fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> + where D: Deserializer<'de> { + Ok(Self{name: String::deserialize(deserializer)?}) + } } |
