use syn::{Expr, Ident, LitStr, Type}; mod generate; mod parse; pub use generate::form_impl; #[derive(Debug)] pub struct ParsedOnSubmit { inputs: Vec, block: Expr, pub(crate) should_use_move: bool, } #[derive(Debug)] pub enum ParsedChild { Input { name: Ident, rust_type: Type, html_type: LitStr, label: LitStr, reactive: Option, auto_complete: Option, }, Select { name: Ident, label: LitStr, rust_type: Type, options: Expr, // Vec<(String, Uuid)> }, Show { when: Expr, children: Vec, }, } #[derive(Debug)] pub struct ParsedInput { on_submit: ParsedOnSubmit, children: Vec, }