From 86dbdcf75df7fb6ce1d9c312ca640b1a4541763c Mon Sep 17 00:00:00 2001 From: JMARyA Date: Mon, 30 Dec 2024 21:49:20 +0100 Subject: [PATCH] update --- src/result.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/result.rs b/src/result.rs index 53d31e1..f1b8f3c 100644 --- a/src/result.rs +++ b/src/result.rs @@ -30,3 +30,26 @@ impl LogAndIgnore for Result { } } } + +pub trait LogNoneAndPass { + fn log_warn_none_and_pass(self, msg: impl Fn() -> String) -> Self; + fn log_err_none_and_pass(self, msg: impl Fn() -> String) -> Self; +} + +impl LogNoneAndPass for Option { + fn log_warn_none_and_pass(self, msg: impl Fn() -> String) -> Option { + if matches!(self, None) { + log::warn!("{}", msg()); + } + + return self; + } + + fn log_err_none_and_pass(self, msg: impl Fn() -> String) -> Option { + if matches!(self, None) { + log::error!("{}", msg()); + } + + return self; + } +}