mirror of
https://github.com/euzu/tuliprox.git
synced 2026-10-12 19:02:19 +02:00
41 lines
1.1 KiB
Rust
41 lines
1.1 KiB
Rust
use std::fmt::Display;
|
|
use enum_iterator::Sequence;
|
|
|
|
#[derive(Debug, Copy, Clone, serde::Serialize, serde::Deserialize, Sequence, PartialEq, Eq, Default)]
|
|
pub enum ProcessingOrder {
|
|
#[serde(rename = "frm")]
|
|
#[default]
|
|
Frm,
|
|
#[serde(rename = "fmr")]
|
|
Fmr,
|
|
#[serde(rename = "rfm")]
|
|
Rfm,
|
|
#[serde(rename = "rmf")]
|
|
Rmf,
|
|
#[serde(rename = "mfr")]
|
|
Mfr,
|
|
#[serde(rename = "mrf")]
|
|
Mrf,
|
|
}
|
|
|
|
impl ProcessingOrder {
|
|
const FRM: &'static str = "filter, rename, map";
|
|
const FMR: &'static str = "filter, map, rename";
|
|
const RFM: &'static str = "rename, filter, map";
|
|
const RMF: &'static str = "rename, map, filter";
|
|
const MFR: &'static str = "map, filter, rename";
|
|
const MRF: &'static str = "map, rename, filter";
|
|
}
|
|
|
|
impl Display for ProcessingOrder {
|
|
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
|
|
write!(f, "{}", match *self {
|
|
Self::Frm => Self::FRM,
|
|
Self::Fmr => Self::FMR,
|
|
Self::Rfm => Self::RFM,
|
|
Self::Rmf => Self::RMF,
|
|
Self::Mfr => Self::MFR,
|
|
Self::Mrf => Self::MRF,
|
|
})
|
|
}
|
|
} |