use activitystreams_traits::Link;
pub mod kind;
pub mod properties;
use self::kind::*;
use self::properties::*;
pub trait LinkExt: Link {
fn props(&self) -> &LinkProperties;
fn props_mut(&mut self) -> &mut LinkProperties;
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct Mention {
#[serde(rename = "type")]
kind: MentionType,
#[serde(flatten)]
pub link_props: LinkProperties,
}
impl Link for Mention {}
impl LinkExt for Mention {
fn props(&self) -> &LinkProperties {
&self.link_props
}
fn props_mut(&mut self) -> &mut LinkProperties {
&mut self.link_props
}
}