ReaderTaskEither<E, L, R>.Do constructor

ReaderTaskEither<E, L, R>.Do(
  1. DoFunctionReaderTaskEither<E, L, R> f
)

Initialize a Do Notation chain.

Implementation

// ignore: non_constant_identifier_names
factory ReaderTaskEither.Do(DoFunctionReaderTaskEither<E, L, R> f) =>
    ReaderTaskEither((env) async {
      try {
        return Either.of(await f(_doAdapter<E, L>(env)));
      } on _ReaderTaskEitherThrow<L> catch (e) {
        return Either.left(e.value);
      }
    });