RxJS bindings for ClojureScript
Complete RxJS 5 bindings for ClojureScript
(ns example.app
(:require [cljs-rx.core :as rx]
[cljs-rx.ajax :as ajax]))
(-> (rx/interval 5000)
(rx/switch-map (fn [_] (ajax/request {:url "/status" :method "GET" :response-type "json"}))
(rx/map #(js->clj (:response %) :keywordize-keys true))
(rx/filter identity)
(rx/subscribe! {:next #(js/console.log %)
:error #(js/console.error %)
:complete #(js/console.log "complete")}))
cljs-rx.core
Core functions and factories
cljs-rx.ajax
Observable AJAX functions
cljs-rx.scheduler
RxJS schedulers
cljs-rx.subject
Subjects and related functions
rx/from
accepts ClojureScript sequences and IWatchable
s (= Atoms)Fn
or IFn
can be used with operators in(rx/filter obs #{:lol :bal})
:all-args
(-> …
(rx/map ^:all-args (fn [x i] (+ x i))) ; now works
…)
```