From e12c54dc8f5641ae746a5604ea6bf09bd9a6e69d Mon Sep 17 00:00:00 2001 From: Dominik Werder Date: Wed, 21 May 2025 15:13:26 +0200 Subject: [PATCH] Stream item helper --- src/streamitem.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/streamitem.rs b/src/streamitem.rs index ec3e0c1..8d60771 100644 --- a/src/streamitem.rs +++ b/src/streamitem.rs @@ -53,6 +53,16 @@ pub enum StreamItem { Stats(StatsItem), } +impl StreamItem { + pub fn into_data(self) -> Result { + if let StreamItem::DataItem(x) = self { + Ok(x) + } else { + Err(self) + } + } +} + #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] pub struct LogItem { pub node_ix: u32, @@ -69,6 +79,14 @@ impl LogItem { msg, } } + + pub fn info(msg: String) -> Self { + Self { + node_ix: 0, + level: Level::INFO, + msg, + } + } } pub type SitemErrTy = err::Error; @@ -77,6 +95,8 @@ pub type Sitemty = Result>, SitemErrTy>; pub type Sitemty2 = Result>, E>; +pub type Sitemty3 = Result, E>; + #[macro_export] macro_rules! on_sitemty_range_complete { ($item:expr, $ex:expr) => { @@ -150,6 +170,10 @@ pub fn sitem_data(x: X) -> Sitemty { Ok(StreamItem::DataItem(RangeCompletableItem::Data(x))) } +pub fn sitem3_data(x: T) -> Sitemty3 { + Ok(StreamItem::DataItem(x)) +} + pub fn sitem_err_from_string(x: T) -> Sitemty where T: ToString,