messaging_api_line/models/
flex_span.rs

1/*
2 * LINE Messaging API
3 *
4 * This document describes LINE Messaging API.
5 *
6 * The version of the OpenAPI document: 0.0.1
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct FlexSpan {
16    #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
17    pub r#type: Option<String>,
18    #[serde(rename = "text", skip_serializing_if = "Option::is_none")]
19    pub text: Option<String>,
20    #[serde(rename = "size", skip_serializing_if = "Option::is_none")]
21    pub size: Option<String>,
22    #[serde(rename = "color", skip_serializing_if = "Option::is_none")]
23    pub color: Option<String>,
24    #[serde(rename = "weight", skip_serializing_if = "Option::is_none")]
25    pub weight: Option<Weight>,
26    #[serde(rename = "style", skip_serializing_if = "Option::is_none")]
27    pub style: Option<Style>,
28    #[serde(rename = "decoration", skip_serializing_if = "Option::is_none")]
29    pub decoration: Option<Decoration>,
30}
31
32impl FlexSpan {
33    pub fn new(r#type: String) -> FlexSpan {
34        FlexSpan {
35            r#type: Some(r#type),
36            text: None,
37            size: None,
38            color: None,
39            weight: None,
40            style: None,
41            decoration: None,
42        }
43    }
44}
45///
46#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
47pub enum Weight {
48    #[serde(rename = "regular")]
49    Regular,
50    #[serde(rename = "bold")]
51    Bold,
52}
53
54impl Default for Weight {
55    fn default() -> Weight {
56        Self::Regular
57    }
58}
59///
60#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
61pub enum Style {
62    #[serde(rename = "normal")]
63    Normal,
64    #[serde(rename = "italic")]
65    Italic,
66}
67
68impl Default for Style {
69    fn default() -> Style {
70        Self::Normal
71    }
72}
73///
74#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
75pub enum Decoration {
76    #[serde(rename = "none")]
77    None,
78    #[serde(rename = "underline")]
79    Underline,
80    #[serde(rename = "line-through")]
81    LineThrough,
82}
83
84impl Default for Decoration {
85    fn default() -> Decoration {
86        Self::None
87    }
88}