https://github.com/fif-lang/fifql-fx
re-frame effect handlers for fifql
https://github.com/fif-lang/fifql-fx
clojurescript fiflang fifql graphql re-frame stack-programming
Last synced: 3 months ago
JSON representation
re-frame effect handlers for fifql
- Host: GitHub
- URL: https://github.com/fif-lang/fifql-fx
- Owner: fif-lang
- License: epl-2.0
- Created: 2019-02-10T06:00:21.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-04-14T08:30:41.000Z (over 6 years ago)
- Last Synced: 2025-10-19T07:22:14.863Z (3 months ago)
- Topics: clojurescript, fiflang, fifql, graphql, re-frame, stack-programming
- Language: Clojure
- Size: 12.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.org
- License: LICENSE
Awesome Lists containing this project
README
#+TITLE: fifql-fx -- re-frame effect handlers for fifql
#+AUTHOR: Benjamin Zaporzan
#+DATE: 2019-02-10
#+EMAIL: benzaporzan@gmail.com
#+LANGUAGE: en
#+OPTIONS: H:2 num:t toc:t \n:nil ::t |:t ^:t f:t tex:t
*fifql-fx* is effect handlers for use with client-side browser
applications that wish to talk to an [[http://github.com/fif-lang/fifql][fifql]] endpoint.
#+BEGIN_SRC clojure
(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)})))
#+END_SRC