use std::path::PathBuf;
use clap::{Args, ValueEnum};
use serde::{Deserialize, Serialize};
#[derive(Args, Debug, Clone, Serialize, Deserialize)]
pub struct SensorArgs {
#[arg(long, default_value = "main")]
pub base: String,
#[arg(long, default_value = "HEAD")]
pub head: String,
#[arg(
long,
value_name = "PATH",
default_value = "artifacts/tokmd/report.json"
)]
pub output: PathBuf,
#[arg(long, value_enum, default_value_t = SensorFormat::Json)]
pub format: SensorFormat,
}
#[derive(ValueEnum, Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, Default)]
#[serde(rename_all = "kebab-case")]
pub enum SensorFormat {
#[default]
Json,
Md,
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn sensor_format_default_is_json() {
assert_eq!(SensorFormat::default(), SensorFormat::Json);
}
}