use oi4_dnp_encoding::{validate_dnp, ErrorKind, Rules};
fn main() {
let encoded_ok = "Hello,20World,21";
validate_dnp(encoded_ok, &Rules::default()).expect("should validate");
println!("validated OK: {encoded_ok}");
let rules = Rules {
enforce_reserved_masking: true,
allow_lowercase_hex: true,
};
let bad = "Hello World"; match validate_dnp(bad, &rules) {
Ok(_) => println!("unexpected success"),
Err(e) => match e.kind() {
ErrorKind::UnescapedReservedAscii(ch) => println!(
"expected error: unescaped reserved ASCII '{ch}' at pos {:?}",
e.position()
),
other => println!("other validation error: {other:?}"),
},
}
}