diff --git a/src/tools.rs b/src/tools.rs index dd703cf6..23fd99d7 100644 --- a/src/tools.rs +++ b/src/tools.rs @@ -142,16 +142,16 @@ pub fn required_integer_property(param: &Value, name: &str) -> Result Result, Error> { +pub fn required_array_param<'a>(param: &'a Value, name: &str) -> Result<&'a [Value], Error> { match param[name].as_array() { - Some(s) => Ok(s.to_vec()), + Some(s) => Ok(&s), None => bail!("missing parameter '{}'", name), } } -pub fn required_array_property(param: &Value, name: &str) -> Result, Error> { +pub fn required_array_property<'a>(param: &'a Value, name: &str) -> Result<&'a [Value], Error> { match param[name].as_array() { - Some(s) => Ok(s.to_vec()), + Some(s) => Ok(&s), None => bail!("missing property '{}'", name), } }