pub mod json_key_quote_utils;
pub mod load_write_utils;
#[derive(Clone, Copy)]
pub enum Quotes {
DoubleQuote,
SingleQuote,
}
impl Quotes {
fn as_str(&self) -> &'static str {
match self {
Quotes::DoubleQuote => "\"",
Quotes::SingleQuote => "'",
}
}
}
impl Default for Quotes {
fn default() -> Self {
Quotes::DoubleQuote
}
}
pub struct JsonKeyQuoteConverter {
json: String,
quote_type: Quotes,
}
impl JsonKeyQuoteConverter {
pub fn new(json: &str, quote_type: Quotes) -> JsonKeyQuoteConverter {
JsonKeyQuoteConverter {
json: String::from(json),
quote_type: quote_type,
}
}
pub fn add_key_quotes(mut self) -> JsonKeyQuoteConverter {
self.json = json_key_quote_utils::json_add_key_quotes(&self.json, self.quote_type);
self
}
pub fn remove_key_quotes(mut self) -> JsonKeyQuoteConverter {
self.json = json_key_quote_utils::json_remove_key_quotes(&self.json);
self
}
pub fn escape_ctrlchars(mut self) -> JsonKeyQuoteConverter {
self.json = json_key_quote_utils::json_escape_ctrlchars(&self.json);
self
}
pub fn unescape_ctrlchars(mut self) -> JsonKeyQuoteConverter {
self.json = json_key_quote_utils::json_unescape_ctrlchars(&self.json);
self
}
pub fn json(self) -> String {
self.json
}
}