use syn::{Expr, Ident, LitStr, Type}; mod parse; mod generate; pub use generate::form_impl; #[derive(Debug)] pub struct ParsedOnSubmit { inputs: Vec, block: Expr, } #[derive(Debug)] pub enum ParsedChild { Input { name: Ident, rust_type: Type, html_type: LitStr, label: LitStr, }, Select { name: Ident, label: LitStr, rust_type: Type, options: SelectOptions, }, } #[derive(Debug)] pub struct SelectOptions(Vec<(LitStr, Expr)>); #[derive(Debug)] pub struct ParsedInput { on_submit: ParsedOnSubmit, children: Vec, }