sealed trait ZValidation[+W, +E, +A] extends AnyRef
ZValidation represents either a success of type A or a collection of one
or more errors of type E along with in either case a log with entries of
type W. Unlike Either, ZValidation does not "short circuit" on
failures and instead allows accumulating multiple errors. This can be
particularly useful in validating data, where we want to attempt to validate
all of the data and retain information about all errors that arose, rather
than failing at the first error.
- Self Type
- ZValidation[W, E, A]
- Alphabetic
- By Inheritance
- ZValidation
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
&>[W1 >: W, E1 >: E, B](that: ZValidation[W1, E1, B]): ZValidation[W1, E1, B]
A symbolic alias for
zipParRight. -
final
def
<&[W1 >: W, E1 >: E, B](that: ZValidation[W1, E1, B]): ZValidation[W1, E1, A]
A symbolic alias for
zipParLeft. -
final
def
<&>[W1 >: W, E1 >: E, B](that: ZValidation[W1, E1, B])(implicit zippable: Zippable[A, B]): ZValidation[W1, E1, Out]
A symbolic alias for
zipPar. -
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
??[W1 >: W](w1: W1): ZValidation[W1, E, A]
A symbolic alias for
log. -
final
def
as[B](b: B): ZValidation[W, E, B]
Maps the successful value of this
ZValidationto the specified constant value. -
final
def
asError[E2](e: E2): ZValidation[W, E2, A]
Maps the error value of this
ZValidationto the specified constant value. -
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
equals(that: Any): Boolean
Returns whether this
ZValidationand the specifiedZValidationare equal to each other.Returns whether this
ZValidationand the specifiedZValidationare equal to each other.- Definition Classes
- ZValidation → AnyRef → Any
-
final
def
flatMap[W1 >: W, E1 >: E, B](f: (A) ⇒ ZValidation[W1, E1, B]): ZValidation[W1, E1, B]
Transforms the value of this
ZValidationwith the specified validation function if it is a success or returns the value unchanged otherwise. -
final
def
flatten[W1 >: W, E1 >: E, B](implicit ev1: <:<[A, ZValidation[W1, E1, B]]): ZValidation[W1, E1, B]
Returns a ZValidation that is this ZValidation if failing or the inner ZValidation if the outer one succeeds.
Returns a ZValidation that is this ZValidation if failing or the inner ZValidation if the outer one succeeds. In particular, the sequential aspect of this combinator precludes combining error values of outer and inner ZValidations. This method can be used to "flatten" nested ZValidation.
-
final
def
fold[B](failure: (NonEmptyChunk[E]) ⇒ B, success: (A) ⇒ B): B
Folds over the error and success values of this
ZValidation. -
final
def
forEach[F[+_], B](f: (A) ⇒ F[B])(implicit arg0: IdentityBoth[F], arg1: Covariant[F]): F[ZValidation[W, E, B]]
Transforms the value of this
ZValidationwith the specified effectual function if it is a success or returns the value unchanged otherwise. -
final
def
get(implicit ev: <:<[E, Nothing]): A
Returns the value, because no error has occurred.
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
getLog: Chunk[W]
Returns the value of the log.
-
final
def
getOrElse[A1 >: A](fallback: ⇒ A1): A1
Returns the value, if successful, or the provided
fallbackvalue. -
final
def
getOrElseWith[A1 >: A](f: (NonEmptyChunk[E]) ⇒ A1): A1
Returns the successful value or handles the errors that have accumulated.
-
final
def
hashCode(): Int
- Definition Classes
- ZValidation → AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
log[W1 >: W](w1: W1): ZValidation[W1, E, A]
Writes an entry to the log.
-
final
def
map[B](f: (A) ⇒ B): ZValidation[W, E, B]
Transforms the successful value of this
ZValidationwith the specified function. -
final
def
mapError[E2](f: (E) ⇒ E2): ZValidation[W, E2, A]
Transforms the error value of this
ZValidationwith the specified function. -
final
def
mapErrorAll[E2](f: (NonEmptyChunk[E]) ⇒ NonEmptyChunk[E2]): ZValidation[W, E2, A]
Transforms all the error values of this
ZValidationwith the specified function. -
final
def
mapLog[W2](f: (W) ⇒ W2): ZValidation[W2, E, A]
Transforms the log entries of this
ZValidationwith the specified function. -
final
def
mapLogAll[W2](f: (Chunk[W]) ⇒ Chunk[W2]): ZValidation[W2, E, A]
Transforms all the log entries of this
ZValidationwith the specified function. -
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()
- final def orElse[W1 >: W, E1, A1 >: A](that: ZValidation[W1, E1, A1]): ZValidation[W1, E1, A1]
- final def orElseLog[W1 >: W, E1, A1 >: A](that: ZValidation[W1, E1, A1])(implicit ev: <:<[E, W1]): ZValidation[W1, E1, A1]
-
final
def
runLog[B]: (Chunk[W], Either[NonEmptyChunk[E], A])
Exposes the result of this validation function as either a
Rightwith a success of typeAor aLeftwith one or more errors of typeE, along with the log. -
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
final
def
tap[W1 >: W, E1 >: E](f: (A) ⇒ ZValidation[W1, E1, Any]): ZValidation[W1, E1, A]
Applies the provided validation function to the successful value of this
ZValidationwithout altering the result.Applies the provided validation function to the successful value of this
ZValidationwithout altering the result. This method can be used to execute side effects or additional validations that do not transform the primary value but may modify the log or error. If thisZValidationis a failure, it remains unchanged. -
final
def
toEither: Either[NonEmptyChunk[E], A]
Transforms this
ZValidationto anEither, discarding the log. -
final
def
toEitherAssociative[E1 >: E](implicit A: Associative[E1]): Either[E1, A]
Transforms this
ZValidationto anEither, aggregating errors using providedAssociativeinstance, discarding the log. -
final
def
toEitherMultiSet: Either[NonEmptyMultiSet[E], A]
Transforms this
ZValidationto anEither, discarding the order in which the errors occurred and discarding the log. -
final
def
toEitherWith[E2](f: (NonEmptyChunk[E]) ⇒ E2): Either[E2, A]
Transforms this
ZValidationto anEither, transforming the accumulated errors and discarding the log. -
final
def
toOption: Option[A]
Transforms this
ZValidationto anOption, discarding information about the errors and log. -
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
toTry(implicit ev: <:<[E, Throwable]): Try[A]
Transforms this
ZValidationto aTry, discarding all but the first error and the log. -
final
def
toZIO: IO[E, A]
Converts this
ZValidationinto aZIOeffect, discarding the log. -
final
def
toZIOAssociative[E1 >: E](implicit A: Associative[E1]): IO[E1, A]
Transforms this
ZValidationto anZIOeffect, aggregating errors using providedAssociativeinstance, discarding the log. -
final
def
toZIOParallelErrors: IO[NonEmptyChunk[E], A]
Converts this
ZValidationinto aZIOeffect and exposes all parallel errors in a single call, discarding the log. -
final
def
unit: ZValidation[W, E, Unit]
Transforms the successful output of this
ZValidationinto aUnit, effectively discarding the original success value while preserving any accumulated warnings or errors.Transforms the successful output of this
ZValidationinto aUnit, effectively discarding the original success value while preserving any accumulated warnings or errors. This can be useful when the outcome of the validation process is not needed, but the side effects (e.g., logging or error accumulation) are important. -
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
zipPar[W1 >: W, E1 >: E, B](that: ZValidation[W1, E1, B])(implicit zippable: Zippable[A, B]): ZValidation[W1, E1, Out]
Combines this
ZValidationwith the specifiedZValidation, returning a tuple of their results.Combines this
ZValidationwith the specifiedZValidation, returning a tuple of their results. Returns either the combined result if both were successes or otherwise returns a failure with all errors. -
final
def
zipParLeft[W1 >: W, E1 >: E, B](that: ZValidation[W1, E1, B]): ZValidation[W1, E1, A]
A variant of
zipParthat keeps only the left success value, but returns a failure with all errors if either thisZValidationor the specifiedZValidationfail. -
final
def
zipParRight[W1 >: W, E1 >: E, B](that: ZValidation[W1, E1, B]): ZValidation[W1, E1, B]
A variant of
zipParthat keeps only the right success value, but returns a failure with all errors if either thisZValidationor the specifiedZValidationfail. -
final
def
zipWithPar[W1 >: W, E1 >: E, B, C](that: ZValidation[W1, E1, B])(f: (A, B) ⇒ C): ZValidation[W1, E1, C]
Combines this
ZValidationwith the specifiedZValidation, using the functionfto combine their success values.Combines this
ZValidationwith the specifiedZValidation, using the functionfto combine their success values. Returns either the combined result if both were successes or otherwise returns a failure with all errors.