(&self, args: &[Value], _context: &Context)
| 29 | } |
| 30 | |
| 31 | fn invoke(&self, args: &[Value], _context: &Context) -> Result<Value, DscError> { |
| 32 | debug!("{}", t!("functions.base64ToString.invoked")); |
| 33 | |
| 34 | let base64_value = args[0].as_str().unwrap(); |
| 35 | |
| 36 | let decoded_bytes = general_purpose::STANDARD.decode(base64_value).map_err(|_| { |
| 37 | DscError::FunctionArg( |
| 38 | "base64ToString".to_string(), |
| 39 | t!("functions.base64ToString.invalidBase64").to_string(), |
| 40 | ) |
| 41 | })?; |
| 42 | |
| 43 | let result = String::from_utf8(decoded_bytes).map_err(|_| { |
| 44 | DscError::FunctionArg( |
| 45 | "base64ToString".to_string(), |
| 46 | t!("functions.base64ToString.invalidUtf8").to_string(), |
| 47 | ) |
| 48 | })?; |
| 49 | |
| 50 | Ok(Value::String(result)) |
| 51 | } |
| 52 | } |
| 53 | |
| 54 | #[cfg(test)] |
nothing calls this directly
no test coverage detected