All Downloads are FREE. Search and download functionalities are using the official Maven repository.

kits.lens.package.scala Maven / Gradle / Ivy

The newest version!
package kits

package object lens {

  implicit class WithLens[A](val a: A) extends AnyVal {
    def withLens(f: Lens[A, A] => A => A): A = f(Lens[A])(a)
  }

  implicit class AsOptional[A, B](val lens: Lens[A, Option[B]]) extends AnyVal {
    def asOpt: Optional[A, B] =
      new Optional[A, B] {
        def get(a: A): Option[B] = lens.get(a)
        def set(b: B)(a: A): A = lens.set(Some(b))(a)
      }
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy