diff options
Diffstat (limited to 'src/componentparameter.rs')
| -rw-r--r-- | src/componentparameter.rs | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/componentparameter.rs b/src/componentparameter.rs index 333c6e1..08c3244 100644 --- a/src/componentparameter.rs +++ b/src/componentparameter.rs @@ -76,14 +76,12 @@ impl ComponentParameter { pub fn from_json(value: &Value) -> PResult<Self> { if !value.is_array() { - return Ok(Self::Constant(Parameter::guess_from_json(value).ok_or(perr!("invalid component parameter {:?}", value))?)); + return Ok(Self::Constant(Parameter::guess_from_json(value)?)); } let paramvalue = value.get(1).ok_or(perr!("index 1 not in component parameter"))?; let typename = value.get(0).ok_or(perr!("index 0 not in component parameter"))?.as_str().ok_or(perr!("compparam type not a string"))?; if let Some(paramtype) = ParameterType::from_str(typename) { - Ok(Self::Constant(Parameter::from_typed_json(paramtype, paramvalue).ok_or_else(|| - perr!("failed to parse parameter constant: {:?} {:?}", paramtype, paramvalue) - )?)) + Ok(Self::Constant(Parameter::from_typed_json(paramtype, paramvalue)?)) } else { match typename { "A" | "arg" => { @@ -120,6 +118,7 @@ impl ComponentParameter { } } + #[allow(dead_code)] pub fn get_type(&self, arguments: &[(String, ParameterType, Option<Parameter>)]) -> Result<ParameterType>{ Ok(match self { Self::Constant(param) => param.paramtype(), |
