rs-ua2json 0.1.0

Simple CLI to convert the user agent string.
Documentation
use std::io;
use std::process::ExitCode;

use io::Write;

use clap::Parser as _;

use rs_ua2json::ua2parsed2json2writer;

#[derive(clap::Parser)]
#[command(version, about, long_about = None)]
struct Cli {
    #[arg(short, long)]
    user_agent: String,
}

fn sub() -> Result<(), io::Error> {
    let args = Cli::parse();
    let parser = woothee::parser::Parser::new();
    let mut ol = io::stdout().lock();
    let ua: &str = &args.user_agent;
    ua2parsed2json2writer(&parser, ua, &mut ol)?;
    ol.flush()
}

fn main() -> ExitCode {
    sub().map(|_| ExitCode::SUCCESS).unwrap_or_else(|e| {
        eprintln!("{e}");
        ExitCode::FAILURE
    })
}