2018-05-12 05:39:47 +00:00
|
|
|
use serde::{de::DeserializeOwned, ser::Serialize};
|
2018-05-12 05:31:33 +00:00
|
|
|
|
|
|
|
mod kind;
|
|
|
|
mod properties;
|
|
|
|
pub use self::kind::*;
|
|
|
|
pub use self::properties::*;
|
|
|
|
|
2018-05-12 05:39:47 +00:00
|
|
|
pub trait Link: DeserializeOwned + Serialize {}
|
2018-05-12 05:31:33 +00:00
|
|
|
|
|
|
|
#[derive(Clone, Debug, Serialize, Deserialize)]
|
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct Mention {
|
|
|
|
#[serde(rename = "type")]
|
|
|
|
kind: MentionType,
|
|
|
|
#[serde(flatten)]
|
|
|
|
pub link_props: LinkProperties,
|
|
|
|
}
|
|
|
|
|
|
|
|
impl Link for Mention {}
|