pub fn encode<T: Serialize>(
value: &T,
options: &EncodeOptions,
) -> ToonResult<String>Expand description
Encode any serializable value to TOON format.
This function accepts any type implementing serde::Serialize, including:
- Custom structs with
#[derive(Serialize)] serde_json::Value- Built-in types (Vec, HashMap, etc.)
ยงExamples
With custom structs:
use serde::Serialize;
use toon_format::{
encode,
EncodeOptions,
};
#[derive(Serialize)]
struct User {
name: String,
age: u32,
}
let user = User {
name: "Alice".to_string(),
age: 30,
};
let toon = encode(&user, &EncodeOptions::default())?;
assert!(toon.contains("name: Alice"));With JSON values:
use toon_format::{encode, EncodeOptions, Delimiter};
use serde_json::json;
let data = json!({"tags": ["a", "b", "c"]});
let options = EncodeOptions::new().with_delimiter(Delimiter::Pipe);
let toon = encode(&data, &options)?;
assert!(toon.contains("|"));