macro_rules! state_enum {
(
$(#[$meta:meta])*
$vis:vis enum $name:ident {
$(
$(#[$variant_meta:meta])*
$variant:ident
),* $(,)?
}
$(final: [$($final:ident),* $(,)?])?
$(error: [$($error:ident),* $(,)?])?
) => { ... };
}Expand description
Generate State trait implementation for simple enums.
ยงExample
use mindset::state_enum;
state_enum! {
pub enum WorkflowState {
Start,
Processing,
Done,
Failed,
}
final: [Done, Failed]
error: [Failed]
}