leptos_workers_macro/
lib.rs1#![warn(clippy::pedantic)]
2#![allow(clippy::unnecessary_wraps)]
3#![allow(clippy::too_many_arguments)]
4
5mod v2;
6
7use crate::v2::analyze::analyze;
8use crate::v2::codegen::codegen;
9use crate::v2::lower::lower;
10use crate::v2::parse::parse;
11use proc_macro_error::proc_macro_error;
12
13extern crate proc_macro2;
14
15#[proc_macro_error]
16#[proc_macro_attribute]
17pub fn worker(
18 args: proc_macro::TokenStream,
19 item: proc_macro::TokenStream,
20) -> proc_macro::TokenStream {
21 let ast = parse(&args.into(), item.into());
22 let model = analyze(ast);
23 let ir = lower(&model);
24 let rust = codegen(ir);
25 rust.into()
26}