#![allow(dead_code)]
#[derive(Clone, Copy, PartialEq)]
pub enum FieldType {
DnaSequence,
RnaSequence,
AminoAcidSequence,
Smiles,
PositiveInteger,
NonNegativeInteger,
Integer,
Text,
}
#[derive(Clone, Debug, PartialEq)]
pub enum Field {
DnaSequence(String),
RnaSequence(String),
AminoAcidSequence(String),
Smiles(String),
PositiveInteger(u32),
NonNegativeInteger(u32),
Integer(i32),
Text(String),
}
impl Field {
pub fn get_type(&self) -> FieldType {
use FieldType::*;
match self {
Field::DnaSequence(_) => DnaSequence,
Field::RnaSequence(_) => RnaSequence,
Field::AminoAcidSequence(_) => AminoAcidSequence,
Field::Smiles(_) => Smiles,
Field::PositiveInteger(_) => Integer,
Field::NonNegativeInteger(_) => Integer,
Field::Integer(_) => Integer,
Field::Text(_) => Text,
}
}
}
#[derive(Clone, Debug)]
pub struct InputField {
pub data: Field,
}