mod component_macro;
mod island_macro;
mod js_macro;
mod layout_macro;
mod load_macro;
mod middleware_macro;
mod rs2js;
mod server_macro;
mod submit_macro;
mod view_macro;
use proc_macro::TokenStream;
#[proc_macro]
pub fn view(input: TokenStream) -> TokenStream {
view_macro::expand(input.into()).into()
}
#[proc_macro_attribute]
pub fn component(args: TokenStream, input: TokenStream) -> TokenStream {
component_macro::expand(args.into(), input.into()).into()
}
#[proc_macro_attribute]
pub fn server(args: TokenStream, input: TokenStream) -> TokenStream {
server_macro::expand(args.into(), input.into()).into()
}
#[proc_macro_attribute]
pub fn island(args: TokenStream, input: TokenStream) -> TokenStream {
island_macro::expand(args.into(), input.into()).into()
}
#[proc_macro_attribute]
pub fn load(args: TokenStream, input: TokenStream) -> TokenStream {
load_macro::expand(args.into(), input.into()).into()
}
#[proc_macro_attribute]
pub fn submit(args: TokenStream, input: TokenStream) -> TokenStream {
submit_macro::expand(args.into(), input.into()).into()
}
#[proc_macro_attribute]
pub fn layout(args: TokenStream, input: TokenStream) -> TokenStream {
layout_macro::expand(args.into(), input.into()).into()
}
#[proc_macro_attribute]
pub fn middleware(args: TokenStream, input: TokenStream) -> TokenStream {
middleware_macro::expand(args.into(), input.into()).into()
}
#[proc_macro]
pub fn js(input: TokenStream) -> TokenStream {
js_macro::expand(input.into()).into()
}