36 lines
1.3 KiB
Clojure
36 lines
1.3 KiB
Clojure
(ns scittle.qlkit
|
|
(:require [qlkit.core :as ql]
|
|
[daiquiri.interpreter :as di]
|
|
[cljs.reader :refer [read-string]]
|
|
[sci.core :as sci]
|
|
[scittle.core :as scittle]))
|
|
|
|
(def qns (sci/create-ns 'qlkit.core nil))
|
|
|
|
(defn ^:macro defcomponent* [form env nam & bodies]
|
|
(apply ql/defcomponent+ form env nam bodies))
|
|
|
|
(def qlkit-namespace
|
|
{'add-class (sci/copy-var ql/add-class qns)
|
|
'defcomponent* (sci/copy-var defcomponent* qns)
|
|
'transact!* (sci/copy-var ql/transact!* qns)
|
|
'update-state!* (sci/copy-var ql/update-state!* qns)
|
|
'create-instance (sci/copy-var ql/create-instance qns)
|
|
'get-query (sci/copy-var ql/get-query qns)
|
|
'parse-children (sci/copy-var ql/parse-children qns)
|
|
'parse-children-remote (sci/copy-var ql/parse-children-remote qns)
|
|
'parse-children-sync (sci/copy-var ql/parse-children-sync qns)
|
|
'mount (sci/copy-var ql/mount qns)
|
|
|
|
'random-uuid (sci/copy-var random-uuid qns)
|
|
'read-string (sci/copy-var read-string qns)})
|
|
|
|
(def dins (sci/create-ns 'daiquiri.interpreter nil))
|
|
|
|
(def daiquiri-interpreter-ns
|
|
{'interpret (sci/copy-var di/interpret dins)})
|
|
|
|
(scittle/register-plugin!
|
|
::qlkit
|
|
{:namespaces {'qlkit.core qlkit-namespace
|
|
'daiquiri.interpreter daiquiri-interpreter-ns}})
|