nominal_api/conjure/objects/scout/compute/api/
refprop_substance.rs1#![allow(deprecated)]
2use std::fmt;
3use std::str;
4#[derive(
6 Debug,
7 Clone,
8 PartialEq,
9 Eq,
10 PartialOrd,
11 Ord,
12 Hash,
13 conjure_object::serde::Deserialize,
14 conjure_object::serde::Serialize,
15)]
16#[serde(crate = "conjure_object::serde")]
17pub enum RefpropSubstance {
18 #[serde(rename = "NITROGEN")]
19 Nitrogen,
20 #[serde(rename = "OXYGEN")]
21 Oxygen,
22 #[serde(rename = "HELIUM")]
23 Helium,
24 #[serde(rename = "HYDROGEN")]
25 Hydrogen,
26 #[serde(rename = "METHANE")]
27 Methane,
28 #[serde(rename = "PROPANE")]
29 Propane,
30 #[serde(rename = "BUTANE")]
31 Butane,
32 #[serde(rename = "WATER")]
33 Water,
34 #[serde(rename = "XENON")]
35 Xenon,
36 #[serde(rename = "AIR")]
37 Air,
38 #[serde(rename = "CARBON_DIOXIDE")]
39 CarbonDioxide,
40 #[serde(rename = "ARGON")]
41 Argon,
42 #[serde(rename = "CARBON_MONOXIDE")]
43 CarbonMonoxide,
44 #[serde(untagged)]
46 Unknown(Unknown),
47}
48impl RefpropSubstance {
49 #[inline]
51 pub fn as_str(&self) -> &str {
52 match self {
53 RefpropSubstance::Nitrogen => "NITROGEN",
54 RefpropSubstance::Oxygen => "OXYGEN",
55 RefpropSubstance::Helium => "HELIUM",
56 RefpropSubstance::Hydrogen => "HYDROGEN",
57 RefpropSubstance::Methane => "METHANE",
58 RefpropSubstance::Propane => "PROPANE",
59 RefpropSubstance::Butane => "BUTANE",
60 RefpropSubstance::Water => "WATER",
61 RefpropSubstance::Xenon => "XENON",
62 RefpropSubstance::Air => "AIR",
63 RefpropSubstance::CarbonDioxide => "CARBON_DIOXIDE",
64 RefpropSubstance::Argon => "ARGON",
65 RefpropSubstance::CarbonMonoxide => "CARBON_MONOXIDE",
66 RefpropSubstance::Unknown(v) => &*v,
67 }
68 }
69}
70impl fmt::Display for RefpropSubstance {
71 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
72 fmt::Display::fmt(self.as_str(), fmt)
73 }
74}
75impl conjure_object::Plain for RefpropSubstance {
76 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
77 conjure_object::Plain::fmt(self.as_str(), fmt)
78 }
79}
80impl str::FromStr for RefpropSubstance {
81 type Err = conjure_object::plain::ParseEnumError;
82 #[inline]
83 fn from_str(
84 v: &str,
85 ) -> Result<RefpropSubstance, conjure_object::plain::ParseEnumError> {
86 match v {
87 "NITROGEN" => Ok(RefpropSubstance::Nitrogen),
88 "OXYGEN" => Ok(RefpropSubstance::Oxygen),
89 "HELIUM" => Ok(RefpropSubstance::Helium),
90 "HYDROGEN" => Ok(RefpropSubstance::Hydrogen),
91 "METHANE" => Ok(RefpropSubstance::Methane),
92 "PROPANE" => Ok(RefpropSubstance::Propane),
93 "BUTANE" => Ok(RefpropSubstance::Butane),
94 "WATER" => Ok(RefpropSubstance::Water),
95 "XENON" => Ok(RefpropSubstance::Xenon),
96 "AIR" => Ok(RefpropSubstance::Air),
97 "CARBON_DIOXIDE" => Ok(RefpropSubstance::CarbonDioxide),
98 "ARGON" => Ok(RefpropSubstance::Argon),
99 "CARBON_MONOXIDE" => Ok(RefpropSubstance::CarbonMonoxide),
100 v => v.parse().map(|v| RefpropSubstance::Unknown(Unknown(v))),
101 }
102 }
103}
104impl conjure_object::FromPlain for RefpropSubstance {
105 type Err = conjure_object::plain::ParseEnumError;
106 #[inline]
107 fn from_plain(
108 v: &str,
109 ) -> Result<RefpropSubstance, conjure_object::plain::ParseEnumError> {
110 v.parse()
111 }
112}
113#[derive(
115 Debug,
116 Clone,
117 PartialEq,
118 Eq,
119 PartialOrd,
120 Ord,
121 Hash,
122 conjure_object::serde::Deserialize,
123 conjure_object::serde::Serialize,
124)]
125#[serde(crate = "conjure_object::serde", transparent)]
126pub struct Unknown(conjure_object::private::Variant);
127impl std::ops::Deref for Unknown {
128 type Target = str;
129 #[inline]
130 fn deref(&self) -> &str {
131 &self.0
132 }
133}
134impl fmt::Display for Unknown {
135 #[inline]
136 fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {
137 fmt::Display::fmt(&self.0, fmt)
138 }
139}