Add latest datascript (#1185)
* Update datascript config Add db ns, loads latest datascript and can load datascript-transit library. All tests for pull.cljc and query.cljc pass except for queries with fns as inputs * Add datalog-parser to projects.md per #1171 comment
This commit is contained in:
parent
1170e3cce7
commit
7126112cc3
6 changed files with 35 additions and 3 deletions
|
|
@ -59,6 +59,7 @@ The following libraries and projects are known to work with babashka.
|
|||
- [specmonstah](#specmonstah)
|
||||
- [markdown-clj](#markdown-clj)
|
||||
- [algo.monads](#algomonads)
|
||||
- [datalog-parser](#datalog-parser)
|
||||
- [Pods](#pods)
|
||||
- [Projects](#projects-1)
|
||||
- [babashka-test-action](#babashka-test-action)
|
||||
|
|
@ -793,6 +794,10 @@ Markdown parser that translates markdown to html.
|
|||
|
||||
Macros for defining monads, and definition of the most common monads.
|
||||
|
||||
### [datalog-parser](https://github.com/lambdaforge/datalog-parser)
|
||||
|
||||
Datalog parser that is compliant with datomic, datascript and datahike.
|
||||
|
||||
## Pods
|
||||
|
||||
[Babashka pods](https://github.com/babashka/babashka.pods) are programs that can
|
||||
|
|
|
|||
|
|
@ -1,12 +1,27 @@
|
|||
(ns babashka.impl.datascript
|
||||
{:no-doc true}
|
||||
(:require [datascript.core :as d]
|
||||
[datascript.db :as db]
|
||||
[sci.impl.namespaces :refer [copy-var]]
|
||||
[sci.impl.vars :as vars]))
|
||||
|
||||
(def datascript-ns (vars/->SciNamespace 'datascript.core nil))
|
||||
(def datascript-db-ns (vars/->SciNamespace 'datascript.db nil))
|
||||
|
||||
(def datascript-namespace
|
||||
{'create-conn (copy-var d/create-conn datascript-ns)
|
||||
'transact! (copy-var d/transact! datascript-ns)
|
||||
'q (copy-var d/q datascript-ns)})
|
||||
'q (copy-var d/q datascript-ns)
|
||||
'empty-db (copy-var d/empty-db datascript-ns)
|
||||
'db-with (copy-var d/db-with datascript-ns)
|
||||
'filter (copy-var d/filter datascript-ns)
|
||||
'init-db (copy-var d/init-db datascript-ns)
|
||||
'datom (copy-var d/datom datascript-ns)
|
||||
'pull (copy-var d/pull datascript-ns)
|
||||
'pull-many (copy-var d/pull-many datascript-ns)})
|
||||
|
||||
(def datascript-db-namespace
|
||||
{'db-from-reader (copy-var db/db-from-reader datascript-db-ns)
|
||||
'datom-from-reader (copy-var db/datom-from-reader datascript-db-ns)
|
||||
'datom-added (copy-var db/datom-added datascript-db-ns)
|
||||
'datom-tx (copy-var db/datom-tx datascript-db-ns)})
|
||||
|
|
|
|||
|
|
@ -16,4 +16,5 @@
|
|||
'reader (copy-var transit/reader tns)
|
||||
'read-handler (copy-var transit/read-handler tns)
|
||||
'read-handler-map (copy-var transit/read-handler-map tns)
|
||||
'default-write-handlers (copy-var transit/default-write-handlers tns)
|
||||
'tagged-value (copy-var transit/tagged-value tns)})
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@
|
|||
:feature/transit {:source-paths ["feature-transit"]
|
||||
:dependencies [[com.cognitect/transit-clj "1.0.329"]]}
|
||||
:feature/datascript {:source-paths ["feature-datascript"]
|
||||
:dependencies [[datascript "1.0.1"]]}
|
||||
:dependencies [[datascript "1.3.10"]]}
|
||||
:feature/httpkit-client {:source-paths ["feature-httpkit-client"]
|
||||
:dependencies [[http-kit "2.5.3"]]}
|
||||
:feature/httpkit-server {:source-paths ["feature-httpkit-server"]
|
||||
|
|
|
|||
|
|
@ -384,6 +384,16 @@
|
|||
~(symbol "[I")
|
||||
~(symbol "[Ljava.lang.Object;")
|
||||
~(symbol "[Ljava.lang.Double;")
|
||||
~@(when features/datascript?
|
||||
`[me.tonsky.persistent_sorted_set.PersistentSortedSet
|
||||
datascript.db.DB
|
||||
datascript.db.Datom
|
||||
~(symbol "[Lclojure.lang.Keyword;")
|
||||
~(symbol "[Lclojure.lang.PersistentArrayMap;")
|
||||
~(symbol "[Lclojure.lang.PersistentVector;")
|
||||
~(symbol "[Lclojure.lang.PersistentHashSet;")
|
||||
~(symbol "[Ljava.util.regex.Pattern;")
|
||||
~(symbol "[Lclojure.core$range;")])
|
||||
~@(when features/yaml? '[org.yaml.snakeyaml.error.YAMLException])
|
||||
~@(when features/hsqldb? '[org.hsqldb.jdbcDriver])]
|
||||
:constructors [clojure.lang.Delay
|
||||
|
|
|
|||
|
|
@ -385,7 +385,8 @@ Use bb run --help to show this help output.
|
|||
'next.jdbc.result-set @(resolve 'babashka.impl.jdbc/result-set-namespace))
|
||||
features/csv? (assoc 'clojure.data.csv @(resolve 'babashka.impl.csv/csv-namespace))
|
||||
features/transit? (assoc 'cognitect.transit @(resolve 'babashka.impl.transit/transit-namespace))
|
||||
features/datascript? (assoc 'datascript.core @(resolve 'babashka.impl.datascript/datascript-namespace))
|
||||
features/datascript? (assoc 'datascript.core @(resolve 'babashka.impl.datascript/datascript-namespace)
|
||||
'datascript.db @(resolve 'babashka.impl.datascript/datascript-db-namespace))
|
||||
features/httpkit-client? (assoc 'org.httpkit.client @(resolve 'babashka.impl.httpkit-client/httpkit-client-namespace)
|
||||
'org.httpkit.sni-client @(resolve 'babashka.impl.httpkit-client/sni-client-namespace))
|
||||
features/httpkit-server? (assoc 'org.httpkit.server @(resolve 'babashka.impl.httpkit-server/httpkit-server-namespace))
|
||||
|
|
|
|||
Loading…
Reference in a new issue