reactor-core-scala

Scala wrapper for reactor-core

View the Project on GitHub

Reactor Core Scala

This project has a new home. It is now hosted at https://github.com/reactor/reactor-scala-extensions

Join the chat at https://gitter.im/reactor/reactor Reactor Core Scala Travis CI codecov Dependencies

This project is a Scala wrapper for reactor-core.

This project was created after I can’t find any Scala code for reactor-core project. 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 = Mono.just(1).map(_.toString)

Getting it

It is still in preliminary stage and requires a lot of refinement. No release has been made so far. Those who wanted to try, can get the SNAPSHOT version from snapshot repository as below:

With Gradle:

repositories {
    //maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
    mavenCentral()
}

dependencies {
    //compile "com.github.sinwe:reactor-core-scala:0.2.3-SNAPSHOT
    compile "com.github.sinwe:reactor-core-scala:0.2.2
}

With Maven:

<!-- To get latest SNAPSHOT version from Sonatype
<repositories>
    <repository>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
        <id>ossSonatypeSnapshot</id>
        <name>OSS Sonatype Snapshots</name>
        <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
        <layout>default</layout>
    </repository>
 </repositories>

<dependency>
    <groupId>com.github.sinwe</groupId>
    <artifactId>reactor-core-scala</artifactId>
    <version>0.2.3-SNAPSHOT</version>
</dependency>
-->
<dependency>
    <groupId>com.github.sinwe</groupId>
    <artifactId>reactor-core-scala</artifactId>
    <version>0.2.2</version>
</dependency>

Contributing

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