fix(render): fix warnings

This commit is contained in:
Federico Terzi 2021-10-05 22:07:42 +02:00
parent 71f0b575d3
commit 4b57dd04ca
6 changed files with 24 additions and 34 deletions

View File

@ -88,12 +88,12 @@ impl<'a> Extension for FormExtension<'a> {
}
// TODO: test
fn inject_scope(fields: &mut HashMap<String, Value>, scope: &HashMap<&str, ExtensionOutput>) -> () {
for (_, value) in fields {
fn inject_scope(fields: &mut HashMap<String, Value>, scope: &HashMap<&str, ExtensionOutput>) {
for value in fields.values_mut() {
if let Value::Object(field_options) = value {
if let Some(Value::String(default_value)) = field_options.get_mut("default") {
if VAR_REGEX.is_match(default_value) {
match render_variables(&default_value, scope) {
match render_variables(default_value, scope) {
Ok(rendered) => *default_value = rendered,
Err(err) => error!(
"error while injecting variable in form default value: {}",
@ -111,10 +111,3 @@ pub enum FormExtensionError {
#[error("missing layout parameter")]
MissingLayout,
}
#[cfg(test)]
mod tests {
use super::*;
// TODO: test
}

View File

@ -89,7 +89,7 @@ impl Extension for ScriptExtension {
let mut command = Command::new(&args[0]);
command.env("CONFIG", self.config_path.to_string_lossy().to_string());
for (key, value) in super::util::convert_to_env_variables(&scope) {
for (key, value) in super::util::convert_to_env_variables(scope) {
command.env(key, value);
}

View File

@ -43,34 +43,34 @@ impl Shell {
let mut command = match self {
Shell::Cmd => {
let mut command = Command::new("cmd");
command.args(&["/C", &cmd]);
command.args(&["/C", cmd]);
command
}
Shell::Powershell => {
let mut command = Command::new("powershell");
command.args(&["-Command", &cmd]);
command.args(&["-Command", cmd]);
command
}
Shell::WSL => {
is_wsl = true;
let mut command = Command::new("bash");
command.args(&["-c", &cmd]);
command.args(&["-c", cmd]);
command
}
Shell::WSL2 => {
is_wsl = true;
let mut command = Command::new("wsl");
command.args(&["bash", "-c", &cmd]);
command.args(&["bash", "-c", cmd]);
command
}
Shell::Bash => {
let mut command = Command::new("bash");
command.args(&["-c", &cmd]);
command.args(&["-c", cmd]);
command
}
Shell::Sh => {
let mut command = Command::new("sh");
command.args(&["-c", &cmd]);
command.args(&["-c", cmd]);
command
}
};
@ -87,8 +87,7 @@ impl Shell {
// should be passed to linux.
// For more information: https://devblogs.microsoft.com/commandline/share-environment-vars-between-wsl-and-windows/
if is_wsl {
let mut tokens: Vec<&str> = Vec::new();
tokens.push("CONFIG/p");
let mut tokens: Vec<&str> = vec!["CONFIG/p"];
// Add all the previous variables
for (key, _) in vars.iter() {
@ -166,7 +165,7 @@ impl Extension for ShellExtension {
Shell::default()
};
let mut env_variables = super::util::convert_to_env_variables(&scope);
let mut env_variables = super::util::convert_to_env_variables(scope);
env_variables.insert(
"CONFIG".to_string(),
self.config_path.to_string_lossy().to_string(),

View File

@ -31,7 +31,7 @@ pub trait Renderer {
-> RenderResult;
}
pub fn create<'a>(extensions: Vec<&'a dyn Extension>) -> impl Renderer + 'a {
pub fn create(extensions: Vec<&dyn Extension>) -> impl Renderer + '_ {
renderer::DefaultRenderer::new(extensions)
}

View File

@ -96,7 +96,7 @@ impl<'a> Renderer for DefaultRenderer<'a> {
})
.collect()
} else {
template.vars.iter().map(|var| var).collect()
template.vars.iter().collect()
};
// The implicit global variables will be evaluated first, followed by the local vars
@ -154,7 +154,7 @@ impl<'a> Renderer for DefaultRenderer<'a> {
match render_variables(&template.body, &scope) {
Ok(output) => output,
Err(error) => {
return RenderResult::Error(error.into());
return RenderResult::Error(error);
}
}
} else {
@ -196,7 +196,7 @@ impl<'a> Renderer for DefaultRenderer<'a> {
pub(crate) fn render_variables(body: &str, scope: &Scope) -> Result<String> {
let mut replacing_error = None;
let output = VAR_REGEX
.replace_all(&body, |caps: &Captures| {
.replace_all(body, |caps: &Captures| {
let var_name = caps.name("name").unwrap().as_str();
let var_subname = caps.name("subname");
match scope.get(var_name) {
@ -282,24 +282,22 @@ mod tests {
scope: &Scope,
params: &crate::Params,
) -> ExtensionResult {
if let Some(value) = params.get("echo") {
if let Value::String(string) = value {
if let Some(Value::String(string)) = params.get("echo") {
return ExtensionResult::Success(ExtensionOutput::Single(string.clone()));
}
}
// If the "read" param is present, echo the value of the corresponding result in the scope
if let Some(value) = params.get("read") {
if let Value::String(string) = value {
if let Some(Value::String(string)) = params.get("read") {
if let Some(ExtensionOutput::Single(value)) = scope.get(string.as_str()) {
return ExtensionResult::Success(ExtensionOutput::Single(value.to_string()));
}
}
}
if params.get("abort").is_some() {
return ExtensionResult::Aborted;
}
if params.get("error").is_some() {
return ExtensionResult::Error(RendererError::MissingVariable("missing".to_string()).into());
return ExtensionResult::Error(
RendererError::MissingVariable("missing".to_string()).into(),
);
}
ExtensionResult::Aborted
}

View File

@ -22,7 +22,7 @@ use super::VAR_REGEX;
pub(crate) fn get_body_variable_names(body: &str) -> HashSet<&str> {
let mut variables = HashSet::new();
for caps in VAR_REGEX.captures_iter(&body) {
for caps in VAR_REGEX.captures_iter(body) {
let var_name = caps.name("name").unwrap().as_str();
variables.insert(var_name);
}