arrow-optics / arrow.optics.typeclasses / At

At

interface At<S, I, A>

At provides a Lens for a structure S to focus in A at a given index I.

Parameters

S - source of Lens

I - index that uniquely identifies the focus of the Lens

A - focus that is supposed to be unique for a given pair S and I.

Functions

at abstract fun at(i: I): Lens<S, A>
Get a Lens for a structure S with focus in A at index i.open fun <T> Lens<T, S>.at(i: I): Lens<T, A>
DSL to compose At with a Lens for a structure S to focus in on A at given index I.open fun <T> Iso<T, S>.at(i: I): Lens<T, A>
DSL to compose At with an Iso for a structure S to focus in on A at given index I.open fun <T> Prism<T, S>.at(i: I): Optional<T, A>
DSL to compose At with a Prism for a structure S to focus in on A at given index I.open fun <T> Optional<T, S>.at(i: I): Optional<T, A>
DSL to compose At with an Optional for a structure S to focus in on A at given index I.open fun <T> Getter<T, S>.at(i: I): Getter<T, A>
DSL to compose At with a Getter for a structure S to focus in on A at given index I.open fun <T> Setter<T, S>.at(i: I): Setter<T, A>
DSL to compose At with a Setter for a structure S to focus in on A at given index I.open fun <T> Traversal<T, S>.at(i: I): Traversal<T, A>
DSL to compose At with a Traversal for a structure S to focus in on A at given index I.open fun <T> Fold<T, S>.at(i: I): Fold<T, A>
DSL to compose At with a Fold for a structure S to focus in on A at given index I.

Companion Object Functions

fromIso fun <S, U, I, A> fromIso(AT: At<U, I, A>, iso: Iso<S, U>): At<S, I, A>
Lift an instance of At using an Iso.

Extension Functions

remove fun <S, I, A> At<S, I, Option<A>>.remove(s: S, i: I): S
Delete a value associated with a key in a Map-like containerfun <S, I, A> At<S, I, Option<A>>.remove(i: I): (S) -> S
Lift deletion of a value associated with a key in a Map-like container

Inheritors

MapAt interface MapAt<K, V> : At<Map<K, V>, K, Option<V>>
At instance definition for Map.
MapKAt interface MapKAt<K, V> : At<MapK<K, V>, K, Option<V>>
At instance definition for MapK.
SetAt interface SetAt<A> : At<Set<A>, A, Boolean>
At instance definition for Set.
SetKAt interface SetKAt<A> : At<SetK<A>, A, Boolean>
At instance definition for SetK.

Type Class Hierarchy