See source code below.

(ns dustingetz.y2025.gene2 | |
(:require [hyperfiddle.electric3 :as e] | |
[hyperfiddle.electric-dom3 :as dom] | |
[missionary.core :as m])) | |
(e/defn MyTextarea | |
[v & {:keys [rows cols] | |
:or {rows 10 cols 50}}] | |
(dom/textarea (dom/props {:rows rows :cols cols :value v}) | |
; this returns a stream of values |
(ns dustingetz.edn-viewer0 | |
(:require [clojure.datafy :refer [datafy]] | |
[clojure.core.protocols :refer [nav]] | |
[contrib.data :refer [unqualify]] | |
[dustingetz.easy-table :refer [TableScroll Load-css]] | |
[dustingetz.flatten-document :refer [flatten-nested]] | |
[hyperfiddle.electric3 :as e] | |
[hyperfiddle.electric3-contrib :refer [Tap]] | |
[hyperfiddle.electric-dom3 :as dom] | |
[hyperfiddle.electric-forms0 :refer [Checkbox*]] |
(ns hf-docs-site.demos.explorer | |
(:require [clojure.datafy :refer [datafy]] | |
[clojure.core.protocols :refer [nav]] | |
#?(:clj clojure.java.io) | |
[contrib.data :refer [treelister clamp-left]] | |
[contrib.str :refer [includes-str?]] | |
[contrib.datafy-fs #?(:clj :as :cljs :as-alias) fs] | |
[hyperfiddle.electric3 :as e] | |
[hyperfiddle.electric-dom3 :as dom] | |
[hyperfiddle.electric-scroll0 :refer [Scroll-window IndexRing]] |
(ns dustingetz.metaobject | |
"https://github.com/NikolaySuslov/electric-objmodel" | |
(:require [contrib.assert :refer [check]] | |
[hyperfiddle.electric3 :as e] | |
[hyperfiddle.electric-dom3 :as dom] | |
[hyperfiddle.incseq :as i])) | |
(e/defn Some [xs] (first (e/as-vec xs))) | |
(e/defn Vtable-lookup [vtable mname] |
(ns contrib.ui.remark | |
(:require | |
;["@hyperfiddle/remark-generic-extensions/lib/browser.min" :as remark-generic-extensions] ; works in node | |
[clojure.set] | |
[clojure.string] | |
; Refrain from contrib imports so this is more suitable for userland | |
[goog.object] | |
[prop-types] ; used as js/propTypes.object | |
[reagent.core] | |
;[remark] ; works in node |
Electric Clojure implements a form of arrowized continuous time dataflow programming with extensions for network-transparent function composition.
Easy:
query-pokemon-list
for the querye/offload
to move it to a thread pool.
e/offload
throws Pending
until the query finishes, and then the exception "goes away"