gesha_macros/
lib.rs

1mod impl_enum_from;
2mod impl_enum_serde;
3
4#[macro_export]
5macro_rules! impl_enum {
6    (
7        impl Serialize,
8        impl Deserialize,
9        $enum_name:ident $tree:tt,
10    ) => {
11        $crate::impl_enum_serde!($enum_name $tree);
12    };
13    (
14        impl From<$enum_name:ident>,
15        impl TryFrom<$( $type:tt ),*>,
16        $error_type:ty,
17        $pairs:tt,
18    ) => {
19        $crate::impl_enum_from!(
20            $enum_name,
21            $error_type,
22            [ $( $type ),* ],
23            $pairs,
24        );
25    };
26}