arrow-optics / arrow.optics

Package arrow.optics

Types

Fold A Fold is an optic that allows to focus into structure and get multiple results.interface Fold<S, A> : FoldOf<S, A>
FoldKindedJ typealias ~~FoldKindedJ~~<S, A> = HkJ2<ForFold, S, A>
FoldOf typealias ~~FoldOf~~<S, A> = Kind2<ForFold, S, A>
FoldPartialOf typealias ~~FoldPartialOf~~<S> = Kind<ForFold, S>
ForFold class ~~ForFold~~
ForGetter class ~~ForGetter~~
ForIso typealias ForIso = ForPIso
ForLens typealias ForLens = ForPLens
ForOptional typealias ForOptional = ForPOptional
ForPIso class ~~ForPIso~~
ForPLens class ~~ForPLens~~
ForPOptional class ~~ForPOptional~~
ForPPrism class ~~ForPPrism~~
ForPrism typealias ForPrism = ForPPrism
ForPSetter class ~~ForPSetter~~
ForPTraversal class ~~ForPTraversal~~
ForSetter typealias ForSetter = ForPSetter
ForTraversal typealias ForTraversal = ForPTraversal
Getter interface Getter<S, A> : GetterOf<S, A>
GetterKindedJ typealias ~~GetterKindedJ~~<S, A> = HkJ2<ForGetter, S, A>
GetterOf typealias ~~GetterOf~~<S, A> = Kind2<ForGetter, S, A>
GetterPartialOf typealias ~~GetterPartialOf~~<S> = Kind<ForGetter, S>
Iso Iso is a type alias for PIso which fixes the type arguments and restricts the PIso to monomorphic updates.typealias Iso<S, A> = PIso<S, S, A, A>
IsoKindedJ typealias IsoKindedJ<S, A> = PIsoKindedJ<S, S, A, A>
IsoOf typealias IsoOf<S, A> = PIsoOf<S, S, A, A>
IsoPartialOf typealias IsoPartialOf<S> = Kind<ForIso, S>
Lens Lens is a type alias for PLens which fixes the type arguments and restricts the PLens to monomorphic updates.typealias Lens<S, A> = PLens<S, S, A, A>
LensKindedJ typealias LensKindedJ<S, A> = PLensKindedJ<S, S, A, A>
LensOf typealias LensOf<S, A> = PLensOf<S, S, A, A>
LensPartialOf typealias LensPartialOf<S> = Kind<ForLens, S>
Optional Optional is a type alias for POptional which fixes the type arguments and restricts the POptional to monomorphic updates.typealias Optional<S, A> = POptional<S, S, A, A>
OptionalKindedJ typealias OptionalKindedJ<S, A> = POptionalKindedJ<S, S, A, A>
OptionalOf typealias OptionalOf<S, A> = POptionalOf<S, S, A, A>
OptionalPartialOf typealias OptionalPartialOf<S> = Kind<ForOptional, S>
PIso An Iso is a loss less invertible optic that defines an isomorphism between a type S and A i.e. a data class and its properties represented by TupleNinterface PIso<S, T, A, B> : PIsoOf<S, T, A, B>
PIsoKindedJ typealias ~~PIsoKindedJ~~<S, T, A, B> = HkJ4<ForPIso, S, T, A, B>
PIsoOf typealias ~~PIsoOf~~<S, T, A, B> = Kind4<ForPIso, S, T, A, B>
PIsoPartialOf typealias ~~PIsoPartialOf~~<S, T, A> = Kind3<ForPIso, S, T, A>
PLens A Lens (or Functional Reference) is an optic that can focus into a structure for getting, setting or modifying the focus (target).interface PLens<S, T, A, B> : PLensOf<S, T, A, B>
PLensKindedJ typealias ~~PLensKindedJ~~<S, T, A, B> = HkJ4<ForPLens, S, T, A, B>
PLensOf typealias ~~PLensOf~~<S, T, A, B> = Kind4<ForPLens, S, T, A, B>
PLensPartialOf typealias ~~PLensPartialOf~~<S, T, A> = Kind3<ForPLens, S, T, A>
POptional Optional is an optic that allows to focus into a structure and querying or copy‘ing an optional focus.interface POptional<S, T, A, B> : POptionalOf<S, T, A, B>
POptionalKindedJ typealias ~~POptionalKindedJ~~<S, T, A, B> = HkJ4<ForPOptional, S, T, A, B>
POptionalOf typealias ~~POptionalOf~~<S, T, A, B> = Kind4<ForPOptional, S, T, A, B>
POptionalPartialOf typealias ~~POptionalPartialOf~~<S, T, A> = Kind3<ForPOptional, S, T, A>
PPrism A Prism is a loss less invertible optic that can look into a structure and optionally find its focus. Mostly used for finding a focus that is only present under certain conditions i.e. list head Prism<List, Int>interface PPrism<S, T, A, B> : PPrismOf<S, T, A, B>
PPrismKindedJ typealias ~~PPrismKindedJ~~<S, T, A, B> = HkJ4<ForPPrism, S, T, A, B>
PPrismOf typealias ~~PPrismOf~~<S, T, A, B> = Kind4<ForPPrism, S, T, A, B>
PPrismPartialOf typealias ~~PPrismPartialOf~~<S, T, A> = Kind3<ForPPrism, S, T, A>
Prism Prism is a type alias for PPrism which fixes the type arguments and restricts the PPrism to monomorphic updates.typealias Prism<S, A> = PPrism<S, S, A, A>
PrismKindedJ typealias PrismKindedJ<S, A> = PPrismKindedJ<S, S, A, A>
PrismOf typealias PrismOf<S, A> = PPrismOf<S, S, A, A>
PrismPartialOf typealias PrismPartialOf<S> = Kind<ForPrism, S>
PSetter interface PSetter<S, T, A, B> : PSetterOf<S, T, A, B>
PSetterKindedJ typealias ~~PSetterKindedJ~~<S, T, A, B> = HkJ4<ForPSetter, S, T, A, B>
PSetterOf typealias ~~PSetterOf~~<S, T, A, B> = Kind4<ForPSetter, S, T, A, B>
PSetterPartialOf typealias ~~PSetterPartialOf~~<S, T, A> = Kind3<ForPSetter, S, T, A>
PTraversal A Traversal is an optic that allows to see into a structure with 0 to N foci.interface PTraversal<S, T, A, B> : PTraversalOf<S, T, A, B>
PTraversalKindedJ typealias ~~PTraversalKindedJ~~<S, T, A, B> = HkJ4<ForPTraversal, S, T, A, B>
PTraversalOf typealias ~~PTraversalOf~~<S, T, A, B> = Kind4<ForPTraversal, S, T, A, B>
PTraversalPartialOf typealias ~~PTraversalPartialOf~~<S, T, A> = Kind3<ForPTraversal, S, T, A>
Setter Setter is a type alias for PSetter which fixes the type arguments and restricts the PSetter to monomorphic updates.typealias Setter<S, A> = PSetter<S, S, A, A>
SetterKindedJ typealias SetterKindedJ<S, A> = PSetterKindedJ<S, S, A, A>
SetterOf typealias SetterOf<S, A> = PSetterOf<S, S, A, A>
SetterPartialOf typealias SetterPartialOf<S> = Kind<ForSetter, S>
Traversal Traversal is a type alias for PTraversal which fixes the type arguments and restricts the PTraversal to monomorphic updates.typealias Traversal<S, A> = PTraversal<S, S, A, A>
TraversalKindedJ typealias TraversalKindedJ<S, A> = PTraversalKindedJ<S, S, A, A>
TraversalOf typealias TraversalOf<S, A> = PTraversalOf<S, S, A, A>
TraversalPartialOf typealias TraversalPartialOf<S> = Kind<ForTraversal, S>

