proptics

package proptics

Type members

Classlikes

object ALens
abstract class ALens_[S, T, A, B] extends Lens0[S, T, A, B]

An ALens_ ] focuses a single piece of data within a larger structure.

An ALens_ ] focuses a single piece of data within a larger structure.

An ALens_ provides a convenient way to view, set, and transform that element.

An ALens_ must never fail to get or modify that focus.

An ALens_ is a Lens_ with fixed type proptics.internal.Shop cats.arrow.Profunctor

Type parameters:
A

the focus of a ALens_

B

the modified focus of a ALens_

S

the source of a ALens_

T

the modified source of a ALens_

Companion:
object
object ALens_
Companion:
class
object APrism
abstract class APrism_[S, T, A, B] extends Prism0[S, T, A, B]

APrism_ is used for selecting cases of a type, most often a sum type.

APrism_ is used for selecting cases of a type, most often a sum type.

APrism_ is a Prism_ with fixed type proptics.internal.Market cats.arrow.Profunctor

Type parameters:
A

the focus of an APrism_

B

the modified focus of an APrism_

S

the source of an APrism_

T

the modified source of an APrism_

Companion:
object
object APrism_
Companion:
class
object ATraversal
abstract class ATraversal_[S, T, A, B] extends Traversal1[S, T, A, B]

ATraversal_ is an optic that focuses on zero or more values.

ATraversal_ is an optic that focuses on zero or more values.

ATraversal_ is a Traversal_ with fixed type proptics.internal.Bazaar cats.arrow.Profunctor

Type parameters:
A

the foci of a ATraversal_

B

the modified foci of a ATraversal_

S

the source of a ATraversal_

T

the modified source of a ATraversal_

Companion:
object
Companion:
class
abstract class AffineTraversal_[S, T, A, B] extends AffineTraversal0[S, T, A, B]

AffineTraversal_ has at most one focus, but is not a Prism_

AffineTraversal_ has at most one focus, but is not a Prism_

Type parameters:
A

the focus of an AffineTraversal_

B

the modified focus of an AffineTraversal_

S

the source of an AffineTraversal_

T

the modified source of an AffineTraversal_

Companion:
object
Companion:
class
abstract class AnAffineTraversal_[S, T, A, B] extends AffineTraversal0[S, T, A, B]

AnAffineTraversal_ has at most one focus, but is not a Prism_.

Type parameters:
A

the focus of an AnAffineTraversal_

B

the modified focus of an AnAffineTraversal_

S

the source of an AnAffineTraversal_

T

the modified source of an AnAffineTraversal_

Companion:
object
Companion:
class
abstract class AnIndexedLens_[I, S, T, A, B] extends IndexedLens0[I, S, T, A, B]

An AnIndexedLens_ ] focuses a single piece of data and index within a larger structure.

An AnIndexedLens_ ] focuses a single piece of data and index within a larger structure.

An AnIndexedLens_ provides a convenient way to view, set, and transform that element.

An AnIndexedLens_ must never fail to get or modify that focus.

an AnIndexedLens_ is an IndexedLens_ with fixed type proptics.internal.Shop cats.arrow.Profunctor

Type parameters:
A

the focus of an AnIndexedLens_

B

the modified focus of an AnIndexedLens_

I

the index of an AnIndexedLens_

S

the source of an AnIndexedLens_

T

the modified source of an AnIndexedLens_

Companion:
object
Companion:
class
object AnIso
abstract class AnIso_[S, T, A, B] extends Iso0[S, T, A, B]

An AnIso_ is a generalized isomorphism.

An AnIso_ is a generalized isomorphism.

An AnIso_ is a complete reversible transformation between two types.

An AnIso_ is an Iso_ with fixed type proptics.internal.Exchange cats.arrow.Profunctor

Type parameters:
A

the focus of an AnIso_

B

the modified focus of an AnIso_

S

the source of a AnIso_

T

the modified source of an AnIso_

Companion:
object
object AnIso_
Companion:
class
object Fold
abstract class Fold_[S, T, A, B] extends FoldCompat[S, A]

A Fold_ is a generalization of something Foldable. It describes how to retrieve multiple values.

A Fold_ is a generalization of something Foldable. It describes how to retrieve multiple values.

A Fold_ is similar to a Traversal_, but it cannot modify its foci.

A Fold_ is an Optic with fixed type proptics.internal.Forget cats.arrow.Profunctor

