sfparse

Crates.iosfparse
lib.rssfparse
version0.1.1
created_at2024-12-14 06:07:05.41124+00
updated_at2024-12-14 06:23:07.784172+00
descriptionRFC 9651 Structured Field Values parser
homepage
repository
max_upload_size
id1482942
size122,637
Tatsuhiro Tsujikawa (tatsuhiro-t)

documentation

README

sfparse-rs

sfparse-rs is RFC 9651 Structured Field Values parser written in Rust. It is the port of sfparse written in C.

It is designed not to do any extra allocation, like allocating maps, lists, and Strings, and do the minimal stuff to parse the input data.

use sfparse::{Parser, Value};

let mut urgency :i32 = 3;
let mut incremental = false;
let mut p = Parser::new("u=2, i".as_bytes());

loop {
    match p.parse_dict().unwrap() {
        None => break,
        Some(("u", Value::Integer(v))) if (0i64..=7i64).contains(&v) => urgency = v as i32,
        Some(("i", Value::Bool(v))) => incremental = v,
        _ => (),
    }
}

println!("urgency={urgency} incremental={incremental}");

License

The MIT License

Copyright (c) 2024 sfparse-rs contributors

Commit count: 0

cargo fmt