diff --git a/statig/src/awaitable/state_machine.rs b/statig/src/awaitable/state_machine.rs index 981dc2b..29e8832 100644 --- a/statig/src/awaitable/state_machine.rs +++ b/statig/src/awaitable/state_machine.rs @@ -265,6 +265,30 @@ where } } +impl From> for StateMachine +where + M: IntoStateMachine, +{ + fn from(value: UninitializedStateMachine) -> Self { + Self { + inner: value.inner, + initialized: false, + } + } +} + +impl From> for StateMachine +where + M: IntoStateMachine, +{ + fn from(value: InitializedStateMachine) -> Self { + Self { + inner: value.inner, + initialized: true, + } + } +} + #[cfg(feature = "serde")] #[cfg_attr(docsrs, doc(cfg(feature = "serde")))] impl serde::Serialize for StateMachine diff --git a/statig/src/blocking/state_machine.rs b/statig/src/blocking/state_machine.rs index 0d6bac3..2840fbc 100644 --- a/statig/src/blocking/state_machine.rs +++ b/statig/src/blocking/state_machine.rs @@ -259,6 +259,30 @@ where } } +impl From> for StateMachine +where + M: IntoStateMachine, +{ + fn from(value: UninitializedStateMachine) -> Self { + Self { + inner: value.inner, + initialized: false, + } + } +} + +impl From> for StateMachine +where + M: IntoStateMachine, +{ + fn from(value: InitializedStateMachine) -> Self { + Self { + inner: value.inner, + initialized: true, + } + } +} + #[cfg(feature = "serde")] #[cfg_attr(docsrs, doc(cfg(feature = "serde")))] impl serde::Serialize for StateMachine