Skip to content

Commit 8d938e6

Browse files
committed
ZIO 2.0.0-RC5
1 parent 9fe10e6 commit 8d938e6

File tree

3 files changed

+20
-17
lines changed

3 files changed

+20
-17
lines changed

build.sbt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,9 +104,9 @@ lazy val zio2 = Project("clipp-zio-2", file("clipp-zio-2")).settings(commonSetti
104104
resolvers +=
105105
"Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots",
106106
libraryDependencies ++= Seq(
107-
"dev.zio" %% "zio" % "2.0.0-RC3",
108-
"dev.zio" %% "zio-test" % "2.0.0-RC3" % Test,
109-
"dev.zio" %% "zio-test-sbt" % "2.0.0-RC3" % Test
107+
"dev.zio" %% "zio" % "2.0.0-RC5",
108+
"dev.zio" %% "zio-test" % "2.0.0-RC5" % Test,
109+
"dev.zio" %% "zio-test-sbt" % "2.0.0-RC5" % Test
110110
),
111111

112112
testFrameworks += new TestFramework("zio.test.sbt.ZTestFramework")

clipp-zio-2/src/main/scala/io/github/vigoo/clipp/zioapi/package.scala

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import io.github.vigoo.clipp.errors.CustomParserError
55
import zio.{CanFail, Console, IsNotIntersection, Runtime, Tag, URIO, ZIO, ZIOAppArgs, ZLayer}
66

77
package object zioapi {
8-
type ClippEnv = Console
8+
type ClippEnv = Any
99
type ClippZIO[+A] = ZIO[ClippEnv, ParserFailure, A]
1010

1111
implicit val clippZio: ClippIO[ClippZIO] = new ClippIO[ClippZIO] {
@@ -66,22 +66,25 @@ package object zioapi {
6666
zioapi.liftURIO[R, T](description, example)(f)
6767
}
6868

69-
def parametersFromArgs[T: Tag : IsNotIntersection](spec: Parameter.Spec[T]): ZLayer[Console with ZIOAppArgs, ParserFailure, T] =
70-
(for {
71-
args <- ZIO.service[ZIOAppArgs]
72-
result <- Clipp.parseOrFail(args.getArgs, spec)
73-
} yield result).toLayer
69+
def parametersFromArgs[T: Tag : IsNotIntersection](spec: Parameter.Spec[T]): ZLayer[ZIOAppArgs, ParserFailure, T] =
70+
ZLayer {
71+
for {
72+
args <- ZIO.service[ZIOAppArgs]
73+
result <- Clipp.parseOrFail(args.getArgs, spec)
74+
} yield result
75+
}
7476

75-
def effectfulParametersFromArgs[R, T: Tag : IsNotIntersection](createSpec: ZioDSL[R] => Parameter.Spec[T]): ZLayer[Console with ZIOAppArgs with R, ParserFailure, T] = {
77+
def effectfulParametersFromArgs[R, T: Tag : IsNotIntersection](createSpec: ZioDSL[R] => Parameter.Spec[T]): ZLayer[ZIOAppArgs with R, ParserFailure, T] =
78+
ZLayer {
7679
for {
7780
runtime <- ZIO.runtime[R]
7881
args <- ZIO.service[ZIOAppArgs]
7982
spec = createSpec(ZioDSL(runtime))
8083
result <- Clipp.parseOrFail(args.getArgs, spec)
8184
} yield result
82-
}.toLayer
85+
}
8386

84-
implicit class ZLayerOps[R <: Console, T](layer: ZLayer[R, ParserFailure, T]) {
87+
implicit class ZLayerOps[R, T](layer: ZLayer[R, ParserFailure, T]) {
8588
def printUsageInfoOnFailure: ZLayer[R, ParserFailure, T] =
8689
layer.tapError { (parserFailure: ParserFailure) =>
8790
Clipp.displayErrorsAndUsageInfo(parserFailure)

clipp-zio-2/src/test/scala/io/github/vigoo/clipp/ZioSpecs.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import zio.{Console, _}
77
import zio.test.Assertion._
88
import zio.test._
99

10-
object ZioSpecs extends DefaultRunnableSpec {
10+
object ZioSpecs extends ZIOSpecDefault {
1111

1212
def spec = suite("ZIO interface")(
1313
test("successfully parse") {
@@ -40,11 +40,11 @@ object ZioSpecs extends DefaultRunnableSpec {
4040

4141
test("can provide as layer") {
4242
val spec = flag("Test", 'x')
43-
val config: ZLayer[Console with ZIOAppArgs, ParserFailure, Boolean] = parametersFromArgs(spec).printUsageInfoOnFailure
43+
val config: ZLayer[ZIOAppArgs, ParserFailure, Boolean] = parametersFromArgs(spec).printUsageInfoOnFailure
4444
val test: ZIO[Boolean, Nothing, TestResult] =
4545
parameters[Boolean].map(p => assert(p)(isTrue))
4646

47-
test.provideCustom(ZLayer.succeed(ZIOAppArgs(Chunk("-x"))), config)
47+
test.provide(ZLayer.succeed(ZIOAppArgs(Chunk("-x"))), config)
4848
},
4949

5050
suite("liftEffect")(
@@ -57,7 +57,7 @@ object ZioSpecs extends DefaultRunnableSpec {
5757
val test: ZIO[String, Nothing, TestResult] =
5858
parameters[String].map(p => assert(p)(equalTo("test")))
5959

60-
test.provideCustom(ZLayer.succeed(ZIOAppArgs(Chunk.empty)), config)
60+
test.provide(ZLayer.succeed(ZIOAppArgs(Chunk.empty)), config)
6161
},
6262
test("failure") {
6363
val config = effectfulParametersFromArgs[Any, String] { p =>
@@ -66,7 +66,7 @@ object ZioSpecs extends DefaultRunnableSpec {
6666
}
6767
}
6868

69-
assertM(parameters[String].unit.provideCustom(ZLayer.succeed(ZIOAppArgs(Chunk.empty)), config).exit)(fails(
69+
assertM(parameters[String].unit.provide(ZLayer.succeed(ZIOAppArgs(Chunk.empty)), config).exit)(fails(
7070
hasField("errors", _.errors.toList, contains[ParserError](CustomError("failure")))))
7171
}
7272
)

0 commit comments

Comments
 (0)