Stream & Events based state management toolkit for ClojureScript.
Stream & Events based state management toolkit for ClojureScript.
(effect? e)
Return true
when e
satisfies
the EffectEvent protocol.
Return `true` when `e` satisfies the EffectEvent protocol.
(emit! store event)
(emit! store event & more)
Emits an event or a collection of them into the default store.
If you have instanciated your own store, this function provides 2-arity that allows specify a user defined store.
Emits an event or a collection of them into the default store. If you have instanciated your own store, this function provides 2-arity that allows specify a user defined store.
(event-of? t o)
Return true if event o
has type of t
.
Return true if event `o` has type of `t`.
(type _)
Returns the type of the event.
Returns the type of the event.
(input-stream store)
Returns the internal input stream of the store. Should be used by third party integration that want use store as event bus not only with defined events.
Returns the internal input stream of the store. Should be used by third party integration that want use store as event bus not only with defined events.
(store)
(store {:keys [on-error state] :or {on-error default-error-handler}})
Start a new store.
This function initializes a new event processing stream loop and returns a bi-directional rx stream that should be used to push new events and subscribe to state changes.
Start a new store. This function initializes a new event processing stream loop and returns a bi-directional rx stream that should be used to push new events and subscribe to state changes.
(update? e)
Return true
when e
satisfies
the UpdateEvent protocol.
Return `true` when `e` satisfies the UpdateEvent protocol.
(update event state)
Apply a transformation to the state.
Apply a transformation to the state.
(watch? e)
Return true
when e
satisfies
the WatchEvent protocol.
Return `true` when `e` satisfies the WatchEvent protocol.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close