///|
fn main {
// 1. Item Example: parse -> typed inspection -> serialize
let item_str = "example;secure;level=2"
println("=== 1. Item Example ===")
println("Input: " + item_str)
match @sfv.parse_item(item_str) {
Ok(item) => {
println("Parsed Item successfully.")
println("Item parameters count: " + item.parameters.length().to_string())
match @sfv.serialize_item(item) {
Ok(serialized) => println("Canonical serialized: " + serialized)
Err(_) => println("Serialization failed")
}
}
Err(_) => println("Parsing item failed")
}
// 2. List Example: Item and Inner List with parameters
let list_str = "text/html;q=1.0, (\"gzip\" \"br\");level=9"
println("\n=== 2. List Example ===")
println("Input: " + list_str)
match @sfv.parse_list(list_str) {
Ok(list) => {
println("Parsed list member count: " + list.length().to_string())
match @sfv.serialize_list(list) {
Ok(serialized) => println("Canonical serialized: " + serialized)
Err(_) => println("Serialization failed")
}
}
Err(_) => println("Parsing list failed")
}
// 3. Dictionary Example: key-value pairs, boolean shorthand, inner list
let dict_str = "en=\"Applepie\", da=:w4ZibGV0w6ZydGUK:, active, flags=(x y)"
println("\n=== 3. Dictionary Example ===")
println("Input: " + dict_str)
match @sfv.parse_dictionary(dict_str) {
Ok(dict) => {
println("Parsed dictionary entry count: " + dict.length().to_string())
match @sfv.serialize_dictionary(dict) {
Ok(serialized) => println("Canonical serialized: " + serialized)
Err(_) => println("Serialization failed")
}
}
Err(_) => println("Parsing dictionary failed")
}
}