diff --git a/Cargo.lock b/Cargo.lock index 8425723f3..293921e21 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1124,7 +1124,6 @@ dependencies = [ "clash-verge-i18n", "clash-verge-logging", "clash-verge-signal", - "clash-verge-types", "clash_verge_logger", "clash_verge_service_ipc", "compact_str", @@ -1219,15 +1218,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "clash-verge-types" -version = "0.1.0" -dependencies = [ - "serde", - "serde_yaml_ng", - "smartstring", -] - [[package]] name = "clash_verge_logger" version = "0.2.2" diff --git a/Cargo.toml b/Cargo.toml index 2e6422be7..0f1c9d289 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,7 +5,6 @@ members = [ "crates/clash-verge-logging", "crates/clash-verge-signal", "crates/tauri-plugin-clash-verge-sysinfo", - "crates/clash-verge-types", "crates/clash-verge-i18n", ] resolver = "2" @@ -44,7 +43,6 @@ strip = false clash-verge-draft = { path = "crates/clash-verge-draft" } clash-verge-logging = { path = "crates/clash-verge-logging" } clash-verge-signal = { path = "crates/clash-verge-signal" } -clash-verge-types = { path = "crates/clash-verge-types" } clash-verge-i18n = { path = "crates/clash-verge-i18n" } tauri-plugin-clash-verge-sysinfo = { path = "crates/tauri-plugin-clash-verge-sysinfo" } diff --git a/crates/clash-verge-types/Cargo.toml b/crates/clash-verge-types/Cargo.toml deleted file mode 100644 index 8f89c5820..000000000 --- a/crates/clash-verge-types/Cargo.toml +++ /dev/null @@ -1,13 +0,0 @@ -[package] -name = "clash-verge-types" -version = "0.1.0" -edition = "2024" -rust-version = "1.91" - -[dependencies] -serde = { workspace = true } -serde_yaml_ng = { workspace = true } -smartstring = { workspace = true } - -[lints] -workspace = true diff --git a/crates/clash-verge-types/src/lib.rs b/crates/clash-verge-types/src/lib.rs deleted file mode 100644 index ea62c4145..000000000 --- a/crates/clash-verge-types/src/lib.rs +++ /dev/null @@ -1 +0,0 @@ -pub mod runtime; diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index d282ee114..0b6f59376 100755 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -34,7 +34,6 @@ tauri-build = { version = "2.5.3", features = [] } clash-verge-draft = { workspace = true } clash-verge-logging = { workspace = true } clash-verge-signal = { workspace = true } -clash-verge-types = { workspace = true } clash-verge-i18n = { workspace = true } tauri-plugin-clash-verge-sysinfo = { workspace = true } tauri-plugin-clipboard-manager = { workspace = true } diff --git a/src-tauri/src/config/config.rs b/src-tauri/src/config/config.rs index f051817cb..7b1d986d7 100644 --- a/src-tauri/src/config/config.rs +++ b/src-tauri/src/config/config.rs @@ -1,6 +1,6 @@ use super::{IClashTemp, IProfiles, IVerge}; use crate::{ - config::{PrfItem, profiles_append_item_safe}, + config::{PrfItem, profiles_append_item_safe, runtime::IRuntime}, constants::{files, timing}, core::{ CoreManager, @@ -16,7 +16,6 @@ use anyhow::{Result, anyhow}; use backoff::{Error as BackoffError, ExponentialBackoff}; use clash_verge_draft::Draft; use clash_verge_logging::{Type, logging, logging_error}; -use clash_verge_types::runtime::IRuntime; use smartstring::alias::String; use std::path::PathBuf; use tauri_plugin_clash_verge_sysinfo::is_current_app_handle_admin; diff --git a/src-tauri/src/config/mod.rs b/src-tauri/src/config/mod.rs index cf935f2ae..c41b28ba1 100644 --- a/src-tauri/src/config/mod.rs +++ b/src-tauri/src/config/mod.rs @@ -4,6 +4,7 @@ mod config; mod encrypt; mod prfitem; pub mod profiles; +pub mod runtime; mod verge; pub use self::{clash::*, config::*, encrypt::*, prfitem::*, profiles::*, verge::*}; diff --git a/crates/clash-verge-types/src/runtime.rs b/src-tauri/src/config/runtime.rs similarity index 93% rename from crates/clash-verge-types/src/runtime.rs rename to src-tauri/src/config/runtime.rs index bc38ba9e1..25c8fe767 100644 --- a/crates/clash-verge-types/src/runtime.rs +++ b/src-tauri/src/config/runtime.rs @@ -2,6 +2,8 @@ use serde_yaml_ng::{Mapping, Value}; use smartstring::alias::String; use std::collections::{HashMap, HashSet}; +use crate::enhance::field::use_keys; + const PATCH_CONFIG_INNER: [&str; 4] = ["allow-lan", "ipv6", "log-level", "unified-delay"]; #[derive(Default, Clone)] @@ -136,13 +138,3 @@ impl IRuntime { } } } - -// TODO 完整迁移 enhance 行为后移除 -#[inline] -fn use_keys<'a>(config: &'a Mapping) -> impl Iterator + 'a { - config.iter().filter_map(|(key, _)| key.as_str()).map(|s: &str| { - let mut s: String = s.into(); - s.make_ascii_lowercase(); - s - }) -} diff --git a/src-tauri/src/core/manager/config.rs b/src-tauri/src/core/manager/config.rs index 19e741670..89ca4bd7d 100644 --- a/src-tauri/src/core/manager/config.rs +++ b/src-tauri/src/core/manager/config.rs @@ -1,13 +1,12 @@ use super::CoreManager; use crate::{ - config::{Config, ConfigType}, + config::{Config, ConfigType, runtime::IRuntime}, constants::timing, core::{handle, validate::CoreConfigValidator}, utils::{dirs, help}, }; use anyhow::{Result, anyhow}; use clash_verge_logging::{Type, logging}; -use clash_verge_types::runtime::IRuntime; use smartstring::alias::String; use std::{collections::HashSet, path::PathBuf, time::Instant}; use tauri_plugin_mihomo::Error as MihomoError; diff --git a/src-tauri/src/enhance/field.rs b/src-tauri/src/enhance/field.rs index 3d841df34..f7a538b4b 100644 --- a/src-tauri/src/enhance/field.rs +++ b/src-tauri/src/enhance/field.rs @@ -61,14 +61,11 @@ pub fn use_sort(config: Mapping) -> Mapping { ret } -pub fn use_keys(config: &Mapping) -> Vec { - config - .iter() - .filter_map(|(key, _)| key.as_str()) - .map(|s: &str| { - let mut s: String = s.into(); - s.make_ascii_lowercase(); - s - }) - .collect() +#[inline] +pub fn use_keys<'a>(config: &'a Mapping) -> impl Iterator + 'a { + config.iter().filter_map(|(key, _)| key.as_str()).map(|s: &str| { + let mut s: String = s.into(); + s.make_ascii_lowercase(); + s + }) } diff --git a/src-tauri/src/enhance/mod.rs b/src-tauri/src/enhance/mod.rs index 97916a4c5..f74981ff0 100644 --- a/src-tauri/src/enhance/mod.rs +++ b/src-tauri/src/enhance/mod.rs @@ -310,7 +310,7 @@ fn process_global_items( profile_name: &String, ) -> (Mapping, Vec, HashMap) { let mut result_map = HashMap::new(); - let mut exists_keys = use_keys(&config); + let mut exists_keys = use_keys(&config).collect::>(); if let ChainType::Merge(merge) = global_merge.data { exists_keys.extend(use_keys(&merge));