use clap::Args;
use crate::error::{CliError, Result};
const VECTORS_V0_1_JSON: &str = include_str!("../../vectors/v0.1.json");
#[derive(Args, Debug)]
pub struct VectorsArgs {
#[arg(long)]
pub pretty: bool,
}
pub fn run(args: VectorsArgs) -> Result<u8> {
if args.pretty {
let parsed: serde_json::Value = serde_json::from_str(VECTORS_V0_1_JSON)
.map_err(|e| CliError::BadInput(format!("vector corpus parse: {}", e)))?;
let pretty = serde_json::to_string_pretty(&parsed)
.map_err(|e| CliError::BadInput(format!("vector corpus serialize: {}", e)))?;
println!("{}", pretty);
} else {
print!("{}", VECTORS_V0_1_JSON);
if !VECTORS_V0_1_JSON.ends_with('\n') {
println!();
}
}
Ok(0)
}