use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[non_exhaustive]
pub enum BatteryChemistry {
#[serde(rename = "LFP")]
Lfp,
#[serde(rename = "NMC")]
Nmc,
#[serde(rename = "NCA")]
Nca,
#[serde(rename = "LCO")]
Lco,
#[serde(rename = "NiMH")]
NiMh,
#[serde(rename = "NiCd")]
NiCd,
#[serde(rename = "lead-acid")]
LeadAcid,
#[serde(rename = "solid-state")]
SolidState,
#[serde(other)]
Other,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
#[non_exhaustive]
pub enum BatteryType {
Portable,
Industrial,
Ev,
Lmt,
#[serde(rename = "starting-lighting-ignition")]
Sli,
#[serde(other)]
Other,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[non_exhaustive]
pub enum CarbonFootprintClass {
A,
B,
C,
D,
E,
#[serde(other)]
Other,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[non_exhaustive]
pub enum EnergyEfficiencyClass {
A,
B,
C,
D,
E,
F,
G,
#[serde(other)]
Other,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
#[non_exhaustive]
pub enum ProductionRoute {
BlastFurnace,
ElectricArc,
DirectReduction,
Primary,
SecondaryRecycled,
Mixed,
#[serde(other)]
Other,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
#[non_exhaustive]
pub enum LifecycleStage {
CradleToGate,
CradleToGrave,
CradleToCradle,
GateToGrave,
#[serde(other)]
Other,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[non_exhaustive]
pub enum SystemBoundary {
#[serde(rename = "EN-15804")]
En15804,
#[serde(rename = "ISO-14044")]
Iso14044,
#[serde(rename = "GHG-protocol")]
GhgProtocol,
#[serde(other)]
Other,
}