use crate::Config;
use r_log::LogLevel;
use semver_common::{Alert, Version};
pub fn parse_args(args: Vec<String>) -> Result<(Config, Version, LogLevel, bool), Alert> {
let config_str = args.get(1).ok_or("No configuration supplied.")?;
let version_str = args.get(2).ok_or("No version supplied.")?;
let log_level_str = args.get(3).ok_or("No log level supplied.")?;
let updated_str = args.get(4).ok_or("No updated supplied.")?;
let config: Config = serde_json::from_str(config_str)?;
let version: Version = serde_json::from_str(version_str)?;
let log_level = LogLevel::from_str(log_level_str).ok_or("Not a valid log level")?;
let updated = updated_str == "true";
Ok((config, version, log_level, updated))
}