From 4c4555e63066b3714877e09017fc77254ab12fa4 Mon Sep 17 00:00:00 2001 From: Ayush <36449128+is-it-ayush@users.noreply.github.com> Date: Wed, 28 Feb 2024 19:08:58 +0530 Subject: [PATCH] release: patch 1.0.1 (#13) * chore: remove debug vals and add enum tests (#10) * chore: add enum tests * chore: remove debug * chore: fix readme (#11) * release: version bump (#12) --- Cargo.lock | 2 +- Cargo.toml | 4 ++-- README.md | 4 ++-- src/deserializer.rs | 11 ----------- src/lib.rs | 9 +++++++++ 5 files changed, 14 insertions(+), 16 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 98e2b21..2fc8086 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -150,7 +150,7 @@ dependencies = [ [[package]] name = "rust-fr" -version = "0.1.0" +version = "1.0.0" dependencies = [ "bitvec", "ciborium", diff --git a/Cargo.toml b/Cargo.toml index d6d518e..bc8cdf0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,12 +1,12 @@ [package] name = "rust-fr" -version = "1.0.0" +version = "1.0.1" edition = "2021" description = "a simple, non-self-describing data-interchange format." repository = "https://github.com/is-it-ayush/rust-fr" license-file = "LICENSE.md" readme = "README.md" -keywords = ["rust", "fr", "data-interchange", "format", "toy"] +keywords = ["rust_fr", "encoding", "data-interchange", "format", "serde"] categories = ["encoding", "data-structures"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/README.md b/README.md index dea058a..7cbb693 100644 --- a/README.md +++ b/README.md @@ -74,9 +74,9 @@ or elsewhere. ### format specification. -- The format is not self-describing. +- The format is non-self-describing. - Primitive types are serialized as is. - - bool: 0 -> false, 1 -> true (1 byte) + - bool: 0 -> false, 1 -> true (1 bit) - i8, i16, i32, i64: as is. - u8, u16, u32, u64: as is. - f32, f64: as is. diff --git a/src/deserializer.rs b/src/deserializer.rs index c550b1e..9957c35 100644 --- a/src/deserializer.rs +++ b/src/deserializer.rs @@ -646,23 +646,17 @@ impl<'de, 'a> MapAccess<'de> for MapDeserializer<'a, 'de> { where K: serde::de::DeserializeSeed<'de>, { - println!("map(): key--start"); // if at end of map; exit if self.deserializer.peek_token(Delimiter::Map)? { - println!("map(): exit"); return Ok(None); } - println!("map(): key--loop"); // make not first; deserialize next key_1 self.first = false; let value = seed.deserialize(&mut *self.deserializer).map(Some)?; - println!("map(): deserialied_key"); if !self.deserializer.peek_token(Delimiter::MapKey)? { return Err(Error::ExpectedDelimiter(Delimiter::MapKey)); } - println!("map(): eating key delimiter"); self.deserializer.eat_token(Delimiter::MapKey)?; - println!("map(): key--end"); Ok(value) } @@ -674,16 +668,11 @@ impl<'de, 'a> MapAccess<'de> for MapDeserializer<'a, 'de> { where V: serde::de::DeserializeSeed<'de>, { - println!("map(): value--start"); - println!("peeking_map_value"); let value = seed.deserialize(&mut *self.deserializer)?; - println!("map(): deserialied_value"); if !self.deserializer.peek_token(Delimiter::MapValue)? { return Err(Error::ExpectedDelimiter(Delimiter::MapValue)); } - println!("map(): eating value delimiter"); self.deserializer.eat_token(Delimiter::MapValue)?; - println!("map(): value--end"); Ok(value) } } diff --git a/src/lib.rs b/src/lib.rs index 8bffdba..58a957b 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -88,6 +88,14 @@ mod tests { c: Option, d: Option, e: Primitives, + f: Vec, + } + + #[derive(Debug, Serialize, Deserialize, PartialEq)] + enum AnEnum { + A(u8), + B { a: u8, b: u16 }, + C, } #[test] @@ -115,6 +123,7 @@ mod tests { l: 'a', m: "hello".to_string(), }, + f: vec![AnEnum::A(1), AnEnum::B { a: 1, b: 2 }, AnEnum::C], }; // Serialize