Version Matrix

Reactor Scala Extensions

Join the chat at Reactor Scala Extensions Latest Download

Build Status codecov

Average time to resolve an issue Percentage of issues still open

This project is a Scala extension for reactor-core.

Using reactor-core project as it is in scala code will look ugly because a lot of methods use Java 8 lambda which is not compatible with Scala lambda. This will force Scala code to use anonymous class which turns ugly.

So instead of

val mono = Mono.just(1)
               .map(new java.util.function.Function[Int, String] {
                   def apply(t: Int): String = t.toString

it becomes

val mono = SMono.just(1).map(_.toString)

This extension will also return scala's scala.collection.immutable.Stream instead of Java's and scala.concurrent.Future instead of java.util.concurrent.CompletableFuture

Getting it

With SBT:

libraryDependencies += "io.projectreactor" %% "reactor-scala-extensions" % "0.7.0"

With Gradle:

repositories {
    //maven { url '' }

dependencies {
    //compile "io.projectreactor:reactor-scala-extensions_2.12:0.7.1-SNAPSHOT
    //compile "io.projectreactor:reactor-scala-extensions_2.13:0.7.0 //for scala 2.13
    compile "io.projectreactor:reactor-scala-extensions_2.12:0.7.0 //for scala 2.12
    //compile "io.projectreactor:reactor-scala-extensions_2.11:0.7.0 //for scala 2.11

With Maven:

<!-- To get latest SNAPSHOT version from Sonatype
        <name>OSS Sonatype Snapshots</name>

    <artifactId>reactor-scala-extensions_2.12</artifactId> <!-- for scala 2.12 -->
    <!--<artifactId>reactor-scala-extensions_2.11</artifactId> for scala 2.11 -->
    <!--<artifactId>reactor-scala-extensions_2.13</artifactId> for scala 2.13 -->


Contributions are welcome. Simply fork this project, make some modification, push and create a pull request.