mod bend;
mod border;
mod cut;
mod dstv;
mod dstv_element;
mod dstv_element_type;
mod header;
mod hole;
mod numeration;
mod part_face;
mod slot;
use std::str::FromStr;
use prelude::ParseDstvError;
pub mod prelude {
pub use crate::bend::*;
pub use crate::border::*;
pub use crate::cut::*;
pub use crate::dstv::*;
pub use crate::dstv_element::*;
pub use crate::dstv_element_type::*;
pub use crate::header::*;
pub use crate::hole::*;
pub use crate::numeration::*;
pub use crate::part_face::*;
pub use crate::slot::*;
}
pub fn validate_flange(flange: &str) -> bool {
part_face::PartFace::from_str(flange).is_ok()
}
pub fn get_f64_from_str(line: Option<&str>, name: &str) -> Result<f64, ParseDstvError> {
match line {
Some(x) => x
.replace("s", "")
.replace("w", "")
.replace("l", "")
.replace("u", "")
.replace("o", "")
.parse::<f64>()
.map_err(|_| ParseDstvError::new(format!("`{name}` not a f64: got `{x}`"))),
None => Ok(0.0),
}
}