filterOrElse method

ReaderTaskEither<E, L, R> filterOrElse(
  1. bool f(
    1. R r
    ),
  2. L onFalse(
    1. R r
    )
)

If f applied on this ReaderTaskEither as Right returns true, then return this ReaderTaskEither. If it returns false, return the result of onFalse in a Left.

Implementation

ReaderTaskEither<E, L, R> filterOrElse(
  bool Function(R r) f,
  L Function(R r) onFalse,
) =>
    flatMap(
      (r) =>
          f(r) ? ReaderTaskEither.of(r) : ReaderTaskEither.left(onFalse(r)),
    );