data_classes_derive/
lib.rs1use proc_macro::TokenStream;
2
3mod r#impl {
4 pub mod data;
5 pub mod default;
6 pub mod init_struct;
7 pub mod keyval;
8}
9
10#[proc_macro]
11pub fn init_struct(item: TokenStream) -> TokenStream {
12 r#impl::init_struct::main(item)
13}
14
15#[proc_macro_attribute]
16pub fn data(attr: TokenStream, item: TokenStream) -> TokenStream {
17 r#impl::data::main(attr, item)
18}
19
20#[proc_macro_attribute]
21pub fn key(attr: TokenStream, item: TokenStream) -> TokenStream {
22 r#impl::keyval::key(attr, item)
23}
24
25#[proc_macro_attribute]
26pub fn val(attr: TokenStream, item: TokenStream) -> TokenStream {
27 r#impl::keyval::val(attr, item)
28}
29
30#[proc_macro_attribute]
31pub fn default(attr: TokenStream, item: TokenStream) -> TokenStream {
32 r#impl::default::main(attr, item)
33}