@Test public void create() throws ExecutionException, InterruptedException { Flowable<Integer> flowable = Flowable.fromArray(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) .subscribeOn(Schedulers.computation()); List<String> list = ReactiveStreams.fromPublisher(flowable) .filter(i -> i < 4) .map(this::square) .map(this::asString) .toList() .run().toCompletableFuture().get(); assertThat(list).containsExactly("1", "4", "9"); }
@Override public <I, O> ProcessingStage<I, O> create(Engine engine, Stage.Map stage) { Function<I, O> mapper = Casts.cast(stage.getMapper()); Objects.requireNonNull(mapper); return source -> source.map(mapper::apply); }
MapStageFactory implements ProcessingStageFactory<Stage.Map> { @Override public <I, O> ProcessingStage<I, O> create(Engine engine, Stage.Map stage) { Function<I, O> mapper = Casts.cast(stage.getMapper()); Objects.requireNonNull(mapper); return source -> source.map(mapper::apply); } }
MapStageFactory implements ProcessingStageFactory<Stage.Map> { @Override public <I, O> ProcessingStage<I, O> create(Engine engine, Stage.Map stage) { Function<I, O> mapper = Casts.cast(stage.getMapper()); Objects.requireNonNull(mapper); return source -> source.map(mapper::apply); }  }
MapStageFactory implements ProcessingStageFactory<Stage.Map> { @Override public <I, O> ProcessingStage<I, O> create(Engine engine, Stage.Map stage) { Function<I, O> mapper = Casts.cast(stage.getMapper()); Objects.requireNonNull(mapper); return source -> source.map(mapper::apply); }  @Override ProcessingStage<I, O> create(Engine engine, Stage.Map stage); }
MapStageFactory implements ProcessingStageFactory<Stage.Map> { @Override public <I, O> ProcessingStage<I, O> create(Engine engine, Stage.Map stage) { Function<I, O> mapper = Casts.cast(stage.getMapper()); Objects.requireNonNull(mapper); return source -> source.map(mapper::apply); }  @Override ProcessingStage<I, O> create(Engine engine, Stage.Map stage);  }