The m/=> contract spine for the opaque subsystem.
Every contract lives HERE rather than beside its function, for one reason
that decides the whole subsystem's shape: the two namespaces a compiled
kernel loads (hive-addon.opaque.codec and hive-addon.opaque.serve) must be
malli-free, because malli does not load under cljw build. A contract
written next to codec/encode would drag the schema runtime into the
binary. Stating them from the outside keeps the kernel lean and the host
fully checked.
HOST-ONLY, and loading it is OPTIONAL. Nothing requires this namespace at runtime; it is loaded by the suite and by a host that wants instrumentation. The contracts are read by hive-schemas to synthesize coverage from the same schemas rather than from hand-written examples.
Schemas are referenced as VARS, not as :opaque/* registry keywords, so a contract resolves without anyone having installed a registry.
The m/=> contract spine for the opaque subsystem. Every contract lives HERE rather than beside its function, for one reason that decides the whole subsystem's shape: the two namespaces a compiled kernel loads (hive-addon.opaque.codec and hive-addon.opaque.serve) must be malli-free, because malli does not load under `cljw build`. A contract written next to `codec/encode` would drag the schema runtime into the binary. Stating them from the outside keeps the kernel lean and the host fully checked. HOST-ONLY, and loading it is OPTIONAL. Nothing requires this namespace at runtime; it is loaded by the suite and by a host that wants instrumentation. The contracts are read by hive-schemas to synthesize coverage from the same schemas rather than from hand-written examples. Schemas are referenced as VARS, not as :opaque/* registry keywords, so a contract resolves without anyone having installed a registry.
No vars found in this namespace.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |