Skip to content

Log your `Result` and `Option` chains with inline methods.

License

Notifications You must be signed in to change notification settings

arusahni/logchop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Latest version

LogChop

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!

Documentation

Available on Docs.rs.

Installation and Usage

Add the following to your Cargo.toml:

logchop = "0.1"

and then import traits: use logchop::*

About

Log your `Result` and `Option` chains with inline methods.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages