PartialInvariantFunctor

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]).

class Object
trait Matchable
class Any

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.

See also:

Concrete methods

def xmap[A, B](fa: F[A], f: A => B, g: B => A): F[B]
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.

See also: