use crate::ionex::Record;
use qc_traits::{FilterItem, MaskFilter, MaskOperand};
pub fn mask_mut(rec: &mut Record, mask: &MaskFilter) {
match mask.operand {
MaskOperand::Equals => match mask.item {
FilterItem::EpochItem(epoch) => rec.retain(|k, _| k.epoch == epoch),
_ => {}, },
MaskOperand::NotEquals => match mask.item {
FilterItem::EpochItem(epoch) => rec.retain(|k, _| k.epoch != epoch),
_ => {}, },
MaskOperand::GreaterEquals => match mask.item {
FilterItem::EpochItem(epoch) => rec.retain(|k, _| k.epoch >= epoch),
_ => {}, },
MaskOperand::GreaterThan => match mask.item {
FilterItem::EpochItem(epoch) => rec.retain(|k, _| k.epoch > epoch),
_ => {}, },
MaskOperand::LowerEquals => match mask.item {
FilterItem::EpochItem(epoch) => rec.retain(|k, _| k.epoch <= epoch),
_ => {}, },
MaskOperand::LowerThan => match mask.item {
FilterItem::EpochItem(epoch) => rec.retain(|k, _| k.epoch < epoch),
_ => {}, },
}
}