xavier_derive/
lib.rs

1use proc_macro::TokenStream;
2
3mod serialize;
4
5mod deserialize;
6
7mod common;
8
9use crate::serialize::proc_macro::impl_xml_serializable;
10
11use crate::deserialize::proc_macro::impl_xml_deserializable;
12
13#[proc_macro_derive(XmlSerializable, attributes(xml, declaration, dtd, pi))]
14pub fn xml_serializable(input: TokenStream) -> TokenStream {
15    impl_xml_serializable(input)
16}
17
18#[proc_macro_derive(XmlDeserializable, attributes(xml))]
19pub fn xml_deserializable(input: TokenStream) -> TokenStream {
20    impl_xml_deserializable(input)
21}
22