use crate::StepResult;
use std::time::Duration;
pub enum NextStep<T> {
None,
Now(T),
Delayed(T, Duration),
}
impl<T> NextStep<T> {
pub fn none() -> StepResult<T> {
Ok(Self::None)
}
pub fn now(step: impl Into<T>) -> StepResult<T> {
Ok(Self::Now(step.into()))
}
pub fn delay(step: impl Into<T>, delay: Duration) -> StepResult<T> {
Ok(Self::Delayed(step.into(), delay))
}
}