At

fun interface At<S, I, A>(source)

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.

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
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> 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.

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> 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> 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> 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> 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> 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.

Extensions

Link copied to clipboard
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 container

fun <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