BiDiLens

class BiDiLens<in IN : Any, FINAL>(meta: Meta, get: (IN) -> FINAL, lensSet: (FINAL, IN) -> IN) : Lens<IN, FINAL> , LensInjectorExtractor<IN, FINAL>

A BiDiLens provides the bi-directional extraction of an entity from a target, or the insertion of an entity into a target.

Constructors

Link copied to clipboard
constructor(meta: Meta, get: (IN) -> FINAL, lensSet: (FINAL, IN) -> IN)

Properties

Link copied to clipboard
val meta: Meta

Functions

Link copied to clipboard
fun Events.and(next: Events): Events
Link copied to clipboard

Convert the result of a lens extraction to a Result4k type which

Link copied to clipboard
fun (Request) -> Boolean.asRouter(description: String = unavailable.description): Router

Convert any predicate on a request into a router

Link copied to clipboard
Link copied to clipboard
fun HttpHandler.debug(out: PrintStream = System.out, debugStream: Boolean = false): (request: Request) -> Response
Link copied to clipboard
open fun extract(target: IN): FINAL

Lens operation to get the value from the target. Synonym for invoke(IN)

Link copied to clipboard
open fun forEach(p0: Consumer<in Meta>)
Link copied to clipboard
open operator fun <R : IN> get(target: R): FINAL

Lens operation to get the value from the target. Synonym for invoke(IN)

Link copied to clipboard
open fun <R : IN> inject(value: FINAL, target: R): R

Lens operation to set the value into the target. Synomym for invoke(IN, OUT)

Link copied to clipboard
open operator override fun <R : IN> invoke(value: FINAL, target: R): R

Lens operation to set the value into the target

abstract operator override fun invoke(target: IN): FINAL

Lens operation to get the value from the target

Link copied to clipboard
open operator override fun iterator(): Iterator<Meta>
Link copied to clipboard
fun <T> Lens<Request, T>.matches(fn: (T) -> Boolean): Router

Check the content of any lens on a request for routing purposes.

Link copied to clipboard
open infix fun <R : IN> of(value: FINAL): (R) -> R

Bind this Lens to a value, so we can set it into a target

Link copied to clipboard
fun <IN : Any, VALUE : Value<T>, T : Any> Lens<IN, String>.ofOrLensFailure(vf: ValueFactory<VALUE, T>, value: String): VALUE

Convert ot throw a lens failure when constructing a value type

Link copied to clipboard

Restrict the type that this Lens can extract from

Link copied to clipboard

Restrict the type that this Lens can inject into

Link copied to clipboard
open operator fun <R : IN> set(target: R, value: FINAL): R

Lens operation to set the value into the target. Synomym for invoke(IN, OUT)

Link copied to clipboard
Link copied to clipboard
fun Events.then(next: Events): (Event) -> Unit
Link copied to clipboard

Convert a synchronous HttpHandler API to mimic AsyncHttpClient