summaryrefslogtreecommitdiff
path: root/src/sprite.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/sprite.rs')
-rw-r--r--src/sprite.rs18
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)?})
+ }
}