Type parameters:
A

the foci of a Fold_

B

the modified foci of a Fold_

S

the source of a Fold_

T

the modified source of a Fold_

Companion:
object
object Fold_
Companion:
class
object Getter
abstract class Getter_[S, T, A, B] extends Getter1[S, A]

A Getter_ is a Fold_ without a cats.Monoid.

A Getter_ is a Fold_ without a cats.Monoid.

A Getter_ is just any get function (S -> A)

Type parameters:
A

the focus of a Getter_

B

the modified focus of a Getter_

S

the source of a Getter_

T

the modified source of a Getter_

Companion:
object
object Getter_
Companion:
class
object Grate
abstract class Grate_[S, T, A, B] extends Serializable

A Grate_ allows a generalized zipWith operation.

A Grate_ allows a generalized zipWith operation.

Type parameters:
A

the focus of a Grate_

B

the modified focus of a Grate_

S

the source of a Grate_

T

the modified source of a Grate_

Companion:
object
object Grate_
Companion:
class
abstract class IndexedFold_[I, S, T, A, B] extends IndexedFoldCompat[I, S, A]

A IndexedFold_ is a generalization of something Foldable. It describes how to retrieve multiple values and thier indices.

A IndexedFold_ is a generalization of something Foldable. It describes how to retrieve multiple values and thier indices.

A IndexedFold_ is similar to a IndexedTraversal_, but it cannot modify its foci.

An IndexedFold_ is an indexed optic with fixed type proptics.internal.Forget cats.arrow.Profunctor

Type parameters:
A

the foci of an IndexedFold_

B

the modified foci of an IndexedFold_

I

the index of an IndexedFold_

S

the source of an IndexedFold_

T

the modified source of an IndexedFold_

Companion:
object
Companion:
class
abstract class IndexedGetter_[I, S, T, A, B] extends IndexedGetter1[I, S, A]

An IndexedGetter_ is an IndexedFold_ without a cats.Monoid.

An IndexedGetter_ is an IndexedFold_ without a cats.Monoid.

An IndexedGetter_ is just any get function (S -> (A, I))

Type parameters:
A

the focus of an IndexedGetter_

B

the modified focus of an IndexedGetter_

I

the index of an IndexedGetter_

S

the source of an IndexedGetter_

T

the modified source of an IndexedGetter_

Companion:
object
Companion:
class
abstract class IndexedLens_[I, S, T, A, B] extends IndexedLens0[I, S, T, A, B]

An IndexedLens_ ] focuses a single piece of data and index within a larger structure.

An IndexedLens_ ] focuses a single piece of data and index within a larger structure.

An IndexedLens_ provides a convenient way to view, set, and transform that element.

An IndexedLens_ must never fail to get or modify that focus.

Type parameters:
A

the focus of an IndexedLens_

B

the modified focus of an IndexedLens_

I

the index of an IndexedLens_

S

the source of an IndexedLens_

T

the modified source of an IndexedLens_

Companion:
object
Companion:
class
abstract class IndexedSetter_[I, S, T, A, B] extends IndexedSetter0[I, S, T, A, B]

An IndexedSetter_ is a generalization of mapWithIndex from proptics.indices.FunctorWithIndex

An IndexedSetter_ is a generalization of mapWithIndex from proptics.indices.FunctorWithIndex

Type parameters:
A

the focus an IndexedSetter_

B

the modified focus of an IndexedSetter_

I

the index of an IndexedSetter_

S

the source of an IndexedSetter_

T

the modified source of an IndexedSetter_

Companion:
object
Companion:
class
abstract class IndexedTraversal_[I, S, T, A, B] extends IndexedTraversal1[I, S, T, A, B]

An IndexedTraversal_ is an indexed optic that focuses on zero or more values, and their indices.

An IndexedTraversal_ is an indexed optic that focuses on zero or more values, and their indices.

Type parameters:
A

the foci of an IndexedTraversal_

B

the modified foci of an IndexedTraversal_

I

the index of an IndexedTraversal_

S

the source of an IndexedTraversal_

T

the modified source of an IndexedTraversal_

Companion:
object
Companion:
class
object Iso
abstract class Iso_[S, T, A, B] extends Iso0[S, T, A, B]

An Iso_ is a generalized isomorphism.

An Iso_ is a generalized isomorphism.

An Iso_ is a complete reversible transformation between two types.

Type parameters:
A

