1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#[macro_export]
macro_rules! message {
    ($name:ident: $value:ty: $docs:literal) => {
        git_next_core::newtype!($name: $value: $docs);
        impl actix::prelude::Message for $name {
            type Result = ();
        }
    };
    ($name:ident: $docs:literal) => {
        git_next_core::newtype!($name: $docs);
        impl actix::prelude::Message for $name {
            type Result = ();
        }
    };
    ($name:ident: $value:ty => $result:ty: $docs:literal) => {
        git_next_core::newtype!($name is a $value: $docs);
        impl actix::prelude::Message for $name {
            type Result = $result;
        }
    };
    ($name:ident => $result:ty: $docs:literal) => {
        git_next_core::newtype!($name: $docs);
        impl actix::prelude::Message for $name {
            type Result = $result;
        }
    };
}