diff options
| author | troido <troido@protonmail.com> | 2020-09-24 17:12:39 +0200 |
|---|---|---|
| committer | troido <troido@protonmail.com> | 2020-09-24 17:12:39 +0200 |
| commit | 5ae2f9040324baaeaed3f91a84662425cb6186dc (patch) | |
| tree | 6b76ecbe4961ef11bb48c56d752f7586a1b74212 /src/sprite.rs | |
| parent | e6476e7afff0234d67ebce7c74e4c91c31d87755 (diff) | |
more serde (de)serialisation
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)?}) + } } |
