Macro define_props_advanced

Source
macro_rules! define_props_advanced {
    (
        $(#[$struct_meta:meta])*
        $vis:vis struct $name:ident {
            $(
                $(#[required])?
                $(#[$field_meta:meta])*
                $field_vis:vis $field_name:ident: $field_type:ty
                $(= $default:expr)?
            ),*
            $(,)?
        }
    ) => { ... };
    (@field_init $field_name:ident #[required] = $default:expr) => { ... };
    (@field_init $field_name:ident #[required]) => { ... };
    (@field_init $field_name:ident = $default:expr) => { ... };
    (@field_init $field_name:ident) => { ... };
    (@is_required $field_name:ident #[required]) => { ... };
    (@is_required $field_name:ident) => { ... };
}
Expand description

Advanced props builder with validation and required field support