Liking cljdoc? Tell your friends :D

hive-addon.extension

Extension-point vocabulary: what an addon ACCEPTS providers for.

A manifest carries three capability edges. :addon/capabilities is what an addon OFFERS, :addon/requires-capabilities what it needs a HOST to offer, and :addon/extension-points what it accepts PROVIDERS for. This namespace owns the third and the derivations over it.

Contract: PURE. Value objects are uncompiled malli DATA (house idiom: PascalCase defs) seeded into a LOCAL composite registry that COMPOSES hive-addon.schema's registry under :extension/* keys. The registry is NEVER installed as the malli global default. Derivations take manifest maps and return data, with no registry mutation, no IO and no live fns.

Extension-point vocabulary: what an addon ACCEPTS providers for.

A manifest carries three capability edges. `:addon/capabilities` is what an
addon OFFERS, `:addon/requires-capabilities` what it needs a HOST to offer,
and `:addon/extension-points` what it accepts PROVIDERS for. This namespace
owns the third and the derivations over it.

Contract: PURE. Value objects are uncompiled malli DATA (house idiom:
PascalCase defs) seeded into a LOCAL composite registry that COMPOSES
hive-addon.schema's registry under :extension/* keys. The registry is NEVER
installed as the malli global default. Derivations take manifest maps and
return data, with no registry mutation, no IO and no live fns.
raw docstring

->cardinalityclj/s

(->cardinality kw__6148__auto__)

Coerce a keyword to a Cardinality variant (no data fields). Returns nil if keyword is not a valid variant.

Coerce a keyword to a Cardinality variant (no data fields).
Returns nil if keyword is not a valid variant.
sourceraw docstring

cardinalitiesclj/s