Extensions for External Classes

arrow.core.Either  
arrow.core.ListExtensions  
arrow.core.ListK  
arrow.core.MapK  
arrow.core.NonEmptyList  
arrow.core.Option  
arrow.core.SetExtensions  
arrow.core.Tuple10  
arrow.core.Tuple2  
arrow.core.Tuple3  
arrow.core.Tuple4  
arrow.core.Tuple5  
arrow.core.Tuple6  
arrow.core.Tuple7  
arrow.core.Tuple8  
arrow.core.Tuple9  
arrow.core.Validated  
arrow.Kind  
kotlin.collections.List  
kotlin.String  

Functions

<no name provided> A Getter is an optic that allows to see into a structure and getting a focus.fun <no name provided>(): Unit
cons infix fun <A> A.cons(tail: List<A>): List<A>
get operator fun <A, T> PLens<T, T, List<A>, List<A>>.get(i: Int): POptional<T, T, A, A>
Optional fun <S, A> Optional(getOption: (source: S) -> Option<A>, set: (source: S, focus: A) -> S): Optional<S, A>
Prism Invoke operator overload to create a PPrism of type S with a focus A where A is a subtype of S Can also be used to construct Prismfun <S, A> Prism(getOption: (S) -> Option<A>, reverseGet: (A) -> S): Prism<S, A>

Do you like Arrow?

Arrow Org
<