case-app
case-app copied to clipboard
Scala Duration support
Hi,
Would you be open for me to open a PR to support scala.concurrent.duration.{Duration, FiniteDuration}
?
As in:
implicit val durationParser: ArgParser[Duration] =
SimpleArgParser.from[Duration]("Duration")(s =>
Either.catchOnly[NumberFormatException](Duration(s)).leftMap(e => MalformedValue("Duration", e.getMessage))
)
implicit val finiteDurationParser: ArgParser[FiniteDuration] =
SimpleArgParser.from[FiniteDuration]("FiniteDuration")(s =>
Either
.catchOnly[NumberFormatException](Duration(s))
.leftMap(e => MalformedValue("FiniteDuration", e.getMessage))
.flatMap {
case finite: FiniteDuration => Right(finite)
case _ => Left(MalformedValue("FiniteDuration", s"Expected finite duration but found infinite duration: $s"))
}
)
Let me know Thanks
@joan38 Sure, that would work!