ST
integrant.repl.state
, что не фактSize: a a a
ST
integrant.repl.state
, что не фактAO
OR
integrant.repl.state
, что не фактinit
AO
IG
AO
(defmethod ig/init-key :handler
[_ {:keys [db analytics]}]
(make-handler ["/" {"" (partial index-handler db)
["page/" :id] (partial page-handler db analytics)}]))
AO
{:app {:handlers #ig/refset :handler}}
(derive :handler/index :handler)
(derive :handler/page :handler)
(defmethod ig/init-key :app
[_ {:keys [handlers]}]
(make-handler ...))
IG
IG
AR
(defmethod ig/init-key :handler
[_ {:keys [db analytics]}]
(make-handler ["/" {"" (partial index-handler db)
["page/" :id] (partial page-handler db analytics)}]))
(require '[integrant.core :as ig])
(require '[bidi.bidi :as bidi])
(defmethod ig/init-key ::handler [_ routes]
(fn [r]
(when-let [{:keys [handler route-params]} (bidi/match-route routes (:uri r))]
(handler (assoc r :route-params route-params)))))
(defmethod ig/init-key ::user [_ {:keys [dependency]}]
(fn [{{:keys [id]} :route-params}]
{:status 200
:body (format "Hey, %s, my dependency is %s" id dependency)}))
(def config
{::handler ["/"
{"users/" {[:id "/get"] (ig/ref ::user)}}]
::user {:dependency :lala}})
(= (let [system (ig/init config)]
(try
((::handler system) {:uri "/users/andrew/get"})
(finally
(ig/halt! system))))
{:status 200, :body "Hey, andrew, my dependency is :lala"})
AR
AR
MK
or
только с семантикой some
?(X nil nil false)
вернуло false
.MK
AO
(require '[integrant.core :as ig])
(require '[bidi.bidi :as bidi])
(defmethod ig/init-key ::handler [_ routes]
(fn [r]
(when-let [{:keys [handler route-params]} (bidi/match-route routes (:uri r))]
(handler (assoc r :route-params route-params)))))
(defmethod ig/init-key ::user [_ {:keys [dependency]}]
(fn [{{:keys [id]} :route-params}]
{:status 200
:body (format "Hey, %s, my dependency is %s" id dependency)}))
(def config
{::handler ["/"
{"users/" {[:id "/get"] (ig/ref ::user)}}]
::user {:dependency :lala}})
(= (let [system (ig/init config)]
(try
((::handler system) {:uri "/users/andrew/get"})
(finally
(ig/halt! system))))
{:status 200, :body "Hey, andrew, my dependency is :lala"})
ST
or
только с семантикой some
?(X nil nil false)
вернуло false
.(or nil nil false)
возвращает falseMK
(or nil nil false)
возвращает falseST
MK