Crates.io | procedure |
lib.rs | procedure |
version | 0.3.0 |
source | src |
created_at | 2019-11-11 16:08:37.690492 |
updated_at | 2019-12-06 14:14:54.289533 |
description | Procedure allows to execute tasks with a visual indication to the end user in the stdout. |
homepage | https://erik.cat |
repository | https://github.com/ConsoleTVs/Procedure |
max_upload_size | |
id | 180294 |
size | 10,792 |
Procedure allows to execute tasks with a visual indication to the end user in the stdout.
This is inteted to be used as a command line display.
let a = proceed("Download", "example_file.jpg", |progress: &mut Progress| -> Result<(&str, &str), &str> {
for _ in 0..100 {
std::thread::sleep(std::time::Duration::from_millis(10));
progress.increment(1);
}
Ok(("256KB", "example_file.jpg [256 KB]"))
});
assert_eq!(a.unwrap(), "256KB");
let b = proceed("Download", "some_other.zip", |progress: &mut Progress| -> Result<(&str, &str), &str> {
let min = 500;
let max = 1000;
for i in min..max {
std::thread::sleep(std::time::Duration::from_millis(5));
progress.set_from(min, max, i);
if i == 975 {
return Err("some_other.zip [Failed]");
}
}
Ok(("1MB", "some_other.zip [1 MB]"))
});
assert_eq!(b.unwrap_err(), "some_other.zip [Failed]");