use serde::{Deserialize, Serialize};
#[derive(PartialEq, Serialize, Deserialize, Copy, Clone, Debug)]
pub enum CompositionBasis {
ByDryWeight {
solids: f64,
},
ByTotalWeight {
water: f64,
},
}
#[derive(PartialEq, Serialize, Deserialize, Copy, Clone, Debug)]
#[serde(deny_unknown_fields)]
pub enum Unit {
#[serde(rename = "grams")]
Grams(f64),
#[serde(rename = "ml")]
Milliliters(f64),
#[serde(rename = "percent")]
Percent(f64),
#[serde(rename = "molar_mass")]
MolarMass(f64),
}
impl std::fmt::Display for Unit {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
std::fmt::Debug::fmt(self, f)
}
}
#[derive(PartialEq, Serialize, Deserialize, Copy, Clone, Debug)]
#[serde(deny_unknown_fields)]
pub enum Scaling<T> {
OfWhole(T),
OfSolids(T),
}