diff options
author | vlad <vlad@driver.xyz> | 2017-11-22 17:57:51 -0800 |
---|---|---|
committer | vlad <vlad@driver.xyz> | 2017-11-22 17:57:51 -0800 |
commit | c997e8556b37d7c90e21d1f69f4b52f898a068f7 (patch) | |
tree | 47313a94fbedcc6fd5f02112a5661ac6d5448101 | |
parent | f2a56045d0b29291a18054607701d5863722121e (diff) | |
download | driver-core-c997e8556b37d7c90e21d1f69f4b52f898a068f7.tar.gz driver-core-c997e8556b37d7c90e21d1f69f4b52f898a068f7.tar.bz2 driver-core-c997e8556b37d7c90e21d1f69f4b52f898a068f7.zip |
App initialization convenience methodsv1.6.8
-rw-r--r-- | src/main/scala/xyz/driver/core/core.scala | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/main/scala/xyz/driver/core/core.scala b/src/main/scala/xyz/driver/core/core.scala index c405962..be19f0f 100644 --- a/src/main/scala/xyz/driver/core/core.scala +++ b/src/main/scala/xyz/driver/core/core.scala @@ -1,7 +1,7 @@ package xyz.driver import scalaz.{Equal, Monad, OptionT} -import eu.timepit.refined.api.Refined +import eu.timepit.refined.api.{Refined, Validate} import eu.timepit.refined.collection.NonEmpty package object core { @@ -83,6 +83,12 @@ package core { object Name { implicit def nameEqual[T]: Equal[Name[T]] = Equal.equal[Name[T]](_ == _) implicit def nameOrdering[T]: Ordering[Name[T]] = Ordering.by(_.value) + + implicit def nameValidator[T, P](implicit stringValidate: Validate[String, P]): Validate[Name[T], P] = { + Validate.instance[Name[T], P, stringValidate.R]( + name => stringValidate.validate(name.value), + name => stringValidate.showExpr(name.value)) + } } final case class NonEmptyName[+Tag](value: String Refined NonEmpty) { |