[yaseenist] Julia :verified_trans: on Nostr: anna npub15s57g…fxszk In this case, it would be part of the public API, which ...
anna (npub1f67…s5qm) npub15s57gd2l4asmta5xzh96zmkltt898cd880zc9aeqwgcclxveagxswfxszk (npub15s5…xszk) In this case, it would be part of the public API, which already uses a Cow to allow the end user to replace the content with owned strings should they want to:
#[derive(Clone, Debug, PartialEq)]
#[cfg_attr(feature = "serde", derive(Serialize))]
pub enum InlineNode<'a> {
ShortcodeEmoji { shortcode: Cow<'a, str> },
UnicodeEmoji { codepoints: Cow<'a, str> },
Bold { children: Vec<InlineNode<'a>> },
Small { children: Vec<InlineNode<'a>> },
Italic { children: Vec<InlineNode<'a>> },
Strike { children: Vec<InlineNode<'a>> },
Code { code: Cow<'a, str> },
Math { formula: Cow<'a, str> },
Mention { user: Cow<'a, str>, host: Option<Cow<'a, str>> },
Hashtag { name: Cow<'a, str> },
Url { url: Cow<'a, str>, brackets: bool },
Link { url: Cow<'a, str>, silent: bool },
Function { name: Cow<'a, str>, arguments: HashMap<&'a str, Option<Cow<'a, str>>>, children: Vec<InlineNode<'a>> },
Plain { content: Cow<'a, str> },
Text { content: Cow<'a, str> },
}
#[derive(Clone, Debug, PartialEq)]
#[cfg_attr(feature = "serde", derive(Serialize))]
pub enum InlineNode<'a> {
ShortcodeEmoji { shortcode: Cow<'a, str> },
UnicodeEmoji { codepoints: Cow<'a, str> },
Bold { children: Vec<InlineNode<'a>> },
Small { children: Vec<InlineNode<'a>> },
Italic { children: Vec<InlineNode<'a>> },
Strike { children: Vec<InlineNode<'a>> },
Code { code: Cow<'a, str> },
Math { formula: Cow<'a, str> },
Mention { user: Cow<'a, str>, host: Option<Cow<'a, str>> },
Hashtag { name: Cow<'a, str> },
Url { url: Cow<'a, str>, brackets: bool },
Link { url: Cow<'a, str>, silent: bool },
Function { name: Cow<'a, str>, arguments: HashMap<&'a str, Option<Cow<'a, str>>>, children: Vec<InlineNode<'a>> },
Plain { content: Cow<'a, str> },
Text { content: Cow<'a, str> },
}