io.pedestal.http.request.lazy

classify-keys

(classify-keys [k v])

Classify key-value pair based on whether its value is delayed, realized, or normal.

derefing-map-entry

(derefing-map-entry kv)(derefing-map-entry k v)

Create a new MapEntry-like object, but allow for values to be transparently derefed when accessed.

Does not provide the same level of ‘equivalency’ checking that MapEntry does. Use ‘seq’ to get a realized pair of key-value.

IntoLazyRequest

protocol

members

-lazy-request

(-lazy-request t)

Create a lazy request

lazy-request

(lazy-request m)

Return a LazyRequest map that transparently derefs values that are delays.

Example: (:foo (lazy-request {:foo (delay :bar)})) ;; => :bar

LazyRequest’s are value-equal to other LazyRequest’s that share the same underlying map, but not to raw maps. Use raw or realized to return plain maps of original key-vals or realized key-vals, respectively.

LazyDatastructure

protocol

Utilities for manipulating/realizing lazy data structures.

members

touch

(touch this)

Realize all portions of the underlying data structure. Returns this.

RawAccess

protocol

Utilities for exposing raw access to advanced data structures that layer new semantics onto simpler types.

members

raw

(raw this)

Return the raw data structure underlying a more advanced wrapper