use serde::{Deserialize, Serialize};
use crate::id::NodeId;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Edge {
pub from: NodeId,
pub to: NodeId,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub condition: Option<EdgeCondition>,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum EdgeCondition {
BranchTrue,
BranchFalse,
Always,
}