Added:
a new build-state-map helper function, which returns {:component-id current-component-state}
map.
Changed:
The state of new component is set to *stopped-component-state* value (default is EmptyState).
Added:
feature toggling. now component may have new status :disabled
. During the system start any disabled components will be ignored
(start/stop functions will not run).
To disable a component just add to components' config map a key :context/component-disabled
and true
as a value.
EmptyState. During the system stop, any stopped component now has state value as EmptyState class. This prevents poorly understood NPE if someone calls methods on the stopped component.
Added:
helper functions: config-value, state-value. state-value is aware of clojure.lang.IDeref, so it is possible to use async value (future, promise) returned from start-fn.
Fixed:
if config is a function, then under some circumstances it is not evaluated during component start. this bug appears only if context atom is passed as a parameter inside component during the start.
Changed:
minor doc updates.
some tests now use set #{} as start-deps collection.
Added:
cyclic dependency detection between components.
flag *ignore-cyclic-deps?* to control cyclic dependency behaviour.
flag *print-exceptions?* to print exception info to stdout during the start/stop operations with components.
doc string to stopped? fn
Fixed:
README.adoc (orthographic and grammatical)
tests: avoid text content dependence.
Changed:
(BREAKING) build-context now has two parameters. Now atom is passed as a parameter and not created inside a function.
git branching. now git flow
model is used.
Init alpha release
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close