Refactor and add message command
This commit is contained in:
parent
e87bed00a2
commit
fa959136be
8 changed files with 370 additions and 263 deletions
src
|
@ -1,4 +1,5 @@
|
|||
use std::fmt::{Debug, Display, Formatter};
|
||||
use crate::utils::{decode_value, encode_value};
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct Parameter {
|
||||
|
@ -49,19 +50,15 @@ pub fn parameter_parse(params_str: &str) -> ParameterList {
|
|||
|
||||
impl From<(&str, &str)> for Parameter {
|
||||
fn from(param: (&str, &str)) -> Parameter {
|
||||
Parameter::new(String::from(param.0), String::from(param.1))
|
||||
Parameter::new(param.0, param.1)
|
||||
}
|
||||
}
|
||||
|
||||
impl Parameter {
|
||||
pub fn new(name: String, value: String) -> Parameter {
|
||||
let value = value
|
||||
.replace("\\s", " ")
|
||||
.replace("\\p", "|");
|
||||
|
||||
pub fn new(name: &str, value: &str) -> Parameter {
|
||||
Parameter {
|
||||
name,
|
||||
value,
|
||||
name: String::from(name),
|
||||
value: decode_value(value)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -81,6 +78,22 @@ impl Parameter {
|
|||
pub fn to_i32(&self, default: i32) -> i32 {
|
||||
self.value.parse::<i32>().unwrap_or(default)
|
||||
}
|
||||
|
||||
pub fn list_to_string(parameter_list: ParameterList) -> String {
|
||||
parameter_list
|
||||
.into_iter()
|
||||
.map(String::from)
|
||||
.collect::<Vec<String>>()
|
||||
.join(" ")
|
||||
}
|
||||
|
||||
pub fn list_to_string_sep(parameter_list: ParameterList, sep: &str) -> String {
|
||||
parameter_list
|
||||
.into_iter()
|
||||
.map(String::from)
|
||||
.collect::<Vec<String>>()
|
||||
.join(sep)
|
||||
}
|
||||
}
|
||||
|
||||
impl Display for Parameter {
|
||||
|
@ -97,6 +110,12 @@ impl Debug for Parameter {
|
|||
|
||||
impl Default for Parameter {
|
||||
fn default() -> Self {
|
||||
Parameter::new(String::from(""), String::from(""))
|
||||
Parameter::new("", "")
|
||||
}
|
||||
}
|
||||
|
||||
impl From<Parameter> for String {
|
||||
fn from(value: Parameter) -> Self {
|
||||
format!("{}={}", value.name, encode_value(&value.value))
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue