demit 1.0.0

A flexible data generator for various domains
Documentation
use crate::domain::DomainType;
use crate::output::OutputFormat;
use clap::Parser;

#[derive(Parser, Debug)]
#[command(author, version, about, long_about = None)]
pub struct Cli {
    /// number of records to generate
    #[arg(short, long, default_value_t = 100)]
    pub count: usize,

    /// output file path (outputs to stdout if not specified)
    #[arg(short, long)]
    pub output: Option<String>,

    /// output file type
    #[arg(short, long, value_enum, default_value_t = OutputFormat::Json)]
    pub format: OutputFormat,

    /// type of data to generate (pos or weblog)
    #[arg(short, long, value_enum, default_value_t = DomainType::Pos)]
    pub domain: DomainType,

    /// show logs
    #[arg(short, long, default_value_t = false)]
    pub verbose: bool,
}

pub fn parse_args() -> Cli {
    Cli::parse()
}