com.softwaremill.quicklens

Members list

Concise view

Type members

Classlikes

case class LensHelper[T]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
case class MultiLensHelper[T]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
case class PathLazyModify[T, U](doModify: (T, U => U) => T)

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Self type
case class PathModify[S, A](obj: S, f: (A => A) => S)

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
trait QuicklensEitherFunctor[T[_, _], L, R]

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
trait QuicklensFunctor[F[_]]

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
trait QuicklensWhen[A]

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any

Value members

Concrete methods

Extensions

Extensions

extension [T[_, _], L, R](e: T[L, R])
def eachRight(implicit evidence$7: QuicklensEitherFunctor[T, L, R]): R
extension [T[_, _], R, L](e: T[L, R])
def eachLeft(implicit evidence$6: QuicklensEitherFunctor[T, L, R]): L
extension [T, U](f1: T => PathModify[T, U])
def andThenModify[V](f2: U => PathModify[U, V]): T => PathModify[T, V]
extension [F[_], I, A](fa: F[A])
def at(idx: I)(implicit evidence$3: QuicklensIndexedFunctor[F, I]): A
def atOrElse(idx: I, default: => A)(implicit evidence$4: QuicklensIndexedFunctor[F, I]): A
def index(idx: I)(implicit evidence$5: QuicklensIndexedFunctor[F, I]): A
extension [F[_], A](fa: F[A])
def each(implicit evidence$1: QuicklensFunctor[F]): A
def eachWhere(cond: A => Boolean)(implicit evidence$2: QuicklensFunctor[F]): A
extension [S, A](obj: S)
inline def modify(inline path: S => A): PathModify[S, A]

Create an object allowing modifying the given (deeply nested) field accessible in a case class hierarchy via path on the given obj.

Create an object allowing modifying the given (deeply nested) field accessible in a case class hierarchy via path on the given obj.

All modifications are side-effect free and create copies of the original objects.

You can use .each to traverse options, lists, etc.

Attributes

inline def modifyAll(inline path: S => A, inline paths: S => A*): PathModify[S, A]

Create an object allowing modifying the given (deeply nested) fields accessible in a case class hierarchy via paths on the given obj.

Create an object allowing modifying the given (deeply nested) fields accessible in a case class hierarchy via paths on the given obj.

All modifications are side-effect free and create copies of the original objects.

You can use .each to traverse options, lists, etc.

Attributes

extension [F[_], T](t: F[T])
def at(implicit evidence$8: QuicklensSingleAtFunctor[F]): T
def atOrElse(default: => T)(implicit evidence$9: QuicklensSingleAtFunctor[F]): T
def index(implicit evidence$10: QuicklensSingleAtFunctor[F]): T
extension [A](value: A)
def when[B <: A]: B