dioxus_table_macro/lib.rs
1mod table;
2
3use darling::FromDeriveInput;
4use proc_macro::TokenStream;
5use quote::quote;
6use syn::parse_macro_input;
7
8#[proc_macro_derive(TableData, attributes(table))]
9pub fn derive(input: TokenStream) -> TokenStream {
10 let input = parse_macro_input!(input as syn::DeriveInput);
11
12 let ast = &input;
13 let table_data = table::TableDataDeriveInput::from_derive_input(&ast).expect("Wrong options");
14 let data = quote!(#table_data);
15 data.into()
16}