Interface Iso.Simple<S,A>
- Type Parameters:
S- the type of both "larger" valuesA- the type of both "smaller" values
- All Superinterfaces:
Applicative<S, Iso<S,?, A, A>>, Contravariant<S, Profunctor<?, S, Iso<?, ?, A, A>>>, Functor<S, Iso<S, ?, A, A>>, Iso<S, S, A, A>, Monad<S, Iso<S, ?, A, A>>, MonadRec<S, Iso<S, ?, A, A>>, Optic<Profunctor<?, ?, ?>, Functor<?, ?>, S, S, A, A>, Optic.Simple<Profunctor<?, ?, ?>, Functor<?, ?>, S, A>, Profunctor<S, S, Iso<?, ?, A, A>>
- All Known Subinterfaces:
TypeSafeKey<A,B>, TypeSafeKey.Simple<A>
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface
public static interface Iso.Simple<S,A>
extends Iso<S,S,A,A>, Optic.Simple<Profunctor<?,?,?>, Functor<?,?>, S, A>
A convenience type with a simplified type signature for common isos with both unified "larger" values and
unified "smaller" values.
-
Nested Class Summary
Nested classes/interfaces inherited from interface Iso
Iso.Simple<S,A> Nested classes/interfaces inherited from interface Optic
Optic.Simple<P,F, S, A> -
Method Summary
Modifier and TypeMethodDescriptionstatic <S,A> Iso.Simple <S, A> adapt(Optic<? super Profunctor<?, ?, ?>, ? super Functor<?, ?>, S, S, A, A> optic) Adapt anOpticwith the right variance to anIso.Simple.default <B> Iso.Simple<S, B> andThen(Iso.Simple<A, B> f) Compose two simple isos from left to right.default <B> Iso.Simple<S, B> andThen(Optic.Simple<? super Profunctor<?, ?, ?>, ? super Functor<?, ?>, A, B> f) Compose two simple optics from left to right.default <R> Iso.Simple<R, A> compose(Iso.Simple<R, S> g) Compose two simple isos from right to left.default <R> Iso.Simple<R, A> compose(Optic.Simple<? super Profunctor<?, ?, ?>, ? super Functor<?, ?>, R, S> g) Compose two simple optics from right to left.default <U> Iso.Simple<S, A> Sequence both thisApplicativeandappB, discardingappB'sresult and returning thisApplicative.default Iso.Simple<A, S> mirror()Flip thisIsoaround.default Lens.Simple<S, A> toLens()Methods inherited from interface Iso
andThen, compose, contraMap, diMap, diMapL, diMapR, discardL, flatMap, fmap, mapA, mapB, mapS, mapT, pure, trampolineM, unIso, zipMethods inherited from interface Optic
apply, monomorphize
-
Method Details
-
compose
Compose two simple isos from right to left.- Type Parameters:
R- the other simple iso' larger type- Parameters:
g- the other simple iso- Returns:
- the composed simple iso
-
andThen
Compose two simple isos from left to right.- Type Parameters:
B- the other simple iso' smaller type- Parameters:
f- the other simple iso- Returns:
- the composed simple iso
-
mirror
-
toLens
-
discardR
Sequence both thisApplicativeandappB, discardingappB'sresult and returning thisApplicative. This is generally useful for sequentially performing side-effects.- Specified by:
discardRin interfaceApplicative<S,A> - Specified by:
discardRin interfaceIso<S,S, A, A> - Specified by:
discardRin interfaceMonad<S,A> - Specified by:
discardRin interfaceMonadRec<S,A> - Type Parameters:
U- the type of appB's parameter- Parameters:
appB- the other Applicative- Returns:
- this Applicative
-
andThen
default <B> Iso.Simple<S,B> andThen(Optic.Simple<? super Profunctor<?, ?, ?>, ? super Functor<?, ?>, A, B> f) Compose two simple optics from left to right.- Specified by:
andThenin interfaceOptic.Simple<Profunctor<?,?, ?>, Functor<?, ?>, S, A> - Type Parameters:
B- the new left side and right side's functor embedding of the input profunctor- Parameters:
f- the other simple optic- Returns:
- the composed simple optic
-
compose
default <R> Iso.Simple<R,A> compose(Optic.Simple<? super Profunctor<?, ?, ?>, ? super Functor<?, ?>, R, S> g) Compose two simple optics from right to left.- Specified by:
composein interfaceOptic.Simple<Profunctor<?,?, ?>, Functor<?, ?>, S, A> - Type Parameters:
R- the new left side and right side's functor embedding of the output profunctor- Parameters:
g- the other simple optic- Returns:
- the composed simple optic
-
adapt
static <S,A> Iso.Simple<S,A> adapt(Optic<? super Profunctor<?, ?, ?>, ? super Functor<?, ?>, S, S, A, A> optic) Adapt anOpticwith the right variance to anIso.Simple.- Type Parameters:
S- S/TA- A/B- Parameters:
optic- the optic- Returns:
- the simple iso
-