implicit object eitherAlg extends StrictApplicativeAlgebra[[β$2$]Either[String, β$2$], String]
- Alphabetic
- By Inheritance
- eitherAlg
- StrictApplicativeAlgebra
- ApplicativeAlgebra
- Algebra
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- trait Logic extends AnyRef
Since we can fail and succeed, add logic support.
Since we can fail and succeed, add logic support. This is really a Semigroup "combine" for a specific logic operation. Explicitly use or create an import for them as needed. We could defined an
isValid
type method in this trait but that's a bit of a code smell that we are using procedural logic and we can use these semigroups in other places and algorithms.- Definition Classes
- Algebra
- type FF[T] = Either[String, T]
Value Members
- val A: ApplicativeError[[β$2$]Either[String, β$2$], String]
- Definition Classes
- eitherAlg → ApplicativeAlgebra
- def apply[I, O](implicit validator: Validator[[β$2$]Either[String, β$2$], I, O]): Validator[[β$2$]Either[String, β$2$], I, O]
- Definition Classes
- Algebra
- def fail[I]: Validator[[β$2$]Either[String, β$2$], I, I]
- Definition Classes
- ApplicativeAlgebra → Algebra
- def failure[I](message: (I) => String): Validator[[β$2$]Either[String, β$2$], I, I]
Create an
E
potentially with the value and a message ifE
supports string messages, which it may not.Create an
E
potentially with the value and a message ifE
supports string messages, which it may not.- Definition Classes
- eitherAlg → ApplicativeAlgebra
- val logic: Logic { ... /* 2 definitions in type refinement */ }
- def pure[I, O](f: (I) => Either[String, O]): Validator[[β$2$]Either[String, β$2$], I, O]
- Definition Classes
- Algebra
- def succeed[I]: Validator[[β$2$]Either[String, β$2$], I, I]
- Definition Classes
- ApplicativeAlgebra → Algebra
- def test[T](id: String, failed: Validator[[β$2$]Either[String, β$2$], T, T])(isValid: (T) => Boolean): Validator[[β$2$]Either[String, β$2$], T, T]
- Definition Classes
- StrictApplicativeAlgebra