Skip to content

Commit

Permalink
feat: service for scala 2
Browse files Browse the repository at this point in the history
  • Loading branch information
broij authored Jan 11, 2025
1 parent 032f2a5 commit 74d4eb1
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 1 deletion.
6 changes: 6 additions & 0 deletions src/main/scala-2/be/broij/zarrow/ZArrow.scala
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ final case class ZArrow[-I, -R, +E, +O] private (f: I => ZIO[R, E, O]) extends A

object ZArrow {

/**
* Accesses the specified ZArrow in the ZIO environment.
*/
def service[I: Tag, R: Tag, E: Tag, O: Tag] =
ZIO.service[ZArrow[I, R, E, O]]

/**
* A `ZArrow` that always maps to a `ZIO` that succeeds with a unit value.
*/
Expand Down
2 changes: 1 addition & 1 deletion src/test/scala-2/be/broij/zarrow/ZArrowSpec.scala
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,7 @@ object ZArrowSpec extends ZIOSpecDefault {
val layer = zArrow.layer
check(Gen.int) { int =>
val io = for {
zArrow <- ZIO.service[ZArrow[Int, Any, Nothing, Int]]
zArrow <- ZArrow.service[Int, Any, Nothing, Int]
result <- zArrow(int)
} yield result
assertZIO(io.provide(layer))(equalTo(int * 2))
Expand Down

0 comments on commit 74d4eb1

Please sign in to comment.