P
- the Profunctor
boundS
- the left side of the output profunctorT
- the right side's functor embedding of the output profunctorA
- the left side of the input profunctorB
- the right side's functor embedding of the input profunctor@FunctionalInterface public interface ProtoOptic<P extends Profunctor<?,?,? extends P>,S,T,A,B> extends Optic<P,Identity<?>,S,T,A,B>
Optic.Simple<P extends Profunctor<?,?,? extends P>,F extends Functor<?,? extends F>,S,A>
Modifier and Type | Method and Description |
---|---|
default <Z,C> ProtoOptic<P,S,T,Z,C> |
andThen(ProtoOptic<? super P,A,B,Z,C> f)
Left-to-right composition of proto-optics.
|
default <CoP extends Profunctor<?,?,? extends P>,CoF extends Functor<?,? extends Identity<?>>,FB extends Functor<B,? extends CoF>,FT extends Functor<T,? extends CoF>,PAFB extends Profunctor<A,FB,? extends CoP>,PSFT extends Profunctor<S,FT,? extends CoP>> |
apply(PAFB pafb)
The polymorphic arrow between profunctors in this optic interface.
|
default <R,U> ProtoOptic<P,R,U,A,B> |
compose(ProtoOptic<? super P,R,U,S,T> g)
Right-to-Left composition of proto-optics.
|
default <C> ProtoOptic<P,S,T,C,B> |
mapA(Fn1<? super A,? extends C> fn)
Covariantly map
A to C , yielding a new optic. |
default <Z> ProtoOptic<P,S,T,A,Z> |
mapB(Fn1<? super Z,? extends B> fn)
Contravariantly map
B to Z , yielding a new optic. |
default <R> ProtoOptic<P,R,T,A,B> |
mapS(Fn1<? super R,? extends S> fn)
Contravariantly map
S to R , yielding a new optic. |
default <U> ProtoOptic<P,S,U,A,B> |
mapT(Fn1<? super T,? extends U> fn)
Covariantly map
T to U , yielding a new optic. |
<F extends Applicative<?,F>> |
toOptic(Pure<F> pure)
|
default <CoP extends Profunctor<?,?,? extends P>,CoF extends Functor<?,? extends Identity<?>>,FB extends Functor<B,? extends CoF>,FT extends Functor<T,? extends CoF>,PAFB extends Profunctor<A,FB,? extends CoP>,PSFT extends Profunctor<S,FT,? extends CoP>> PSFT apply(PAFB pafb)
apply
in interface Optic<P extends Profunctor<?,?,? extends P>,Identity<?>,S,T,A,B>
CoP
- the profunctor type constraint witnessed by the application of this opticCoF
- the functor type constraint witnessed by the application of this opticFB
- the covariant parameter type of the input profunctorFT
- the covariant parameter type of the output profunctorPAFB
- the full input typePSFT
- the full output typepafb
- the inputdefault <Z,C> ProtoOptic<P,S,T,Z,C> andThen(ProtoOptic<? super P,A,B,Z,C> f)
S
and T
.Z
- the new left side of the input profunctorC
- the new right side's functor embedding of the input profunctorf
- the other proto-opticdefault <R,U> ProtoOptic<P,R,U,A,B> compose(ProtoOptic<? super P,R,U,S,T> g)
A
and B
.R
- the new left side of the output profunctorU
- the new right side's functor embedding of the output profunctorg
- the other proto-opticdefault <R> ProtoOptic<P,R,T,A,B> mapS(Fn1<? super R,? extends S> fn)
S
to R
, yielding a new optic.default <U> ProtoOptic<P,S,U,A,B> mapT(Fn1<? super T,? extends U> fn)
T
to U
, yielding a new optic.default <C> ProtoOptic<P,S,T,C,B> mapA(Fn1<? super A,? extends C> fn)
A
to C
, yielding a new optic.