datahike 0.7.1630
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +226 -0
- package/cljs.analyzer.api.js +427 -0
- package/cljs.analyzer.api.js.map +1 -0
- package/cljs.analyzer.impl.js +86 -0
- package/cljs.analyzer.impl.js.map +1 -0
- package/cljs.analyzer.impl.namespaces.js +219 -0
- package/cljs.analyzer.impl.namespaces.js.map +1 -0
- package/cljs.analyzer.js +7186 -0
- package/cljs.analyzer.js.map +1 -0
- package/cljs.analyzer.passes.and_or.js +141 -0
- package/cljs.analyzer.passes.and_or.js.map +1 -0
- package/cljs.analyzer.passes.js +104 -0
- package/cljs.analyzer.passes.js.map +1 -0
- package/cljs.cache.js +1145 -0
- package/cljs.cache.js.map +1 -0
- package/cljs.cache.wrapped.js +352 -0
- package/cljs.cache.wrapped.js.map +1 -0
- package/cljs.core.async.impl.buffers.js +489 -0
- package/cljs.core.async.impl.buffers.js.map +1 -0
- package/cljs.core.async.impl.channels.js +711 -0
- package/cljs.core.async.impl.channels.js.map +1 -0
- package/cljs.core.async.impl.dispatch.js +81 -0
- package/cljs.core.async.impl.dispatch.js.map +1 -0
- package/cljs.core.async.impl.ioc_helpers.js +192 -0
- package/cljs.core.async.impl.ioc_helpers.js.map +1 -0
- package/cljs.core.async.impl.protocols.js +368 -0
- package/cljs.core.async.impl.protocols.js.map +1 -0
- package/cljs.core.async.impl.timers.js +510 -0
- package/cljs.core.async.impl.timers.js.map +1 -0
- package/cljs.core.async.js +8813 -0
- package/cljs.core.async.js.map +1 -0
- package/cljs.core.js +38764 -0
- package/cljs.core.js.map +1 -0
- package/cljs.env.js +60 -0
- package/cljs.env.js.map +1 -0
- package/cljs.nodejs.js +80 -0
- package/cljs.nodejs.js.map +1 -0
- package/cljs.reader.js +462 -0
- package/cljs.reader.js.map +1 -0
- package/cljs.spec.alpha.js +5312 -0
- package/cljs.spec.alpha.js.map +1 -0
- package/cljs.spec.gen.alpha.js +2020 -0
- package/cljs.spec.gen.alpha.js.map +1 -0
- package/cljs.tagged_literals.js +103 -0
- package/cljs.tagged_literals.js.map +1 -0
- package/cljs.tools.reader.edn.js +960 -0
- package/cljs.tools.reader.edn.js.map +1 -0
- package/cljs.tools.reader.impl.commons.js +217 -0
- package/cljs.tools.reader.impl.commons.js.map +1 -0
- package/cljs.tools.reader.impl.errors.js +441 -0
- package/cljs.tools.reader.impl.errors.js.map +1 -0
- package/cljs.tools.reader.impl.inspect.js +182 -0
- package/cljs.tools.reader.impl.inspect.js.map +1 -0
- package/cljs.tools.reader.impl.utils.js +429 -0
- package/cljs.tools.reader.impl.utils.js.map +1 -0
- package/cljs.tools.reader.js +1830 -0
- package/cljs.tools.reader.js.map +1 -0
- package/cljs.tools.reader.reader_types.js +838 -0
- package/cljs.tools.reader.reader_types.js.map +1 -0
- package/cljs_env.js +18192 -0
- package/cljs_node_io.core.js +1278 -0
- package/cljs_node_io.core.js.map +1 -0
- package/cljs_node_io.file.js +918 -0
- package/cljs_node_io.file.js.map +1 -0
- package/cljs_node_io.fs.js +3911 -0
- package/cljs_node_io.fs.js.map +1 -0
- package/clojure.data.js +319 -0
- package/clojure.data.js.map +1 -0
- package/clojure.edn.js +119 -0
- package/clojure.edn.js.map +1 -0
- package/clojure.set.js +406 -0
- package/clojure.set.js.map +1 -0
- package/clojure.string.js +502 -0
- package/clojure.string.js.map +1 -0
- package/clojure.walk.js +156 -0
- package/clojure.walk.js.map +1 -0
- package/datahike.api.impl.js +621 -0
- package/datahike.api.impl.js.map +1 -0
- package/datahike.api.specification.js +85 -0
- package/datahike.api.specification.js.map +1 -0
- package/datahike.array.js +275 -0
- package/datahike.array.js.map +1 -0
- package/datahike.config.js +437 -0
- package/datahike.config.js.map +1 -0
- package/datahike.connections.js +55 -0
- package/datahike.connections.js.map +1 -0
- package/datahike.connector.js +1248 -0
- package/datahike.connector.js.map +1 -0
- package/datahike.constants.js +66 -0
- package/datahike.constants.js.map +1 -0
- package/datahike.core.js +628 -0
- package/datahike.core.js.map +1 -0
- package/datahike.datom.js +963 -0
- package/datahike.datom.js.map +1 -0
- package/datahike.db.interface.js +819 -0
- package/datahike.db.interface.js.map +1 -0
- package/datahike.db.js +3095 -0
- package/datahike.db.js.map +1 -0
- package/datahike.db.search.js +1004 -0
- package/datahike.db.search.js.map +1 -0
- package/datahike.db.transaction.js +1904 -0
- package/datahike.db.transaction.js.map +1 -0
- package/datahike.db.utils.js +642 -0
- package/datahike.db.utils.js.map +1 -0
- package/datahike.gc.js +1618 -0
- package/datahike.gc.js.map +1 -0
- package/datahike.impl.entity.js +604 -0
- package/datahike.impl.entity.js.map +1 -0
- package/datahike.index.interface.js +484 -0
- package/datahike.index.interface.js.map +1 -0
- package/datahike.index.js +50 -0
- package/datahike.index.js.map +1 -0
- package/datahike.index.persistent_set.js +1250 -0
- package/datahike.index.persistent_set.js.map +1 -0
- package/datahike.js.api.js +2211 -0
- package/datahike.js.api.js.map +1 -0
- package/datahike.lru.js +404 -0
- package/datahike.lru.js.map +1 -0
- package/datahike.pull_api.js +533 -0
- package/datahike.pull_api.js.map +1 -0
- package/datahike.query.js +11891 -0
- package/datahike.query.js.map +1 -0
- package/datahike.query_stats.js +152 -0
- package/datahike.query_stats.js.map +1 -0
- package/datahike.readers.js +166 -0
- package/datahike.readers.js.map +1 -0
- package/datahike.schema.js +251 -0
- package/datahike.schema.js.map +1 -0
- package/datahike.schema_cache.js +66 -0
- package/datahike.schema_cache.js.map +1 -0
- package/datahike.spec.js +70 -0
- package/datahike.spec.js.map +1 -0
- package/datahike.store.js +514 -0
- package/datahike.store.js.map +1 -0
- package/datahike.tools.js +436 -0
- package/datahike.tools.js.map +1 -0
- package/datahike.writer.js +3463 -0
- package/datahike.writer.js.map +1 -0
- package/datahike.writing.js +3168 -0
- package/datahike.writing.js.map +1 -0
- package/datalog.parser.impl.js +1421 -0
- package/datalog.parser.impl.js.map +1 -0
- package/datalog.parser.impl.proto.js +213 -0
- package/datalog.parser.impl.proto.js.map +1 -0
- package/datalog.parser.impl.util.js +117 -0
- package/datalog.parser.impl.util.js.map +1 -0
- package/datalog.parser.js +47 -0
- package/datalog.parser.js.map +1 -0
- package/datalog.parser.pull.js +2603 -0
- package/datalog.parser.pull.js.map +1 -0
- package/datalog.parser.type.js +7502 -0
- package/datalog.parser.type.js.map +1 -0
- package/datalog.parser.util.js +60 -0
- package/datalog.parser.util.js.map +1 -0
- package/environ.core.js +263 -0
- package/environ.core.js.map +1 -0
- package/fress.api.js +607 -0
- package/fress.api.js.map +1 -0
- package/fress.impl.adler32.js +435 -0
- package/fress.impl.adler32.js.map +1 -0
- package/fress.impl.bigint.js +185 -0
- package/fress.impl.bigint.js.map +1 -0
- package/fress.impl.buffer.js +1087 -0
- package/fress.impl.buffer.js.map +1 -0
- package/fress.impl.codes.js +105 -0
- package/fress.impl.codes.js.map +1 -0
- package/fress.impl.hopmap.js +603 -0
- package/fress.impl.hopmap.js.map +1 -0
- package/fress.impl.ranges.js +49 -0
- package/fress.impl.ranges.js.map +1 -0
- package/fress.impl.raw_input.js +837 -0
- package/fress.impl.raw_input.js.map +1 -0
- package/fress.impl.raw_output.js +653 -0
- package/fress.impl.raw_output.js.map +1 -0
- package/fress.impl.table.js +133 -0
- package/fress.impl.table.js.map +1 -0
- package/fress.reader.js +2312 -0
- package/fress.reader.js.map +1 -0
- package/fress.util.js +458 -0
- package/fress.util.js.map +1 -0
- package/fress.writer.js +2141 -0
- package/fress.writer.js.map +1 -0
- package/geheimnis.aes.js +132 -0
- package/geheimnis.aes.js.map +1 -0
- package/hasch.base64.js +42 -0
- package/hasch.base64.js.map +1 -0
- package/hasch.benc.js +201 -0
- package/hasch.benc.js.map +1 -0
- package/hasch.core.js +188 -0
- package/hasch.core.js.map +1 -0
- package/hasch.platform.js +221 -0
- package/hasch.platform.js.map +1 -0
- package/incognito.base.js +276 -0
- package/incognito.base.js.map +1 -0
- package/incognito.edn.js +54 -0
- package/incognito.edn.js.map +1 -0
- package/incognito.fressian.js +330 -0
- package/incognito.fressian.js.map +1 -0
- package/index.d.ts +660 -0
- package/is.simm.partial_cps.async.js +142 -0
- package/is.simm.partial_cps.async.js.map +1 -0
- package/is.simm.partial_cps.runtime.js +65 -0
- package/is.simm.partial_cps.runtime.js.map +1 -0
- package/is.simm.partial_cps.sequence.js +1255 -0
- package/is.simm.partial_cps.sequence.js.map +1 -0
- package/konserve.cache.js +2519 -0
- package/konserve.cache.js.map +1 -0
- package/konserve.compressor.js +502 -0
- package/konserve.compressor.js.map +1 -0
- package/konserve.core.js +8052 -0
- package/konserve.core.js.map +1 -0
- package/konserve.encryptor.js +553 -0
- package/konserve.encryptor.js.map +1 -0
- package/konserve.gc.js +541 -0
- package/konserve.gc.js.map +1 -0
- package/konserve.impl.defaults.js +8290 -0
- package/konserve.impl.defaults.js.map +1 -0
- package/konserve.impl.storage_layout.js +849 -0
- package/konserve.impl.storage_layout.js.map +1 -0
- package/konserve.memory.js +2102 -0
- package/konserve.memory.js.map +1 -0
- package/konserve.node_filestore.js +2951 -0
- package/konserve.node_filestore.js.map +1 -0
- package/konserve.protocols.js +590 -0
- package/konserve.protocols.js.map +1 -0
- package/konserve.serializers.js +562 -0
- package/konserve.serializers.js.map +1 -0
- package/konserve.store.js +2245 -0
- package/konserve.store.js.map +1 -0
- package/konserve.tiered.js +9574 -0
- package/konserve.tiered.js.map +1 -0
- package/konserve.utils.js +180 -0
- package/konserve.utils.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.arrays.js +66 -0
- package/me.tonsky.persistent_sorted_set.arrays.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.branch.js +2779 -0
- package/me.tonsky.persistent_sorted_set.branch.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.btset.js +14196 -0
- package/me.tonsky.persistent_sorted_set.btset.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.impl.node.js +324 -0
- package/me.tonsky.persistent_sorted_set.impl.node.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.impl.storage.js +123 -0
- package/me.tonsky.persistent_sorted_set.impl.storage.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.js +890 -0
- package/me.tonsky.persistent_sorted_set.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.leaf.js +561 -0
- package/me.tonsky.persistent_sorted_set.leaf.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.util.js +402 -0
- package/me.tonsky.persistent_sorted_set.util.js.map +1 -0
- package/medley.core.js +1857 -0
- package/medley.core.js.map +1 -0
- package/package.json +38 -0
- package/spec_tools.core.js +1925 -0
- package/spec_tools.core.js.map +1 -0
- package/spec_tools.data_spec.js +1291 -0
- package/spec_tools.data_spec.js.map +1 -0
- package/spec_tools.form.js +185 -0
- package/spec_tools.form.js.map +1 -0
- package/spec_tools.impl.js +362 -0
- package/spec_tools.impl.js.map +1 -0
- package/spec_tools.parse.js +427 -0
- package/spec_tools.parse.js.map +1 -0
- package/spec_tools.transform.js +288 -0
- package/spec_tools.transform.js.map +1 -0
- package/superv.async.js +8617 -0
- package/superv.async.js.map +1 -0
- package/tailrecursion.priority_map.js +994 -0
- package/tailrecursion.priority_map.js.map +1 -0
- package/taoensso.encore.js +12385 -0
- package/taoensso.encore.js.map +1 -0
- package/taoensso.timbre.appenders.core.js +239 -0
- package/taoensso.timbre.appenders.core.js.map +1 -0
- package/taoensso.timbre.js +1264 -0
- package/taoensso.timbre.js.map +1 -0
- package/taoensso.truss.impl.js +442 -0
- package/taoensso.truss.impl.js.map +1 -0
- package/taoensso.truss.js +743 -0
- package/taoensso.truss.js.map +1 -0
- package/test-config-keys.js +33 -0
- package/test-final.js +36 -0
- package/test-key-duplication.js +67 -0
- package/test.js +557 -0
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
var $CLJS = require("./cljs_env");
|
|
2
|
+
var $jscomp = $CLJS.$jscomp;
|
|
3
|
+
var COMPILED = false;
|
|
4
|
+
require("./cljs.core.js");
|
|
5
|
+
require("./clojure.set.js");
|
|
6
|
+
require("./datahike.tools.js");
|
|
7
|
+
var environ=$CLJS.environ || ($CLJS.environ = {});
|
|
8
|
+
var fress=$CLJS.fress || ($CLJS.fress = {});
|
|
9
|
+
var datahike=$CLJS.datahike || ($CLJS.datahike = {});
|
|
10
|
+
var clojure=$CLJS.clojure || ($CLJS.clojure = {});
|
|
11
|
+
var hasch=$CLJS.hasch || ($CLJS.hasch = {});
|
|
12
|
+
var tailrecursion=$CLJS.tailrecursion || ($CLJS.tailrecursion = {});
|
|
13
|
+
var superv=$CLJS.superv || ($CLJS.superv = {});
|
|
14
|
+
var geheimnis=$CLJS.geheimnis || ($CLJS.geheimnis = {});
|
|
15
|
+
var is=$CLJS.is || ($CLJS.is = {});
|
|
16
|
+
var cljs=$CLJS.cljs || ($CLJS.cljs = {});
|
|
17
|
+
var cljs_node_io=$CLJS.cljs_node_io || ($CLJS.cljs_node_io = {});
|
|
18
|
+
var goog=$CLJS.goog || ($CLJS.goog = {});
|
|
19
|
+
var konserve=$CLJS.konserve || ($CLJS.konserve = {});
|
|
20
|
+
var datalog=$CLJS.datalog || ($CLJS.datalog = {});
|
|
21
|
+
var spec_tools=$CLJS.spec_tools || ($CLJS.spec_tools = {});
|
|
22
|
+
var taoensso=$CLJS.taoensso || ($CLJS.taoensso = {});
|
|
23
|
+
var incognito=$CLJS.incognito || ($CLJS.incognito = {});
|
|
24
|
+
var medley=$CLJS.medley || ($CLJS.medley = {});
|
|
25
|
+
var me=$CLJS.me || ($CLJS.me = {});
|
|
26
|
+
|
|
27
|
+
$CLJS.SHADOW_ENV.setLoaded("datahike.query_stats.js");
|
|
28
|
+
|
|
29
|
+
goog.provide('datahike.query_stats');
|
|
30
|
+
datahike.query_stats.round = (function datahike$query_stats$round(precision,x){
|
|
31
|
+
var y = Math.pow((10),precision);
|
|
32
|
+
return (Math.round((y * x)) / y);
|
|
33
|
+
});
|
|
34
|
+
datahike.query_stats.compatible_abs = (function datahike$query_stats$compatible_abs(n){
|
|
35
|
+
return Math.abs(n);
|
|
36
|
+
});
|
|
37
|
+
datahike.query_stats.get_stats = (function datahike$query_stats$get_stats(context){
|
|
38
|
+
return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"rels","rels",1770187185),cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (rel){
|
|
39
|
+
return new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"rows","rows",850049680),cljs.core.count(new cljs.core.Keyword(null,"tuples","tuples",-676032639).cljs$core$IFn$_invoke$arity$1(rel)),new cljs.core.Keyword(null,"bound","bound",587617170),cljs.core.set(cljs.core.keys(new cljs.core.Keyword(null,"attrs","attrs",-2090668713).cljs$core$IFn$_invoke$arity$1(rel)))], null);
|
|
40
|
+
}),new cljs.core.Keyword(null,"rels","rels",1770187185).cljs$core$IFn$_invoke$arity$1(context))], null);
|
|
41
|
+
});
|
|
42
|
+
/**
|
|
43
|
+
* update-fn must expect [context] as argument
|
|
44
|
+
*/
|
|
45
|
+
datahike.query_stats.update_ctx_with_stats = (function datahike$query_stats$update_ctx_with_stats(context,clause,update_fn){
|
|
46
|
+
if(cljs.core.truth_(new cljs.core.Keyword(null,"stats","stats",-85643011).cljs$core$IFn$_invoke$arity$1(context))){
|
|
47
|
+
var map__111144 = datahike.tools.timed((function (){
|
|
48
|
+
return (update_fn.cljs$core$IFn$_invoke$arity$1 ? update_fn.cljs$core$IFn$_invoke$arity$1(context) : update_fn.call(null, context));
|
|
49
|
+
}));
|
|
50
|
+
var map__111144__$1 = cljs.core.__destructure_map(map__111144);
|
|
51
|
+
var res = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__111144__$1,new cljs.core.Keyword(null,"res","res",-1395007879));
|
|
52
|
+
var t = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__111144__$1,new cljs.core.Keyword(null,"t","t",-1397832519));
|
|
53
|
+
var clause_stats = cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([datahike.query_stats.get_stats(res),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"clause","clause",1479668060),clause,new cljs.core.Keyword(null,"t","t",-1397832519),t], null),new cljs.core.Keyword(null,"tmp-stats","tmp-stats",1066383663).cljs$core$IFn$_invoke$arity$1(res)], 0));
|
|
54
|
+
return cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core.update.cljs$core$IFn$_invoke$arity$4(res,new cljs.core.Keyword(null,"stats","stats",-85643011),cljs.core.conj,clause_stats),new cljs.core.Keyword(null,"tmp-stats","tmp-stats",1066383663));
|
|
55
|
+
} else {
|
|
56
|
+
return (update_fn.cljs$core$IFn$_invoke$arity$1 ? update_fn.cljs$core$IFn$_invoke$arity$1(context) : update_fn.call(null, context));
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
/**
|
|
60
|
+
* Adds summarized row counts, bindings and clause time for convenience
|
|
61
|
+
*/
|
|
62
|
+
datahike.query_stats.extend_stat = (function datahike$query_stats$extend_stat(p__111158){
|
|
63
|
+
var map__111159 = p__111158;
|
|
64
|
+
var map__111159__$1 = cljs.core.__destructure_map(map__111159);
|
|
65
|
+
var stat = map__111159__$1;
|
|
66
|
+
var branches = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__111159__$1,new cljs.core.Keyword(null,"branches","branches",-1240337268));
|
|
67
|
+
var rels = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__111159__$1,new cljs.core.Keyword(null,"rels","rels",1770187185));
|
|
68
|
+
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(stat,new cljs.core.Keyword(null,"id","id",-1388402092),cljs.core.subs.cljs$core$IFn$_invoke$arity$3(cljs.core.str.cljs$core$IFn$_invoke$arity$1(datahike.query_stats.compatible_abs(cljs.core.hash(stat))),(0),(6)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"t-branches","t-branches",-682122204),cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__111151_SHARP_,p2__111153_SHARP_){
|
|
69
|
+
return (p1__111151_SHARP_ + new cljs.core.Keyword(null,"t","t",-1397832519).cljs$core$IFn$_invoke$arity$1(p2__111153_SHARP_));
|
|
70
|
+
}),0.0,branches),new cljs.core.Keyword(null,"rel-count","rel-count",1947653763),cljs.core.count(rels),new cljs.core.Keyword(null,"rows","rows",850049680),cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__111154_SHARP_,p2__111155_SHARP_){
|
|
71
|
+
return (p1__111154_SHARP_ + new cljs.core.Keyword(null,"rows","rows",850049680).cljs$core$IFn$_invoke$arity$1(p2__111155_SHARP_));
|
|
72
|
+
}),(0),rels),new cljs.core.Keyword(null,"bound","bound",587617170),cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__111156_SHARP_,p2__111157_SHARP_){
|
|
73
|
+
return clojure.set.union.cljs$core$IFn$_invoke$arity$2(p1__111156_SHARP_,new cljs.core.Keyword(null,"bound","bound",587617170).cljs$core$IFn$_invoke$arity$1(p2__111157_SHARP_));
|
|
74
|
+
}),cljs.core.PersistentHashSet.EMPTY,rels),new cljs.core.Keyword(null,"branches","branches",-1240337268),cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(datahike.query_stats.extend_stat,branches)], 0));
|
|
75
|
+
});
|
|
76
|
+
datahike.query_stats.get_stat_diffs = (function datahike$query_stats$get_stat_diffs(parent_node,prev_node,p__111167){
|
|
77
|
+
var map__111169 = p__111167;
|
|
78
|
+
var map__111169__$1 = cljs.core.__destructure_map(map__111169);
|
|
79
|
+
var node = map__111169__$1;
|
|
80
|
+
var t = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__111169__$1,new cljs.core.Keyword(null,"t","t",-1397832519));
|
|
81
|
+
var t_branches = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__111169__$1,new cljs.core.Keyword(null,"t-branches","t-branches",-682122204));
|
|
82
|
+
var rows = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__111169__$1,new cljs.core.Keyword(null,"rows","rows",850049680));
|
|
83
|
+
var bound = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__111169__$1,new cljs.core.Keyword(null,"bound","bound",587617170));
|
|
84
|
+
var extend_and_branches = (function (branches){
|
|
85
|
+
return cljs.core.mapv.cljs$core$IFn$_invoke$arity$3(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(datahike.query_stats.get_stat_diffs,node),cljs.core.cons(prev_node,branches),branches);
|
|
86
|
+
});
|
|
87
|
+
var extend_or_branches = (function (branches){
|
|
88
|
+
return cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$3(datahike.query_stats.get_stat_diffs,node,prev_node),branches);
|
|
89
|
+
});
|
|
90
|
+
return cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(node,new cljs.core.Keyword(null,"rows","rows",850049680),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"bound","bound",587617170)], 0)),new cljs.core.Keyword(null,"prev","prev",-1597069226),new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(prev_node),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"parent","parent",-878878779),new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(parent_node),new cljs.core.Keyword(null,"t-diff","t-diff",962074940),datahike.query_stats.round((6),(t - t_branches)),new cljs.core.Keyword(null,"rows-in","rows-in",74813325),new cljs.core.Keyword(null,"rows","rows",850049680).cljs$core$IFn$_invoke$arity$1(prev_node),new cljs.core.Keyword(null,"rows-out","rows-out",-1781068150),rows,new cljs.core.Keyword(null,"rows-diff","rows-diff",-2039609428),(rows - new cljs.core.Keyword(null,"rows","rows",850049680).cljs$core$IFn$_invoke$arity$1(prev_node)),new cljs.core.Keyword(null,"bound-in","bound-in",-784507855),new cljs.core.Keyword(null,"bound","bound",587617170).cljs$core$IFn$_invoke$arity$1(prev_node),new cljs.core.Keyword(null,"bound-out","bound-out",1116825030),bound,new cljs.core.Keyword(null,"bound-diff","bound-diff",986574413),clojure.set.difference.cljs$core$IFn$_invoke$arity$2(bound,new cljs.core.Keyword(null,"bound","bound",587617170).cljs$core$IFn$_invoke$arity$1(prev_node))], 0)),new cljs.core.Keyword(null,"branches","branches",-1240337268),(function (){var G__111170 = new cljs.core.Keyword(null,"type","type",1174270348).cljs$core$IFn$_invoke$arity$1(node);
|
|
91
|
+
var G__111170__$1 = (((G__111170 instanceof cljs.core.Keyword))?G__111170.fqn:null);
|
|
92
|
+
switch (G__111170__$1) {
|
|
93
|
+
case "and":
|
|
94
|
+
return extend_and_branches;
|
|
95
|
+
|
|
96
|
+
break;
|
|
97
|
+
case "or":
|
|
98
|
+
return extend_or_branches;
|
|
99
|
+
|
|
100
|
+
break;
|
|
101
|
+
case "or-join":
|
|
102
|
+
return extend_or_branches;
|
|
103
|
+
|
|
104
|
+
break;
|
|
105
|
+
case "rule":
|
|
106
|
+
return extend_or_branches;
|
|
107
|
+
|
|
108
|
+
break;
|
|
109
|
+
case "solve":
|
|
110
|
+
return extend_and_branches;
|
|
111
|
+
|
|
112
|
+
break;
|
|
113
|
+
default:
|
|
114
|
+
return cljs.core.identity;
|
|
115
|
+
|
|
116
|
+
}
|
|
117
|
+
})());
|
|
118
|
+
});
|
|
119
|
+
datahike.query_stats.extend_stats = (function datahike$query_stats$extend_stats(stats){
|
|
120
|
+
var extended = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.query_stats.extend_stat,stats);
|
|
121
|
+
var root = new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"rows","rows",850049680),(0),new cljs.core.Keyword(null,"bound","bound",587617170),cljs.core.set(cljs.core.PersistentVector.EMPTY),new cljs.core.Keyword(null,"id","id",-1388402092),"_root_"], null);
|
|
122
|
+
return cljs.core.mapv.cljs$core$IFn$_invoke$arity$3(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(datahike.query_stats.get_stat_diffs,root),cljs.core.cons(root,extended),extended);
|
|
123
|
+
});
|
|
124
|
+
datahike.query_stats.stats_table = (function datahike$query_stats$stats_table(var_args){
|
|
125
|
+
var G__111176 = arguments.length;
|
|
126
|
+
switch (G__111176) {
|
|
127
|
+
case 1:
|
|
128
|
+
return datahike.query_stats.stats_table.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
|
|
129
|
+
|
|
130
|
+
break;
|
|
131
|
+
case 2:
|
|
132
|
+
return datahike.query_stats.stats_table.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
|
|
133
|
+
|
|
134
|
+
break;
|
|
135
|
+
default:
|
|
136
|
+
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
|
|
137
|
+
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
(datahike.query_stats.stats_table.cljs$core$IFn$_invoke$arity$1 = (function (stats){
|
|
142
|
+
return datahike.query_stats.stats_table.cljs$core$IFn$_invoke$arity$2(stats,new cljs.core.PersistentVector(null, 12, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"id","id",-1388402092),new cljs.core.Keyword(null,"prev","prev",-1597069226),new cljs.core.Keyword(null,"parent","parent",-878878779),new cljs.core.Keyword(null,"clause","clause",1479668060),new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"rows-in","rows-in",74813325),new cljs.core.Keyword(null,"rows-diff","rows-diff",-2039609428),new cljs.core.Keyword(null,"bound-in","bound-in",-784507855),new cljs.core.Keyword(null,"bound-diff","bound-diff",986574413),new cljs.core.Keyword(null,"t","t",-1397832519),new cljs.core.Keyword(null,"t-diff","t-diff",962074940),new cljs.core.Keyword(null,"clauses","clauses",1454841241)], null));
|
|
143
|
+
}));
|
|
144
|
+
|
|
145
|
+
(datahike.query_stats.stats_table.cljs$core$IFn$_invoke$arity$2 = (function (stats,cols){
|
|
146
|
+
return cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.juxt,cols),cljs.core.rest(cljs.core.tree_seq(cljs.core.map_QMARK_,new cljs.core.Keyword(null,"branches","branches",-1240337268),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"branches","branches",-1240337268)],[datahike.query_stats.extend_stats(stats)]))));
|
|
147
|
+
}));
|
|
148
|
+
|
|
149
|
+
(datahike.query_stats.stats_table.cljs$lang$maxFixedArity = 2);
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
//# sourceMappingURL=datahike.query_stats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["datahike/query_stats.cljc"],"mappings":"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","names":["datahike.query-stats/round","precision","x","y","Math/pow","js/Math","datahike.query-stats/compatible-abs","n","js/Math.abs","datahike.query-stats/get-stats","context","cljs.core.mapv","rel","cljs.core/count","cljs.core/set","cljs.core/keys","datahike.query-stats/update-ctx-with-stats","clause","update-fn","map__111144","cljs.core/--destructure-map","cljs.core.get","res","t","datahike.tools/timed","clause-stats","cljs.core.merge","cljs.core.update","cljs.core/conj","cljs.core.dissoc","p__111158","map__111159","datahike.query-stats/extend-stat","branches","rels","stat","cljs.core.assoc","cljs.core.subs","cljs.core/hash","p1__111151#","p2__111153#","cljs.core.reduce","p1__111154#","p2__111155#","p1__111156#","p2__111157#","clojure.set.union","p__111167","map__111169","datahike.query-stats/get-stat-diffs","parent-node","prev-node","t-branches","rows","bound","node","extend-and-branches","cljs.core.partial","cljs.core/cons","extend-or-branches","clojure.set.difference","G__111170","cljs.core/Keyword","cljs.core/identity","datahike.query-stats/extend-stats","stats","extended","cljs.core.map","root","var_args","G__111176","datahike.query-stats/stats-table","js/Error","datahike.query_stats.stats_table","cols","cljs.core/PersistentHashMap","cljs.core/tree-seq","cljs.core/map?","cljs.core/rest","cljs.core.apply","cljs.core/juxt"],"sourcesContent":["(ns datahike.query-stats\n (:require [clojure.set :as set]\n [datahike.tools :as dt]))\n\n(defn round [precision x]\n #?(:clj (with-precision ^long precision ^java.math.BigDecimal x)\n :cljs (let [y (Math/pow 10 precision)]\n (/ (.round js/Math (* y x)) y))))\n\n(defn compatible-abs [^long n]\n #?(:clj (Math/abs n)\n :cljs (js/Math.abs n)))\n\n(defn get-stats [context]\n {:rels (mapv (fn [rel] {:rows (count (:tuples rel))\n :bound (set (keys (:attrs rel)))})\n (:rels context))})\n\n(defn update-ctx-with-stats\n \"update-fn must expect [context] as argument\"\n [context clause update-fn]\n (if (:stats context)\n (let [{:keys [res t]} (dt/timed #(update-fn context))\n clause-stats (merge (get-stats res)\n {:clause clause\n :t t}\n (:tmp-stats res))]\n (-> res\n (update :stats conj clause-stats)\n (dissoc :tmp-stats)))\n (update-fn context)))\n\n(defn extend-stat\n \"Adds summarized row counts, bindings and clause time for convenience\"\n [{:keys [branches rels] :as stat}]\n (assoc stat\n :id (subs (str (compatible-abs (hash stat))) 0 6)\n :t-branches (reduce #(+ %1 (:t %2)) 0.0 branches)\n :rel-count (count rels)\n :rows (reduce #(+ %1 (:rows %2)) 0 rels)\n :bound (reduce #(set/union %1 (:bound %2)) #{} rels)\n :branches (mapv extend-stat branches)))\n\n(defn get-stat-diffs [parent-node prev-node {:keys [t t-branches rows bound] :as node}]\n (let [extend-and-branches (fn [branches]\n (mapv (partial get-stat-diffs node)\n (cons prev-node branches)\n branches))\n extend-or-branches (fn [branches]\n (mapv (partial get-stat-diffs node prev-node) branches))]\n (-> node\n (dissoc :rows :bound)\n (assoc :prev (:id prev-node)\n :parent (:id parent-node)\n :t-diff (round 6 (- t t-branches))\n :rows-in (:rows prev-node)\n :rows-out rows\n :rows-diff (- rows (:rows prev-node))\n :bound-in (:bound prev-node)\n :bound-out bound\n :bound-diff (set/difference bound (:bound prev-node)))\n (update :branches (case (:type node)\n :and extend-and-branches\n :or extend-or-branches\n :or-join extend-or-branches\n :rule extend-or-branches\n :solve extend-and-branches\n identity)))))\n\n(defn extend-stats [stats]\n (let [extended (map extend-stat stats)\n root {:rows 0 :bound (set []) :id \"_root_\"}]\n (mapv (partial get-stat-diffs root)\n (cons root extended)\n extended)))\n\n(defn stats-table\n ([stats]\n (stats-table stats [:id :prev :parent :clause :type\n :rows-in :rows-diff :bound-in :bound-diff\n :t :t-diff :clauses]))\n ([stats cols]\n (->> stats\n extend-stats\n (hash-map :branches)\n (tree-seq map? :branches)\n rest\n (map (apply juxt cols)))))\n"]}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
var $CLJS = require("./cljs_env");
|
|
2
|
+
var $jscomp = $CLJS.$jscomp;
|
|
3
|
+
var COMPILED = false;
|
|
4
|
+
require("./cljs.core.js");
|
|
5
|
+
require("./datahike.connections.js");
|
|
6
|
+
require("./datahike.writing.js");
|
|
7
|
+
require("./datahike.datom.js");
|
|
8
|
+
require("./datahike.db.js");
|
|
9
|
+
require("./datahike.impl.entity.js");
|
|
10
|
+
require("./datahike.core.js");
|
|
11
|
+
require("./datahike.tools.js");
|
|
12
|
+
require("./konserve.core.js");
|
|
13
|
+
var environ=$CLJS.environ || ($CLJS.environ = {});
|
|
14
|
+
var fress=$CLJS.fress || ($CLJS.fress = {});
|
|
15
|
+
var datahike=$CLJS.datahike || ($CLJS.datahike = {});
|
|
16
|
+
var clojure=$CLJS.clojure || ($CLJS.clojure = {});
|
|
17
|
+
var hasch=$CLJS.hasch || ($CLJS.hasch = {});
|
|
18
|
+
var tailrecursion=$CLJS.tailrecursion || ($CLJS.tailrecursion = {});
|
|
19
|
+
var superv=$CLJS.superv || ($CLJS.superv = {});
|
|
20
|
+
var geheimnis=$CLJS.geheimnis || ($CLJS.geheimnis = {});
|
|
21
|
+
var is=$CLJS.is || ($CLJS.is = {});
|
|
22
|
+
var cljs=$CLJS.cljs || ($CLJS.cljs = {});
|
|
23
|
+
var cljs_node_io=$CLJS.cljs_node_io || ($CLJS.cljs_node_io = {});
|
|
24
|
+
var goog=$CLJS.goog || ($CLJS.goog = {});
|
|
25
|
+
var konserve=$CLJS.konserve || ($CLJS.konserve = {});
|
|
26
|
+
var datalog=$CLJS.datalog || ($CLJS.datalog = {});
|
|
27
|
+
var spec_tools=$CLJS.spec_tools || ($CLJS.spec_tools = {});
|
|
28
|
+
var taoensso=$CLJS.taoensso || ($CLJS.taoensso = {});
|
|
29
|
+
var incognito=$CLJS.incognito || ($CLJS.incognito = {});
|
|
30
|
+
var medley=$CLJS.medley || ($CLJS.medley = {});
|
|
31
|
+
var me=$CLJS.me || ($CLJS.me = {});
|
|
32
|
+
|
|
33
|
+
$CLJS.SHADOW_ENV.setLoaded("datahike.readers.js");
|
|
34
|
+
|
|
35
|
+
goog.provide('datahike.readers');
|
|
36
|
+
datahike.readers.tempid = datahike.core.tempid;
|
|
37
|
+
datahike.readers.datom_from_reader = datahike.datom.datom_from_reader;
|
|
38
|
+
datahike.readers.db_from_reader = (function datahike$readers$db_from_reader(p__69269){
|
|
39
|
+
var map__69274 = p__69269;
|
|
40
|
+
var map__69274__$1 = cljs.core.__destructure_map(map__69274);
|
|
41
|
+
var raw_db = map__69274__$1;
|
|
42
|
+
var schema = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__69274__$1,new cljs.core.Keyword(null,"schema","schema",-1582001791));
|
|
43
|
+
var datoms = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__69274__$1,new cljs.core.Keyword(null,"datoms","datoms",-290874434));
|
|
44
|
+
var store_id = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__69274__$1,new cljs.core.Keyword(null,"store-id","store-id",-869340477));
|
|
45
|
+
var commit_id = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__69274__$1,new cljs.core.Keyword(null,"commit-id","commit-id",480429844));
|
|
46
|
+
if(cljs.core.truth_((function (){var and__5000__auto__ = store_id;
|
|
47
|
+
if(cljs.core.truth_(and__5000__auto__)){
|
|
48
|
+
return commit_id;
|
|
49
|
+
} else {
|
|
50
|
+
return and__5000__auto__;
|
|
51
|
+
}
|
|
52
|
+
})())){
|
|
53
|
+
throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("Reader not supported.",new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"reader-not-supported","reader-not-supported",-1718883200),new cljs.core.Keyword(null,"raw-db","raw-db",1370559034),raw_db], null));
|
|
54
|
+
} else {
|
|
55
|
+
var G__69284 = cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__69289){
|
|
56
|
+
var vec__69290 = p__69289;
|
|
57
|
+
var e = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__69290,(0),null);
|
|
58
|
+
var a = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__69290,(1),null);
|
|
59
|
+
var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__69290,(2),null);
|
|
60
|
+
var tx = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__69290,(3),null);
|
|
61
|
+
return datahike.datom.datom.cljs$core$IFn$_invoke$arity$4(e,a,v,tx);
|
|
62
|
+
}),datoms);
|
|
63
|
+
var G__69285 = schema;
|
|
64
|
+
return (datahike.core.init_db.cljs$core$IFn$_invoke$arity$2 ? datahike.core.init_db.cljs$core$IFn$_invoke$arity$2(G__69284,G__69285) : datahike.core.init_db.call(null, G__69284,G__69285));
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
datahike.readers.history_from_reader = (function datahike$readers$history_from_reader(p__69300){
|
|
68
|
+
var map__69301 = p__69300;
|
|
69
|
+
var map__69301__$1 = cljs.core.__destructure_map(map__69301);
|
|
70
|
+
var origin = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__69301__$1,new cljs.core.Keyword(null,"origin","origin",1037372088));
|
|
71
|
+
return (new datahike.db.HistoricalDB(origin,null,null,null));
|
|
72
|
+
});
|
|
73
|
+
datahike.readers.since_from_reader = (function datahike$readers$since_from_reader(p__69311){
|
|
74
|
+
var map__69313 = p__69311;
|
|
75
|
+
var map__69313__$1 = cljs.core.__destructure_map(map__69313);
|
|
76
|
+
var origin = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__69313__$1,new cljs.core.Keyword(null,"origin","origin",1037372088));
|
|
77
|
+
var time_point = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__69313__$1,new cljs.core.Keyword(null,"time-point","time-point",-1243116005));
|
|
78
|
+
return (new datahike.db.AsOfDB(origin,time_point,null,null,null));
|
|
79
|
+
});
|
|
80
|
+
datahike.readers.as_of_from_reader = (function datahike$readers$as_of_from_reader(p__69315){
|
|
81
|
+
var map__69316 = p__69315;
|
|
82
|
+
var map__69316__$1 = cljs.core.__destructure_map(map__69316);
|
|
83
|
+
var origin = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__69316__$1,new cljs.core.Keyword(null,"origin","origin",1037372088));
|
|
84
|
+
var time_point = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__69316__$1,new cljs.core.Keyword(null,"time-point","time-point",-1243116005));
|
|
85
|
+
return (new datahike.db.SinceDB(origin,time_point,null,null,null));
|
|
86
|
+
});
|
|
87
|
+
datahike.readers.connection_from_reader = (function datahike$readers$connection_from_reader(conn_id){
|
|
88
|
+
return new cljs.core.Keyword(null,"conn","conn",278309663).cljs$core$IFn$_invoke$arity$1((function (){var fexpr__69317 = cljs.core.deref(datahike.connections._STAR_connections_STAR_);
|
|
89
|
+
return (fexpr__69317.cljs$core$IFn$_invoke$arity$1 ? fexpr__69317.cljs$core$IFn$_invoke$arity$1(conn_id) : fexpr__69317.call(null, conn_id));
|
|
90
|
+
})());
|
|
91
|
+
});
|
|
92
|
+
datahike.readers.entity_from_reader = (function datahike$readers$entity_from_reader(p__69319){
|
|
93
|
+
var map__69320 = p__69319;
|
|
94
|
+
var map__69320__$1 = cljs.core.__destructure_map(map__69320);
|
|
95
|
+
var db = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__69320__$1,new cljs.core.Keyword(null,"db","db",993250759));
|
|
96
|
+
var eid = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__69320__$1,new cljs.core.Keyword(null,"eid","eid",559519930));
|
|
97
|
+
return datahike.impl.entity.entity(db,eid);
|
|
98
|
+
});
|
|
99
|
+
/**
|
|
100
|
+
* Data readers for EDN readers. In CLJS they’re registered automatically. In CLJ, if `data_readers.clj` do not work, you can always do
|
|
101
|
+
*
|
|
102
|
+
* ```
|
|
103
|
+
* (clojure.edn/read-string {:readers data-readers} "...")
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
datahike.readers.edn_readers = new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Symbol("datahike","Datom","datahike/Datom",897299552,null),datahike.readers.datom_from_reader,new cljs.core.Symbol("datahike","DB","datahike/DB",-605097080,null),datahike.readers.db_from_reader,new cljs.core.Symbol("datahike","HistoricalDB","datahike/HistoricalDB",901874289,null),datahike.readers.history_from_reader,new cljs.core.Symbol("datahike","SinceDB","datahike/SinceDB",-1752376291,null),datahike.readers.since_from_reader,new cljs.core.Symbol("datahike","AsOfDB","datahike/AsOfDB",190899058,null),datahike.readers.as_of_from_reader,new cljs.core.Symbol("datahike","Connection","datahike/Connection",-397587996,null),datahike.readers.connection_from_reader,new cljs.core.Symbol("db","id","db/id",252134429,null),datahike.readers.tempid], null);
|
|
107
|
+
var seq__69325_69341 = cljs.core.seq(datahike.readers.edn_readers);
|
|
108
|
+
var chunk__69326_69342 = null;
|
|
109
|
+
var count__69327_69343 = (0);
|
|
110
|
+
var i__69328_69344 = (0);
|
|
111
|
+
while(true){
|
|
112
|
+
if((i__69328_69344 < count__69327_69343)){
|
|
113
|
+
var vec__69335_69345 = chunk__69326_69342.cljs$core$IIndexed$_nth$arity$2(null, i__69328_69344);
|
|
114
|
+
var tag_69346 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__69335_69345,(0),null);
|
|
115
|
+
var cb_69347 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__69335_69345,(1),null);
|
|
116
|
+
cljs.reader.register_tag_parser_BANG_(tag_69346,cb_69347);
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
var G__69348 = seq__69325_69341;
|
|
120
|
+
var G__69349 = chunk__69326_69342;
|
|
121
|
+
var G__69350 = count__69327_69343;
|
|
122
|
+
var G__69351 = (i__69328_69344 + (1));
|
|
123
|
+
seq__69325_69341 = G__69348;
|
|
124
|
+
chunk__69326_69342 = G__69349;
|
|
125
|
+
count__69327_69343 = G__69350;
|
|
126
|
+
i__69328_69344 = G__69351;
|
|
127
|
+
continue;
|
|
128
|
+
} else {
|
|
129
|
+
var temp__5804__auto___69352 = cljs.core.seq(seq__69325_69341);
|
|
130
|
+
if(temp__5804__auto___69352){
|
|
131
|
+
var seq__69325_69353__$1 = temp__5804__auto___69352;
|
|
132
|
+
if(cljs.core.chunked_seq_QMARK_(seq__69325_69353__$1)){
|
|
133
|
+
var c__5525__auto___69354 = cljs.core.chunk_first(seq__69325_69353__$1);
|
|
134
|
+
var G__69355 = cljs.core.chunk_rest(seq__69325_69353__$1);
|
|
135
|
+
var G__69356 = c__5525__auto___69354;
|
|
136
|
+
var G__69357 = cljs.core.count(c__5525__auto___69354);
|
|
137
|
+
var G__69358 = (0);
|
|
138
|
+
seq__69325_69341 = G__69355;
|
|
139
|
+
chunk__69326_69342 = G__69356;
|
|
140
|
+
count__69327_69343 = G__69357;
|
|
141
|
+
i__69328_69344 = G__69358;
|
|
142
|
+
continue;
|
|
143
|
+
} else {
|
|
144
|
+
var vec__69338_69359 = cljs.core.first(seq__69325_69353__$1);
|
|
145
|
+
var tag_69360 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__69338_69359,(0),null);
|
|
146
|
+
var cb_69361 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__69338_69359,(1),null);
|
|
147
|
+
cljs.reader.register_tag_parser_BANG_(tag_69360,cb_69361);
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
var G__69362 = cljs.core.next(seq__69325_69353__$1);
|
|
151
|
+
var G__69363 = null;
|
|
152
|
+
var G__69364 = (0);
|
|
153
|
+
var G__69365 = (0);
|
|
154
|
+
seq__69325_69341 = G__69362;
|
|
155
|
+
chunk__69326_69342 = G__69363;
|
|
156
|
+
count__69327_69343 = G__69364;
|
|
157
|
+
i__69328_69344 = G__69365;
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
160
|
+
} else {
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
//# sourceMappingURL=datahike.readers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["datahike/readers.cljc"],"mappings":"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","names":["datahike.readers/tempid","datahike.core/tempid","datahike.readers/datom-from-reader","datahike.datom/datom-from-reader","p__69269","map__69274","cljs.core/--destructure-map","cljs.core.get","datahike.readers/db-from-reader","schema","datoms","store-id","commit-id","raw-db","and__5000__auto__","cljs.core.ex_info","G__69284","G__69285","datahike.core/init-db","cljs.core.map","p__69289","vec__69290","cljs.core.nth","e","a","v","tx","datahike.datom.datom","p__69300","map__69301","datahike.readers/history-from-reader","origin","datahike.db/HistoricalDB","p__69311","map__69313","datahike.readers/since-from-reader","time-point","datahike.db/AsOfDB","p__69315","map__69316","datahike.readers/as-of-from-reader","datahike.db/SinceDB","datahike.readers/connection-from-reader","conn-id","fexpr__69317","cljs.core/deref","datahike.connections/*connections*","p__69319","map__69320","datahike.readers/entity-from-reader","db","eid","datahike.impl.entity/entity","datahike.readers/edn-readers","seq__69325","cljs.core/seq","chunk__69326","count__69327","i__69328","vec__69335","temp__5804__auto__","cljs.core/chunked-seq?","c__5525__auto__","cljs.core/chunk-first","cljs.core/chunk-rest","cljs.core/count","vec__69338","cljs.core/first","cljs.core/next","tag","cb","cljs.reader/register-tag-parser!"],"sourcesContent":["(ns datahike.readers\n (:require [datahike.connections :refer [get-connection *connections*]]\n [datahike.writing :as dw]\n [datahike.datom :refer [datom] :as dd]\n #?(:cljs [datahike.db :refer [HistoricalDB AsOfDB SinceDB]])\n [datahike.impl.entity :as de]\n [datahike.core :refer [init-db] :as dc]\n [datahike.tools :refer [raise]]\n [konserve.core :as k])\n #?(:clj\n (:import [datahike.datom Datom]\n [datahike.db HistoricalDB AsOfDB SinceDB])))\n\n(def tempid dc/tempid)\n\n(def datom-from-reader dd/datom-from-reader)\n\n(defn db-from-reader [{:keys [schema datoms store-id commit-id] :as raw-db}]\n (if (and store-id commit-id)\n #?(:cljs (throw (ex-info \"Reader not supported.\" {:type :reader-not-supported\n :raw-db raw-db}))\n :clj\n (if-let [conn (get-connection store-id)]\n (let [store (:store @conn)]\n (when-let [raw-db (k/get store commit-id nil {:sync? true})]\n (dw/stored->db raw-db store)))\n (raise (ex-info \"Could not find active connection. Did you connect already?\"\n {:type :no-connection-for-db\n :raw-db raw-db}))))\n (init-db (map (fn [[e a v tx]] (datom e a v tx)) datoms) schema)))\n\n(defn history-from-reader [{:keys [origin]}]\n (HistoricalDB. origin))\n\n(defn since-from-reader [{:keys [origin time-point]}]\n (AsOfDB. origin time-point))\n\n(defn as-of-from-reader [{:keys [origin time-point]}]\n (SinceDB. origin time-point))\n\n(defn connection-from-reader [conn-id]\n (:conn (@*connections* conn-id)))\n\n(defn entity-from-reader [{:keys [db eid]}]\n (de/entity db eid))\n\n(def ^{:doc \"Data readers for EDN readers. In CLJS they\u2019re registered automatically. In CLJ, if `data_readers.clj` do not work, you can always do\n\n ```\n (clojure.edn/read-string {:readers data-readers} \\\"...\\\")\n ```\"}\n edn-readers\n {'datahike/Datom datahike.readers/datom-from-reader\n 'datahike/DB datahike.readers/db-from-reader\n 'datahike/HistoricalDB datahike.readers/history-from-reader\n 'datahike/SinceDB datahike.readers/since-from-reader\n 'datahike/AsOfDB datahike.readers/as-of-from-reader\n 'datahike/Connection datahike.readers/connection-from-reader\n 'db/id datahike.readers/tempid})\n\n#?(:cljs\n (doseq [[tag cb] edn-readers] (cljs.reader/register-tag-parser! tag cb)))\n"]}
|