docx_reader/types/
hyperlink_type.rs

1use 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}