docx_reader/types/
hyperlink_type.rs1use serde::Serialize;
2use std::fmt;
3use std::str::FromStr;
4
5use super::errors;
6
7#[derive(Debug, Clone, PartialEq, Serialize)]
8#[serde(rename_all = "camelCase")]
9pub enum HyperlinkType {
10 Anchor,
11 External,
12}
13
14impl fmt::Display for HyperlinkType {
15 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
16 match *self {
17 HyperlinkType::Anchor => write!(f, "anchor"),
18 HyperlinkType::External => write!(f, "external"),
19 }
20 }
21}
22
23impl FromStr for HyperlinkType {
24 type Err = errors::TypeError;
25 fn from_str(s: &str) -> Result<Self, Self::Err> {
26 match s {
27 "anchor" => Ok(HyperlinkType::Anchor),
28 "external" => Ok(HyperlinkType::External),
29 _ => Ok(HyperlinkType::Anchor),
30 }
31 }
32}