Feat: optimizations

This commit is contained in:
2026-02-05 23:15:46 +01:00
parent 5a83c4c1d1
commit 53167e35b6
22 changed files with 175 additions and 215 deletions

View File

@@ -210,10 +210,8 @@ impl SyncMode {
pub struct Step {
pub active: bool,
pub script: String,
#[serde(skip)]
pub command: Option<String>,
#[serde(default)]
pub source: Option<usize>,
pub source: Option<u8>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
@@ -229,7 +227,6 @@ impl Default for Step {
Self {
active: true,
script: String::new(),
command: None,
source: None,
name: None,
}
@@ -254,7 +251,7 @@ struct SparseStep {
#[serde(default, skip_serializing_if = "String::is_empty")]
script: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
source: Option<usize>,
source: Option<u8>,
#[serde(default, skip_serializing_if = "Option::is_none")]
name: Option<String>,
}
@@ -348,7 +345,6 @@ impl<'de> Deserialize<'de> for Pattern {
steps[ss.i] = Step {
active: ss.active,
script: ss.script,
command: None,
source: ss.source,
name: ss.name,
};
@@ -410,7 +406,7 @@ impl Pattern {
for _ in 0..self.steps.len() {
if let Some(step) = self.steps.get(current) {
if let Some(source) = step.source {
current = source;
current = source as usize;
} else {
return current;
}