the focus of an Iso_

B

the modified focus of a Iso_

S

the source of an Iso_

T

the modified source of an Iso_

Companion:
object
object Iso_
Companion:
class
object Lens
object Lens2
object Lens3
object Lens4
object Lens5
abstract class Lens_[S, T, A, B] extends Lens0[S, T, A, B]

A Lens_ ] focuses a single piece of data within a larger structure.

A Lens_ ] focuses a single piece of data within a larger structure.

A Lens_ provides a convenient way to view, set, and transform that element.

A Lens_ must never fail to get or modify that focus.

Type parameters:
A

the focus of a Lens_

B

the modified focus of a Lens_

S

the source of a Lens_

T

the modified source of a Lens_

Companion:
object
object Lens_
Companion:
class
object Prism
abstract class Prism_[S, T, A, B] extends Prism0[S, T, A, B]

A Prism_ is used for selecting cases of a type, most often a sum type.

A Prism_ is used for selecting cases of a type, most often a sum type.

A Prism_ can fail to get or modify its focus.

A Prism_ can only focus at most one value.

Type parameters:
A

the focus of a Prism_

B

the modified focus of a Prism_

S

the source of a Prism_

T

the modified source of a Prism_

Companion:
object
object Prism_
Companion:
class
object Review
abstract class Review_[S, T, A, B] extends Review0[T, B]

A Review_ describes how to construct a single value. It's a dual of Getter_.

A Review_ describes how to construct a single value. It's a dual of Getter_.

A Review_ is isomorphic to an arbitrary function from (B -> T)

Type parameters:
A

the focus of a Review_

B

the modified focus of a Review_

S

the source of a Review_

T

the modified source of a Review_

Companion:
object
object Review_
Companion:
class
object Setter
abstract class Setter_[S, T, A, B] extends Setter0[S, T, A, B]

A Setter_ is a generalization of map from cats.Functor

A Setter_ is a generalization of map from cats.Functor

Type parameters:
A

the focus of a Setter_

B

the modified focus of a Setter_

S

the source of a Setter_

T

the modified source of a Setter_ ß

Companion:
object
object Setter_
Companion:
class
object Traversal
object Traversal2
object Traversal3
object Traversal4
object Traversal5
abstract class Traversal_[S, T, A, B] extends Traversal1[S, T, A, B]

A Traversal_ is an optic that focuses on zero or more values

A Traversal_ is an optic that focuses on zero or more values

Type parameters:
A

the foci of a Traversal_

B

the modified foci of a Traversal_

S

the source of a Traversal_

T

the modified source of a Traversal_

Companion:
object
object Traversal_
Companion:
class

Types

type ALens[S, A] = ALens_[S, S, A, A]

ALens is a specialization of ALens_

ALens is a specialization of ALens_

type APrism[S, A] = APrism_[S, S, A, A]

APrism is a specialization of APrism_

APrism is a specialization of APrism_

type ATraversal[S, A] = ATraversal_[S, S, A, A]

ATraversal is a specialization of ATraversal_

ATraversal is a specialization of ATraversal_

type AffineTraversal[S, A] = AffineTraversal_[S, S, A, A]

AffineTraversal is a specialization of AffineTraversal_

AffineTraversal is a specialization of AffineTraversal_

type AnAffineTraversal[S, A] = AnAffineTraversal_[S, S, A, A]

AffineTraversal is a specialization of AffineTraversal_

AffineTraversal is a specialization of AffineTraversal_

type AnIndexedLens[I, S, A] = AnIndexedLens_[I, S, S, A, A]

AnIndexedLens is a specialization of AnIndexedLens_

AnIndexedLens is a specialization of AnIndexedLens_

type AnIso[S, A] = AnIso_[S, S, A, A]

AnIso is a specialization of AnIso_

AnIso is a specialization of AnIso_

type AppliedALens[S, A] = AppliedALens_[S, S, A, A]

AppliedALens is a specialization of AppliedALens_

AppliedALens is a specialization of AppliedALens_

type AppliedAPrism[S, A] = AppliedAPrism_[S, S, A, A]

AppliedPrism is a specialization of AppliedPrism_

AppliedPrism is a specialization of AppliedPrism_

type AppliedATraversal[S, A] = AppliedATraversal_[S, S, A, A]

AppliedATraversal is a specialization of AppliedATraversal_

AppliedATraversal is a specialization of AppliedATraversal_

