insight_line/models/
age_tile.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct AgeTile {
16 #[serde(rename = "age", skip_serializing_if = "Option::is_none")]
18 pub age: Option<Age>,
19 #[serde(rename = "percentage", skip_serializing_if = "Option::is_none")]
21 pub percentage: Option<f64>,
22}
23
24impl AgeTile {
25 pub fn new() -> AgeTile {
26 AgeTile {
27 age: None,
28 percentage: None,
29 }
30 }
31}
32#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
34pub enum Age {
35 #[serde(rename = "from0to14")]
36 From0to14,
37 #[serde(rename = "from15to19")]
38 From15to19,
39 #[serde(rename = "from20to24")]
40 From20to24,
41 #[serde(rename = "from25to29")]
42 From25to29,
43 #[serde(rename = "from30to34")]
44 From30to34,
45 #[serde(rename = "from35to39")]
46 From35to39,
47 #[serde(rename = "from40to44")]
48 From40to44,
49 #[serde(rename = "from45to49")]
50 From45to49,
51 #[serde(rename = "from50")]
52 From50,
53 #[serde(rename = "from50to54")]
54 From50to54,
55 #[serde(rename = "from55to59")]
56 From55to59,
57 #[serde(rename = "from60to64")]
58 From60to64,
59 #[serde(rename = "from65to69")]
60 From65to69,
61 #[serde(rename = "from70")]
62 From70,
63 #[serde(rename = "unknown")]
64 Unknown,
65}
66
67impl Default for Age {
68 fn default() -> Age {
69 Self::From0to14
70 }
71}
72