From e49f7ea622b611a0d5538bb4ee586416c095858c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?James=20=E2=80=98Twey=E2=80=99=20Kay?= Date: Tue, 14 Nov 2023 17:36:52 +0000 Subject: [PATCH] Expose `Serializer` and `Deserializer` directly Allows external projects to plug BCS into libraries that expect a `serde` `Serializer` or `Deserializer` implementation. --- src/de.rs | 4 ++-- src/lib.rs | 4 ++-- src/ser.rs | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/de.rs b/src/de.rs index 88e700c..154c8b3 100644 --- a/src/de.rs +++ b/src/de.rs @@ -140,7 +140,7 @@ where } /// Deserialization implementation for BCS -struct Deserializer { +pub struct Deserializer { input: R, max_remaining_depth: usize, } @@ -157,7 +157,7 @@ impl Deserializer> { impl Deserializer { /// Creates a new `Deserializer` which will be deserializing the provided /// input. - fn new(input: R, max_remaining_depth: usize) -> Self { + pub fn new(input: R, max_remaining_depth: usize) -> Self { Deserializer { input, max_remaining_depth, diff --git a/src/lib.rs b/src/lib.rs index 03925d6..08fed22 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -316,10 +316,10 @@ pub const MAX_CONTAINER_DEPTH: usize = 500; pub use de::{ from_bytes, from_bytes_seed, from_bytes_seed_with_limit, from_bytes_with_limit, from_reader, - from_reader_seed, from_reader_seed_with_limit, from_reader_with_limit, + from_reader_seed, from_reader_seed_with_limit, from_reader_with_limit, Deserializer, }; pub use error::{Error, Result}; pub use ser::{ is_human_readable, serialize_into, serialize_into_with_limit, serialized_size, - serialized_size_with_limit, to_bytes, to_bytes_with_limit, + serialized_size_with_limit, to_bytes, to_bytes_with_limit, Serializer, }; diff --git a/src/ser.rs b/src/ser.rs index 82e9d21..bca4385 100644 --- a/src/ser.rs +++ b/src/ser.rs @@ -142,7 +142,7 @@ pub fn is_human_readable() -> bool { } /// Serialization implementation for BCS -struct Serializer { +pub struct Serializer { output: W, max_remaining_depth: usize, } @@ -152,7 +152,7 @@ where W: std::io::Write, { /// Creates a new `Serializer` which will emit BCS. - fn new(output: W, max_remaining_depth: usize) -> Self { + pub fn new(output: W, max_remaining_depth: usize) -> Self { Self { output, max_remaining_depth,