mecha10_behavior_runtime/
status.rs1use serde::{Deserialize, Serialize};
6use std::fmt;
7
8#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize, Default)]
9pub enum NodeStatus {
10 Success,
11
12 Failure,
13
14 #[default]
15 Running,
16}
17
18impl NodeStatus {
19 pub fn is_complete(&self) -> bool {
31 matches!(self, NodeStatus::Success | NodeStatus::Failure)
32 }
33
34 pub fn is_success(&self) -> bool {
36 matches!(self, NodeStatus::Success)
37 }
38
39 pub fn is_failure(&self) -> bool {
41 matches!(self, NodeStatus::Failure)
42 }
43
44 pub fn is_running(&self) -> bool {
46 matches!(self, NodeStatus::Running)
47 }
48}
49
50impl fmt::Display for NodeStatus {
51 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
52 match self {
53 NodeStatus::Success => write!(f, "Success"),
54 NodeStatus::Failure => write!(f, "Failure"),
55 NodeStatus::Running => write!(f, "Running"),
56 }
57 }
58}