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