Scala wrapper for reactor-core

A scala adapter for Reactor Flux and Mono so that the code can be fluently used in Scala

Лицензия

Лицензия

Категории

Категории

Scala Языки программирования React Взаимодействие с пользователем Веб-фреймворки Reactor Контейнер Микросервисы Reactive libraries
Группа

Группа

io.projectreactor
Идентификатор

Идентификатор

reactor-scala-extensions
Последняя версия

Последняя версия

0.2.4
Дата

Дата

Тип

Тип

jar
Описание

Описание

Scala wrapper for reactor-core
A scala adapter for Reactor Flux and Mono so that the code can be fluently used in Scala
Ссылка на сайт

Ссылка на сайт

https://github.com/reactor/reactor-scala-extensions
Система контроля версий

Система контроля версий

https://github.com/reactor/reactor-scala-extensions

Скачать reactor-scala-extensions

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/io.projectreactor/reactor-scala-extensions/ -->
<dependency>
    <groupId>io.projectreactor</groupId>
    <artifactId>reactor-scala-extensions</artifactId>
    <version>0.2.4</version>
</dependency>
// https://jarcasting.com/artifacts/io.projectreactor/reactor-scala-extensions/
implementation 'io.projectreactor:reactor-scala-extensions:0.2.4'
// https://jarcasting.com/artifacts/io.projectreactor/reactor-scala-extensions/
implementation ("io.projectreactor:reactor-scala-extensions:0.2.4")
'io.projectreactor:reactor-scala-extensions:jar:0.2.4'
<dependency org="io.projectreactor" name="reactor-scala-extensions" rev="0.2.4">
  <artifact name="reactor-scala-extensions" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.projectreactor', module='reactor-scala-extensions', version='0.2.4')
)
libraryDependencies += "io.projectreactor" % "reactor-scala-extensions" % "0.2.4"
[io.projectreactor/reactor-scala-extensions "0.2.4"]

Зависимости

compile (3)

Идентификатор библиотеки Тип Версия
org.scala-lang : scala-library jar 2.11.8
io.projectreactor : reactor-core jar 3.0.7.RELEASE
com.google.code.findbugs : jsr305 jar 3.0.1

test (4)

Идентификатор библиотеки Тип Версия
org.scalatest : scalatest_2.11 jar 3.0.1
io.projectreactor.addons : reactor-test jar 3.0.7.RELEASE
org.mockito : mockito-core jar 2.8.9
org.pegdown : pegdown jar 1.6.0

Модули Проекта

Данный проект не имеет модулей.

Reactor Scala Extensions

Join the chat at https://gitter.im/reactor/reactor-scala-extensions 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 java.util.stream.Stream 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 'https://oss.sonatype.org/content/repositories/snapshots/' }
    mavenCentral()
}

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
<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>io.projectreactor</groupId>
    <artifactId>reactor-scala-extensions</artifactId>
    <version>0.7.1-SNAPSHOT</version>
</dependency>
-->
<dependency>
    <groupId>io.projectreactor</groupId>
    <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 -->
    <version>0.7.0</version>
</dependency>

Contributing

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

io.projectreactor

Reactor

Reactive Streams based projects for backpressure-ready asynchronous message passing.

Версии библиотеки

Версия
0.2.4
0.2.3