code-scanner-driver 0.1.1

Driver for barcode scanners and keyboard input with GTIN validation, async streaming, and burst detection.
Documentation
use tokio_stream::StreamExt;
use code_scanner_driver::stream::ScannerStream;
use code_scanner_driver::util::gtin::validate_gtin;

#[tokio::main]
async fn main() {
    let mut stream = ScannerStream::new().unwrap();
    println!("Listening... scan something:");

    while let Some(ev) = stream.next().await {
        if let Some(text) = ev.text.clone() {
            match validate_gtin(&text) {
                Some(gtin_type) => {
                    println!("{} is a valid {}", text, gtin_type);
                },
                None => {
                    println!("{} is NOT a valid GTIN", text);
                },
            }
        }
    }
}