Set of every :cardinality/* variant keyword.

Set of every :cardinality/* variant keyword.
sourceraw docstring

Cardinalityclj/s

How many providers may fill one extension point at once.

How many providers may fill one extension point at once.
sourceraw docstring

cardinalityclj/s

(cardinality variant-kw__6145__auto__)
(cardinality variant-kw__6145__auto__ data__6146__auto__)

Construct a Cardinality variant. (cardinality variant-keyword) for enum variants (cardinality variant-keyword data-map) for data variants

Throws ex-info for unknown variants.

Construct a Cardinality variant.
(cardinality variant-keyword) for enum variants
(cardinality variant-keyword data-map) for data variants

Throws ex-info for unknown variants.
sourceraw docstring

cardinality?clj/s

(cardinality? x__6147__auto__)

True if x is a Cardinality ADT value.

True if x is a Cardinality ADT value.
sourceraw docstring

CardinalityKwclj/s

Enum schema over cardinalities.

Enum schema over `cardinalities`.
sourceraw docstring

CardinalityMalliclj/s

Malli :multi schema (dispatch :adt/variant) for Cardinality — generator-capable and EDN-safe wherever pred-sym->malli covers the declared field predicates.

Malli :multi schema (dispatch :adt/variant) for Cardinality — generator-capable and EDN-safe wherever pred-sym->malli covers the declared field predicates.
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

ExtensionPointclj/s

ONE seam an addon opens for providers.

:extension/capability is the join key: a provider fills this point by declaring the same keyword in its own :addon/capabilities.

:extension/port names the protocol a provider implements and :extension/registry the namespace it registers itself in. Both are STRINGS, because a manifest is data and dereferences no symbol.

:extension/schema is a registry key for the parameters a provider contributes, never the schema value itself.

:extension/docs is a classpath-relative resource inside the addon's own artifact, so the prose travels with the version that declares it.

ONE seam an addon opens for providers.

`:extension/capability` is the join key: a provider fills this point by
declaring the same keyword in its own `:addon/capabilities`.

`:extension/port` names the protocol a provider implements and
`:extension/registry` the namespace it registers itself in. Both are STRINGS,
because a manifest is data and dereferences no symbol.

`:extension/schema` is a registry key for the parameters a provider
contributes, never the schema value itself.

`:extension/docs` is a classpath-relative resource inside the addon's own
artifact, so the prose travels with the version that declares it.
sourceraw docstring

ExtensionPointsclj/s

The seams one addon opens, at most one per capability.

The seams one addon opens, at most one per capability.
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

indexclj/s

(index spec)

spec -> {capability ExtensionPoint}.

`spec` -> {capability ExtensionPoint}.
sourceraw docstring

openersclj/s

(openers specs)

specs -> {capability #{addon-id}}: who ACCEPTS providers for each.

`specs` -> {capability #{addon-id}}: who ACCEPTS providers for each.
sourceraw docstring

over-subscribedclj/s

(over-subscribed specs)

specs -> {addon-id {capability #{tenant-id}}}: :cardinality/one points filled by more than one provider.

`specs` -> {addon-id {capability #{tenant-id}}}: `:cardinality/one` points
filled by more than one provider.
sourceraw docstring

point-capabilitiesclj/s

(point-capabilities spec)

spec -> the set of capabilities it accepts providers for.

`spec` -> the set of capabilities it accepts providers for.
sourceraw docstring

points-ofclj/s

(points-of spec)

spec -> its declared ExtensionPoints, or [].

`spec` -> its declared ExtensionPoints, or [].
sourceraw docstring

providersclj/s

(providers specs)

specs -> {capability #{addon-id}}: who OFFERS each capability.

`specs` -> {capability #{addon-id}}: who OFFERS each capability.
sourceraw docstring

registryclj/s

Composite malli registry: hive-addon.schema's registry plus this ns's :extension/* schemas. NOT installed as the global default.

Composite malli registry: hive-addon.schema's registry plus this ns's
:extension/* schemas. NOT installed as the global default.
sourceraw docstring

reportclj/s

(report specs)

specs -> {:openers :providers :vacant :unconsumed :over-subscribed}.

Everything derived, nothing stored.

`specs` -> {:openers :providers :vacant :unconsumed :over-subscribed}.

Everything derived, nothing stored.
sourceraw docstring

schemaclj/s

(schema ?s)

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

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

tenantsclj/s

(tenants specs capability)

The addon ids in specs that fill capability, excluding the opener itself.

The addon ids in `specs` that fill `capability`, excluding the opener itself.
sourceraw docstring

unconsumedclj/s

(unconsumed specs)

specs -> {addon-id #{capability}}: offered, and referenced by nothing.

The mirror of vacant. A capability here is neither some addon's extension point, nor any addon's :addon/requires-capabilities, nor standard, so nothing in the system can reach what this addon registered.

`specs` -> {addon-id #{capability}}: offered, and referenced by nothing.

The mirror of `vacant`. A capability here is neither some addon's extension
point, nor any addon's `:addon/requires-capabilities`, nor standard, so
nothing in the system can reach what this addon registered.
sourceraw docstring

vacantclj/s

(vacant specs)

specs -> {addon-id #{capability}}: points opened with no tenant.

The mirror of a mount plan's :unmet-capabilities. A vacant point is a seam no provider has ever exercised end to end.

`specs` -> {addon-id #{capability}}: points opened with no tenant.

The mirror of a mount plan's `:unmet-capabilities`. A vacant point is a seam
no provider has ever exercised end to end.
sourceraw docstring

valid-point?clj/s

x -> boolean. Compiled ExtensionPoint validator.

x -> boolean. Compiled ExtensionPoint validator.
sourceraw docstring

validateclj/s

(validate ?s x)

Registry-aware validate. True or false.

Registry-aware validate. True or 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 :extension/schema-violation.

Validate x against ?s, bridging to hive-dsl Result.
(r/ok x) on success; (r/err category {:explanation <humanized>}) on failure.
`category` defaults to :extension/schema-violation.
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