Packages

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]
Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ZValidation
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def &>[W1 >: W, E1 >: E, B](that: ZValidation[W1, E1, B]): ZValidation[W1, E1, B]

    A symbolic alias for zipParRight.

  2. final def <&[W1 >: W, E1 >: E, B](that: ZValidation[W1, E1, B]): ZValidation[W1, E1, A]

    A symbolic alias for zipParLeft.

  3. final def <&>[W1 >: W, E1 >: E, B](that: ZValidation[W1, E1, B]): ZValidation[W1, E1, (A, B)]

    A symbolic alias for zipPar.

  4. final def ??[W1 >: W](w1: W1): ZValidation[W1, E, A]

    A symbolic alias for log.

  5. final def as[B](b: B): ZValidation[W, E, B]

    Maps the successful value of this ZValidation to the specified constant value.

  6. final def asError[E2](e: E2): ZValidation[W, E2, A]

    Maps the error value of this ZValidation to the specified constant value.

  7. final def equals(that: Any): Boolean

    Returns whether this ZValidation and the specified ZValidation are equal to each other.

    Returns whether this ZValidation and the specified ZValidation are equal to each other.

    Definition Classes
    ZValidation → AnyRef → Any
  8. final def flatMap[W1 >: W, E1 >: E, B](f: (A) => ZValidation[W1, E1, B]): ZValidation[W1, E1, B]

    Transforms the value of this ZValidation with the specified validation function if it is a success or returns the value unchanged otherwise.

  9. 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.

  10. final def fold[B](failure: (NonEmptyChunk[E]) => B, success: (A) => B): B

    Folds over the error and success values of this ZValidation.

  11. 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 ZValidation with the specified effectual function if it is a success or returns the value unchanged otherwise.

  12. final def get(implicit ev: <:<[E, Nothing]): A

    Returns the value, because no error has occurred.

  13. final def getLog: Chunk[W]

    Returns the value of the log.

  14. final def getOrElse[A1 >: A](fallback: => A1): A1

    Returns the value, if successful, or the provided fallback value.

  15. final def getOrElseWith[A1 >: A](f: (NonEmptyChunk[E]) => A1): A1

    Returns the successful value or handles the errors that have accumulated.

  16. final def hashCode(): Int
    Definition Classes
    ZValidation → AnyRef → Any
  17. final def log[W1 >: W](w1: W1): ZValidation[W1, E, A]

    Writes an entry to the log.

  18. final def map[B](f: (A) => B): ZValidation[W, E, B]

    Transforms the successful value of this ZValidation with the specified function.

  19. final def mapError[E2](f: (E) => E2): ZValidation[W, E2, A]

    Transforms the error value of this ZValidation with the specified function.

  20. final def mapErrorAll[E2](f: (NonEmptyChunk[E]) => NonEmptyChunk[E2]): ZValidation[W, E2, A]

    Transforms all the error values of this ZValidation with the specified function.

  21. final def mapLog[W2](f: (W) => W2): ZValidation[W2, E, A]

    Transforms the log entries of this ZValidation with the specified function.

  22. final def mapLogAll[W2](f: (Chunk[W]) => Chunk[W2]): ZValidation[W2, E, A]

    Transforms all the log entries of this ZValidation with the specified function.

  23. final def orElse[W1 >: W, E1, A1 >: A](that: ZValidation[W1, E1, A1]): ZValidation[W1, E1, A1]
  24. final def orElseLog[W1 >: W, E1, A1 >: A](that: ZValidation[W1, E1, A1])(implicit ev: <:<[E, W1]): ZValidation[W1, E1, A1]
  25. final def runLog[B]: (Chunk[W], Either[NonEmptyChunk[E], A])

    Exposes the result of this validation function as either a Right with a success of type A or a Left with one or more errors of type E, along with the log.

  26. final def toEither: Either[NonEmptyChunk[E], A]

    Transforms this ZValidation to an Either, discarding the log.

  27. final def toEitherAssociative[E1 >: E](implicit A: Associative[E1]): Either[E1, A]

    Transforms this ZValidation to an Either, aggregating errors using provided Associative instance, discarding the log.

  28. final def toEitherMultiSet: Either[NonEmptyMultiSet[E], A]

    Transforms this ZValidation to an Either, discarding the order in which the errors occurred and discarding the log.

  29. final def toEitherWith[E2](f: (NonEmptyChunk[E]) => E2): Either[E2, A]

    Transforms this ZValidation to an Either, transforming the accumulated errors and discarding the log.

  30. final def toOption: Option[A]

    Transforms this ZValidation to an Option, discarding information about the errors and log.

  31. final def toTry(implicit ev: <:<[E, Throwable]): Try[A]

    Transforms this ZValidation to a Try, discarding all but the first error and the log.

  32. final def toZIO: IO[E, A]

    Converts this ZValidation into a ZIO effect, discarding the log.

  33. final def toZIOAssociative[E1 >: E](implicit A: Associative[E1]): IO[E1, A]

    Transforms this ZValidation to an ZIO effect, aggregating errors using provided Associative instance, discarding the log.

  34. final def zipPar[W1 >: W, E1 >: E, B](that: ZValidation[W1, E1, B]): ZValidation[W1, E1, (A, B)]

    Combines this ZValidation with the specified ZValidation, returning a tuple of their results.

    Combines this ZValidation with the specified ZValidation, returning a tuple of their results. Returns either the combined result if both were successes or otherwise returns a failure with all errors.

  35. final def zipParLeft[W1 >: W, E1 >: E, B](that: ZValidation[W1, E1, B]): ZValidation[W1, E1, A]

    A variant of zipPar that keeps only the left success value, but returns a failure with all errors if either this ZValidation or the specified ZValidation fail.

  36. final def zipParRight[W1 >: W, E1 >: E, B](that: ZValidation[W1, E1, B]): ZValidation[W1, E1, B]

    A variant of zipPar that keeps only the right success value, but returns a failure with all errors if either this ZValidation or the specified ZValidation fail.

  37. final def zipWithPar[W1 >: W, E1 >: E, B, C](that: ZValidation[W1, E1, B])(f: (A, B) => C): ZValidation[W1, E1, C]

    Combines this ZValidation with the specified ZValidation, using the function f to combine their success values.

    Combines this ZValidation with the specified ZValidation, using the function f to combine their success values. Returns either the combined result if both were successes or otherwise returns a failure with all errors.