fifql-fx

re-frame effect handlers for fifql


Keywords
clojurescript, fiflang, fifql, graphql, re-frame, stack-programming
License
EPL-2.0

Documentation

fifql-fx – re-frame effect handlers for fifql

fifql-fx is effect handlers for use with client-side browser applications that wish to talk to an fifql endpoint.

(require '[re-frame.core :as re-frame :refer [reg-event-fx]])
(require '[fifql.client :refer [sform]])
(require '[fifql-fx.effects])


(reg-event-fx
  ::query-user-listing
  (fn [_ [{:keys [first after]}]]
    {:fifql/query
     {:url "/fifql"
      :sform
      (sform
       def first %= first
       def after %= after
       {:first first :after after} ? example/user-listing)
      :on-success ::load-user-listing}}))


(reg-event-fx
  ::load-user-listing
  (fn [{:keys [db]} [{:keys [stack]}]]
     (let [user-listing (-> stack first)]
       {:db (assoc db ::user-listing user-listing)})))