final class Validator[F[_], E, A] extends ValidatorBinCompat[F, E, A]
A type class that defines how to validate an instance of A
.
Can be thought of as a A => F[ValidatedNec[E, Unit]]
function.
- Alphabetic
- By Inheritance
- Validator
- ValidatorBinCompat
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def &&(v: Validator[F, E, A])(implicit F: Applicative[F]): Validator[F, E, A]
Alias for combine with
$
operator priority - final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def andThen(v: Validator[F, E, A])(implicit F: Monad[F]): Validator[F, E, A]
Combines two validators of the same type into one.
Combines two validators of the same type into one. If first validator fails, second one is not invoked. Example:
scala> val value = "value" scala> val v1 = dupin.basic.BasicValidator.failure[String](_ => "failure1") scala> val v2 = dupin.basic.BasicValidator.failure[String](_ => "failure2") scala> val v3 = dupin.basic.BasicValidator.success[String] scala> (v1 andThen v2).validate(value) res0: cats.Id[cats.data.ValidatedNec[String,User]] = Invalid(Chain(failure1)) scala> (v3 andThen v2).validate(value) res1: cats.Id[cats.data.ValidatedNec[String,User]] = Invalid(Chain(failure2))
- def apply(a: A)(implicit F: Functor[F]): F[ValidatedNec[E, A]]
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def comap[AA](f: (AA) => A): Validator[F, E, AA]
Contravariant map without path changes.
Contravariant map without path changes. Example:
scala> case class User(age: Int) scala> val user = User(1) scala> val validator = dupin.basic.BasicValidator.failure[Int](c => s"${c.path} is wrong") scala> validator.comap[User](_.age).validate(user) res0: cats.Id[cats.data.ValidatedNec[String,User]] = Invalid(Chain(. is wrong)) scala> validator.comapP[User](_.age).validate(user) res1: cats.Id[cats.data.ValidatedNec[String,User]] = Invalid(Chain(.age is wrong))
- macro def comapP[AA](f: (AA) => A): Validator[F, E, AA]
Contravariant map with macros generated path prefix.
Contravariant map with macros generated path prefix.
- Definition Classes
- ValidatorBinCompat
- See also
[comap]
- def comapPE[AA](p: dupin.Path, f: (AA) => A): Validator[F, E, AA]
Contravariant map with explicit path prefix.
- def combine(v: Validator[F, E, A])(implicit F: Applicative[F]): Validator[F, E, A]
Combines two validators of the same type into one.
Combines two validators of the same type into one. If either validator fails, error is returned. If both validators fail, errors from both validators are returned. Example:
scala> val value = "value" scala> val v1 = dupin.basic.BasicValidator.failure[String](_ => "failure1") scala> val v2 = dupin.basic.BasicValidator.failure[String](_ => "failure2") scala> val v3 = dupin.basic.BasicValidator.success[String] scala> (v1 combine v2).validate(value) res0: cats.Id[cats.data.ValidatedNec[String,User]] = Invalid(Chain(failure1, failure2)) scala> (v3 combine v2).validate(value) res1: cats.Id[cats.data.ValidatedNec[String,User]] = Invalid(Chain(failure2))
- def combineC(f: (A) => Validator[F, E, A])(implicit F: Applicative[F]): Validator[F, E, A]
Combines
this
with validator from context.Combines
this
with validator from context.- See also
- macro def combineP[AA](f: (A) => AA): PartiallyAppliedCombineP[F, E, A, AA]
Combines with field validator using macros generated path.
Combines with field validator using macros generated path.
- Definition Classes
- ValidatorBinCompat
- macro def combinePC[AA](f: (A) => AA): PartiallyAppliedCombinePC[F, E, A, AA]
Combines with field validator from context using macros generated path.
Combines with field validator from context using macros generated path.
- Definition Classes
- ValidatorBinCompat
- def combinePE[AA](p: dupin.Path, f: (A) => AA)(v: Validator[F, E, AA])(implicit F: Applicative[F]): Validator[F, E, A]
Combines
this
with field validator using explicit path.Combines
this
with field validator using explicit path.- See also
- macro def combinePI[AA](f: (A) => AA)(implicit AA: Validator[F, E, AA]): Validator[F, E, A]
Combines with implicit field validator using macros generated path
Combines with implicit field validator using macros generated path
- Definition Classes
- ValidatorBinCompat
- macro def combinePR[AA](f: (A) => AA): PartiallyAppliedCombinePR[F, E, A, AA]
Combines with field validator passed by separate arguments using macros generated path.
Combines with field validator passed by separate arguments using macros generated path.
- Definition Classes
- ValidatorBinCompat
- macro def combinePRF[AA](f: (A) => AA): PartiallyAppliedCombinePRF[F, E, A, AA]
- Definition Classes
- ValidatorBinCompat
- def combineR(f: (A) => Boolean, m: dupin.MessageBuilder[A, E])(implicit F: Applicative[F]): Validator[F, E, A]
Combines
this
with root validator passed by separate arguments.Combines
this
with root validator passed by separate arguments.- See also
- def combineRF(f: (A) => F[Boolean], m: dupin.MessageBuilder[A, E])(implicit F: Applicative[F]): Validator[F, E, A]
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def failureAs[EE](m1: dupin.MessageBuilder[A, EE], ms: dupin.MessageBuilder[A, EE]*)(implicit F: Functor[F]): Validator[F, EE, A]
Replaces failure messages with supplied values.
Replaces failure messages with supplied values. Optimized version of
.handleErrorWith(_ => Validator.failure(m1, ms))
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def handleErrorWith(f: (NonEmptyChain[E]) => Validator[F, E, A])(implicit F: Monad[F]): Validator[F, E, A]
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def liftToTraverseP[G[_]](implicit F: Applicative[F], G: Traverse[G]): Validator[F, E, G[A]]
Lifts validator to
G[_]
type usingTraverse
instance, adds index as path prefix. - def mapError[EE](f: (E) => EE)(implicit F: Functor[F]): Validator[F, EE, A]
- def mapK[G[_]](f: ~>[F, G]): Validator[G, E, A]
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def orElse(v: Validator[F, E, A])(implicit F: Applicative[F]): Validator[F, E, A]
Combines two validators of the same type into one.
Combines two validators of the same type into one. If either validator fails, success is returned. If both validators fail, errors from right validator are returned. Example:
scala> val value = "value" scala> val v1 = dupin.basic.BasicValidator.failure[String](_ => "failure1") scala> val v2 = dupin.basic.BasicValidator.failure[String](_ => "failure2") scala> val v3 = dupin.basic.BasicValidator.success[String] scala> (v1 orElse v2).validate(value) res0: cats.Id[cats.data.ValidatedNec[String,User]] = Invalid(Chain(failure2)) scala> (v3 orElse v2).validate(value) res1: cats.Id[cats.data.ValidatedNec[String,User]] = Valid(value)
- def product[B](v: Validator[F, E, B])(implicit FF: Functor[F], FS: Semigroupal[F]): Validator[F, E, (A, B)]
- val runF: (dupin.Context[A]) => F[ValidatedNec[E, Unit]]
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toParser(implicit F: Functor[F]): dupin.IdParser[F, E, A]
- def toString(): String
- Definition Classes
- AnyRef → Any
- def validate(a: A)(implicit F: Functor[F]): F[ValidatedNec[E, A]]
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def ||(v: Validator[F, E, A])(implicit F: Applicative[F]): Validator[F, E, A]
Alias for orElse with
|
operator priority
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated