use enum_as_inner::EnumAsInner;
pub use petgraph::prelude::NodeIndex;
#[cfg(feature = "channel")]
pub mod channel;
#[cfg(feature = "factories")]
pub mod factory;
#[cfg(feature = "runtime")]
pub mod runtime;
#[cfg(feature = "testing")]
pub mod testing;
#[cfg(feature = "wsnl")]
pub mod wsnl;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, EnumAsInner)]
pub enum Relationship {
Trigger,
Observe,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, EnumAsInner)]
pub enum Control {
Broadcast,
Unchanged,
Terminate,
Sweep,
}
impl From<bool> for Control {
fn from(value: bool) -> Self {
if value {
Control::Broadcast
} else {
Control::Unchanged
}
}
}
pub mod prelude {
pub use crate::{Control, Relationship};
#[cfg(feature = "runtime")]
pub use crate::runtime::*;
#[cfg(feature = "factories")]
pub use crate::factory::*;
}