web: create implement_email! macro

This commit is contained in:
Bill Thiede 2023-11-27 17:16:57 -08:00
parent 48466808d3
commit e0fbb0253e

View File

@ -998,30 +998,21 @@ impl<T: Email> Email for &'_ T {
} }
} }
impl Email for ShowThreadQueryThreadMessagesCc { macro_rules! implement_email {
fn name(&self) -> Option<&str> { ( $t:ty ) => {
self.name.as_deref() impl Email for $t {
}
fn addr(&self) -> Option<&str> {
self.addr.as_deref()
}
}
impl Email for ShowThreadQueryThreadMessagesFrom {
fn name(&self) -> Option<&str> {
self.name.as_deref()
}
fn addr(&self) -> Option<&str> {
self.addr.as_deref()
}
}
impl Email for ShowThreadQueryThreadMessagesTo {
fn name(&self) -> Option<&str> { fn name(&self) -> Option<&str> {
self.name.as_deref() self.name.as_deref()
} }
fn addr(&self) -> Option<&str> { fn addr(&self) -> Option<&str> {
self.addr.as_deref() self.addr.as_deref()
} }
}
};
} }
implement_email!(ShowThreadQueryThreadMessagesTo);
implement_email!(ShowThreadQueryThreadMessagesCc);
implement_email!(ShowThreadQueryThreadMessagesFrom);
fn view_address(email: impl Email) -> Node<Msg> { fn view_address(email: impl Email) -> Node<Msg> {
span![ span![