Crates.io | logchop |
lib.rs | logchop |
version | 0.1.2 |
source | src |
created_at | 2021-01-31 20:01:04.315819 |
updated_at | 2021-02-03 03:01:23.523673 |
description | Log your `Result` and `Option` chains with inline methods. |
homepage | https://github.com/arusahni/logchop |
repository | https://github.com/arusahni/logchop |
max_upload_size | |
id | 348995 |
size | 32,120 |
It's better than bad, it's good!
Log your Result
and Option
chains with inline methods.
Turn
match maybe_something {
Some(x) => Some(x),
None => {
debug!("Nothing found!");
None
}
}.
into
maybe_something.debug_none("Nothing found!")
This becomes handy when you start chaining from results
use logchop::*;
parse_id_string(id_str)
.trace_ok("Found id")
.debug_err("Couldn't parse ID")
.map_or_else(|id| get_widget_by_id(id), |_| get_default_widget())
.info_ok_format(|widget| format!("Found widget: {}", widget.name))
# Sucessful parse result
[trace] Found id: 12
[info ] Found widget: chainsaw
# Error parsing result
[debug] Couldn't parse ID: Invalid format
[info ] Found widget: concilation prize
Say goodbye to unnecessary blocks!
Add the following to your Cargo.toml
:
logchop = "0.1"
and then import traits: use logchop::*