use std::fmt;
#[derive(Debug, PartialEq, Clone, Eq, Hash)]
pub enum Bridge {
B1,
B2,
B3,
B4,
B5,
B6,
B7,
B8,
B9,
B10,
B11,
B12,
B13,
B14,
B15,
B16,
B17,
B18,
B19,
B20,
B21,
B22,
B23,
B24,
B25,
B26,
B27,
B28,
B29,
B30,
B31,
B32,
B33,
B34,
B35,
B36,
B37,
B38,
B39,
B40,
B41,
B42,
B43,
B44,
B45,
B46,
B47,
B48,
B49,
B50,
B51,
B52,
B53,
B54,
B55,
B56,
B57,
B58,
B59,
B60,
B61,
B62,
B63,
B64,
B65,
B66,
B67,
B68,
B69,
B70,
B71,
B72,
B73,
B74,
B75,
B76,
B77,
B78,
B79,
B80,
B81,
B82,
B83,
B84,
B85,
B86,
B87,
B88,
B89,
B90,
B91,
B92,
B93,
B94,
B95,
B96,
B97,
B98,
B99,
}
impl Bridge {
pub fn new(value: u8) -> Option<Self> {
Some(match value {
1 => Self::B1,
2 => Self::B2,
3 => Self::B3,
4 => Self::B4,
5 => Self::B5,
6 => Self::B6,
7 => Self::B7,
8 => Self::B8,
9 => Self::B9,
10 => Self::B10,
11 => Self::B11,
12 => Self::B12,
13 => Self::B13,
14 => Self::B14,
15 => Self::B15,
16 => Self::B16,
17 => Self::B17,
18 => Self::B18,
19 => Self::B19,
20 => Self::B20,
21 => Self::B21,
22 => Self::B22,
23 => Self::B23,
24 => Self::B24,
25 => Self::B25,
26 => Self::B26,
27 => Self::B27,
28 => Self::B28,
29 => Self::B29,
30 => Self::B30,
31 => Self::B31,
32 => Self::B32,
33 => Self::B33,
34 => Self::B34,
35 => Self::B35,
36 => Self::B36,
37 => Self::B37,
38 => Self::B38,
39 => Self::B39,
40 => Self::B40,
41 => Self::B41,
42 => Self::B42,
43 => Self::B43,
44 => Self::B44,
45 => Self::B45,
46 => Self::B46,
47 => Self::B47,
48 => Self::B48,
49 => Self::B49,
50 => Self::B50,
51 => Self::B51,
52 => Self::B52,
53 => Self::B53,
54 => Self::B54,
55 => Self::B55,
56 => Self::B56,
57 => Self::B57,
58 => Self::B58,
59 => Self::B59,
60 => Self::B60,
61 => Self::B61,
62 => Self::B62,
63 => Self::B63,
64 => Self::B64,
65 => Self::B65,
66 => Self::B66,
67 => Self::B67,
68 => Self::B68,
69 => Self::B69,
70 => Self::B70,
71 => Self::B71,
72 => Self::B72,
73 => Self::B74,
74 => Self::B74,
75 => Self::B75,
76 => Self::B76,
77 => Self::B77,
78 => Self::B78,
79 => Self::B79,
80 => Self::B80,
81 => Self::B81,
82 => Self::B82,
83 => Self::B83,
84 => Self::B84,
85 => Self::B85,
86 => Self::B86,
87 => Self::B87,
88 => Self::B88,
89 => Self::B89,
90 => Self::B90,
91 => Self::B91,
92 => Self::B92,
93 => Self::B93,
94 => Self::B94,
95 => Self::B95,
96 => Self::B96,
97 => Self::B97,
98 => Self::B98,
99 => Self::B99,
_ => return None,
})
}
}
impl fmt::Display for Bridge {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.write_str(match self {
Self::B1 => "1",
Self::B2 => "2",
Self::B3 => "3",
Self::B4 => "4",
Self::B5 => "5",
Self::B6 => "6",
Self::B7 => "7",
Self::B8 => "8",
Self::B9 => "9",
Self::B10 => "%10",
Self::B11 => "%11",
Self::B12 => "%12",
Self::B13 => "%13",
Self::B14 => "%14",
Self::B15 => "%15",
Self::B16 => "%16",
Self::B17 => "%17",
Self::B18 => "%18",
Self::B19 => "%19",
Self::B20 => "%20",
Self::B21 => "%21",
Self::B22 => "%22",
Self::B23 => "%23",
Self::B24 => "%24",
Self::B25 => "%25",
Self::B26 => "%26",
Self::B27 => "%27",
Self::B28 => "%28",
Self::B29 => "%29",
Self::B30 => "%30",
Self::B31 => "%31",
Self::B32 => "%32",
Self::B33 => "%33",
Self::B34 => "%34",
Self::B35 => "%35",
Self::B36 => "%36",
Self::B37 => "%37",
Self::B38 => "%38",
Self::B39 => "%39",
Self::B40 => "%40",
Self::B41 => "%41",
Self::B42 => "%42",
Self::B43 => "%43",
Self::B44 => "%44",
Self::B45 => "%45",
Self::B46 => "%46",
Self::B47 => "%47",
Self::B48 => "%48",
Self::B49 => "%49",
Self::B50 => "%50",
Self::B51 => "%51",
Self::B52 => "%52",
Self::B53 => "%53",
Self::B54 => "%54",
Self::B55 => "%55",
Self::B56 => "%56",
Self::B57 => "%57",
Self::B58 => "%58",
Self::B59 => "%59",
Self::B60 => "%60",
Self::B61 => "%61",
Self::B62 => "%62",
Self::B63 => "%63",
Self::B64 => "%64",
Self::B65 => "%65",
Self::B66 => "%66",
Self::B67 => "%67",
Self::B68 => "%68",
Self::B69 => "%69",
Self::B70 => "%70",
Self::B71 => "%71",
Self::B72 => "%72",
Self::B73 => "%73",
Self::B74 => "%74",
Self::B75 => "%75",
Self::B76 => "%76",
Self::B77 => "%77",
Self::B78 => "%78",
Self::B79 => "%79",
Self::B80 => "%80",
Self::B81 => "%81",
Self::B82 => "%82",
Self::B83 => "%83",
Self::B84 => "%84",
Self::B85 => "%85",
Self::B86 => "%86",
Self::B87 => "%87",
Self::B88 => "%88",
Self::B89 => "%89",
Self::B90 => "%90",
Self::B91 => "%91",
Self::B92 => "%92",
Self::B93 => "%93",
Self::B94 => "%94",
Self::B95 => "%95",
Self::B96 => "%96",
Self::B97 => "%97",
Self::B98 => "%98",
Self::B99 => "%99",
})
}
}