static ObservableTransformer fromConsumer()

in mobius-rx3/src/main/java/com/spotify/mobius/rx3/Transformers.java [123:147]


  static <F, E> ObservableTransformer<F, E> fromConsumer(
      final Consumer<F> doEffect, @Nullable final Scheduler scheduler) {
    return new ObservableTransformer<F, E>() {
      @Override
      public ObservableSource<E> apply(Observable<F> effectStream) {
        return effectStream
            .flatMapCompletable(
                new Function<F, CompletableSource>() {
                  @Override
                  public CompletableSource apply(final F effect) {
                    Completable completable =
                        Completable.fromAction(
                            new Action() {
                              @Override
                              public void run() throws Throwable {
                                doEffect.accept(effect);
                              }
                            });
                    return scheduler == null ? completable : completable.subscribeOn(scheduler);
                  }
                })
            .toObservable();
      }
    };
  }