Liking cljdoc? Tell your friends :D

hive-addon.hot.schema

Malli value objects for the IAddon hot-reload bridge.

Shapes are uncompiled malli DATA (house idiom: PascalCase defs) seeded into a LOCAL composite registry that COMPOSES hive-addon.mount.schema's registry — AddonId/MountResult/MountSpec are reused, never redefined. The registry is NEVER installed as the malli global default; reach it via schema/validate/explain/validate* or by passing {:registry registry}.

Hot shapes are registered under :hot/* keys (:hot/registration, :hot/report, :hot/remount-report, :hot/source, :hot/strategy-id).

Two invariants are carried as DATA rather than prose:

  • RemountReport's :teardown/data-preserved? is [:= true] — the no-nuke invariant inherited from TeardownReport.
  • :hot/strategy-id is an open :keyword, never an enum. The strategy set is extensible by any module (OCP); closing it here would be the defect.
Malli value objects for the IAddon hot-reload bridge.

Shapes are uncompiled malli DATA (house idiom: PascalCase defs) seeded into a
LOCAL composite registry that COMPOSES hive-addon.mount.schema's registry —
AddonId/MountResult/MountSpec are reused, never redefined. The registry is
NEVER installed as the malli global default; reach it via
`schema`/`validate`/`explain`/`validate*` or by passing {:registry registry}.

Hot shapes are registered under :hot/* keys (:hot/registration, :hot/report,
:hot/remount-report, :hot/source, :hot/strategy-id).

Two invariants are carried as DATA rather than prose:
- RemountReport's :teardown/data-preserved? is [:= true] — the no-nuke
  invariant inherited from TeardownReport.
- :hot/strategy-id is an open :keyword, never an enum. The strategy set is
  extensible by any module (OCP); closing it here would be the defect.
raw docstring

AddonSourceclj/s

Resolved physical source of an addon's constructor namespace. :hot/reloadable? is the decision derived from :hot/source-kind — true only for :directory. Open.

Resolved physical source of an addon's constructor namespace. :hot/reloadable?
is the decision derived from :hot/source-kind — true only for :directory. Open.
sourceraw docstring

explainclj/s

(explain ?s x)

Registry-aware explain — nil on success, error map on failure.

Registry-aware explain — nil on success, error map on failure.
sourceraw docstring

HotRegistrationclj/s

One addon's registration into the hive-hot component registry. :hot/component-id is the key hive-hot knows it by; :addon/init-ns is the namespace whose reload triggers the strategy named by :hot/strategy-id. Open.

One addon's registration into the hive-hot component registry.
:hot/component-id is the key hive-hot knows it by; :addon/init-ns is the
namespace whose reload triggers the strategy named by :hot/strategy-id. Open.
sourceraw docstring

HotReportclj/s

Outcome of wiring a spec set into hive-hot. :hot/available? is false when hive-hot is absent from the classpath — the bridge then degrades to a no-op report rather than throwing, so a consumer without hive-hot still works. :hot/dirs is the watchable source-dir set derived from the specs (what a consumer feeds hive-hot's :dirs). :ok? is true only when every spec registered. Open.

Outcome of wiring a spec set into hive-hot. :hot/available? is false when
hive-hot is absent from the classpath — the bridge then degrades to a no-op
report rather than throwing, so a consumer without hive-hot still works.
:hot/dirs is the watchable source-dir set derived from the specs (what a
consumer feeds hive-hot's :dirs). :ok? is true only when every spec
registered. Open.
sourceraw docstring

HotTriggerclj/s

What caused a reload. :manual is an explicit call (an operator, or the hive hot reload <addon-id> MCP command); :ns-reload is a hive-hot component callback; :file-change is watcher-driven.

What caused a reload. :manual is an explicit call (an operator, or the
`hive hot reload <addon-id>` MCP command); :ns-reload is a hive-hot component
callback; :file-change is watcher-driven.
sourceraw docstring

humanize-errorsclj/s

(humanize-errors ?s x)

Human-readable error data for x against ?s, or nil if x conforms.

Human-readable error data for x against ?s, or nil if x conforms.
sourceraw docstring

registryclj/s

Composite malli registry: hive-addon.mount.schema's registry (malli defaults + :addon/* + :mount/* schemas) plus this ns's :hot/* schemas. NOT installed as the global default — reach it via the wrappers below or {:registry registry}.

Composite malli registry: hive-addon.mount.schema's registry (malli defaults +
:addon/* + :mount/* schemas) plus this ns's :hot/* schemas. NOT installed as
the global default — reach it via the wrappers below or {:registry registry}.
sourceraw docstring

RemountReportclj/s

Outcome of reloading an addon and its transitive dependents.

:hot/seeds are the directly-changed addon ids; :hot/affected is the topo-ordered closure actually acted on (deps before dependents) and always CONTAINS the seeds. :hot/torn-down is the reverse-order shutdown that ran first. :mounted carries the per-addon MountResult from the ORDINARY mount pipeline — hot-reload is a projection of mount!, not a second registry.

:hot/strategy names the strategy that ran. :teardown/data-preserved? inherits the no-nuke invariant: [:= true]. Open.

Outcome of reloading an addon and its transitive dependents.

:hot/seeds are the directly-changed addon ids; :hot/affected is the
topo-ordered closure actually acted on (deps before dependents) and always
CONTAINS the seeds. :hot/torn-down is the reverse-order shutdown that ran
first. :mounted carries the per-addon MountResult from the ORDINARY mount
pipeline — hot-reload is a projection of mount!, not a second registry.

:hot/strategy names the strategy that ran. :teardown/data-preserved? inherits
the no-nuke invariant: [:= true]. Open.
sourceraw docstring

schemaclj/s

(schema ?s)

Compile ?s against the local :hot/* + :mount/* + :addon/* registry.

Compile ?s against the local :hot/* + :mount/* + :addon/* registry.
sourceraw docstring

SourceKindclj/s

Where an addon's constructor namespace physically lives, which decides whether its code can be reloaded at all.

:directory — a real directory on the classpath (a :local/root dep, or this repo's own src). clj-reload can watch and reload it. :jar — inside a JAR (an :mvn/version dep). The bytes cannot change without a restart, so hot-reload is meaningless. :absent — the namespace's source file is not on the classpath at all.

Where an addon's constructor namespace physically lives, which decides whether
its code can be reloaded at all.

:directory — a real directory on the classpath (a `:local/root` dep, or this
             repo's own src). clj-reload can watch and reload it.
:jar       — inside a JAR (an `:mvn/version` dep). The bytes cannot change
             without a restart, so hot-reload is meaningless.
:absent    — the namespace's source file is not on the classpath at all.
sourceraw docstring

StrategyIdclj/s

Identifier of a reload strategy. OPEN on purpose — modules register their own strategies (OCP), so this is a plain keyword, never an enum.

Identifier of a reload strategy. OPEN on purpose — modules register their own
strategies (OCP), so this is a plain keyword, never an enum.
sourceraw docstring

validateclj/s

(validate ?s x)

Registry-aware validate — true/false.

Registry-aware validate — true/false.
sourceraw docstring

validate*clj/s

(validate* ?s x)
(validate* ?s x category)

Validate x against ?s, bridging to hive-dsl Result. (r/ok x) on success; (r/err category {:explanation <humanized>}) on failure. category defaults to :hot/schema-violation and must be a qualified keyword (hive-dsl taxonomy convention).

Validate x against ?s, bridging to hive-dsl Result.
(r/ok x) on success; (r/err category {:explanation <humanized>}) on failure.
`category` defaults to :hot/schema-violation and must be a qualified keyword
(hive-dsl taxonomy convention).
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close