aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvlad <vlad@driver.xyz>2017-11-22 17:57:51 -0800
committervlad <vlad@driver.xyz>2017-11-22 17:57:51 -0800
commitc997e8556b37d7c90e21d1f69f4b52f898a068f7 (patch)
tree47313a94fbedcc6fd5f02112a5661ac6d5448101
parentf2a56045d0b29291a18054607701d5863722121e (diff)
downloaddriver-core-1.6.8.tar.gz
driver-core-1.6.8.tar.bz2
driver-core-1.6.8.zip
App initialization convenience methodsv1.6.8
-rw-r--r--src/main/scala/xyz/driver/core/core.scala8
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) {