Liking cljdoc? Tell your friends :D

hive.events

Unified event system for Clojure/ClojureScript.

Combines:

  • re-frame interceptor chain (portable to JVM)
  • re-frame effects/coeffects system
  • domino-style declarative models with async support

Design principles:

  • Events as data
  • Pure handlers returning effect maps
  • Interceptors for cross-cutting concerns
  • Async-first with core.async

Usage: (require '[hive.events :as ev])

;; Register effect handlers (ev/reg-fx :http (fn [request] ...)) (ev/reg-fx :db (fn [tx] ...))

;; Register event handlers (ev/reg-event-fx :user/login [ev/debug ev/validate] ; interceptors (fn [{:keys [db]} [_ credentials]] {:db (assoc db :loading? true) :http {:method :post :url "/login" :body credentials}}))

;; Dispatch events (ev/dispatch [:user/login {:email "..." :password "..."}])

Unified event system for Clojure/ClojureScript.

Combines:
- re-frame interceptor chain (portable to JVM)
- re-frame effects/coeffects system
- domino-style declarative models with async support

Design principles:
- Events as data
- Pure handlers returning effect maps
- Interceptors for cross-cutting concerns
- Async-first with core.async

Usage:
  (require '[hive.events :as ev])

  ;; Register effect handlers
  (ev/reg-fx :http (fn [request] ...))
  (ev/reg-fx :db (fn [tx] ...))

  ;; Register event handlers
  (ev/reg-event-fx :user/login
    [ev/debug ev/validate]  ; interceptors
    (fn [{:keys [db]} [_ credentials]]
      {:db (assoc db :loading? true)
       :http {:method :post :url "/login" :body credentials}}))

  ;; Dispatch events
  (ev/dispatch [:user/login {:email "..." :password "..."}])
raw docstring

->interceptorclj/s

source

->timed-interceptorclj

source

clear-fxclj/s

source

debugclj/s

source

dispatchclj/s

source

dispatch-multiclj/s

source

dispatch-syncclj/s

source

do-fxclj/s

source

enqueueclj/s

source

executeclj/s

source

fsm-compileclj/s

source

fsm-make-sub-handlerclj/s

source

fsm-runclj/s

source

fsm-run-asyncclj

source

fsm-run-subclj/s

source

fsm-run-sub-fxclj/s

source

fsm-stepclj/s

source

fsm-sub-error?clj/s

source

handler-registered?clj/s

source

inject-cofxclj/s

source

reg-cofxclj/s

source

reg-event-dbclj/s

source

reg-event-fxclj/s

source

reg-fxclj/s

source

register-handler!clj/s

source

registered-cofx-idsclj/s

source

registered-fx-idsclj/s

source

remove-handler!clj/s

source

set-log-fn!clj/s

source

trim-vclj/s

source

unreg-cofxclj/s

source

unreg-fxclj/s

source

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close