libesedb 0.2.7

A safe Rust API for libesedb
Documentation
use libesedb::EseDb;

fn main() {
    let filename = std::env::args()
        .nth(1)
        .expect("specify path to .esedb file");
    let db = EseDb::open(&filename).unwrap();
    println!("Database Overview ({}):", filename);
    for table in db.iter_tables().unwrap() {
        let table = table.unwrap();
        println!(
            "  {} [{:?}]",
            table.name().unwrap(),
            table
                .iter_columns()
                .unwrap()
                .map(|c| c.unwrap().name().unwrap())
                .collect::<Vec<String>>()
                .join(", "),
        );
        for record in table.iter_records().unwrap() {
            let record = record.unwrap();
            for i in 0..record.count_values().unwrap() {
                println!(
                    "  ├ T={:?} L={}, M={} V={:?}",
                    table.column(i).unwrap().variant().unwrap(),
                    record.is_long(i).unwrap(),
                    record.is_multi(i).unwrap(),
                    record.value(i).unwrap(),
                );
            }
        }
    }
}