pub struct EncodeOptions {
pub delimiter: Delimiter,
pub length_marker: Option<char>,
pub indent: Indent,
}Expand description
Options for encoding JSON values to TOON format.
Fields§
§delimiter: Delimiter§length_marker: Option<char>§indent: IndentImplementations§
Source§impl EncodeOptions
impl EncodeOptions
Sourcepub fn new() -> Self
pub fn new() -> Self
Create new encoding options with defaults.
Examples found in repository?
examples/parts/length_marker.rs (line 16)
7pub fn length_marker() {
8 let data = json!({
9 "tags": ["reading", "gaming", "coding"],
10 "items": [
11 {"sku": "A1", "qty": 2, "price": 9.99},
12 {"sku": "B2", "qty": 1, "price": 14.5}
13 ]
14 });
15
16 let out = encode(&data, &EncodeOptions::new().with_length_marker('#')).unwrap();
17 println!("{out}");
18}More examples
examples/parts/delimiters.rs (line 17)
8pub fn delimiters() {
9 let data = json!({
10 "items": [
11 {"sku": "A1", "name": "Widget", "qty": 2, "price": 9.99},
12 {"sku": "B2", "name": "Gadget", "qty": 1, "price": 14.5}
13 ]
14 });
15
16 // Tab delimiter (\t)
17 let tab = encode(&data, &EncodeOptions::new().with_delimiter(Delimiter::Tab)).unwrap();
18 println!("{tab}");
19
20 // Pipe delimiter (|)
21 let pipe = encode(&data, &EncodeOptions::new().with_delimiter(Delimiter::Pipe)).unwrap();
22 println!("\n{pipe}");
23}Sourcepub fn with_delimiter(self, delimiter: Delimiter) -> Self
pub fn with_delimiter(self, delimiter: Delimiter) -> Self
Set the delimiter for array elements.
Examples found in repository?
examples/parts/delimiters.rs (line 17)
8pub fn delimiters() {
9 let data = json!({
10 "items": [
11 {"sku": "A1", "name": "Widget", "qty": 2, "price": 9.99},
12 {"sku": "B2", "name": "Gadget", "qty": 1, "price": 14.5}
13 ]
14 });
15
16 // Tab delimiter (\t)
17 let tab = encode(&data, &EncodeOptions::new().with_delimiter(Delimiter::Tab)).unwrap();
18 println!("{tab}");
19
20 // Pipe delimiter (|)
21 let pipe = encode(&data, &EncodeOptions::new().with_delimiter(Delimiter::Pipe)).unwrap();
22 println!("\n{pipe}");
23}Sourcepub fn with_length_marker(self, marker: char) -> Self
pub fn with_length_marker(self, marker: char) -> Self
Set a character prefix for array length markers (e.g., # for [#3]).
Examples found in repository?
examples/parts/length_marker.rs (line 16)
7pub fn length_marker() {
8 let data = json!({
9 "tags": ["reading", "gaming", "coding"],
10 "items": [
11 {"sku": "A1", "qty": 2, "price": 9.99},
12 {"sku": "B2", "qty": 1, "price": 14.5}
13 ]
14 });
15
16 let out = encode(&data, &EncodeOptions::new().with_length_marker('#')).unwrap();
17 println!("{out}");
18}Sourcepub fn with_indent(self, style: Indent) -> Self
pub fn with_indent(self, style: Indent) -> Self
Set the indentation string for nested structures.
Sourcepub fn format_length(&self, length: usize) -> String
pub fn format_length(&self, length: usize) -> String
Format an array length with optional marker prefix.
Sourcepub fn with_spaces(self, count: usize) -> Self
pub fn with_spaces(self, count: usize) -> Self
Set indentation to a specific number of spaces.
Trait Implementations§
Source§impl Clone for EncodeOptions
impl Clone for EncodeOptions
Source§fn clone(&self) -> EncodeOptions
fn clone(&self) -> EncodeOptions
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EncodeOptions
impl Debug for EncodeOptions
Source§impl Default for EncodeOptions
impl Default for EncodeOptions
Source§impl PartialEq for EncodeOptions
impl PartialEq for EncodeOptions
impl Eq for EncodeOptions
impl StructuralPartialEq for EncodeOptions
Auto Trait Implementations§
impl Freeze for EncodeOptions
impl RefUnwindSafe for EncodeOptions
impl Send for EncodeOptions
impl Sync for EncodeOptions
impl Unpin for EncodeOptions
impl UnwindSafe for EncodeOptions
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.