Popularity
3.3
Stable
Activity
0.0
Stable
48
5
6
Programming language: Kotlin
License: Apache License 2.0
Tags:
Functional Programming
klenses alternatives and similar libraries
Based on the "Functional Programming" category.
Alternatively, view klenses alternatives based on common mentions on social networks and blogs.
-
Result
The modelling for success/failure of operations in Kotlin and KMM (Kotlin Multiplatform Mobile)
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
Promo
www.saashub.com
Do you think we are missing an alternative of klenses or a related project?
README
klenses
Lenses for Kotlin.
Lenses are property references with some extra abilities: they can also be used to create a copy of an object with the property set to a different value, and they compose to form pointers into nested objects.
data class Inner(val value: String)
data class Outer(val outerValue: String, val inner: Inner?)
val foo = Outer("foo", null)
val outerValueLens = +Outer::outerValue
val innerLens = Outer::inner orElse Inner("xyzzy")
val innerValueLens = innerLens + Inner::value
assertEquals("foo", outerValueLens(foo))
assertEquals(Outer("quux", null), outerValueLens(foo, "quux"))
assertEquals(Inner("xyzzy"), innerLens(foo))
assertEquals(Outer("foo", Inner("frobnitz")), innerValueLens(foo, "frobnitz"))
assertEquals(Outer("foo", Inner("XYZZY")), innerValueLens(foo) { toUpperCase() })