diff --git a/src/lib.rs b/src/lib.rs index 401cc576..04f494c6 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -79,8 +79,6 @@ mod parser; pub mod plugin; mod result; mod scope; -#[cfg(feature = "serde")] -mod serde_impl; mod stdlib; mod syntax; mod token; @@ -168,13 +166,8 @@ pub use module::ModuleResolver; #[cfg(not(feature = "no_module"))] pub use module::resolvers as module_resolvers; -/// _(SERDE)_ Serialization and deserialization support for [`serde`](https://crates.io/crates/serde). -/// Exported under the `serde` feature. #[cfg(feature = "serde")] -pub mod serde { - pub use super::serde_impl::de::from_dynamic; - pub use super::serde_impl::ser::to_dynamic; -} +pub mod serde; #[cfg(not(feature = "no_optimize"))] pub use optimize::OptimizationLevel; diff --git a/src/serde_impl/de.rs b/src/serde/de.rs similarity index 99% rename from src/serde_impl/de.rs rename to src/serde/de.rs index f852fb89..80ba7555 100644 --- a/src/serde_impl/de.rs +++ b/src/serde/de.rs @@ -17,7 +17,7 @@ use crate::Map; /// /// The reference is necessary because the deserialized type may hold references /// (especially `&str`) to the source [`Dynamic`][crate::Dynamic]. -pub struct DynamicDeserializer<'a> { +struct DynamicDeserializer<'a> { value: &'a Dynamic, } diff --git a/src/serde_impl/deserialize.rs b/src/serde/deserialize.rs similarity index 100% rename from src/serde_impl/deserialize.rs rename to src/serde/deserialize.rs diff --git a/src/serde_impl/metadata.rs b/src/serde/metadata.rs similarity index 100% rename from src/serde_impl/metadata.rs rename to src/serde/metadata.rs diff --git a/src/serde/mod.rs b/src/serde/mod.rs new file mode 100644 index 00000000..a3819556 --- /dev/null +++ b/src/serde/mod.rs @@ -0,0 +1,14 @@ +//! _(SERDE)_ Serialization and deserialization support for [`serde`](https://crates.io/crates/serde). +//! Exported under the `serde` feature only. + +mod de; +mod deserialize; +mod ser; +mod serialize; +mod str; + +#[cfg(feature = "metadata")] +mod metadata; + +pub use de::from_dynamic; +pub use ser::to_dynamic; diff --git a/src/serde_impl/ser.rs b/src/serde/ser.rs similarity index 99% rename from src/serde_impl/ser.rs rename to src/serde/ser.rs index 167a59ef..a833c3b4 100644 --- a/src/serde_impl/ser.rs +++ b/src/serde/ser.rs @@ -14,7 +14,7 @@ use crate::Array; use crate::Map; /// Serializer for [`Dynamic`][crate::Dynamic] which is kept as a reference. -pub struct DynamicSerializer { +struct DynamicSerializer { /// Buffer to hold a temporary key. _key: Dynamic, /// Buffer to hold a temporary value. @@ -639,7 +639,7 @@ impl SerializeStruct for DynamicSerializer { } #[cfg(not(any(feature = "no_object", feature = "no_index")))] -pub struct TupleVariantSerializer { +struct TupleVariantSerializer { variant: &'static str, array: Array, } @@ -664,7 +664,7 @@ impl serde::ser::SerializeTupleVariant for TupleVariantSerializer { } #[cfg(not(feature = "no_object"))] -pub struct StructVariantSerializer { +struct StructVariantSerializer { variant: &'static str, map: Map, } diff --git a/src/serde_impl/serialize.rs b/src/serde/serialize.rs similarity index 100% rename from src/serde_impl/serialize.rs rename to src/serde/serialize.rs diff --git a/src/serde_impl/str.rs b/src/serde/str.rs similarity index 100% rename from src/serde_impl/str.rs rename to src/serde/str.rs diff --git a/src/serde_impl/mod.rs b/src/serde_impl/mod.rs deleted file mode 100644 index 1c90abbf..00000000 --- a/src/serde_impl/mod.rs +++ /dev/null @@ -1,10 +0,0 @@ -//! Helper module defining serialization/deserialization support for [`serde`]. - -pub mod de; -mod deserialize; -pub mod ser; -mod serialize; -mod str; - -#[cfg(feature = "metadata")] -pub mod metadata;