diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2022-10-24 21:52:30 +0200 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2022-10-24 21:52:30 +0200 |
commit | a607f4bcab2e846cb2b91761be808eb516d03d8f (patch) | |
tree | e8586e6a02ffdf09d7e38fbd2bcc789444c70d20 /src/common/mod.rs | |
parent | 0acc44b468a6c244620efee7470fc24d6971e085 (diff) |
get rid of some of the static lifetimes
Diffstat (limited to 'src/common/mod.rs')
-rw-r--r-- | src/common/mod.rs | 57 |
1 files changed, 30 insertions, 27 deletions
diff --git a/src/common/mod.rs b/src/common/mod.rs index ee54eed..c9ca264 100644 --- a/src/common/mod.rs +++ b/src/common/mod.rs @@ -4,71 +4,74 @@ use std::collections::BTreeMap; use iso8601::DateTime; -pub(crate) fn get_str(map: &BTreeMap<String, xmlrpc::Value>, key: &'static str) -> Result<String> { +pub(crate) fn get_str(map: &BTreeMap<String, xmlrpc::Value>, key: String) -> Result<String> { let value = map - .get(key) - .ok_or(Error::Inexistent(key))? + .get(&key) + .ok_or(Error::Inexistent(key.clone()))? .as_str() - .ok_or_else(|| Error::Type(key, "String", map.get(key).unwrap().clone()))?; + .ok_or_else(|| Error::Type(key.clone(), "String".into(), map.get(&key).unwrap().clone()))?; Ok(value.to_owned()) } -pub(crate) fn get_i32(map: &BTreeMap<String, xmlrpc::Value>, key: &'static str) -> Result<i32> { +pub(crate) fn get_i32(map: &BTreeMap<String, xmlrpc::Value>, key: String) -> Result<i32> { let value = map - .get(key) - .ok_or(Error::Inexistent(key))? + .get(&key) + .ok_or(Error::Inexistent(key.clone()))? .as_i32() - .ok_or_else(|| Error::Type(key, "Int", map.get(key).unwrap().clone()))?; + .ok_or_else(|| Error::Type(key.clone(), "Int".into(), map.get(&key).unwrap().clone()))?; Ok(value) } -pub(crate) fn get_bool(map: &BTreeMap<String, xmlrpc::Value>, key: &'static str) -> Result<bool> { +pub(crate) fn get_bool(map: &BTreeMap<String, xmlrpc::Value>, key: String) -> Result<bool> { let value = map - .get(key) - .ok_or(Error::Inexistent(key))? + .get(&key) + .ok_or(Error::Inexistent(key.clone()))? .as_bool() - .ok_or_else(|| Error::Type(key, "Bool", map.get(key).unwrap().clone()))?; + .ok_or_else(|| Error::Type(key.clone(), "Bool".into(), map.get(&key).unwrap().clone()))?; Ok(value) } -pub(crate) fn get_datetime( - map: &BTreeMap<String, xmlrpc::Value>, - key: &'static str, -) -> Result<DateTime> { +pub(crate) fn get_datetime(map: &BTreeMap<String, xmlrpc::Value>, key: String) -> Result<DateTime> { let value = map - .get(key) - .ok_or(Error::Inexistent(key))? + .get(&key) + .ok_or(Error::Inexistent(key.clone()))? .as_datetime() - .ok_or_else(|| Error::Type(key, "DateTime", map.get(key).unwrap().clone()))?; + .ok_or_else(|| { + Error::Type( + key.clone(), + "DateTime".into(), + map.get(&key).unwrap().clone(), + ) + })?; Ok(value) } pub(crate) fn get_array( map: &BTreeMap<String, xmlrpc::Value>, - key: &'static str, + key: String, ) -> Result<Vec<xmlrpc::Value>> { let value = map - .get(key) - .ok_or(Error::Inexistent(key))? + .get(&key) + .ok_or(Error::Inexistent(key.clone()))? .as_array() - .ok_or_else(|| Error::Type(key, "Array", map.get(key).unwrap().clone()))?; + .ok_or_else(|| Error::Type(key.clone(), "Array".into(), map.get(&key).unwrap().clone()))?; Ok(value.to_vec()) } pub(crate) fn get_map( map: &BTreeMap<String, xmlrpc::Value>, - key: &'static str, + key: String, ) -> Result<BTreeMap<String, xmlrpc::Value>> { let value = map - .get(key) - .ok_or(Error::Inexistent(key))? + .get(&key) + .ok_or(Error::Inexistent(key.clone()))? .as_struct() - .ok_or_else(|| Error::Type(key, "Struct", map.get(key).unwrap().clone()))?; + .ok_or_else(|| Error::Type(key.clone(), "Struct".into(), map.get(&key).unwrap().clone()))?; Ok(value.to_owned()) } |