Not all schema keys listed here are actually used in biff.core. some of them
(like the :biff.core/kv-* keys) are only defined here as a common interface
for other libraries.
Either a partial system map or (fn [modules-var]) => {...}. See
start.
A qualified keyword which identifies a module.
(fn [ctx]) => ctx. Starts a module.
(fn [ctx]) => nil. Stops a module.
(fn []) => nil. Placed on the running system map and stops all modules.
See start and
stop.
A Delay-like value returned by
secret-delay. Meant to be used as
a schema value:
(biff.core/register {:com.example/api-key :biff.core/secret})(fn [ctx namespace key value]) => nil
Sets the given key in namespace to value. A nil value should delete the
key, i.e. a call to :biff.core/kv-list should only return keys with non-nil
values.
namespace: qualified keyword, e.g.:com.example/things. The keyword's namespace should be owned by whatever library or application defines the keyword.key: string.value: any Clojure value that can be round-tripped throughpr-str->clojure.edn/read-stringwithout custom options.
Implementers may use the :biff.core/kv-namespace and :biff.core/kv-key schemas for validation.
(fn [ctx namespace key]) => value
Returns the value for the given key in namespace. If key is unset,
returns nil. See :biff.core/kv-set.
Implementers may use the :biff.core/kv-namespace and :biff.core/kv-key schemas for validation.
(fn [ctx namespace])
(fn [ctx namespace key-prefix]), => [key1, key2, ...]
Returns a sequence of sorted keys in the given namespace. See
:biff.core/kv-set.
key-prefix: string. If set, returns only the keys beginning with this prefix.
Implementers may use the :biff.core/kv-namespace and :biff.core/kv-prefix schemas for validation.
(fn [f]) -> f
Wraps a single-argument function such that database queries which run inside the function all view a consistent snapshot of the database.
(fn [ctx])
A function to be called after a database transaction has been submitted.
There is no specification that ctx include any data about the transaction.
See com.biffweb.core/module.