mw-scittle/src/scittle/qlkit.cljs
kloimhardt 4581657bf3 replace Sablono library with Rum's Daiquiri,
add externs/main.txt for advanced compilation
2021-06-08 00:36:57 +02:00

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}})