(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)
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.
A way to name different configs, e.g. :test, :dev, :prod, etc. Used by the rest of the donut ecosystem.
A way to name different configs, e.g. :test, :dev, :prod, etc. Used by the rest of the donut ecosystem.
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
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)
(group-ref? x)
(handler-stage-fn system computation-stage-node)
(init-signal-computation-graph system signal)
(init-system maybe-system signal-name component-keys)
(merge-def d1 d2)
merges defs, coercing constants to maps
merges defs, coercing constants to maps
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? x)
(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-config sconf)
(system-config sconf custom-config)
(system-merge & systems)
(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