use thiserror::Error;
use crate::{EdgeID, NodeID};
#[derive(Debug, Error)]
pub enum Error {
#[error("node not found: {0}")]
NodeNotFound(NodeID),
#[error("edge not found: {0}")]
EdgeNotFound(EdgeID),
#[error("duplicate node: {0}")]
DuplicateNode(NodeID),
#[error("duplicate edge: {0}")]
DuplicateEdge(EdgeID),
#[error("not a DAG")]
NotADAG,
#[error("not a tree")]
NotATree,
#[error("not a compound")]
NotACompound,
}