#pipe #tap #methods #scala

chaining

Adds chaining methods tap and pipe to every type

1 unstable release

0.1.0 Jan 8, 2023

#9 in #scala

Unlicense

3KB

Chaining

crates.io Released API docs

Adds chaining methods tap and pipe to every type. Inspired by Scala's ChainingOps.

Getting Started

Add chaining to your dependencies in your Cargo.toml file:

[dependencies]
...
chaining = "x.y.z"
...

Examples

use chaining::*;

let times6 = |i: i8| i * 6;
let i = (1 - 2 - 3).pipe(times6).pipe(i8::abs);
assert_eq!(24, i);

let xs = &[1, 2, 3].tap(|xs| println!("debug {}", xs.len()));
assert_eq!(&[1, 2, 3], xs);

No runtime deps