diff options
| author | troido <troido@protonmail.com> | 2020-02-09 23:54:24 +0100 |
|---|---|---|
| committer | troido <troido@protonmail.com> | 2020-02-09 23:54:24 +0100 |
| commit | b0e665f5436e08e4fd7446a59b87ac28f562a601 (patch) | |
| tree | fcdeee5178606eadfe1e1b5744410bfd4fef260a /src/assemblage.rs | |
| parent | b9cfb78c20fd309929aae98f24acc8ba4a9a7481 (diff) | |
refactoring using cargo clippy
Diffstat (limited to 'src/assemblage.rs')
| -rw-r--r-- | src/assemblage.rs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/assemblage.rs b/src/assemblage.rs index 879cd3e..3433a76 100644 --- a/src/assemblage.rs +++ b/src/assemblage.rs @@ -5,17 +5,19 @@ use super::componentparameter::ComponentParameter; use super::parameter::{Parameter, ParameterType}; use super::componentwrapper::{ComponentWrapper, ComponentType}; +type ArgumentDef = (String, ParameterType, Option<Parameter>); + #[derive(Debug, PartialEq, Clone)] pub struct Assemblage { - pub arguments: Vec<(String, ParameterType, Option<Parameter>)>, + pub arguments: Vec<ArgumentDef>, pub components: Vec<(ComponentType, HashMap<String, ComponentParameter>)> } impl Assemblage { - fn parse_definition_arguments(args: &Value) -> Result<Vec<(String, ParameterType, Option<Parameter>)>, &'static str> { - let mut arguments: Vec<(String, ParameterType, Option<Parameter>)> = Vec::new(); + fn parse_definition_arguments(args: &Value) -> Result<Vec<ArgumentDef>, &'static str> { + let mut arguments: Vec<ArgumentDef> = Vec::new(); for arg in args.as_array().ok_or("arguments is not an array")? { let tup = arg.as_array().ok_or("argument is not an array")?; let key = tup.get(0).ok_or("argument has no name")?.as_str().ok_or("argument name is not a string")?.to_string(); @@ -69,7 +71,7 @@ impl Assemblage { Ok(assemblage) } - fn prepare_arguments(&self, args: &Vec<Parameter>, kwargs: &HashMap<String, Parameter>) -> Result<HashMap<&str, Parameter>, &'static str> { + fn prepare_arguments(&self, args: &[Parameter], kwargs: &HashMap<String, Parameter>) -> Result<HashMap<&str, Parameter>, &'static str> { let mut arguments: HashMap<&str, Parameter> = HashMap::new(); for (idx, (name, typ, def)) in self.arguments.iter().enumerate() { let value: Option<Parameter> = { @@ -92,7 +94,7 @@ impl Assemblage { Ok(arguments) } - pub fn instantiate(&self, args: &Vec<Parameter>, kwargs: &HashMap<String, Parameter>) -> Result<Vec<ComponentWrapper>, &'static str>{ + pub fn instantiate(&self, args: &[Parameter], kwargs: &HashMap<String, Parameter>) -> Result<Vec<ComponentWrapper>, &'static str>{ let mut components: Vec<ComponentWrapper> = Vec::new(); let arguments = self.prepare_arguments(args, kwargs)?; for (comptype, compparams) in &self.components { |
