From 5ae2f9040324baaeaed3f91a84662425cb6186dc Mon Sep 17 00:00:00 2001 From: troido Date: Thu, 24 Sep 2020 17:12:39 +0200 Subject: more serde (de)serialisation --- src/sprite.rs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'src/sprite.rs') 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(&self, serializer: S) -> Result - where - S: Serializer, - { - serializer.serialize_str(self.name.as_str()) - } + fn serialize(&self, serializer: S) -> Result + where S: Serializer { + serializer.serialize_str(self.name.as_str()) + } +} +impl<'de> Deserialize<'de> for Sprite { + fn deserialize(deserializer: D) -> Result + where D: Deserializer<'de> { + Ok(Self{name: String::deserialize(deserializer)?}) + } } -- cgit