Clojure library for first class lifecycle-managed state.
defstate
macro now declares the resulting var as :dynamic
. This enables the use of binding
in tests.IPersistentStack
, thus now supports Clojure's peek
. This can be used to inspect the value, without starting it.:unrealized
instead of :not-delivered
.*print-length*
of 10.state*
function now takes a :name
key, instead of :ns-str
and :name-str
. The new entry must be a symbol and is still optional.IReference
instead of IObj
. This means that with-meta
support has been replaced with alter-meta!
and reset-meta!
. This way updating meta data does not result in a new State object anymore.watchpoint
now receive one of :starting
, :started
, :stopping
or :stopped
as the third argument, and the State object as the fourth argument.defstate
macro could sometimes mistake a string or map value for a docstring or attribute map. For example, this would fail (defstate foo "bar" :stop (println this))
. This is now fixed.Add close!
function to stop a State by force, skipping its stop logic.