Module task

Module task 

Source
Expand description

task module mainly defines the task model

§Example

use std::io;
use std::sync::Arc;
use clap::Parser;
use rsb::{Arg, Task};
use rsb::arg::OutputFormat;

let arg = Arg::parse();
print_tip(&arg)?;
let pb = create_progress_bar(&arg);
let output_format = arg.output_format;
let task = Arc::new(Task::new(arg, Some(pb))?).run()?;
let result = match output_format {
   OutputFormat::Text => task.text_output()?,
   OutputFormat::Json => {
       let output = task.json_output()?;
       serde_json::to_string_pretty(&output)?
   }
};
writeln!(&mut io::stdout(), "{result}")?;

Structs§

Task
Task indicates a task to be performed