From cb6d632a8f892fe00f73412e6ad2fb26bd46f570 Mon Sep 17 00:00:00 2001 From: Maxim Deloof <20443795+mdeloof@users.noreply.github.com> Date: Fri, 4 Jul 2025 22:35:27 +0200 Subject: [PATCH] Add conversions for state machine --- statig/src/awaitable/state_machine.rs | 24 ++++++++++++++++++++++++ statig/src/blocking/state_machine.rs | 24 ++++++++++++++++++++++++ 2 files changed, 48 insertions(+) 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