#[cfg(doctest)]
#[doc = include_str!("../README.md")]
struct _ReadMeDocTests;
pub(crate) mod common;
mod de;
mod derive;
mod options;
mod ser;
mod utils;
use de::{DeriveDeserializationGroup, DeriveDeserialize};
use derive::{DeriveError, DeriveMacro, DeriveMacroExt, DeriveResult};
use ser::{DeriveSerializationGroup, DeriveSerialize, DeriveSerializeAttribute};
#[doc = include_str!("./ser/Serialize.md")]
#[proc_macro_derive(Serialize, attributes(xelement, xattribute, xgroup, xvalue))]
pub fn derive_serialize_fn(item: proc_macro::TokenStream) -> proc_macro::TokenStream {
DeriveSerialize::derive(item)
}
#[doc = include_str!("./ser/SerializeAttribute.md")]
#[proc_macro_derive(SerializeAttribute, attributes(xattribute))]
pub fn derive_serialize_attribute_fn(item: proc_macro::TokenStream) -> proc_macro::TokenStream {
DeriveSerializeAttribute::derive(item)
}
#[doc = include_str!("./de/Deserialize.md")]
#[proc_macro_derive(Deserialize, attributes(xelement, xattribute, xgroup, xvalue))]
pub fn derive_deserialize_fn(item: proc_macro::TokenStream) -> proc_macro::TokenStream {
DeriveDeserialize::derive(item)
}
#[doc = include_str!("./ser/SerializationGroup.md")]
#[proc_macro_derive(SerializationGroup, attributes(xelement, xattribute, xgroup, xvalue))]
pub fn derive_serialization_group_attribute_fn(
item: proc_macro::TokenStream,
) -> proc_macro::TokenStream {
DeriveSerializationGroup::derive(item)
}
#[doc = include_str!("./de/DeserializationGroup.md")]
#[proc_macro_derive(DeserializationGroup, attributes(xelement, xattribute, xgroup, xvalue))]
pub fn derive_deserialization_group_fn(item: proc_macro::TokenStream) -> proc_macro::TokenStream {
DeriveDeserializationGroup::derive(item)
}