From 0b5128b220506a60ef83caf83d32f83874a6d787 Mon Sep 17 00:00:00 2001 From: Sven van Dan Date: Sat, 23 Nov 2019 19:05:37 +0100 Subject: [PATCH] Added zio implementation for EffectBackend. Moved htypes to htypes-core --- build.sbt | 15 ++++++++--- .../stream/akkastream/AkkaStreamBackend.scala | 9 ++++++- .../akkastream/AkkaStreamBackendTest.scala | 2 +- .../effect/cats/CatsEffectBackend.scala | 4 +++ {htypes => htypes-core}/README.md | 0 .../htypes/converters/ScalaConverter.scala | 0 .../htypes/stream/StreamBackend.scala | 0 .../htypes/converters/ScalaConverter.scala | 0 .../htypes/stream/StreamBackend.scala | 0 .../htypes/converters/ScalaConverter.scala | 0 .../htypes/stream/StreamBackend.scala | 0 .../com/svenvandam/htypes/Implicits.scala | 0 .../async/CompletableFutureSyntax.scala | 0 .../htypes/async/CompletableFutureUtils.scala | 0 .../svenvandam/htypes/bytes/ByteCodec.scala | 0 .../htypes/bytes/ByteCodecInstances.scala | 0 .../svenvandam/htypes/bytes/ByteDecoder.scala | 0 .../svenvandam/htypes/bytes/ByteEncoder.scala | 0 .../svenvandam/htypes/bytes/ByteSyntax.scala | 0 .../svenvandam/htypes/bytes/ByteUtils.scala | 0 .../com/svenvandam/htypes/codec/Decoder.scala | 0 .../com/svenvandam/htypes/codec/Encoder.scala | 0 .../htypes/effect/EffectBackend.scala | 0 .../htypes/effect/EffectUtils.scala | 0 .../htypes/effect/FutureEffectBackend.scala | 0 .../svenvandam/htypes/hbase/RowCodec.scala | 0 .../svenvandam/htypes/hbase/RowDecoder.scala | 0 .../svenvandam/htypes/hbase/RowEncoder.scala | 0 .../htypes/hbase/query/DeleteUtils.scala | 0 .../htypes/hbase/query/GetUtils.scala | 0 .../htypes/hbase/query/PutUtils.scala | 0 .../htypes/hbase/query/QuerySyntax.scala | 0 .../htypes/hbase/query/ScanUtils.scala | 0 .../hbase/result/ResultScannerSyntax.scala | 0 .../hbase/result/ResultScannerUtils.scala | 0 .../htypes/hbase/result/ResultSyntax.scala | 0 .../htypes/hbase/result/ResultUtils.scala | 0 .../htypes/hbase/table/TableSyntax.scala | 0 .../svenvandam/htypes/model/CellValue.scala | 0 .../com/svenvandam/htypes/model/Column.scala | 0 .../com/svenvandam/htypes/model/Row.scala | 0 .../src/test/resources/log4j.properties | 0 .../com/svenvandam/htypes/BaseHbaseTest.scala | 0 .../scala/com/svenvandam/htypes/TestIO.scala | 0 .../com/svenvandam/htypes/TestTypes.scala | 0 .../async/CompletableFutureSyntaxTest.scala | 0 .../htypes/effect/EffectUtilsTest.scala | 0 .../effect/FutureEffectBackendTest.scala | 0 .../htypes/hbase/query/DeleteUtilsTest.scala | 0 .../htypes/hbase/query/GetUtilsTest.scala | 0 .../htypes/hbase/query/PutUtilsTest.scala | 0 .../htypes/hbase/query/ScanUtilsTest.scala | 0 .../htypes/hbase/result/ResultUtilsTest.scala | 0 .../htypes/effect/zio/ZIOEffectBackend.scala | 14 +++++++++++ .../src/test/resources/log4j.properties | 8 ++++++ .../effect/zio/ZIOEffectBackendTest.scala | 25 +++++++++++++++++++ 56 files changed, 71 insertions(+), 6 deletions(-) rename {htypes => htypes-core}/README.md (100%) rename {htypes => htypes-core}/src/main/scala-2.11/com/svenvandam/htypes/converters/ScalaConverter.scala (100%) rename {htypes => htypes-core}/src/main/scala-2.11/com/svenvandam/htypes/stream/StreamBackend.scala (100%) rename {htypes => htypes-core}/src/main/scala-2.12/com/svenvandam/htypes/converters/ScalaConverter.scala (100%) rename {htypes => htypes-core}/src/main/scala-2.12/com/svenvandam/htypes/stream/StreamBackend.scala (100%) rename {htypes => htypes-core}/src/main/scala-2.13/com/svenvandam/htypes/converters/ScalaConverter.scala (100%) rename {htypes => htypes-core}/src/main/scala-2.13/com/svenvandam/htypes/stream/StreamBackend.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/Implicits.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/async/CompletableFutureSyntax.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/async/CompletableFutureUtils.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/bytes/ByteCodec.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/bytes/ByteCodecInstances.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/bytes/ByteDecoder.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/bytes/ByteEncoder.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/bytes/ByteSyntax.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/bytes/ByteUtils.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/codec/Decoder.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/codec/Encoder.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/effect/EffectBackend.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/effect/EffectUtils.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/effect/FutureEffectBackend.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/hbase/RowCodec.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/hbase/RowDecoder.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/hbase/RowEncoder.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/hbase/query/DeleteUtils.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/hbase/query/GetUtils.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/hbase/query/PutUtils.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/hbase/query/QuerySyntax.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/hbase/query/ScanUtils.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/hbase/result/ResultScannerSyntax.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/hbase/result/ResultScannerUtils.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/hbase/result/ResultSyntax.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/hbase/result/ResultUtils.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/hbase/table/TableSyntax.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/model/CellValue.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/model/Column.scala (100%) rename {htypes => htypes-core}/src/main/scala/com/svenvandam/htypes/model/Row.scala (100%) rename {htypes => htypes-core}/src/test/resources/log4j.properties (100%) rename {htypes => htypes-core}/src/test/scala/com/svenvandam/htypes/BaseHbaseTest.scala (100%) rename {htypes => htypes-core}/src/test/scala/com/svenvandam/htypes/TestIO.scala (100%) rename {htypes => htypes-core}/src/test/scala/com/svenvandam/htypes/TestTypes.scala (100%) rename {htypes => htypes-core}/src/test/scala/com/svenvandam/htypes/async/CompletableFutureSyntaxTest.scala (100%) rename {htypes => htypes-core}/src/test/scala/com/svenvandam/htypes/effect/EffectUtilsTest.scala (100%) rename {htypes => htypes-core}/src/test/scala/com/svenvandam/htypes/effect/FutureEffectBackendTest.scala (100%) rename {htypes => htypes-core}/src/test/scala/com/svenvandam/htypes/hbase/query/DeleteUtilsTest.scala (100%) rename {htypes => htypes-core}/src/test/scala/com/svenvandam/htypes/hbase/query/GetUtilsTest.scala (100%) rename {htypes => htypes-core}/src/test/scala/com/svenvandam/htypes/hbase/query/PutUtilsTest.scala (100%) rename {htypes => htypes-core}/src/test/scala/com/svenvandam/htypes/hbase/query/ScanUtilsTest.scala (100%) rename {htypes => htypes-core}/src/test/scala/com/svenvandam/htypes/hbase/result/ResultUtilsTest.scala (100%) create mode 100644 htypes-zio/src/main/scala/com/svenvandam/htypes/effect/zio/ZIOEffectBackend.scala create mode 100644 htypes-zio/src/test/resources/log4j.properties create mode 100644 htypes-zio/src/test/scala/com/svenvandam/htypes/effect/zio/ZIOEffectBackendTest.scala diff --git a/build.sbt b/build.sbt index 69acdb5..eaf2594 100644 --- a/build.sbt +++ b/build.sbt @@ -16,7 +16,6 @@ def createModule( projectDependencies: Seq[ProjectReference] = Seq.empty ) = Project(id = moduleName, base = file(moduleName)) .dependsOn(projectDependencies.map(_ % "compile->compile;test->test"): _*) - .configs(IntegrationTest) .settings( name := moduleName, libraryDependencies ++= libDependencies, @@ -27,14 +26,22 @@ def createModule( ) lazy val root = (project in file(".")) + .settings( + name := "HTypes" + ) .aggregate( hTypesCore, - hTypesAkkaStream + hTypesAkkaStream, + hTypesCatsEffect, + hTypesZIO ) .settings(skip in publish := true) -lazy val hTypesCore = createModule("htypes", commonDependencies) +lazy val hTypesCore = createModule("htypes-core", commonDependencies) lazy val hTypesAkkaStream = createModule("htypes-akka-stream", commonDependencies ++ akkaStream, Seq(hTypesCore)) -lazy val hTypesCatsEffect = createModule("htypes-cats-effect", commonDependencies ++ catsEffect, Seq(hTypesCore)) \ No newline at end of file +lazy val hTypesCatsEffect = createModule("htypes-cats-effect", commonDependencies ++ catsEffect, Seq(hTypesCore)) + +lazy val hTypesZIO = createModule("htypes-zio", commonDependencies ++ zio, Seq(hTypesCore)) + diff --git a/htypes-akka-stream/src/main/scala/com/svenvandam/htypes/stream/akkastream/AkkaStreamBackend.scala b/htypes-akka-stream/src/main/scala/com/svenvandam/htypes/stream/akkastream/AkkaStreamBackend.scala index 24ae63a..17fad55 100644 --- a/htypes-akka-stream/src/main/scala/com/svenvandam/htypes/stream/akkastream/AkkaStreamBackend.scala +++ b/htypes-akka-stream/src/main/scala/com/svenvandam/htypes/stream/akkastream/AkkaStreamBackend.scala @@ -5,9 +5,16 @@ import akka.stream.scaladsl.Source import com.svenvandam.htypes.stream.StreamBackend object AkkaStreamBackend { + + /** + * Type alias + */ type AkkaStream[A] = Source[A, NotUsed] // TODO: use Source directly - implicit def akkaStreamBackend = new StreamBackend[AkkaStream] { + /** + * [[StreamBackend]] instance for [[Source]] + */ + implicit val akkaStreamBackend = new StreamBackend[AkkaStream] { def getStream[A](iterator: Iterator[A]): Source[A, NotUsed] = Source.fromIterator(() => iterator) } } diff --git a/htypes-akka-stream/src/test/scala/com/svenvandam/htypes/stream/akkastream/AkkaStreamBackendTest.scala b/htypes-akka-stream/src/test/scala/com/svenvandam/htypes/stream/akkastream/AkkaStreamBackendTest.scala index f1b45cc..a44461c 100644 --- a/htypes-akka-stream/src/test/scala/com/svenvandam/htypes/stream/akkastream/AkkaStreamBackendTest.scala +++ b/htypes-akka-stream/src/test/scala/com/svenvandam/htypes/stream/akkastream/AkkaStreamBackendTest.scala @@ -5,7 +5,7 @@ import akka.stream.Materializer import akka.stream.testkit.scaladsl.TestSink import com.svenvandam.htypes.BaseHbaseTest import com.svenvandam.htypes.bytes.ByteUtils -import org.apache.hadoop.hbase.client.{Scan, Result, Put} +import org.apache.hadoop.hbase.client.{Put, Result, Scan} import com.svenvandam.htypes.Implicits._ class AkkaStreamBackendTest extends BaseHbaseTest { diff --git a/htypes-cats-effect/src/main/scala/com/svenvandam/htypes/effect/cats/CatsEffectBackend.scala b/htypes-cats-effect/src/main/scala/com/svenvandam/htypes/effect/cats/CatsEffectBackend.scala index d495697..e8279d6 100644 --- a/htypes-cats-effect/src/main/scala/com/svenvandam/htypes/effect/cats/CatsEffectBackend.scala +++ b/htypes-cats-effect/src/main/scala/com/svenvandam/htypes/effect/cats/CatsEffectBackend.scala @@ -4,6 +4,10 @@ import cats.effect.IO import com.svenvandam.htypes.effect.EffectBackend object CatsEffectBackend { + + /** + * [[EffectBackend]] instance for [[IO]] + */ implicit val catsEffectBackend = new EffectBackend[IO] { def lift[A](a: => A): IO[A] = IO.delay(a) } diff --git a/htypes/README.md b/htypes-core/README.md similarity index 100% rename from htypes/README.md rename to htypes-core/README.md diff --git a/htypes/src/main/scala-2.11/com/svenvandam/htypes/converters/ScalaConverter.scala b/htypes-core/src/main/scala-2.11/com/svenvandam/htypes/converters/ScalaConverter.scala similarity index 100% rename from htypes/src/main/scala-2.11/com/svenvandam/htypes/converters/ScalaConverter.scala rename to htypes-core/src/main/scala-2.11/com/svenvandam/htypes/converters/ScalaConverter.scala diff --git a/htypes/src/main/scala-2.11/com/svenvandam/htypes/stream/StreamBackend.scala b/htypes-core/src/main/scala-2.11/com/svenvandam/htypes/stream/StreamBackend.scala similarity index 100% rename from htypes/src/main/scala-2.11/com/svenvandam/htypes/stream/StreamBackend.scala rename to htypes-core/src/main/scala-2.11/com/svenvandam/htypes/stream/StreamBackend.scala diff --git a/htypes/src/main/scala-2.12/com/svenvandam/htypes/converters/ScalaConverter.scala b/htypes-core/src/main/scala-2.12/com/svenvandam/htypes/converters/ScalaConverter.scala similarity index 100% rename from htypes/src/main/scala-2.12/com/svenvandam/htypes/converters/ScalaConverter.scala rename to htypes-core/src/main/scala-2.12/com/svenvandam/htypes/converters/ScalaConverter.scala diff --git a/htypes/src/main/scala-2.12/com/svenvandam/htypes/stream/StreamBackend.scala b/htypes-core/src/main/scala-2.12/com/svenvandam/htypes/stream/StreamBackend.scala similarity index 100% rename from htypes/src/main/scala-2.12/com/svenvandam/htypes/stream/StreamBackend.scala rename to htypes-core/src/main/scala-2.12/com/svenvandam/htypes/stream/StreamBackend.scala diff --git a/htypes/src/main/scala-2.13/com/svenvandam/htypes/converters/ScalaConverter.scala b/htypes-core/src/main/scala-2.13/com/svenvandam/htypes/converters/ScalaConverter.scala similarity index 100% rename from htypes/src/main/scala-2.13/com/svenvandam/htypes/converters/ScalaConverter.scala rename to htypes-core/src/main/scala-2.13/com/svenvandam/htypes/converters/ScalaConverter.scala diff --git a/htypes/src/main/scala-2.13/com/svenvandam/htypes/stream/StreamBackend.scala b/htypes-core/src/main/scala-2.13/com/svenvandam/htypes/stream/StreamBackend.scala similarity index 100% rename from htypes/src/main/scala-2.13/com/svenvandam/htypes/stream/StreamBackend.scala rename to htypes-core/src/main/scala-2.13/com/svenvandam/htypes/stream/StreamBackend.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/Implicits.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/Implicits.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/Implicits.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/Implicits.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/async/CompletableFutureSyntax.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/async/CompletableFutureSyntax.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/async/CompletableFutureSyntax.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/async/CompletableFutureSyntax.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/async/CompletableFutureUtils.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/async/CompletableFutureUtils.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/async/CompletableFutureUtils.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/async/CompletableFutureUtils.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/bytes/ByteCodec.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/bytes/ByteCodec.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/bytes/ByteCodec.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/bytes/ByteCodec.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/bytes/ByteCodecInstances.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/bytes/ByteCodecInstances.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/bytes/ByteCodecInstances.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/bytes/ByteCodecInstances.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/bytes/ByteDecoder.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/bytes/ByteDecoder.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/bytes/ByteDecoder.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/bytes/ByteDecoder.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/bytes/ByteEncoder.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/bytes/ByteEncoder.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/bytes/ByteEncoder.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/bytes/ByteEncoder.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/bytes/ByteSyntax.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/bytes/ByteSyntax.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/bytes/ByteSyntax.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/bytes/ByteSyntax.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/bytes/ByteUtils.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/bytes/ByteUtils.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/bytes/ByteUtils.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/bytes/ByteUtils.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/codec/Decoder.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/codec/Decoder.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/codec/Decoder.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/codec/Decoder.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/codec/Encoder.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/codec/Encoder.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/codec/Encoder.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/codec/Encoder.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/effect/EffectBackend.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/effect/EffectBackend.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/effect/EffectBackend.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/effect/EffectBackend.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/effect/EffectUtils.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/effect/EffectUtils.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/effect/EffectUtils.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/effect/EffectUtils.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/effect/FutureEffectBackend.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/effect/FutureEffectBackend.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/effect/FutureEffectBackend.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/effect/FutureEffectBackend.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/hbase/RowCodec.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/hbase/RowCodec.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/hbase/RowCodec.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/hbase/RowCodec.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/hbase/RowDecoder.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/hbase/RowDecoder.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/hbase/RowDecoder.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/hbase/RowDecoder.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/hbase/RowEncoder.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/hbase/RowEncoder.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/hbase/RowEncoder.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/hbase/RowEncoder.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/hbase/query/DeleteUtils.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/hbase/query/DeleteUtils.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/hbase/query/DeleteUtils.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/hbase/query/DeleteUtils.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/hbase/query/GetUtils.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/hbase/query/GetUtils.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/hbase/query/GetUtils.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/hbase/query/GetUtils.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/hbase/query/PutUtils.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/hbase/query/PutUtils.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/hbase/query/PutUtils.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/hbase/query/PutUtils.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/hbase/query/QuerySyntax.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/hbase/query/QuerySyntax.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/hbase/query/QuerySyntax.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/hbase/query/QuerySyntax.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/hbase/query/ScanUtils.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/hbase/query/ScanUtils.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/hbase/query/ScanUtils.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/hbase/query/ScanUtils.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/hbase/result/ResultScannerSyntax.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/hbase/result/ResultScannerSyntax.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/hbase/result/ResultScannerSyntax.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/hbase/result/ResultScannerSyntax.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/hbase/result/ResultScannerUtils.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/hbase/result/ResultScannerUtils.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/hbase/result/ResultScannerUtils.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/hbase/result/ResultScannerUtils.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/hbase/result/ResultSyntax.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/hbase/result/ResultSyntax.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/hbase/result/ResultSyntax.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/hbase/result/ResultSyntax.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/hbase/result/ResultUtils.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/hbase/result/ResultUtils.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/hbase/result/ResultUtils.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/hbase/result/ResultUtils.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/hbase/table/TableSyntax.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/hbase/table/TableSyntax.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/hbase/table/TableSyntax.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/hbase/table/TableSyntax.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/model/CellValue.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/model/CellValue.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/model/CellValue.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/model/CellValue.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/model/Column.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/model/Column.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/model/Column.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/model/Column.scala diff --git a/htypes/src/main/scala/com/svenvandam/htypes/model/Row.scala b/htypes-core/src/main/scala/com/svenvandam/htypes/model/Row.scala similarity index 100% rename from htypes/src/main/scala/com/svenvandam/htypes/model/Row.scala rename to htypes-core/src/main/scala/com/svenvandam/htypes/model/Row.scala diff --git a/htypes/src/test/resources/log4j.properties b/htypes-core/src/test/resources/log4j.properties similarity index 100% rename from htypes/src/test/resources/log4j.properties rename to htypes-core/src/test/resources/log4j.properties diff --git a/htypes/src/test/scala/com/svenvandam/htypes/BaseHbaseTest.scala b/htypes-core/src/test/scala/com/svenvandam/htypes/BaseHbaseTest.scala similarity index 100% rename from htypes/src/test/scala/com/svenvandam/htypes/BaseHbaseTest.scala rename to htypes-core/src/test/scala/com/svenvandam/htypes/BaseHbaseTest.scala diff --git a/htypes/src/test/scala/com/svenvandam/htypes/TestIO.scala b/htypes-core/src/test/scala/com/svenvandam/htypes/TestIO.scala similarity index 100% rename from htypes/src/test/scala/com/svenvandam/htypes/TestIO.scala rename to htypes-core/src/test/scala/com/svenvandam/htypes/TestIO.scala diff --git a/htypes/src/test/scala/com/svenvandam/htypes/TestTypes.scala b/htypes-core/src/test/scala/com/svenvandam/htypes/TestTypes.scala similarity index 100% rename from htypes/src/test/scala/com/svenvandam/htypes/TestTypes.scala rename to htypes-core/src/test/scala/com/svenvandam/htypes/TestTypes.scala diff --git a/htypes/src/test/scala/com/svenvandam/htypes/async/CompletableFutureSyntaxTest.scala b/htypes-core/src/test/scala/com/svenvandam/htypes/async/CompletableFutureSyntaxTest.scala similarity index 100% rename from htypes/src/test/scala/com/svenvandam/htypes/async/CompletableFutureSyntaxTest.scala rename to htypes-core/src/test/scala/com/svenvandam/htypes/async/CompletableFutureSyntaxTest.scala diff --git a/htypes/src/test/scala/com/svenvandam/htypes/effect/EffectUtilsTest.scala b/htypes-core/src/test/scala/com/svenvandam/htypes/effect/EffectUtilsTest.scala similarity index 100% rename from htypes/src/test/scala/com/svenvandam/htypes/effect/EffectUtilsTest.scala rename to htypes-core/src/test/scala/com/svenvandam/htypes/effect/EffectUtilsTest.scala diff --git a/htypes/src/test/scala/com/svenvandam/htypes/effect/FutureEffectBackendTest.scala b/htypes-core/src/test/scala/com/svenvandam/htypes/effect/FutureEffectBackendTest.scala similarity index 100% rename from htypes/src/test/scala/com/svenvandam/htypes/effect/FutureEffectBackendTest.scala rename to htypes-core/src/test/scala/com/svenvandam/htypes/effect/FutureEffectBackendTest.scala diff --git a/htypes/src/test/scala/com/svenvandam/htypes/hbase/query/DeleteUtilsTest.scala b/htypes-core/src/test/scala/com/svenvandam/htypes/hbase/query/DeleteUtilsTest.scala similarity index 100% rename from htypes/src/test/scala/com/svenvandam/htypes/hbase/query/DeleteUtilsTest.scala rename to htypes-core/src/test/scala/com/svenvandam/htypes/hbase/query/DeleteUtilsTest.scala diff --git a/htypes/src/test/scala/com/svenvandam/htypes/hbase/query/GetUtilsTest.scala b/htypes-core/src/test/scala/com/svenvandam/htypes/hbase/query/GetUtilsTest.scala similarity index 100% rename from htypes/src/test/scala/com/svenvandam/htypes/hbase/query/GetUtilsTest.scala rename to htypes-core/src/test/scala/com/svenvandam/htypes/hbase/query/GetUtilsTest.scala diff --git a/htypes/src/test/scala/com/svenvandam/htypes/hbase/query/PutUtilsTest.scala b/htypes-core/src/test/scala/com/svenvandam/htypes/hbase/query/PutUtilsTest.scala similarity index 100% rename from htypes/src/test/scala/com/svenvandam/htypes/hbase/query/PutUtilsTest.scala rename to htypes-core/src/test/scala/com/svenvandam/htypes/hbase/query/PutUtilsTest.scala diff --git a/htypes/src/test/scala/com/svenvandam/htypes/hbase/query/ScanUtilsTest.scala b/htypes-core/src/test/scala/com/svenvandam/htypes/hbase/query/ScanUtilsTest.scala similarity index 100% rename from htypes/src/test/scala/com/svenvandam/htypes/hbase/query/ScanUtilsTest.scala rename to htypes-core/src/test/scala/com/svenvandam/htypes/hbase/query/ScanUtilsTest.scala diff --git a/htypes/src/test/scala/com/svenvandam/htypes/hbase/result/ResultUtilsTest.scala b/htypes-core/src/test/scala/com/svenvandam/htypes/hbase/result/ResultUtilsTest.scala similarity index 100% rename from htypes/src/test/scala/com/svenvandam/htypes/hbase/result/ResultUtilsTest.scala rename to htypes-core/src/test/scala/com/svenvandam/htypes/hbase/result/ResultUtilsTest.scala diff --git a/htypes-zio/src/main/scala/com/svenvandam/htypes/effect/zio/ZIOEffectBackend.scala b/htypes-zio/src/main/scala/com/svenvandam/htypes/effect/zio/ZIOEffectBackend.scala new file mode 100644 index 0000000..3d0d449 --- /dev/null +++ b/htypes-zio/src/main/scala/com/svenvandam/htypes/effect/zio/ZIOEffectBackend.scala @@ -0,0 +1,14 @@ +package com.svenvandam.htypes.effect.zio + +import com.svenvandam.htypes.effect.EffectBackend +import zio.Task + +object ZIOEffectBackend { + + /** + * [[EffectBackend]] instance for [[Task]] + */ + implicit val zioTaskEffectBackend = new EffectBackend[Task] { + def lift[A](a: => A): Task[A] = Task(a) + } +} diff --git a/htypes-zio/src/test/resources/log4j.properties b/htypes-zio/src/test/resources/log4j.properties new file mode 100644 index 0000000..9a64eaf --- /dev/null +++ b/htypes-zio/src/test/resources/log4j.properties @@ -0,0 +1,8 @@ +log4j.rootLogger = INFO, CONSOLE +log4j.logger.org.apache = ERROR, CONSOLE +log4j.logger.org.eclipse = WARN, CONSOLE +log4j.logger.org.mortbay = WARN, CONSOLE +log4j.logger.com.svenvandam = DEBUG, CONSOLE +log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender +log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout +log4j.appender.CONSOLE.layout.conversionPattern=%d{HH:mm:ss} %-5p %c - %m%n \ No newline at end of file diff --git a/htypes-zio/src/test/scala/com/svenvandam/htypes/effect/zio/ZIOEffectBackendTest.scala b/htypes-zio/src/test/scala/com/svenvandam/htypes/effect/zio/ZIOEffectBackendTest.scala new file mode 100644 index 0000000..b51cc06 --- /dev/null +++ b/htypes-zio/src/test/scala/com/svenvandam/htypes/effect/zio/ZIOEffectBackendTest.scala @@ -0,0 +1,25 @@ +package com.svenvandam.htypes.effect.zio + +import com.svenvandam.htypes.effect.EffectUtils +import org.scalatest.FunSuite +import org.scalatest.Matchers._ +import ZIOEffectBackend._ +import zio.DefaultRuntime + +class ZIOEffectBackendTest extends FunSuite { + test("it should delay side effect") { + var x = 0 + + def action = x = 1 + + val io = EffectUtils.lift(action) + + x shouldBe 0 + + val runtime = new DefaultRuntime {} + + runtime.unsafeRun(io) + + x shouldBe 1 + } +}