com.softwaremill.quicklens

Members list

Type members

Classlikes

case class LensHelper[T]

Attributes

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

Attributes

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

Attributes

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

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

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

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any

Attributes

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

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
trait QuicklensIndexedFunctor[F[_], I]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object QuicklensWhen

Attributes

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

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any

Value members

Concrete methods

def modifyLens[T]: LensHelper[T]

Extensions

Extensions

extension [T[_, _], R, L](e: T[L, R])(e: T[L, R])
def eachLeft: L
extension [T[_, _], L, R](e: T[L, R])(e: T[L, R])
def eachRight: R
extension [T, U](f1: T => PathModify[T, U])(f1: T => PathModify[T, U])
def andThenModify[V](f2: U => PathModify[U, V]): T => PathModify[T, V]
extension [F[_], A](fa: F[A])(fa: F[A])(implicit evidence$2: QuicklensFunctor[F])
def eachWhere(cond: A => Boolean): A
extension [F[_], A](fa: F[A])(fa: F[A])
def each: A
extension [F[_], I, A](fa: F[A])(fa: F[A])(implicit evidence$4: QuicklensIndexedFunctor[F, I])
def atOrElse(idx: I, default: => A): A
extension [F[_], I, A](fa: F[A])(fa: F[A])(implicit evidence$5: QuicklensIndexedFunctor[F, I])
def index(idx: I): A
extension [F[_], I, A](fa: F[A])(fa: F[A])(implicit evidence$3: QuicklensIndexedFunctor[F, I])
def at(idx: I): A
extension [S](obj: S)(obj: S)
inline def modify[A](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[A](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])(t: F[T])(implicit evidence$9: QuicklensSingleAtFunctor[F])
def atOrElse(default: => T): T
extension [F[_], T](t: F[T])(t: F[T])
def at: T
def index: T
extension [A](value: A)(value: A)
def when[B <: A]: B