docx_rs/types/
style_type.rs1use std::fmt;
2#[cfg(feature = "wasm")]
3use wasm_bindgen::prelude::*;
4
5use super::errors;
6use serde::Serialize;
7use std::str::FromStr;
8
9#[cfg_attr(feature = "wasm", wasm_bindgen)]
10#[derive(Debug, Clone, PartialEq, Serialize, Copy)]
11#[serde(rename_all = "camelCase")]
12pub enum StyleType {
13 Paragraph,
14 Character,
15 Numbering,
16 Table,
17 Unsupported,
18}
19
20impl fmt::Display for StyleType {
21 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
22 match *self {
23 StyleType::Paragraph => write!(f, "paragraph"),
24 StyleType::Character => write!(f, "character"),
25 StyleType::Numbering => write!(f, "numbering"),
26 StyleType::Table => write!(f, "table"),
27 StyleType::Unsupported => write!(f, "unsupported"),
28 }
29 }
30}
31
32impl FromStr for StyleType {
33 type Err = errors::TypeError;
34 fn from_str(s: &str) -> Result<Self, Self::Err> {
35 match s {
36 "paragraph" => Ok(StyleType::Paragraph),
37 "character" => Ok(StyleType::Character),
38 "numbering" => Ok(StyleType::Numbering),
39 "table" => Ok(StyleType::Table),
40 _ => Ok(StyleType::Unsupported),
41 }
42 }
43}