From ffc29a319f05e0ca98d7cd8a2536fe71556aa368 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Renault?= Date: Mon, 16 Sep 2019 14:22:59 +0200 Subject: [PATCH] feat: Implement De/Serialize on schema --- meilidb-schema/src/lib.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/meilidb-schema/src/lib.rs b/meilidb-schema/src/lib.rs index 6e974594b..7e6fcf4b5 100644 --- a/meilidb-schema/src/lib.rs +++ b/meilidb-schema/src/lib.rs @@ -190,6 +190,23 @@ impl Schema { } } +impl Serialize for Schema { + fn serialize(&self, serializer: S) -> Result + where S: serde::ser::Serializer, + { + self.to_builder().serialize(serializer) + } +} + +impl<'de> Deserialize<'de> for Schema { + fn deserialize(deserializer: D) -> Result + where D: serde::de::Deserializer<'de>, + { + let builder = SchemaBuilder::deserialize(deserializer)?; + Ok(builder.build()) + } +} + #[derive(Serialize, Deserialize)] #[derive(Debug, Copy, Clone, PartialOrd, Ord, PartialEq, Eq, Hash)] pub struct SchemaAttr(pub u16);