potok.v2.core
Stream & Events based state management toolkit for ClojureScript.
data-event
(data-event t)(data-event t d)Creates an event instance that only contains data.
emit!
(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.
input-stream
(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.
store
(store)(store {:keys [on-error on-event state validate-fn], :or {on-error handle-error, validate-fn map?}, :as params})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.
UpdateEvent
protocol
members
update
(update event state)Apply a transformation to the state.