apply_if 1.1.0

Conditionally apply a closure to an item or return it
Documentation

ApplyIf

CI

ApplyIf supplies a trait with two methods: apply_if(cond, closure) and apply_if_mut(cond, closure). These apply the given closure on an instance if cond is true, returning the original instance otherwise (or a reference in case of apply_if_mut).

Very useful for both the immutable and the mutable builder patterns when you want to keep the nice .builder1().builder2() chain, and not interrupt it with if-else blocks.

Comes with a blanket implementation for all types, where apply_if is only implemented for sized types.