Transformation

smithy4s.Transformation
See theTransformation companion object
trait Transformation[F[_, _, _, _, _], G[_, _, _, _, _]]

Natural transformation allowing to change the outer type that final interfaces work against.

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Concise view

Value members

Abstract methods

def apply[I, E, O, SI, SO](fa: F[I, E, O, SI, SO]): G[I, E, O, SI, SO]

Concrete methods

def andThen[H[_, _, _, _, _]](other: Transformation[G, H]): Transformation[F, H]
def precompute(allPossibleInputs: Iterable[Existential[F]]): Transformation[F, G]

Pre-computes the transormation by applying it on an iterable of all possible inputs.

Pre-computes the transormation by applying it on an iterable of all possible inputs.

Unsafe because calling the resulting transformation with an value that wasn't precomputed will result in an exception.

See https://stackoverflow.com/questions/67750145/how-to-implement-types-like-mapk-in-scala-3-dotty

Attributes

def zip[G2[_, _, _, _, _]](other: Transformation[F, G2]): Transformation[F, [_, _, _, _, _] =>> Zip[G, G2, _$16, _$17, _$18, _$19, _$20]]