pub(crate) mod ast;
pub(crate) mod attr;
pub(crate) mod impls;
pub(crate) mod kw;
use self::ast::ModelAst;
use proc_macro::TokenStream;
use syn::parse_macro_input;
#[proc_macro]
pub fn model_config(input: TokenStream) -> TokenStream {
let data = parse_macro_input! { input as ast::ConfigAst };
let res = impls::impl_model_config(data);
res.into()
}
#[proc_macro]
pub fn model(input: TokenStream) -> TokenStream {
let data = parse_macro_input! { input as ModelAst };
let res = impls::impl_model(data);
res.into()
}
#[proc_macro]
pub fn nn(input: TokenStream) -> TokenStream {
let data = parse_macro_input!(input as ModelAst);
let res = impls::impl_model(data);
res.into()
}