From b37c0d4e66dcadeaaabf9c798518bd361f9458e1 Mon Sep 17 00:00:00 2001 From: chodak166 Date: Fri, 9 Jan 2026 16:07:07 +0100 Subject: [PATCH] WIP: refactor --- app/src/commands/decode.rs | 10 ++++++++-- app/src/commands/encode.rs | 10 ++++++++-- app/src/defaults.rs | 6 +----- lib/src/core/sys_major/lvmap.rs | 5 +++-- 4 files changed, 20 insertions(+), 11 deletions(-) diff --git a/app/src/commands/decode.rs b/app/src/commands/decode.rs index cebf929..aae23b0 100644 --- a/app/src/commands/decode.rs +++ b/app/src/commands/decode.rs @@ -2,7 +2,6 @@ use crate::commands::{ClapArgs, CommandExecutor, ConfigurableCommand}; use crate::config::AppConfig; use crate::container::Container; -use crate::defaults; use anyhow::Result; use applib::core::sys_major::decoder::Decoder; use applib::core::sys_major::{self as major}; @@ -12,6 +11,13 @@ use async_trait::async_trait; use config::ConfigBuilder; use config::builder::DefaultState; +mod defaults { + use const_format::formatcp; + pub const DEC_SYSTEM_NAME: &str = "major_pl"; + pub const HELP_DEC_SYSTEM: &str = formatcp!("System to use [default: {}]", DEC_SYSTEM_NAME); + pub const HELP_DEC_INPUT: &str = formatcp!("Text to decode"); +} + #[derive(ClapArgs, Debug, Clone)] pub struct DecodeArgs { #[arg(long, help = defaults::HELP_DEC_SYSTEM)] @@ -27,7 +33,7 @@ impl ConfigurableCommand for DecodeArgs { builder: ConfigBuilder, ) -> Result> { builder - .set_default("decoder.system", defaults::SYSTEM_NAME)? + .set_default("decoder.system", defaults::DEC_SYSTEM_NAME)? .set_default("decoder.input", "") .map_err(Into::into) } diff --git a/app/src/commands/encode.rs b/app/src/commands/encode.rs index 2f3ab10..a5b9f54 100644 --- a/app/src/commands/encode.rs +++ b/app/src/commands/encode.rs @@ -8,12 +8,18 @@ use crate::commands::{ClapArgs, CommandExecutor, ConfigurableCommand}; use crate::config::AppConfig; use crate::container::Container; -use crate::defaults; use anyhow::Result; use async_trait::async_trait; use config::ConfigBuilder; use config::builder::DefaultState; +mod defaults { + use const_format::formatcp; + pub const ENC_SYSTEM_NAME: &str = "major_pl"; + pub const HELP_ENC_SYSTEM: &str = formatcp!("System to use [default: {}]", ENC_SYSTEM_NAME); + pub const HELP_ENC_INPUT: &str = formatcp!("Number to encode"); +} + #[derive(ClapArgs, Debug, Clone)] pub struct EncodeArgs { #[arg(long, help = defaults::HELP_ENC_SYSTEM)] @@ -29,7 +35,7 @@ impl ConfigurableCommand for EncodeArgs { builder: ConfigBuilder, ) -> Result> { builder - .set_default("encoder.system", defaults::SYSTEM_NAME)? + .set_default("encoder.system", defaults::ENC_SYSTEM_NAME)? .set_default("encoder.input", "") .map_err(Into::into) } diff --git a/app/src/defaults.rs b/app/src/defaults.rs index aee0e16..a54bf2d 100644 --- a/app/src/defaults.rs +++ b/app/src/defaults.rs @@ -1,7 +1,6 @@ pub const HOST: &str = "127.0.0.1"; pub const PORT: u16 = 8080; pub const LOG_LEVEL: &str = "info"; -pub const SYSTEM_NAME: &str = "major_pl"; pub const IMPORT_DICT_NAME: &str = ""; pub const IMPORT_DICT_PATH: &str = ""; @@ -9,9 +8,6 @@ use const_format::formatcp; pub const HELP_PORT: &str = formatcp!("Override Port [default: {}]", PORT); pub const HELP_LOG: &str = formatcp!("Override Log Level [default: {}]", LOG_LEVEL); -pub const HELP_DEC_SYSTEM: &str = formatcp!("System to use [default: {}]", SYSTEM_NAME); -pub const HELP_DEC_INPUT: &str = formatcp!("Text to decode"); -pub const HELP_ENC_SYSTEM: &str = formatcp!("System to use [default: {}]", SYSTEM_NAME); -pub const HELP_ENC_INPUT: &str = formatcp!("Number to encode"); + pub const HELP_IMPORT_DICT_NAME: &str = formatcp!("Dictionary name"); pub const HELP_IMPORT_DICT_INPUT: &str = formatcp!("Dictionary file path"); diff --git a/lib/src/core/sys_major/lvmap.rs b/lib/src/core/sys_major/lvmap.rs index 6ade916..0f5d641 100644 --- a/lib/src/core/sys_major/lvmap.rs +++ b/lib/src/core/sys_major/lvmap.rs @@ -102,14 +102,15 @@ impl LenValueMap { } pub async fn from_stream( - mut stream: S, + stream: S, decoder: &dyn SystemDecoder, ) -> Result where // S is a stream of "Result, Error>" - S: Stream, crate::core::errors::RepositoryError>> + Unpin, + S: Stream, crate::core::errors::RepositoryError>>, { let mut map = LenValueMap::new(); + let mut stream = Box::pin(stream); // We stream the batches one by one. // This ensures only one batch is in memory at a time.