use super::ContextData;
pub type SkipCondition<TData> = std::sync::Arc<dyn Fn(ContextData<TData>) -> bool + Send + Sync + 'static>;
#[derive(Clone)] pub struct StepDef<T: 'static + Send + Sync> {
pub name: String,
pub optional: bool,
pub skip_if: Option<SkipCondition<T>>,
}
impl<T: 'static + Send + Sync> std::fmt::Debug for StepDef<T> {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("StepDef")
.field("name", &self.name)
.field("optional", &self.optional)
.field("skip_if_present", &self.skip_if.is_some())
.finish()
}
}