pub mod emit;
use crate::model::Shape;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum Direction {
Tb,
Bt,
Lr,
Rl,
}
#[derive(Debug, Clone)]
pub struct FlowNode {
pub id: String,
pub label: String,
pub shape: Shape,
}
#[derive(Debug, Clone)]
pub struct FlowEdge {
pub src: String,
pub dst: String,
pub label: String,
pub dashed: bool,
pub no_arrow: bool,
}
#[derive(Debug, Clone)]
pub struct Subgraph {
pub id: String,
pub title: String,
pub members: Vec<String>,
pub parent: Option<usize>,
}
#[derive(Debug, Clone)]
pub struct Flowchart {
pub direction: Direction,
pub nodes: Vec<FlowNode>,
pub edges: Vec<FlowEdge>,
pub subgraphs: Vec<Subgraph>,
}