AppliedAffineTraversal_ is a specialization of AppliedAffineTraversal_

AppliedAffineTraversal_ is a specialization of AppliedAffineTraversal_

AppliedAnAffineTraversal is a specialization of AppliedAnAffineTraversal_

AppliedAnAffineTraversal is a specialization of AppliedAnAffineTraversal_

type AppliedAnIso[S, A] = AppliedAnIso_[S, S, A, A]

AppliedAnIso is a specialization of AppliedAnIso_

AppliedAnIso is a specialization of AppliedAnIso_

type AppliedFold[S, A] = AppliedFold_[S, S, A, A]

AppliedFold is a specialization of AppliedFold_

AppliedFold is a specialization of AppliedFold_

type AppliedGetter[S, A] = AppliedGetter_[S, S, A, A]

AppliedGetter is a specialization of AppliedGetter_

AppliedGetter is a specialization of AppliedGetter_

type AppliedGrate[S, A] = AppliedGrate_[S, S, A, A]

AppliedGrate is a specialization of AppliedGrate_

AppliedGrate is a specialization of AppliedGrate_

type AppliedIso[S, A] = AppliedIso_[S, S, A, A]

AppliedIso is a specialization of AppliedIso_

AppliedIso is a specialization of AppliedIso_

type AppliedLens[S, A] = AppliedLens_[S, S, A, A]

AppliedLens is a specialization of AppliedLens_

AppliedLens is a specialization of AppliedLens_

type AppliedPrism[S, A] = AppliedPrism_[S, S, A, A]

AppliedPrism is a specialization of AppliedPrism_

AppliedPrism is a specialization of AppliedPrism_

type AppliedReview[S, A] = AppliedReview_[S, S, A, A]

AppliedReview is a specialization of AppliedReview_

AppliedReview is a specialization of AppliedReview_

type AppliedSetter[S, A] = AppliedSetter_[S, S, A, A]

AppliedSetter is a specialization of AppliedSetter_

AppliedSetter is a specialization of AppliedSetter_

type AppliedTraversal[S, A] = AppliedTraversal_[S, S, A, A]

AppliedTraversal is a specialization of AppliedTraversal_

AppliedTraversal is a specialization of AppliedTraversal_

type Fold[S, A] = Fold_[S, S, A, A]

Fold is a specialization of Fold_

Fold is a specialization of Fold_

type Getter[S, A] = Getter_[S, S, A, A]

Getter is a specialization of Getter_

Getter is a specialization of Getter_

type Grate[S, A] = Grate_[S, S, A, A]

Grate is a specialization of Grate_

Grate is a specialization of Grate_

type IndexedFold[I, S, A] = IndexedFold_[I, S, S, A, A]

IndexedFold is a specialization of IndexedFold_

IndexedFold is a specialization of IndexedFold_

type IndexedGetter[I, S, A] = IndexedGetter_[I, S, S, A, A]

IndexedGetter is a specialization of IndexedGetter_

IndexedGetter is a specialization of IndexedGetter_

type IndexedLens[I, S, A] = IndexedLens_[I, S, S, A, A]

IndexedLens is a specialization of IndexedLens_

IndexedLens is a specialization of IndexedLens_

type IndexedSetter[I, S, A] = IndexedSetter_[I, S, S, A, A]

IndexedSetter is a specialization of IndexedSetter_

IndexedSetter is a specialization of IndexedSetter_

type IndexedTraversal[I, S, A] = IndexedTraversal_[I, S, S, A, A]

IndexedTraversal is a specialization of IndexedTraversal_

IndexedTraversal is a specialization of IndexedTraversal_

type Iso[S, A] = Iso_[S, S, A, A]

Iso is a specialization of Iso_

Iso is a specialization of Iso_

type Lens[S, A] = Lens_[S, S, A, A]

Lens is a specialization of Lens_

Lens is a specialization of Lens_

type Prism[S, A] = Prism_[S, S, A, A]

Prism is a specialization of Prism_

Prism is a specialization of Prism_

type Review[S, A] = Review_[S, S, A, A]

Review is a specialization of Review_

Review is a specialization of Review_

type Setter[S, A] = Setter_[S, S, A, A]

Setter is a specialization of Setter_

Setter is a specialization of Setter_

type Traversal[S, A] = Traversal_[S, S, A, A]

Traversal is a specialization of Traversal_

Traversal is a specialization of Traversal_