JVM-only blocking convenience layer over nats-cljc.core (ADR 0008): the same
verb names, but synchronous. A caller switches semantics by swapping a single
require. A plain .clj file (not a .cljc with reader conditionals), so
shadow-cljs never compiles it — the pull API is JVM-only by construction and
has no ClojureScript counterpart, which is the reason this layer exists.
A pure consumer of the portable core: it owns no jnats interop and reaches no
protocol primitive. One-shots block and unwrap the core's CompletableFuture so
they throw the canonical ex-info directly; subscriptions get a pull model the
portable push core structurally cannot offer.
JVM-only blocking convenience layer over `nats-cljc.core` (ADR 0008): the same verb names, but synchronous. A caller switches semantics by swapping a single require. A plain `.clj` file (not a `.cljc` with reader conditionals), so shadow-cljs never compiles it — the pull API is JVM-only by construction and has no ClojureScript counterpart, which is the reason this layer exists. A pure consumer of the portable core: it owns no jnats interop and reaches no protocol primitive. One-shots block and unwrap the core's CompletableFuture so they throw the canonical `ex-info` directly; subscriptions get a pull model the portable push core structurally cannot offer.
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 |