(alias-component component-id)
creates a compnoent that just provides an instance defined elsewhere in the system
creates a compnoent that just provides an instance defined elsewhere in the system
(apply-signal-computation-graph system)
(apply-signal-stage system computation-stage-node)
(assoc-many m assocs)
(assoc-many m prefix assocs)
(base-merge component-def base)
(component-paths defs)
Components are grouped. This theoretically helps if publishing a component library. It also helps when creating multiple instances of the same collection of components because components are allowed to have local refs. See TODO for more details.
Components are grouped. This theoretically helps if publishing a component library. It also helps when creating multiple instances of the same collection of components because components are allowed to have local refs. See TODO for more details.
Component-like data shows up in ::defs
, ::resolved
, and ::instances
. None
of these are the component per se, but they are the way the component
manifests in that context.
Component-like data shows up in `::defs`, `::resolved`, and `::instances`. None of these are the component per se, but they are the way the component manifests in that context.
specter path that retains a component's group name
specter path that retains a component's group name
(const m)
Helper for constant map components
Helper for constant map components
(def-merge left right)
which graph to follow to apply signal
which graph to follow to apply signal
(gen-graphs {:keys [:donut.system/selected-component-ids] :as system})
Generates order graphs. If ::selected-component-ids
is specified, graphs are
filtered to the union of all subgraphs reachable by the selected component
ids.
Generates order graphs. If `::selected-component-ids` is specified, graphs are filtered to the union of all subgraphs reachable by the selected component ids.
(gen-signal-computation-graph system signal order)
Graphs are used to specify component dependency order and signal application order.
Graphs are used to specify component dependency order and signal application order.
(group-ref x)
(group-ref-exception _system
referencing-component-id
referenced-component-group-name)
(handler-stage-fn system computation-stage-node)
(init-signal-computation-graph system signal)
(init-system maybe-system signal-name component-keys)
(merge-defs s1 s2 & [merge-fn])
(merge-system-config base-config custom-config)
A way to name different system, e.g. :test, :dev, :prod, etc.
A way to name different system, e.g. :test, :dev, :prod, etc.
Topsorted and reverse-topsorted graphs are generated once when a system is initialized and assoc'c into the system. These graphs are used when applying signals.
Topsorted and reverse-topsorted graphs are generated once when a system is initialized and assoc'c into the system. These graphs are used when applying signals.
(prune-signal-computation-graph system computation-stage-node)
(ref k)
(ref-exception _system referencing-component-id referenced-component-id)
(ref-type k)
(remove-nodes g nodes)
(remove-signal-computation-stage-node system computation-stage-node)
(resolved {:keys [:donut.system/component-id :donut.system/resolved]})
(resume system)
(signal system signal-name & [component-keys])
(signal-stage-fn system computation-stage-node)
computation node will be e.g. [:env :http-port :start]
computation node will be e.g. [:env :http-port :start]
(signal-stage? stage)
The set of signals your system can respond to is configurable. To apply a signal, the system needs to know in what order components should be traversed.
The set of signals your system can respond to is configurable. To apply a signal, the system needs to know in what order components should be traversed.
(start config-name)
(start config-name custom-config)
(start config-name custom-config component-ids)
(stop system)
(subsystem-component subsystem & [imports])
Decorates a subsystem so that it can respond to signals when embedded in a parent component.
Decorates a subsystem so that it can respond to signals when embedded in a parent component.
(suspend system)
(system sconf)
(system sconf component-def-overrides)
specify a system or a system named registered with config
, and optionally
provide overrides
specify a system or a system named registered with `config`, and optionally provide overrides
(validate-with-malli _
instance-val
{:keys [->validation :donut.system/resolved-component]})
helper function for validating component instances with malli if a schema is present.
helper function for validating component instances with malli if a schema is present.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close