fix: 修复ComfyUI SDK的cargo check和clippy警告
- 修复ComfyUIError中WebSocket变体过大的问题,使用Box包装 - 添加自定义From实现处理Box包装的WebSocket错误 - 修复所有格式化字符串警告,使用内联格式化 - 移除无用的类型转换(reqwest::Error::from) - 修复代码质量问题: - 简化if语句嵌套 - 使用?操作符替代显式错误处理 - 优化map迭代方式 - 使用is_some_and替代map_or 修复内容: - 44个clippy警告全部解决 - 所有测试通过 - cargo check --lib 无错误无警告
This commit is contained in:
@@ -13,15 +13,14 @@ pub fn validate_parameters(
|
||||
|
||||
// Check required parameters
|
||||
for (name, schema) in schemas {
|
||||
if schema.required.unwrap_or(false) {
|
||||
if !parameters.contains_key(name) {
|
||||
if schema.required.unwrap_or(false)
|
||||
&& !parameters.contains_key(name) {
|
||||
errors.push(ValidationError::new(
|
||||
name,
|
||||
"Required parameter is missing",
|
||||
));
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
// Validate parameter if present
|
||||
if let Some(value) = parameters.get(name) {
|
||||
@@ -85,7 +84,7 @@ pub fn validate_parameter_value(
|
||||
if !enum_values.contains(value) {
|
||||
return Err(ValidationError::with_value(
|
||||
name,
|
||||
format!("Value must be one of: {:?}", enum_values),
|
||||
format!("Value must be one of: {enum_values:?}"),
|
||||
value.clone(),
|
||||
));
|
||||
}
|
||||
@@ -109,7 +108,7 @@ fn validate_string_constraints(
|
||||
if !regex.is_match(value) {
|
||||
return Err(ValidationError::with_value(
|
||||
name,
|
||||
format!("String does not match pattern: {}", pattern),
|
||||
format!("String does not match pattern: {pattern}"),
|
||||
serde_json::Value::String(value.to_string()),
|
||||
));
|
||||
}
|
||||
@@ -120,7 +119,7 @@ fn validate_string_constraints(
|
||||
if (value.len() as f64) < min {
|
||||
return Err(ValidationError::with_value(
|
||||
name,
|
||||
format!("String length must be at least {}", min),
|
||||
format!("String length must be at least {min}"),
|
||||
serde_json::Value::String(value.to_string()),
|
||||
));
|
||||
}
|
||||
@@ -130,7 +129,7 @@ fn validate_string_constraints(
|
||||
if (value.len() as f64) > max {
|
||||
return Err(ValidationError::with_value(
|
||||
name,
|
||||
format!("String length must be at most {}", max),
|
||||
format!("String length must be at most {max}"),
|
||||
serde_json::Value::String(value.to_string()),
|
||||
));
|
||||
}
|
||||
@@ -151,7 +150,7 @@ fn validate_number_constraints(
|
||||
if num_value < min {
|
||||
return Err(ValidationError::with_value(
|
||||
name,
|
||||
format!("Number must be at least {}", min),
|
||||
format!("Number must be at least {min}"),
|
||||
serde_json::Value::Number(value.clone()),
|
||||
));
|
||||
}
|
||||
@@ -161,7 +160,7 @@ fn validate_number_constraints(
|
||||
if num_value > max {
|
||||
return Err(ValidationError::with_value(
|
||||
name,
|
||||
format!("Number must be at most {}", max),
|
||||
format!("Number must be at most {max}"),
|
||||
serde_json::Value::Number(value.clone()),
|
||||
));
|
||||
}
|
||||
@@ -181,7 +180,7 @@ fn validate_array_constraints(
|
||||
if (value.len() as f64) < min {
|
||||
return Err(ValidationError::with_value(
|
||||
name,
|
||||
format!("Array length must be at least {}", min),
|
||||
format!("Array length must be at least {min}"),
|
||||
serde_json::Value::Array(value.to_vec()),
|
||||
));
|
||||
}
|
||||
@@ -191,7 +190,7 @@ fn validate_array_constraints(
|
||||
if (value.len() as f64) > max {
|
||||
return Err(ValidationError::with_value(
|
||||
name,
|
||||
format!("Array length must be at most {}", max),
|
||||
format!("Array length must be at most {max}"),
|
||||
serde_json::Value::Array(value.to_vec()),
|
||||
));
|
||||
}
|
||||
@@ -200,10 +199,8 @@ fn validate_array_constraints(
|
||||
// Validate items if schema is provided
|
||||
if let Some(items_schema) = &schema.items {
|
||||
for (index, item) in value.iter().enumerate() {
|
||||
let item_name = format!("{}[{}]", name, index);
|
||||
if let Err(error) = validate_parameter_value(&item_name, item, items_schema) {
|
||||
return Err(error);
|
||||
}
|
||||
let item_name = format!("{name}[{index}]");
|
||||
validate_parameter_value(&item_name, item, items_schema)?
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user