Liking cljdoc? Tell your friends :D

Change Log

[1.0.0-RC3-wow1] - 2025-09-20

Breaking Changes

Removed :datastar.wow/update-nexus and replaced it with :datastar.wow/registries. :datastar.wow/update-nexus will now be ignored. Adds dispatch function for creating a dispatch function for "out of band" dispatches.

Changed

Effect + Nexus extension is now powered by registries. A registry IS a Nexus map, but with :datastar.wow namespaced keys. Keys are aliased not to aura farm, but to reduce cognitive load (single require is a good thing).

(def effect-map
  {::d*/effects
    {::myeffect
      (fn [ctx system arg1]
        (println arg1))}})

(defn effect-map-fn []
  {::d*/effects
    {::myeffect
      (fn [ctx system arg1]
        (println arg1))}})

(defn effect-map-fn-1
  [arg1]
  {::d*/effects
    {::othereffect
      (fn [ctx system]
        (println arg1))}})

;;; No more ::d*/update-nexus
(d*/with-datastar ->sse-response {::d*/registries [effect-map effect-map-fn [effect-map-fn-1 "Mama mia!"]]})

The vector syntax is particularly useful for scenarios using a component system like integrant.

(require '[integrant.core :as ig])

(def config
  {::datastar-config
    {::d*/registries [effect-map effect-fn [sql-effect (ig/ref ::database-fn)]]}})

Added

Adds a dispatch function that takes a subset of with-datstar options: ::d*/registries, ::d*/write-json, and ::d*/write-html. This dispatch can be passed to with-datastar.

(def my-dispatch (d*/dispatch {::d*/registries [my-app-effects]}))

(d*/with-datastar ->sse-response {::d*/dispatch my-dispatch})

If a dispatch function is given, ::d*/registries, ::d*/write-json, and ::d*/write-html options given to with-datastar will be ignored.

Can you improve this documentation?Edit on GitHub

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