refactor: replace core.async with promesa for all async operations
- Store protocol now returns promesa promises instead of core.async channels - MemoryStore: `(p/resolved val)` replaces chan+put!+close! ceremony - IDBStore: `p/create` with resolve/reject wraps IDB callbacks - sync.cljc: CLJ uses `p/vthread`, CLJS returns native Promise chains - core.cljc: `p/let` replaces go blocks, timer-based sync loop replaces go-loop+alts!, debounced push replaces kick channel - Tests use `deref` with timeout on promesa promises - Todomvc example uses `p/let` instead of go/<!
This commit is contained in:
8
deps.edn
8
deps.edn
@@ -1,6 +1,6 @@
|
||||
{:paths ["src"]
|
||||
:deps {org.clojure/clojure {:mvn/version "1.12.0"}
|
||||
org.clojure/core.async {:mvn/version "1.7.701"}
|
||||
funcool/promesa {:mvn/version "11.0.678"}
|
||||
http-kit/http-kit {:mvn/version "2.8.0"}
|
||||
com.cognitect/transit-clj {:mvn/version "1.0.333"}
|
||||
com.taoensso/nippy {:mvn/version "3.4.2"}
|
||||
@@ -18,12 +18,10 @@
|
||||
;; ClojureScript client build
|
||||
:cljs {:extra-paths ["example/todomvc"]
|
||||
:extra-deps {org.clojure/clojurescript {:mvn/version "1.11.132"}
|
||||
com.cognitect/transit-cljs {:mvn/version "0.8.280"}
|
||||
org.clojure/core.async {:mvn/version "1.7.701"}}
|
||||
com.cognitect/transit-cljs {:mvn/version "0.8.280"}}
|
||||
:main-opts ["-m" "cljs.main" "-co" "build.edn" "-c"]}
|
||||
|
||||
:cljs-dev {:extra-paths ["example/todomvc"]
|
||||
:extra-deps {org.clojure/clojurescript {:mvn/version "1.11.132"}
|
||||
com.cognitect/transit-cljs {:mvn/version "0.8.280"}
|
||||
org.clojure/core.async {:mvn/version "1.7.701"}}
|
||||
com.cognitect/transit-cljs {:mvn/version "0.8.280"}}
|
||||
:main-opts ["-m" "cljs.main" "-co" "build.edn" "-w" "src:example/todomvc/pocketbook" "-c"]}}}
|
||||
|
||||
Reference in New Issue
Block a user