(alias-component component-id)
creates a component that just provides an instance defined elsewhere in the system
creates a component that just provides an instance defined elsewhere in the system
(assoc-many m assocs)
(assoc-many m prefix assocs)
(assoc-many {} {[:foo :bar] :bux}) => {:foo {:bar :bux}
(assoc-many {} {[:foo :bar] :bux}) => {:foo {:bar :bux}
(component-id ref)
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-defs
, 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-defs`, 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
which graph to follow to apply signal
which graph to follow to apply signal
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-exception _system
referencing-component-id
referenced-component-group-name)
(group-ref? ref)
(init-system maybe-system signal-name component-keys)
(local-ref k)
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.
(ref k)
(ref-exception _system referencing-component-id referenced-component-id)
Communicates that a component needs to be provided.
Communicates that a component needs to be provided.
(resolved {:keys [:donut.system/component-id :donut.system/resolved-defs]})
(resume system)
(signal system signal-name & [component-keys])
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)
(stop-failed-system)
Will attempt to stop a system that threw an exception when starting
Will attempt to stop a system that threw an exception when starting
(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-instance-with-malli {:keys [:donut.system/instance ->validation
:donut.system/system]})
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