Skip to content

Commit af7c09f

Browse files
committed
rename to_string_styled to to_string_formatted and StyleConfiguration to FormatConfiguration and export
1 parent 5127cba commit af7c09f

File tree

3 files changed

+24
-22
lines changed

3 files changed

+24
-22
lines changed

src/lib.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,17 @@ pub use de::{from_str, JSONValueDeserializer};
2222

2323
/// the `serde` serializer
2424
#[cfg(feature = "serde")]
25-
pub use ser::{to_string, Serializer};
25+
pub use ser::{to_string, to_string_formatted, Serializer};
2626

2727
/// turn your strings into abstract JSON5 model (AST)
2828
pub use parser::from_str as model_from_str;
2929

3030
/// Turn [crate::tokenize::Tokens] into AST
3131
pub use parser::from_tokens as model_from_tokens;
3232

33+
/// formatting configuration for use with [crate::to_string_formatted]
34+
pub use parser::FormatConfiguration;
35+
3336
/// turn str/bytes into [crate::tokenize::Tokens]
3437
pub use tokenize::{tokenize_bytes, tokenize_str};
3538

src/parser.rs

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ pub enum TrailingComma {
5353
NONE
5454
}
5555

56-
pub struct StyleConfiguration {
56+
pub struct FormatConfiguration {
5757
pub(crate) indent: Option<usize>,
5858
pub(crate) item_separator: String,
5959
pub(crate) key_separator: String,
@@ -62,33 +62,32 @@ pub struct StyleConfiguration {
6262
}
6363

6464
#[allow(dead_code)]
65-
impl StyleConfiguration {
65+
impl FormatConfiguration {
6666
pub fn new(indent: Option<usize>, item_separator: &str, key_separator: &str, trailing_comma: TrailingComma) -> Self {
67-
StyleConfiguration{indent: indent, item_separator: item_separator.to_string(), key_separator: key_separator.to_string(), current_indent: String::with_capacity(64), trailing_comma: trailing_comma}
67+
FormatConfiguration {indent: indent, item_separator: item_separator.to_string(), key_separator: key_separator.to_string(), current_indent: String::with_capacity(64), trailing_comma: trailing_comma}
6868
}
6969

7070
pub fn with_indent(indent: usize, trailing_comma: TrailingComma) -> Self {
71-
StyleConfiguration{indent: Some(indent), item_separator: ",".to_string(), key_separator: ": ".to_string(), trailing_comma, current_indent: String::with_capacity(64)}
71+
FormatConfiguration {indent: Some(indent), item_separator: ",".to_string(), key_separator: ": ".to_string(), trailing_comma, current_indent: String::with_capacity(64)}
7272
}
7373

7474
pub fn with_separators(item_separator: &str, key_separator: &str, trailing_comma: TrailingComma) -> Self {
75-
StyleConfiguration{indent: Some(0), key_separator: key_separator.to_string(), trailing_comma, item_separator: item_separator.to_string(), current_indent: String::with_capacity(64)}
75+
FormatConfiguration {indent: Some(0), key_separator: key_separator.to_string(), trailing_comma, item_separator: item_separator.to_string(), current_indent: String::with_capacity(64)}
7676
}
7777

7878
pub fn default() -> Self {
79-
StyleConfiguration{indent: None, item_separator: ", ".to_string(), key_separator: ": ".to_string(), current_indent: String::with_capacity(64), trailing_comma: TrailingComma::NONE}
80-
79+
FormatConfiguration {indent: None, item_separator: ", ".to_string(), key_separator: ": ".to_string(), current_indent: String::with_capacity(64), trailing_comma: TrailingComma::NONE}
8180
}
8281
}
8382

8483
impl<'input> JSONKeyValuePair<'input> {
85-
fn to_string_styled(&self, style: &mut StyleConfiguration) -> String {
86-
format!("{}{}{}", self.key.to_string_styled(style), style.key_separator, self.value)
84+
fn to_string_formatted(&self, style: &mut FormatConfiguration) -> String {
85+
format!("{}{}{}", self.key.to_string_formatted(style), style.key_separator, self.value)
8786
}
8887
}
8988

9089
impl<'input> JSONValue<'input> {
91-
fn to_string_styled(&self, style: &mut StyleConfiguration) -> String {
90+
fn to_string_formatted(&self, style: &mut FormatConfiguration) -> String {
9291
match self {
9392
JSONValue::Identifier(s) | JSONValue::Integer(s) | JSONValue::Float(s) | JSONValue::Exponent(s) | JSONValue::Hexadecimal(s) => {
9493
format!("{}", s)
@@ -131,7 +130,7 @@ impl<'input> JSONValue<'input> {
131130
}
132131
}
133132
for (idx, kvp) in key_value_pairs.iter().enumerate() {
134-
ret.push_str(kvp.to_string_styled(style).as_str());
133+
ret.push_str(kvp.to_string_formatted(style).as_str());
135134
if idx < key_value_pairs.len() - 1 {
136135
match style.indent {
137136
None => {
@@ -176,7 +175,7 @@ impl<'input> JSONValue<'input> {
176175
}
177176
}
178177
for (idx, value) in values.iter().enumerate() {
179-
ret.push_str(value.to_string_styled(style).as_str());
178+
ret.push_str(value.to_string_formatted(style).as_str());
180179
if idx < values.len() - 1 {
181180
match style.indent {
182181
None => {
@@ -212,16 +211,16 @@ impl<'input> JSONValue<'input> {
212211

213212
impl<'input> Display for JSONValue<'input> {
214213
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
215-
let mut style = StyleConfiguration::default();
216-
let res = self.to_string_styled(&mut style);
214+
let mut style = FormatConfiguration::default();
215+
let res = self.to_string_formatted(&mut style);
217216
write!(f, "{}", res)
218217
}
219218
}
220219

221220

222221
impl<'input> Display for JSONText<'input> {
223222
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
224-
write!(f, "{}", self.value.to_string_styled(&mut StyleConfiguration::default()))
223+
write!(f, "{}", self.value.to_string_formatted(&mut FormatConfiguration::default()))
225224
}
226225
}
227226

src/ser.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@ impl ser::Error for SerdeJSON5Error {
2323
}
2424
}
2525

26-
use crate::parser::StyleConfiguration;
26+
use crate::parser::FormatConfiguration;
2727

2828
/// The JSON5 serializer implementing [ser::Serializer]
2929
pub struct Serializer {
3030
// This string starts empty and JSON is appended as values are serialized.
3131
output: String,
32-
style: StyleConfiguration
32+
style: FormatConfiguration
3333
}
3434

3535
type Result<T> = std::result::Result<T, SerdeJSON5Error>;
@@ -60,13 +60,13 @@ where
6060
{
6161
let mut serializer = Serializer {
6262
output: String::new(),
63-
style: StyleConfiguration::default()
63+
style: FormatConfiguration::default()
6464
};
6565
value.serialize(&mut serializer)?;
6666
Ok(serializer.output)
6767
}
6868

69-
pub fn to_string_styled<T>(value: &T, style: StyleConfiguration) -> Result<String>
69+
pub fn to_string_formatted<T>(value: &T, style: FormatConfiguration) -> Result<String>
7070
where
7171
T: Serialize
7272
{
@@ -867,8 +867,8 @@ mod tests {
867867
"b",
868868
],
869869
}"#;
870-
let style = StyleConfiguration::with_indent(4, TrailingComma::ALL);
871-
assert_eq!(to_string_styled(&test, style).unwrap(), expected);
870+
let style = FormatConfiguration::with_indent(4, TrailingComma::ALL);
871+
assert_eq!(to_string_formatted(&test, style).unwrap(), expected);
872872
}
873873

874874

0 commit comments

Comments
 (0)