use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum EdgeType {
Normal,
Lookback,
Condition,
}
impl Default for EdgeType {
fn default() -> Self {
EdgeType::Normal
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct EdgeConfig {
#[serde(rename = "from")]
pub from_op: String,
#[serde(rename = "to")]
pub to_op: String,
#[serde(rename = "type", default)]
pub kind: EdgeType,
#[serde(default)]
pub soft: bool,
}