PartialInvariantFunctor

endpoints4s.PartialInvariantFunctor
trait PartialInvariantFunctor[F[_]] extends InvariantFunctor[F]

Given a type constructor F, a partial function A => Validated[B] and a total function B => A, turns an F[A] into an F[B].

A partial invariant functor is an invariant functor whose covariant transformation function is total (ie, A => Valid[B]).

Attributes

Graph
Supertypes
trait InvariantFunctor[F]
class Object
trait Matchable
class Any

Members list

Value members

Abstract methods

def xmapPartial[A, B](fa: F[A], f: A => Validated[B], g: B => A): F[B]

Transforms an F[A] value into an F[B] value given a partial function from A to B, and a total function from B to A.

Transforms an F[A] value into an F[B] value given a partial function from A to B, and a total function from B to A.

This is useful to ''refine'' the type A into a possibly smaller type B.

Attributes

See also

Concrete methods

def xmap[A, B](fa: F[A], f: A => B, g: B => A): F[B]

Transforms an F[A] value into an F[B] value given a pair of functions from A to B and from B to A.

Transforms an F[A] value into an F[B] value given a pair of functions from A to B and from B to A.

Attributes

See also
final def xmapWithCodec[A, B](fa: F[A], codec: Codec[A, B]): F[B]

Transforms an F[A] value into an F[B] value given a Codec[A, B].

Transforms an F[A] value into an F[B] value given a Codec[A, B].

This is useful to ''refine'' the type A into a possibly smaller type B.

Attributes

See also