From 5892f6def0025a228b491652b404dc7f64d096d9 Mon Sep 17 00:00:00 2001 From: D0RYU <84812809+D0RYU@users.noreply.github.com> Date: Sun, 4 May 2025 01:25:47 -0400 Subject: [PATCH] removed comments, finished optimizing formatted values --- Cargo.lock | 20 +++--- subcrates/telemetry/src/modules/devices.rs | 4 +- .../src/modules/formatted/date_time.rs | 62 ++++--------------- .../src/modules/formatted/offset_time.rs | 2 - subcrates/telemetry/src/modules/uptime.rs | 2 +- subcrates/zlog/src/lib.rs | 1 - 6 files changed, 24 insertions(+), 67 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1f242d7..8be98ea 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -463,9 +463,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.20" +version = "1.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04da6a0d40b948dfc4fa8f5bbf402b0fc1a64a28dbf7d12ffd683550f2c1b63a" +checksum = "8691782945451c1c383942c4874dbe63814f61cb57ef773cda2972682b7bb3c0" dependencies = [ "jobserver", "libc", @@ -762,9 +762,9 @@ checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" [[package]] name = "dpi" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53" +checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" [[package]] name = "either" @@ -1342,7 +1342,7 @@ checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ "bitflags 2.9.0", "libc", - "redox_syscall 0.5.11", + "redox_syscall 0.5.12", ] [[package]] @@ -1989,7 +1989,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.11", + "redox_syscall 0.5.12", "smallvec", "windows-targets 0.52.6", ] @@ -2358,9 +2358,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.11" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3" +checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" dependencies = [ "bitflags 2.9.0", ] @@ -3988,9 +3988,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.7.8" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e27d6ad3dac991091e4d35de9ba2d2d00647c5d0fc26c5496dee55984ae111b" +checksum = "d9fb597c990f03753e08d3c29efbfcf2019a003b4bf4ba19225c158e1549f0f3" dependencies = [ "memchr", ] diff --git a/subcrates/telemetry/src/modules/devices.rs b/subcrates/telemetry/src/modules/devices.rs index c95f8f7..02a8ff0 100644 --- a/subcrates/telemetry/src/modules/devices.rs +++ b/subcrates/telemetry/src/modules/devices.rs @@ -43,8 +43,8 @@ pub fn get_struct() -> Result, DevicesError> { Ok(sorted_devices .into_iter() .map(|(manufacturer, mut products)| { - products.sort(); // optional: sort product names - products.dedup(); // remove duplicates + products.sort(); + products.dedup(); DeviceInfo { manufacturer, products, diff --git a/subcrates/telemetry/src/modules/formatted/date_time.rs b/subcrates/telemetry/src/modules/formatted/date_time.rs index 5c2632a..a5d1b52 100644 --- a/subcrates/telemetry/src/modules/formatted/date_time.rs +++ b/subcrates/telemetry/src/modules/formatted/date_time.rs @@ -1,9 +1,7 @@ use chrono::{DateTime, Local, TimeZone, Utc}; +use derive_more::{Deref, From, with_trait::Display}; use serde::{Deserialize, Deserializer, Serialize, Serializer}; -use std::{ - fmt::{Debug, Display, Formatter, Result as FMTResult}, - ops::Deref, -}; +use std::fmt; #[derive(Debug, Serialize, Deserialize)] pub struct DateTimeInfo { @@ -11,15 +9,15 @@ pub struct DateTimeInfo { time: String, } -#[derive(Clone)] +#[derive(Clone, Deref, From, PartialEq, Eq, PartialOrd, Ord)] pub struct FmtDateTime(pub DateTime); impl Display for FmtDateTime where Tz: TimeZone, - Tz::Offset: std::fmt::Display, + Tz::Offset: Display, { - fn fmt(&self, f: &mut Formatter<'_>) -> FMTResult { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!( f, "{:#?}", @@ -31,11 +29,11 @@ where } } -impl Debug for FmtDateTime +impl fmt::Debug for FmtDateTime where - Tz::Offset: std::fmt::Display, + Tz::Offset: Display, { - fn fmt(&self, f: &mut Formatter<'_>) -> FMTResult { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { Display::fmt(self, f) } } @@ -55,58 +53,20 @@ where impl<'de, Tz> Deserialize<'de> for FmtDateTime where Tz: TimeZone, - DateTime: ToString + std::str::FromStr, - as std::str::FromStr>::Err: std::fmt::Display, + DateTime: std::str::FromStr + Display, + as std::str::FromStr>::Err: Display, { fn deserialize(deserializer: D) -> Result where D: Deserializer<'de>, { - // 1. Pull a String out of the deserializer let s = String::deserialize(deserializer)?; - // 2. Parse it, mapping any parse-error into a Serde error - as std::str::FromStr>::from_str(&s) // explicit, no ambiguity + s.parse::>() .map(FmtDateTime) .map_err(serde::de::Error::custom) } } -impl Deref for FmtDateTime { - type Target = DateTime; - - fn deref(&self) -> &Self::Target { - &self.0 - } -} - -impl Eq for FmtDateTime where DateTime: Eq {} -impl PartialEq for FmtDateTime -where - DateTime: PartialEq, -{ - fn eq(&self, other: &Self) -> bool { - self.0 == other.0 - } -} - -impl PartialOrd for FmtDateTime -where - DateTime: PartialOrd, -{ - fn partial_cmp(&self, other: &Self) -> Option { - Some(self.cmp(other)) - } -} - -impl Ord for FmtDateTime -where - DateTime: Ord, -{ - fn cmp(&self, other: &Self) -> std::cmp::Ordering { - self.0.cmp(&other.0) - } -} - impl From> for FmtDateTime { fn from(dt: FmtDateTime) -> Self { FmtDateTime(dt.0.with_timezone(&Local)) diff --git a/subcrates/telemetry/src/modules/formatted/offset_time.rs b/subcrates/telemetry/src/modules/formatted/offset_time.rs index 118c059..c7d3af5 100644 --- a/subcrates/telemetry/src/modules/formatted/offset_time.rs +++ b/subcrates/telemetry/src/modules/formatted/offset_time.rs @@ -30,10 +30,8 @@ impl<'de> Deserialize<'de> for FmtOffsetTime { where D: Deserializer<'de>, { - // Deserialize the input as a string let s = String::deserialize(deserializer)?; - // Attempt to parse the string into a DateTime match DateTime::parse_from_rfc3339(&s) { Ok(dt) => Ok(FmtOffsetTime(dt.with_timezone(&Local))), Err(e) => Err(serde::de::Error::custom(format!( diff --git a/subcrates/telemetry/src/modules/uptime.rs b/subcrates/telemetry/src/modules/uptime.rs index 5f16dc1..abed3e7 100644 --- a/subcrates/telemetry/src/modules/uptime.rs +++ b/subcrates/telemetry/src/modules/uptime.rs @@ -12,7 +12,7 @@ where Tz::Offset: Display, Tz: TimeZone, { - let formatted = date.format("%+").to_string(); // Format as RFC 3339 + let formatted = date.format("%+").to_string(); serializer.serialize_str(&formatted) } diff --git a/subcrates/zlog/src/lib.rs b/subcrates/zlog/src/lib.rs index 0399099..8705acd 100644 --- a/subcrates/zlog/src/lib.rs +++ b/subcrates/zlog/src/lib.rs @@ -316,7 +316,6 @@ fn format_entry_string(entry: &LogEntry, log_config: &LoggerConfig) -> String { format!("{} {}", lvl, entry.message) } -/// Formats the log entry as a json object ([`serde_json`]) and returns it as a [`String`] fn format_entry_json(entry: &mut LogEntry, log_config: &LoggerConfig) -> String { let mut json_object = serde_json::Map::new();