OpticResultModule

class Object
trait Matchable
class Any
trait Optics

Type members

Types

type OpticResult[+E, +A]

An OpticResult represents the result from getting or setting a piece of a whole using an optic. This allows the library to abstract over pure optics, transactional optics, and effectual optics.

An OpticResult represents the result from getting or setting a piece of a whole using an optic. This allows the library to abstract over pure optics, transactional optics, and effectual optics.

Value members

Abstract methods

protected def fail[E](e: E): OpticResult[E, Nothing]

Constructs an optic result that fails with the specified value.

Constructs an optic result that fails with the specified value.

protected def flatMap[E, A, B](opticResult: OpticResult[E, A])(f: A => OpticResult[E, B]): OpticResult[E, B]

Constructs an optic result by applying a function that returns an optic result to the success value of the specified optic result.

Constructs an optic result by applying a function that returns an optic result to the success value of the specified optic result.

protected def foldM[E, E2, A, B](opticResult: OpticResult[E, A])(f: E => OpticResult[E2, B], g: A => OpticResult[E2, B]): OpticResult[E2, B]

Constructs an optic results that folds over the success and failure values of the specified optic result, transforming them with the functions f and g that return an optic result.

Constructs an optic results that folds over the success and failure values of the specified optic result, transforming them with the functions f and g that return an optic result.

protected def map[E, A, B](opticResult: OpticResult[E, A])(f: A => B): OpticResult[E, B]

Constructs an optic result by applying a function to the success value of this optic result.

Constructs an optic result by applying a function to the success value of this optic result.

protected def succeed[A](a: A): OpticResult[Nothing, A]

Constructs an optic result that succeeds with the specified value.

Constructs an optic result that succeeds with the specified value.

Concrete methods

final protected def collectAllSuccesses[E, A](iterable: Iterable[OpticResult[E, A]]): OpticResult[Nothing, Chunk[A]]

Constructs an optic result that succeeds with all the success values in the specified collection of optic results, discarding the failures.

Constructs an optic result that succeeds with all the success values in the specified collection of optic results, discarding the failures.

final protected def foreach[E, A, B](iterable: Iterable[A])(f: A => OpticResult[E, B]): OpticResult[E, Chunk[B]]

Constructs an optic result that applies a function returning an optic result to each element in the specified collection and collects the results into a single optic result.

Constructs an optic result that applies a function returning an optic result to each element in the specified collection and collects the results into a single optic result.

final protected def mapError[E, E2, A](opticResult: OpticResult[E, A])(f: E => E2): OpticResult[E2, A]

Constructs an optic result by applying a function to the failure value of this optic result.

Constructs an optic result by applying a function to the failure value of this optic result.

final protected def orElse[E, E2, A](left: => OpticResult[E, A], right: => OpticResult[E2, A]): OpticResult[E2, A]

Constructs an optic result that is equal to the left optic result if it is successful or else the right optic result.

Constructs an optic result that is equal to the left optic result if it is successful or else the right optic result.

final protected def zip[E, A, B](left: => OpticResult[E, A], right: => OpticResult[E, B]): OpticResult[E, (A, B)]

Constructs an optic result that combines the left and right optic results.

Constructs an optic result that combines the left and right optic results.

final protected def zipWith[E, A, B, C](left: => OpticResult[E, A], right: => OpticResult[E, B])(f: (A, B) => C): OpticResult[E, C]

Constructs an optic result that combines the left and right optic results, transforming their success values with the specified function.

Constructs an optic result that combines the left and right optic results, transforming their success values with the specified function.