diff --git a/plate-tool-lib/src/csv.rs b/plate-tool-lib/src/csv/conversion.rs similarity index 68% rename from plate-tool-lib/src/csv.rs rename to plate-tool-lib/src/csv/conversion.rs index 3655773..f9cfeab 100644 --- a/plate-tool-lib/src/csv.rs +++ b/plate-tool-lib/src/csv/conversion.rs @@ -3,35 +3,8 @@ use crate::util::*; use serde::{Deserialize, Serialize}; use std::error::Error; +use super::TransferRecord; -#[derive(Serialize, Deserialize, Debug)] -pub struct TransferRecord { - #[serde(rename = "Source Plate", alias = "source plate", alias = "src plate")] - pub source_plate: String, - #[serde(rename = "Source Well", alias = "source well", alias = "src well")] - pub source_well: String, - #[serde( - rename = "Dest Plate", - alias = "dest plate", - alias = "destination plate" - )] - pub destination_plate: String, - #[serde( - rename = "Destination Well", - alias = "destination well", - alias = "dest well" - )] - pub destination_well: String, - #[serde(rename = "Transfer Volume", alias = "transfer volume")] - #[serde(default = "volume_default")] - pub volume: f32, - #[serde(rename = "Concentration", alias = "concentration")] - pub concentration: Option, -} - -pub fn volume_default() -> f32 { - Transfer::default().volume -} pub fn transfer_to_records( tr: &Transfer, diff --git a/plate-tool-lib/src/csv/mod.rs b/plate-tool-lib/src/csv/mod.rs new file mode 100644 index 0000000..fddbe32 --- /dev/null +++ b/plate-tool-lib/src/csv/mod.rs @@ -0,0 +1,6 @@ +mod transfer_record; +mod conversion; + +pub use transfer_record::volume_default; +pub use transfer_record::TransferRecord; +pub use conversion::*; diff --git a/plate-tool-lib/src/csv/transfer_record.rs b/plate-tool-lib/src/csv/transfer_record.rs new file mode 100644 index 0000000..794c2ad --- /dev/null +++ b/plate-tool-lib/src/csv/transfer_record.rs @@ -0,0 +1,33 @@ +use serde::{Deserialize, Serialize}; + +use crate::transfer::Transfer; + +#[derive(Serialize, Deserialize, Debug)] +pub struct TransferRecord { + #[serde(rename = "Source Plate", alias = "source plate", alias = "src plate")] + pub source_plate: String, + #[serde(rename = "Source Well", alias = "source well", alias = "src well")] + pub source_well: String, + #[serde( + rename = "Dest Plate", + alias = "dest plate", + alias = "destination plate" + )] + pub destination_plate: String, + #[serde( + rename = "Destination Well", + alias = "destination well", + alias = "dest well" + )] + pub destination_well: String, + #[serde(rename = "Transfer Volume", alias = "transfer volume")] + #[serde(default = "volume_default")] + pub volume: f32, + #[serde(rename = "Concentration", alias = "concentration")] + pub concentration: Option, +} + +pub fn volume_default() -> f32 { + Transfer::default().volume +} +