pub mod giorgio;
pub mod hfbi;
pub mod niseci;
use crate::csv::{
ANAGRAFICA_HFBI_HEADER_FIELDS, ANAGRAFICA_NISECI_HEADER_FIELDS,
CAMPIONAMENTO_HFBI_HEADER_FIELDS, CAMPIONAMENTO_NISECI_HEADER_FIELDS,
RIFERIMENTO_NISECI_HEADER_FIELDS,
};
use crate::deser::TipoRecord;
use serde::{de, Deserialize, Deserializer};
fn deserialize_comma_f32<'de, D>(deserializer: D) -> Result<f32, D::Error>
where
D: Deserializer<'de>,
{
let s: &str = Deserialize::deserialize(deserializer)?;
let s = s.replace(',', "."); s.parse::<f32>().map_err(de::Error::custom)
}
pub(crate) fn field_name(record: TipoRecord, idx: usize) -> String {
match record {
TipoRecord::RiferimentoNISECI => RIFERIMENTO_NISECI_HEADER_FIELDS
.get(idx)
.map(|s| s.to_string())
.unwrap_or_else(|| "???".to_string()),
TipoRecord::CampionamentoNISECI => CAMPIONAMENTO_NISECI_HEADER_FIELDS
.get(idx)
.map(|s| s.to_string())
.unwrap_or_else(|| "???".to_string()),
TipoRecord::AnagraficaNISECI => ANAGRAFICA_NISECI_HEADER_FIELDS
.get(idx)
.map(|s| s.to_string())
.unwrap_or_else(|| "???".to_string()),
TipoRecord::CampionamentoHFBI => CAMPIONAMENTO_HFBI_HEADER_FIELDS
.get(idx)
.map(|s| s.to_string())
.unwrap_or_else(|| "???".to_string()),
TipoRecord::AnagraficaHFBI => ANAGRAFICA_HFBI_HEADER_FIELDS
.get(idx)
.map(|s| s.to_string())
.unwrap_or_else(|| "???".to_string()),
}
}