Created
May 5, 2017 09:08
-
-
Save dgouyette/2777b950dbf209acc5ef6881a821af41 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import jto.validation._ | |
sealed trait Color | |
object Color { | |
case object Red extends Color | |
case object Orange extends Color | |
case object Green extends Color | |
val colorR : Rule[String, Color] = Rule.fromMapping { | |
case "Red" => Valid(Red) | |
case "Orange" => Valid(Orange) | |
case "Green" => Valid(Green) | |
case other => Invalid(Seq(ValidationError("unhandled.value", other))) | |
} | |
} | |
Color.colorR.validate("aaa")//Invalid(List((/,List(ValidationError(List(unhandled.value),WrappedArray(aaa)))))) | |
Color.colorR.validate("Red")//Valid(Red) |
Bonne idée. Maintenant que cela fonctionne, je vais essayer de simplifier mon code.
Merci pour l'info
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
ça vaudrait le coup de regarder dans contrib si il y a pas des trucs a réutiliser plutôt que de les redéfinir je pense en particulier a Class Or Trait ou a Hierarchy
genre https://github.com/scalameta/scalameta/blob/master/scalameta/contrib/shared/src/main/scala/scala/meta/contrib/TreeOps.scala#L58 pour hierarchy .. ?