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,2211 @@
|
|
|
1
|
+
var $CLJS = require("./cljs_env");
|
|
2
|
+
var $jscomp = $CLJS.$jscomp;
|
|
3
|
+
var COMPILED = false;
|
|
4
|
+
require("./cljs.core.js");
|
|
5
|
+
require("./datahike.api.specification.js");
|
|
6
|
+
require("./datahike.api.impl.js");
|
|
7
|
+
require("./datahike.store.js");
|
|
8
|
+
require("./konserve.node_filestore.js");
|
|
9
|
+
require("./datahike.db.interface.js");
|
|
10
|
+
require("./datahike.datom.js");
|
|
11
|
+
require("./cljs.core.async.js");
|
|
12
|
+
require("./clojure.string.js");
|
|
13
|
+
require("./clojure.walk.js");
|
|
14
|
+
var environ=$CLJS.environ || ($CLJS.environ = {});
|
|
15
|
+
var fress=$CLJS.fress || ($CLJS.fress = {});
|
|
16
|
+
var datahike=$CLJS.datahike || ($CLJS.datahike = {});
|
|
17
|
+
var clojure=$CLJS.clojure || ($CLJS.clojure = {});
|
|
18
|
+
var hasch=$CLJS.hasch || ($CLJS.hasch = {});
|
|
19
|
+
var tailrecursion=$CLJS.tailrecursion || ($CLJS.tailrecursion = {});
|
|
20
|
+
var superv=$CLJS.superv || ($CLJS.superv = {});
|
|
21
|
+
var geheimnis=$CLJS.geheimnis || ($CLJS.geheimnis = {});
|
|
22
|
+
var is=$CLJS.is || ($CLJS.is = {});
|
|
23
|
+
var cljs=$CLJS.cljs || ($CLJS.cljs = {});
|
|
24
|
+
var cljs_node_io=$CLJS.cljs_node_io || ($CLJS.cljs_node_io = {});
|
|
25
|
+
var goog=$CLJS.goog || ($CLJS.goog = {});
|
|
26
|
+
var konserve=$CLJS.konserve || ($CLJS.konserve = {});
|
|
27
|
+
var datalog=$CLJS.datalog || ($CLJS.datalog = {});
|
|
28
|
+
var spec_tools=$CLJS.spec_tools || ($CLJS.spec_tools = {});
|
|
29
|
+
var taoensso=$CLJS.taoensso || ($CLJS.taoensso = {});
|
|
30
|
+
var incognito=$CLJS.incognito || ($CLJS.incognito = {});
|
|
31
|
+
var medley=$CLJS.medley || ($CLJS.medley = {});
|
|
32
|
+
var me=$CLJS.me || ($CLJS.me = {});
|
|
33
|
+
|
|
34
|
+
$CLJS.SHADOW_ENV.setLoaded("datahike.js.api.js");
|
|
35
|
+
|
|
36
|
+
goog.provide('datahike.js.api');
|
|
37
|
+
goog.scope(function(){
|
|
38
|
+
datahike.js.api.goog$module$goog$object = goog.module.get('goog.object');
|
|
39
|
+
});
|
|
40
|
+
/**
|
|
41
|
+
* Regex pattern for UUID strings (8-4-4-4-12 hex digits)
|
|
42
|
+
*/
|
|
43
|
+
datahike.js.api.uuid_regex = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;
|
|
44
|
+
/**
|
|
45
|
+
* Check if a string is a valid UUID format
|
|
46
|
+
*/
|
|
47
|
+
datahike.js.api.uuid_string_QMARK_ = (function datahike$js$api$uuid_string_QMARK_(s){
|
|
48
|
+
var and__5000__auto__ = typeof s === 'string';
|
|
49
|
+
if(and__5000__auto__){
|
|
50
|
+
return cljs.core.re_matches(datahike.js.api.uuid_regex,s);
|
|
51
|
+
} else {
|
|
52
|
+
return and__5000__auto__;
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
/**
|
|
56
|
+
* Convert a string to appropriate Clojure type:
|
|
57
|
+
* - ':keyword' -> keyword
|
|
58
|
+
* - UUID format -> UUID object
|
|
59
|
+
* - otherwise -> string
|
|
60
|
+
*/
|
|
61
|
+
datahike.js.api.convert_string = (function datahike$js$api$convert_string(s){
|
|
62
|
+
if(clojure.string.starts_with_QMARK_(s,":")){
|
|
63
|
+
return cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(1)));
|
|
64
|
+
} else {
|
|
65
|
+
if(cljs.core.truth_(datahike.js.api.uuid_string_QMARK_(s))){
|
|
66
|
+
return cljs.core.uuid(s);
|
|
67
|
+
} else {
|
|
68
|
+
return s;
|
|
69
|
+
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
/**
|
|
74
|
+
* Recursively convert JS objects to Clojure data with keyword keys.
|
|
75
|
+
* Also converts strings like ':keyword' to keywords and UUID strings to UUIDs.
|
|
76
|
+
*/
|
|
77
|
+
datahike.js.api.js__GT_clj_recursive = (function datahike$js$api$js__GT_clj_recursive(x){
|
|
78
|
+
if(((cljs.core.object_QMARK_(x)) && ((((!(cljs.core.array_QMARK_(x)))) && ((((!(cljs.core.fn_QMARK_(x)))) && ((!((x == null)))))))))){
|
|
79
|
+
return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,(function (){var iter__5480__auto__ = (function datahike$js$api$js__GT_clj_recursive_$_iter__75783(s__75784){
|
|
80
|
+
return (new cljs.core.LazySeq(null,(function (){
|
|
81
|
+
var s__75784__$1 = s__75784;
|
|
82
|
+
while(true){
|
|
83
|
+
var temp__5804__auto__ = cljs.core.seq(s__75784__$1);
|
|
84
|
+
if(temp__5804__auto__){
|
|
85
|
+
var s__75784__$2 = temp__5804__auto__;
|
|
86
|
+
if(cljs.core.chunked_seq_QMARK_(s__75784__$2)){
|
|
87
|
+
var c__5478__auto__ = cljs.core.chunk_first(s__75784__$2);
|
|
88
|
+
var size__5479__auto__ = cljs.core.count(c__5478__auto__);
|
|
89
|
+
var b__75786 = cljs.core.chunk_buffer(size__5479__auto__);
|
|
90
|
+
if((function (){var i__75785 = (0);
|
|
91
|
+
while(true){
|
|
92
|
+
if((i__75785 < size__5479__auto__)){
|
|
93
|
+
var k = cljs.core._nth(c__5478__auto__,i__75785);
|
|
94
|
+
cljs.core.chunk_append(b__75786,(function (){var v = datahike.js.api.goog$module$goog$object.get(x,k);
|
|
95
|
+
var k_kw = cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(k);
|
|
96
|
+
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k_kw,(datahike.js.api.js__GT_clj_recursive.cljs$core$IFn$_invoke$arity$1 ? datahike.js.api.js__GT_clj_recursive.cljs$core$IFn$_invoke$arity$1(v) : datahike.js.api.js__GT_clj_recursive.call(null, v))], null);
|
|
97
|
+
})());
|
|
98
|
+
|
|
99
|
+
var G__75888 = (i__75785 + (1));
|
|
100
|
+
i__75785 = G__75888;
|
|
101
|
+
continue;
|
|
102
|
+
} else {
|
|
103
|
+
return true;
|
|
104
|
+
}
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
})()){
|
|
108
|
+
return cljs.core.chunk_cons(cljs.core.chunk(b__75786),datahike$js$api$js__GT_clj_recursive_$_iter__75783(cljs.core.chunk_rest(s__75784__$2)));
|
|
109
|
+
} else {
|
|
110
|
+
return cljs.core.chunk_cons(cljs.core.chunk(b__75786),null);
|
|
111
|
+
}
|
|
112
|
+
} else {
|
|
113
|
+
var k = cljs.core.first(s__75784__$2);
|
|
114
|
+
return cljs.core.cons((function (){var v = datahike.js.api.goog$module$goog$object.get(x,k);
|
|
115
|
+
var k_kw = cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(k);
|
|
116
|
+
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k_kw,(datahike.js.api.js__GT_clj_recursive.cljs$core$IFn$_invoke$arity$1 ? datahike.js.api.js__GT_clj_recursive.cljs$core$IFn$_invoke$arity$1(v) : datahike.js.api.js__GT_clj_recursive.call(null, v))], null);
|
|
117
|
+
})(),datahike$js$api$js__GT_clj_recursive_$_iter__75783(cljs.core.rest(s__75784__$2)));
|
|
118
|
+
}
|
|
119
|
+
} else {
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
}),null,null));
|
|
125
|
+
});
|
|
126
|
+
return iter__5480__auto__(cljs.core.js_keys(x));
|
|
127
|
+
})());
|
|
128
|
+
} else {
|
|
129
|
+
if(cljs.core.array_QMARK_(x)){
|
|
130
|
+
return cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,x);
|
|
131
|
+
} else {
|
|
132
|
+
if(typeof x === 'string'){
|
|
133
|
+
return datahike.js.api.convert_string(x);
|
|
134
|
+
} else {
|
|
135
|
+
return x;
|
|
136
|
+
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
/**
|
|
142
|
+
* Recursively convert Clojure data to JS objects.
|
|
143
|
+
* Converts keywords to strings with ':' prefix.
|
|
144
|
+
* Datahike objects (DB, connections, datoms) pass through unchanged.
|
|
145
|
+
*/
|
|
146
|
+
datahike.js.api.clj__GT_js_recursive = (function datahike$js$api$clj__GT_js_recursive(x){
|
|
147
|
+
if((((!((x == null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL === x.datahike$db$interface$IDB$))))?true:(((!x.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(datahike.db.interface$.IDB,x):false)):cljs.core.native_satisfies_QMARK_(datahike.db.interface$.IDB,x))){
|
|
148
|
+
return x;
|
|
149
|
+
} else {
|
|
150
|
+
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.type(x),datahike.datom.Datom)){
|
|
151
|
+
return x;
|
|
152
|
+
} else {
|
|
153
|
+
if(cljs.core.truth_((function (){var and__5000__auto__ = cljs.core.map_QMARK_(x);
|
|
154
|
+
if(and__5000__auto__){
|
|
155
|
+
return new cljs.core.Keyword(null,"conn-atom","conn-atom",-754614558).cljs$core$IFn$_invoke$arity$1(x);
|
|
156
|
+
} else {
|
|
157
|
+
return and__5000__auto__;
|
|
158
|
+
}
|
|
159
|
+
})())){
|
|
160
|
+
return x;
|
|
161
|
+
} else {
|
|
162
|
+
if((x instanceof cljs.core.Keyword)){
|
|
163
|
+
return cljs.core.str.cljs$core$IFn$_invoke$arity$1(x);
|
|
164
|
+
} else {
|
|
165
|
+
if(cljs.core.map_QMARK_(x)){
|
|
166
|
+
var obj = ({});
|
|
167
|
+
var seq__75790_75889 = cljs.core.seq(x);
|
|
168
|
+
var chunk__75791_75890 = null;
|
|
169
|
+
var count__75792_75891 = (0);
|
|
170
|
+
var i__75793_75892 = (0);
|
|
171
|
+
while(true){
|
|
172
|
+
if((i__75793_75892 < count__75792_75891)){
|
|
173
|
+
var vec__75800_75893 = chunk__75791_75890.cljs$core$IIndexed$_nth$arity$2(null, i__75793_75892);
|
|
174
|
+
var k_75894 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__75800_75893,(0),null);
|
|
175
|
+
var v_75895 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__75800_75893,(1),null);
|
|
176
|
+
datahike.js.api.goog$module$goog$object.set(obj,(((k_75894 instanceof cljs.core.Keyword))?cljs.core.name(k_75894):cljs.core.str.cljs$core$IFn$_invoke$arity$1(k_75894)),(datahike.js.api.clj__GT_js_recursive.cljs$core$IFn$_invoke$arity$1 ? datahike.js.api.clj__GT_js_recursive.cljs$core$IFn$_invoke$arity$1(v_75895) : datahike.js.api.clj__GT_js_recursive.call(null, v_75895)));
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
var G__75896 = seq__75790_75889;
|
|
180
|
+
var G__75897 = chunk__75791_75890;
|
|
181
|
+
var G__75898 = count__75792_75891;
|
|
182
|
+
var G__75899 = (i__75793_75892 + (1));
|
|
183
|
+
seq__75790_75889 = G__75896;
|
|
184
|
+
chunk__75791_75890 = G__75897;
|
|
185
|
+
count__75792_75891 = G__75898;
|
|
186
|
+
i__75793_75892 = G__75899;
|
|
187
|
+
continue;
|
|
188
|
+
} else {
|
|
189
|
+
var temp__5804__auto___75900 = cljs.core.seq(seq__75790_75889);
|
|
190
|
+
if(temp__5804__auto___75900){
|
|
191
|
+
var seq__75790_75901__$1 = temp__5804__auto___75900;
|
|
192
|
+
if(cljs.core.chunked_seq_QMARK_(seq__75790_75901__$1)){
|
|
193
|
+
var c__5525__auto___75902 = cljs.core.chunk_first(seq__75790_75901__$1);
|
|
194
|
+
var G__75903 = cljs.core.chunk_rest(seq__75790_75901__$1);
|
|
195
|
+
var G__75904 = c__5525__auto___75902;
|
|
196
|
+
var G__75905 = cljs.core.count(c__5525__auto___75902);
|
|
197
|
+
var G__75906 = (0);
|
|
198
|
+
seq__75790_75889 = G__75903;
|
|
199
|
+
chunk__75791_75890 = G__75904;
|
|
200
|
+
count__75792_75891 = G__75905;
|
|
201
|
+
i__75793_75892 = G__75906;
|
|
202
|
+
continue;
|
|
203
|
+
} else {
|
|
204
|
+
var vec__75803_75907 = cljs.core.first(seq__75790_75901__$1);
|
|
205
|
+
var k_75908 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__75803_75907,(0),null);
|
|
206
|
+
var v_75909 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__75803_75907,(1),null);
|
|
207
|
+
datahike.js.api.goog$module$goog$object.set(obj,(((k_75908 instanceof cljs.core.Keyword))?cljs.core.name(k_75908):cljs.core.str.cljs$core$IFn$_invoke$arity$1(k_75908)),(datahike.js.api.clj__GT_js_recursive.cljs$core$IFn$_invoke$arity$1 ? datahike.js.api.clj__GT_js_recursive.cljs$core$IFn$_invoke$arity$1(v_75909) : datahike.js.api.clj__GT_js_recursive.call(null, v_75909)));
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
var G__75910 = cljs.core.next(seq__75790_75901__$1);
|
|
211
|
+
var G__75911 = null;
|
|
212
|
+
var G__75912 = (0);
|
|
213
|
+
var G__75913 = (0);
|
|
214
|
+
seq__75790_75889 = G__75910;
|
|
215
|
+
chunk__75791_75890 = G__75911;
|
|
216
|
+
count__75792_75891 = G__75912;
|
|
217
|
+
i__75793_75892 = G__75913;
|
|
218
|
+
continue;
|
|
219
|
+
}
|
|
220
|
+
} else {
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
break;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
return obj;
|
|
227
|
+
} else {
|
|
228
|
+
if(cljs.core.sequential_QMARK_(x)){
|
|
229
|
+
return cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.clj__GT_js_recursive,x));
|
|
230
|
+
} else {
|
|
231
|
+
if(cljs.core.set_QMARK_(x)){
|
|
232
|
+
return cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.clj__GT_js_recursive,x));
|
|
233
|
+
} else {
|
|
234
|
+
return x;
|
|
235
|
+
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
/**
|
|
245
|
+
* Convert a core.async channel to a Promise, or return value directly if not a channel.
|
|
246
|
+
* This handles the dynamic async/sync execution in Datahike API.
|
|
247
|
+
*
|
|
248
|
+
* Errors returned on the channel (not thrown) are properly rejected by checking
|
|
249
|
+
* if the result is a js/Error or ExceptionInfo.
|
|
250
|
+
*/
|
|
251
|
+
datahike.js.api.maybe_chan__GT_promise = (function datahike$js$api$maybe_chan__GT_promise(x){
|
|
252
|
+
if((((!((x == null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$async$impl$protocols$Channel$))))?true:(((!x.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(cljs.core.async.impl.protocols.Channel,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.async.impl.protocols.Channel,x))){
|
|
253
|
+
return (new Promise((function (resolve,reject){
|
|
254
|
+
var c__21482__auto__ = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
|
|
255
|
+
cljs.core.async.impl.dispatch.run((function (){
|
|
256
|
+
var f__21483__auto__ = (function (){var switch__21444__auto__ = (function (state_75832){
|
|
257
|
+
var state_val_75833 = (state_75832[(1)]);
|
|
258
|
+
if((state_val_75833 === (7))){
|
|
259
|
+
var inst_75816 = (state_75832[(7)]);
|
|
260
|
+
var state_75832__$1 = state_75832;
|
|
261
|
+
var statearr_75834_75914 = state_75832__$1;
|
|
262
|
+
(statearr_75834_75914[(2)] = inst_75816);
|
|
263
|
+
|
|
264
|
+
(statearr_75834_75914[(1)] = (9));
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
return new cljs.core.Keyword(null,"recur","recur",-437573268);
|
|
268
|
+
} else {
|
|
269
|
+
if((state_val_75833 === (1))){
|
|
270
|
+
var state_75832__$1 = state_75832;
|
|
271
|
+
var statearr_75835_75915 = state_75832__$1;
|
|
272
|
+
(statearr_75835_75915[(2)] = null);
|
|
273
|
+
|
|
274
|
+
(statearr_75835_75915[(1)] = (2));
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
return new cljs.core.Keyword(null,"recur","recur",-437573268);
|
|
278
|
+
} else {
|
|
279
|
+
if((state_val_75833 === (4))){
|
|
280
|
+
var inst_75807 = (state_75832[(2)]);
|
|
281
|
+
var inst_75808 = (reject.cljs$core$IFn$_invoke$arity$1 ? reject.cljs$core$IFn$_invoke$arity$1(inst_75807) : reject.call(null, inst_75807));
|
|
282
|
+
var state_75832__$1 = state_75832;
|
|
283
|
+
var statearr_75836_75916 = state_75832__$1;
|
|
284
|
+
(statearr_75836_75916[(2)] = inst_75808);
|
|
285
|
+
|
|
286
|
+
(statearr_75836_75916[(1)] = (3));
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
return new cljs.core.Keyword(null,"recur","recur",-437573268);
|
|
290
|
+
} else {
|
|
291
|
+
if((state_val_75833 === (6))){
|
|
292
|
+
var inst_75815 = (state_75832[(8)]);
|
|
293
|
+
var inst_75816 = (state_75832[(7)]);
|
|
294
|
+
var inst_75815__$1 = (state_75832[(2)]);
|
|
295
|
+
var inst_75816__$1 = (inst_75815__$1 instanceof Error);
|
|
296
|
+
var state_75832__$1 = (function (){var statearr_75837 = state_75832;
|
|
297
|
+
(statearr_75837[(8)] = inst_75815__$1);
|
|
298
|
+
|
|
299
|
+
(statearr_75837[(7)] = inst_75816__$1);
|
|
300
|
+
|
|
301
|
+
return statearr_75837;
|
|
302
|
+
})();
|
|
303
|
+
if(cljs.core.truth_(inst_75816__$1)){
|
|
304
|
+
var statearr_75838_75917 = state_75832__$1;
|
|
305
|
+
(statearr_75838_75917[(1)] = (7));
|
|
306
|
+
|
|
307
|
+
} else {
|
|
308
|
+
var statearr_75839_75918 = state_75832__$1;
|
|
309
|
+
(statearr_75839_75918[(1)] = (8));
|
|
310
|
+
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
return new cljs.core.Keyword(null,"recur","recur",-437573268);
|
|
314
|
+
} else {
|
|
315
|
+
if((state_val_75833 === (3))){
|
|
316
|
+
var inst_75830 = (state_75832[(2)]);
|
|
317
|
+
var state_75832__$1 = state_75832;
|
|
318
|
+
return cljs.core.async.impl.ioc_helpers.return_chan(state_75832__$1,inst_75830);
|
|
319
|
+
} else {
|
|
320
|
+
if((state_val_75833 === (12))){
|
|
321
|
+
var inst_75827 = (state_75832[(2)]);
|
|
322
|
+
var _ = (function (){var statearr_75840 = state_75832;
|
|
323
|
+
(statearr_75840[(4)] = cljs.core.rest((state_75832[(4)])));
|
|
324
|
+
|
|
325
|
+
return statearr_75840;
|
|
326
|
+
})();
|
|
327
|
+
var state_75832__$1 = state_75832;
|
|
328
|
+
var statearr_75841_75919 = state_75832__$1;
|
|
329
|
+
(statearr_75841_75919[(2)] = inst_75827);
|
|
330
|
+
|
|
331
|
+
(statearr_75841_75919[(1)] = (3));
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
return new cljs.core.Keyword(null,"recur","recur",-437573268);
|
|
335
|
+
} else {
|
|
336
|
+
if((state_val_75833 === (2))){
|
|
337
|
+
var _ = (function (){var statearr_75842 = state_75832;
|
|
338
|
+
(statearr_75842[(4)] = cljs.core.cons((5),(state_75832[(4)])));
|
|
339
|
+
|
|
340
|
+
return statearr_75842;
|
|
341
|
+
})();
|
|
342
|
+
var state_75832__$1 = state_75832;
|
|
343
|
+
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_75832__$1,(6),x);
|
|
344
|
+
} else {
|
|
345
|
+
if((state_val_75833 === (11))){
|
|
346
|
+
var inst_75815 = (state_75832[(8)]);
|
|
347
|
+
var inst_75825 = (resolve.cljs$core$IFn$_invoke$arity$1 ? resolve.cljs$core$IFn$_invoke$arity$1(inst_75815) : resolve.call(null, inst_75815));
|
|
348
|
+
var state_75832__$1 = state_75832;
|
|
349
|
+
var statearr_75844_75920 = state_75832__$1;
|
|
350
|
+
(statearr_75844_75920[(2)] = inst_75825);
|
|
351
|
+
|
|
352
|
+
(statearr_75844_75920[(1)] = (12));
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
return new cljs.core.Keyword(null,"recur","recur",-437573268);
|
|
356
|
+
} else {
|
|
357
|
+
if((state_val_75833 === (9))){
|
|
358
|
+
var inst_75821 = (state_75832[(2)]);
|
|
359
|
+
var state_75832__$1 = state_75832;
|
|
360
|
+
if(cljs.core.truth_(inst_75821)){
|
|
361
|
+
var statearr_75845_75921 = state_75832__$1;
|
|
362
|
+
(statearr_75845_75921[(1)] = (10));
|
|
363
|
+
|
|
364
|
+
} else {
|
|
365
|
+
var statearr_75846_75922 = state_75832__$1;
|
|
366
|
+
(statearr_75846_75922[(1)] = (11));
|
|
367
|
+
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
return new cljs.core.Keyword(null,"recur","recur",-437573268);
|
|
371
|
+
} else {
|
|
372
|
+
if((state_val_75833 === (5))){
|
|
373
|
+
var _ = (function (){var statearr_75847 = state_75832;
|
|
374
|
+
(statearr_75847[(4)] = cljs.core.rest((state_75832[(4)])));
|
|
375
|
+
|
|
376
|
+
return statearr_75847;
|
|
377
|
+
})();
|
|
378
|
+
var state_75832__$1 = state_75832;
|
|
379
|
+
var ex75843 = (state_75832__$1[(2)]);
|
|
380
|
+
var statearr_75848_75923 = state_75832__$1;
|
|
381
|
+
(statearr_75848_75923[(5)] = ex75843);
|
|
382
|
+
|
|
383
|
+
|
|
384
|
+
var statearr_75849_75924 = state_75832__$1;
|
|
385
|
+
(statearr_75849_75924[(1)] = (4));
|
|
386
|
+
|
|
387
|
+
(statearr_75849_75924[(5)] = null);
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
|
|
391
|
+
return new cljs.core.Keyword(null,"recur","recur",-437573268);
|
|
392
|
+
} else {
|
|
393
|
+
if((state_val_75833 === (10))){
|
|
394
|
+
var inst_75815 = (state_75832[(8)]);
|
|
395
|
+
var inst_75823 = (reject.cljs$core$IFn$_invoke$arity$1 ? reject.cljs$core$IFn$_invoke$arity$1(inst_75815) : reject.call(null, inst_75815));
|
|
396
|
+
var state_75832__$1 = state_75832;
|
|
397
|
+
var statearr_75850_75925 = state_75832__$1;
|
|
398
|
+
(statearr_75850_75925[(2)] = inst_75823);
|
|
399
|
+
|
|
400
|
+
(statearr_75850_75925[(1)] = (12));
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
return new cljs.core.Keyword(null,"recur","recur",-437573268);
|
|
404
|
+
} else {
|
|
405
|
+
if((state_val_75833 === (8))){
|
|
406
|
+
var inst_75815 = (state_75832[(8)]);
|
|
407
|
+
var inst_75819 = (inst_75815 instanceof cljs.core.ExceptionInfo);
|
|
408
|
+
var state_75832__$1 = state_75832;
|
|
409
|
+
var statearr_75851_75926 = state_75832__$1;
|
|
410
|
+
(statearr_75851_75926[(2)] = inst_75819);
|
|
411
|
+
|
|
412
|
+
(statearr_75851_75926[(1)] = (9));
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
return new cljs.core.Keyword(null,"recur","recur",-437573268);
|
|
416
|
+
} else {
|
|
417
|
+
return null;
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
});
|
|
431
|
+
return (function() {
|
|
432
|
+
var datahike$js$api$maybe_chan__GT_promise_$_state_machine__21445__auto__ = null;
|
|
433
|
+
var datahike$js$api$maybe_chan__GT_promise_$_state_machine__21445__auto____0 = (function (){
|
|
434
|
+
var statearr_75852 = [null,null,null,null,null,null,null,null,null];
|
|
435
|
+
(statearr_75852[(0)] = datahike$js$api$maybe_chan__GT_promise_$_state_machine__21445__auto__);
|
|
436
|
+
|
|
437
|
+
(statearr_75852[(1)] = (1));
|
|
438
|
+
|
|
439
|
+
return statearr_75852;
|
|
440
|
+
});
|
|
441
|
+
var datahike$js$api$maybe_chan__GT_promise_$_state_machine__21445__auto____1 = (function (state_75832){
|
|
442
|
+
while(true){
|
|
443
|
+
var ret_value__21446__auto__ = (function (){try{while(true){
|
|
444
|
+
var result__21447__auto__ = switch__21444__auto__(state_75832);
|
|
445
|
+
if(cljs.core.keyword_identical_QMARK_(result__21447__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
|
|
446
|
+
continue;
|
|
447
|
+
} else {
|
|
448
|
+
return result__21447__auto__;
|
|
449
|
+
}
|
|
450
|
+
break;
|
|
451
|
+
}
|
|
452
|
+
}catch (e75853){var ex__21448__auto__ = e75853;
|
|
453
|
+
var statearr_75854_75927 = state_75832;
|
|
454
|
+
(statearr_75854_75927[(2)] = ex__21448__auto__);
|
|
455
|
+
|
|
456
|
+
|
|
457
|
+
if(cljs.core.seq((state_75832[(4)]))){
|
|
458
|
+
var statearr_75855_75928 = state_75832;
|
|
459
|
+
(statearr_75855_75928[(1)] = cljs.core.first((state_75832[(4)])));
|
|
460
|
+
|
|
461
|
+
} else {
|
|
462
|
+
throw ex__21448__auto__;
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
return new cljs.core.Keyword(null,"recur","recur",-437573268);
|
|
466
|
+
}})();
|
|
467
|
+
if(cljs.core.keyword_identical_QMARK_(ret_value__21446__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
|
|
468
|
+
var G__75929 = state_75832;
|
|
469
|
+
state_75832 = G__75929;
|
|
470
|
+
continue;
|
|
471
|
+
} else {
|
|
472
|
+
return ret_value__21446__auto__;
|
|
473
|
+
}
|
|
474
|
+
break;
|
|
475
|
+
}
|
|
476
|
+
});
|
|
477
|
+
datahike$js$api$maybe_chan__GT_promise_$_state_machine__21445__auto__ = function(state_75832){
|
|
478
|
+
switch(arguments.length){
|
|
479
|
+
case 0:
|
|
480
|
+
return datahike$js$api$maybe_chan__GT_promise_$_state_machine__21445__auto____0.call(this);
|
|
481
|
+
case 1:
|
|
482
|
+
return datahike$js$api$maybe_chan__GT_promise_$_state_machine__21445__auto____1.call(this,state_75832);
|
|
483
|
+
}
|
|
484
|
+
throw(new Error('Invalid arity: ' + arguments.length));
|
|
485
|
+
};
|
|
486
|
+
datahike$js$api$maybe_chan__GT_promise_$_state_machine__21445__auto__.cljs$core$IFn$_invoke$arity$0 = datahike$js$api$maybe_chan__GT_promise_$_state_machine__21445__auto____0;
|
|
487
|
+
datahike$js$api$maybe_chan__GT_promise_$_state_machine__21445__auto__.cljs$core$IFn$_invoke$arity$1 = datahike$js$api$maybe_chan__GT_promise_$_state_machine__21445__auto____1;
|
|
488
|
+
return datahike$js$api$maybe_chan__GT_promise_$_state_machine__21445__auto__;
|
|
489
|
+
})()
|
|
490
|
+
})();
|
|
491
|
+
var state__21484__auto__ = (function (){var statearr_75856 = f__21483__auto__();
|
|
492
|
+
(statearr_75856[(6)] = c__21482__auto__);
|
|
493
|
+
|
|
494
|
+
return statearr_75856;
|
|
495
|
+
})();
|
|
496
|
+
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__21484__auto__);
|
|
497
|
+
}));
|
|
498
|
+
|
|
499
|
+
return c__21482__auto__;
|
|
500
|
+
})));
|
|
501
|
+
} else {
|
|
502
|
+
return Promise.resolve(x);
|
|
503
|
+
}
|
|
504
|
+
});
|
|
505
|
+
/**
|
|
506
|
+
* Removes registered listener from connection. See also [[listen]].
|
|
507
|
+
*/
|
|
508
|
+
datahike.js.api.unlisten = (function datahike$js$api$unlisten(var_args){
|
|
509
|
+
var args__5732__auto__ = [];
|
|
510
|
+
var len__5726__auto___75930 = arguments.length;
|
|
511
|
+
var i__5727__auto___75931 = (0);
|
|
512
|
+
while(true){
|
|
513
|
+
if((i__5727__auto___75931 < len__5726__auto___75930)){
|
|
514
|
+
args__5732__auto__.push((arguments[i__5727__auto___75931]));
|
|
515
|
+
|
|
516
|
+
var G__75932 = (i__5727__auto___75931 + (1));
|
|
517
|
+
i__5727__auto___75931 = G__75932;
|
|
518
|
+
continue;
|
|
519
|
+
} else {
|
|
520
|
+
}
|
|
521
|
+
break;
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
525
|
+
return datahike.js.api.unlisten.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
526
|
+
});
|
|
527
|
+
goog.exportSymbol('datahike.js.api.unlisten', datahike.js.api.unlisten);
|
|
528
|
+
|
|
529
|
+
(datahike.js.api.unlisten.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
530
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
531
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.core.unlisten_BANG_,clj_args__75754__auto__);
|
|
532
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
533
|
+
}));
|
|
534
|
+
|
|
535
|
+
(datahike.js.api.unlisten.cljs$lang$maxFixedArity = (0));
|
|
536
|
+
|
|
537
|
+
/** @this {Function} */
|
|
538
|
+
(datahike.js.api.unlisten.cljs$lang$applyTo = (function (seq75857){
|
|
539
|
+
var self__5712__auto__ = this;
|
|
540
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75857));
|
|
541
|
+
}));
|
|
542
|
+
|
|
543
|
+
|
|
544
|
+
/**
|
|
545
|
+
* Deletes a database given via configuration map. Storage configuration `:store` is mandatory.
|
|
546
|
+
* For more information refer to the [docs](https://github.com/replikativ/datahike/blob/master/doc/config.md)
|
|
547
|
+
*/
|
|
548
|
+
datahike.js.api.deleteDatabase = (function datahike$js$api$deleteDatabase(var_args){
|
|
549
|
+
var args__5732__auto__ = [];
|
|
550
|
+
var len__5726__auto___75933 = arguments.length;
|
|
551
|
+
var i__5727__auto___75934 = (0);
|
|
552
|
+
while(true){
|
|
553
|
+
if((i__5727__auto___75934 < len__5726__auto___75933)){
|
|
554
|
+
args__5732__auto__.push((arguments[i__5727__auto___75934]));
|
|
555
|
+
|
|
556
|
+
var G__75935 = (i__5727__auto___75934 + (1));
|
|
557
|
+
i__5727__auto___75934 = G__75935;
|
|
558
|
+
continue;
|
|
559
|
+
} else {
|
|
560
|
+
}
|
|
561
|
+
break;
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
565
|
+
return datahike.js.api.deleteDatabase.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
566
|
+
});
|
|
567
|
+
goog.exportSymbol('datahike.js.api.deleteDatabase', datahike.js.api.deleteDatabase);
|
|
568
|
+
|
|
569
|
+
(datahike.js.api.deleteDatabase.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
570
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
571
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.api.impl.delete_database,clj_args__75754__auto__);
|
|
572
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
573
|
+
}));
|
|
574
|
+
|
|
575
|
+
(datahike.js.api.deleteDatabase.cljs$lang$maxFixedArity = (0));
|
|
576
|
+
|
|
577
|
+
/** @this {Function} */
|
|
578
|
+
(datahike.js.api.deleteDatabase.cljs$lang$applyTo = (function (seq75858){
|
|
579
|
+
var self__5712__auto__ = this;
|
|
580
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75858));
|
|
581
|
+
}));
|
|
582
|
+
|
|
583
|
+
|
|
584
|
+
/**
|
|
585
|
+
* Fetches data from database using recursive declarative description. See [docs.datomic.com/on-prem/pull.html](https://docs.datomic.com/on-prem/pull.html).
|
|
586
|
+
*
|
|
587
|
+
* Unlike [[entity]], returns plain Clojure map (not lazy).
|
|
588
|
+
*
|
|
589
|
+
* Usage:
|
|
590
|
+
*
|
|
591
|
+
* (pull db [:db/id, :name, :likes, {:friends [:db/id :name]}] 1) ; => {:db/id 1,
|
|
592
|
+
* :name "Ivan"
|
|
593
|
+
* :likes [:pizza]
|
|
594
|
+
* :friends [{:db/id 2, :name "Oleg"}]}
|
|
595
|
+
*
|
|
596
|
+
* The arity-2 version takes :selector and :eid in arg-map.
|
|
597
|
+
*/
|
|
598
|
+
datahike.js.api.pull = (function datahike$js$api$pull(var_args){
|
|
599
|
+
var args__5732__auto__ = [];
|
|
600
|
+
var len__5726__auto___75936 = arguments.length;
|
|
601
|
+
var i__5727__auto___75937 = (0);
|
|
602
|
+
while(true){
|
|
603
|
+
if((i__5727__auto___75937 < len__5726__auto___75936)){
|
|
604
|
+
args__5732__auto__.push((arguments[i__5727__auto___75937]));
|
|
605
|
+
|
|
606
|
+
var G__75938 = (i__5727__auto___75937 + (1));
|
|
607
|
+
i__5727__auto___75937 = G__75938;
|
|
608
|
+
continue;
|
|
609
|
+
} else {
|
|
610
|
+
}
|
|
611
|
+
break;
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
615
|
+
return datahike.js.api.pull.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
616
|
+
});
|
|
617
|
+
goog.exportSymbol('datahike.js.api.pull', datahike.js.api.pull);
|
|
618
|
+
|
|
619
|
+
(datahike.js.api.pull.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
620
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
621
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.pull_api.pull,clj_args__75754__auto__);
|
|
622
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
623
|
+
}));
|
|
624
|
+
|
|
625
|
+
(datahike.js.api.pull.cljs$lang$maxFixedArity = (0));
|
|
626
|
+
|
|
627
|
+
/** @this {Function} */
|
|
628
|
+
(datahike.js.api.pull.cljs$lang$applyTo = (function (seq75859){
|
|
629
|
+
var self__5712__auto__ = this;
|
|
630
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75859));
|
|
631
|
+
}));
|
|
632
|
+
|
|
633
|
+
|
|
634
|
+
/**
|
|
635
|
+
* Retrieves an entity by its id from database. Entities are lazy map-like structures to navigate Datahike database content.
|
|
636
|
+
*
|
|
637
|
+
* For `eid` pass entity id or lookup attr:
|
|
638
|
+
*
|
|
639
|
+
* (entity db 1)
|
|
640
|
+
* (entity db [:unique-attr :value])
|
|
641
|
+
*
|
|
642
|
+
* If entity does not exist, `nil` is returned:
|
|
643
|
+
*
|
|
644
|
+
* (entity db -1) ; => nil
|
|
645
|
+
*
|
|
646
|
+
* Creating an entity by id is very cheap, almost no-op, as attr access is on-demand:
|
|
647
|
+
*
|
|
648
|
+
* (entity db 1) ; => {:db/id 1}
|
|
649
|
+
*
|
|
650
|
+
* Entity attributes can be lazily accessed through key lookups:
|
|
651
|
+
*
|
|
652
|
+
* (:attr (entity db 1)) ; => :value
|
|
653
|
+
* (get (entity db 1) :attr) ; => :value
|
|
654
|
+
*
|
|
655
|
+
* Cardinality many attributes are returned sequences:
|
|
656
|
+
*
|
|
657
|
+
* (:attrs (entity db 1)) ; => [:v1 :v2 :v3]
|
|
658
|
+
*
|
|
659
|
+
* Reference attributes are returned as another entities:
|
|
660
|
+
*
|
|
661
|
+
* (:ref (entity db 1)) ; => {:db/id 2}
|
|
662
|
+
* (:ns/ref (entity db 1)) ; => {:db/id 2}
|
|
663
|
+
*
|
|
664
|
+
* References can be walked backwards by prepending `_` to name part of an attribute:
|
|
665
|
+
*
|
|
666
|
+
* (:_ref (entity db 2)) ; => [{:db/id 1}]
|
|
667
|
+
* (:ns/_ref (entity db 2)) ; => [{:db/id 1}]
|
|
668
|
+
*
|
|
669
|
+
* Reverse reference lookup returns sequence of entities unless attribute is marked as `:db/component`:
|
|
670
|
+
*
|
|
671
|
+
* (:_component-ref (entity db 2)) ; => {:db/id 1}
|
|
672
|
+
*
|
|
673
|
+
* Entity gotchas:
|
|
674
|
+
*
|
|
675
|
+
* - Entities print as map, but are not exactly maps (they have compatible get interface though).
|
|
676
|
+
* - Entities are effectively immutable “views” into a particular version of a database.
|
|
677
|
+
* - Entities retain reference to the whole database.
|
|
678
|
+
* - You can't change database through entities, only read.
|
|
679
|
+
* - Creating an entity by id is very cheap, almost no-op (attributes are looked up on demand).
|
|
680
|
+
* - Comparing entities just compares their ids. Be careful when comparing entities taken from different dbs or from different versions of the same db.
|
|
681
|
+
* - Accessed entity attributes are cached on entity itself (except backward references).
|
|
682
|
+
* - When printing, only cached attributes (the ones you have accessed before) are printed. See [[touch]].
|
|
683
|
+
*/
|
|
684
|
+
datahike.js.api.entity = (function datahike$js$api$entity(var_args){
|
|
685
|
+
var args__5732__auto__ = [];
|
|
686
|
+
var len__5726__auto___75939 = arguments.length;
|
|
687
|
+
var i__5727__auto___75940 = (0);
|
|
688
|
+
while(true){
|
|
689
|
+
if((i__5727__auto___75940 < len__5726__auto___75939)){
|
|
690
|
+
args__5732__auto__.push((arguments[i__5727__auto___75940]));
|
|
691
|
+
|
|
692
|
+
var G__75941 = (i__5727__auto___75940 + (1));
|
|
693
|
+
i__5727__auto___75940 = G__75941;
|
|
694
|
+
continue;
|
|
695
|
+
} else {
|
|
696
|
+
}
|
|
697
|
+
break;
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
701
|
+
return datahike.js.api.entity.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
702
|
+
});
|
|
703
|
+
goog.exportSymbol('datahike.js.api.entity', datahike.js.api.entity);
|
|
704
|
+
|
|
705
|
+
(datahike.js.api.entity.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
706
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
707
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.impl.entity.entity,clj_args__75754__auto__);
|
|
708
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
709
|
+
}));
|
|
710
|
+
|
|
711
|
+
(datahike.js.api.entity.cljs$lang$maxFixedArity = (0));
|
|
712
|
+
|
|
713
|
+
/** @this {Function} */
|
|
714
|
+
(datahike.js.api.entity.cljs$lang$applyTo = (function (seq75860){
|
|
715
|
+
var self__5712__auto__ = this;
|
|
716
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75860));
|
|
717
|
+
}));
|
|
718
|
+
|
|
719
|
+
|
|
720
|
+
/**
|
|
721
|
+
* Returns database metrics.
|
|
722
|
+
*/
|
|
723
|
+
datahike.js.api.metrics = (function datahike$js$api$metrics(var_args){
|
|
724
|
+
var args__5732__auto__ = [];
|
|
725
|
+
var len__5726__auto___75942 = arguments.length;
|
|
726
|
+
var i__5727__auto___75943 = (0);
|
|
727
|
+
while(true){
|
|
728
|
+
if((i__5727__auto___75943 < len__5726__auto___75942)){
|
|
729
|
+
args__5732__auto__.push((arguments[i__5727__auto___75943]));
|
|
730
|
+
|
|
731
|
+
var G__75944 = (i__5727__auto___75943 + (1));
|
|
732
|
+
i__5727__auto___75943 = G__75944;
|
|
733
|
+
continue;
|
|
734
|
+
} else {
|
|
735
|
+
}
|
|
736
|
+
break;
|
|
737
|
+
}
|
|
738
|
+
|
|
739
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
740
|
+
return datahike.js.api.metrics.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
741
|
+
});
|
|
742
|
+
goog.exportSymbol('datahike.js.api.metrics', datahike.js.api.metrics);
|
|
743
|
+
|
|
744
|
+
(datahike.js.api.metrics.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
745
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
746
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.db.metrics,clj_args__75754__auto__);
|
|
747
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
748
|
+
}));
|
|
749
|
+
|
|
750
|
+
(datahike.js.api.metrics.cljs$lang$maxFixedArity = (0));
|
|
751
|
+
|
|
752
|
+
/** @this {Function} */
|
|
753
|
+
(datahike.js.api.metrics.cljs$lang$applyTo = (function (seq75861){
|
|
754
|
+
var self__5712__auto__ = this;
|
|
755
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75861));
|
|
756
|
+
}));
|
|
757
|
+
|
|
758
|
+
|
|
759
|
+
/**
|
|
760
|
+
* Returns current reverse schema definition.
|
|
761
|
+
*/
|
|
762
|
+
datahike.js.api.reverseSchema = (function datahike$js$api$reverseSchema(var_args){
|
|
763
|
+
var args__5732__auto__ = [];
|
|
764
|
+
var len__5726__auto___75945 = arguments.length;
|
|
765
|
+
var i__5727__auto___75946 = (0);
|
|
766
|
+
while(true){
|
|
767
|
+
if((i__5727__auto___75946 < len__5726__auto___75945)){
|
|
768
|
+
args__5732__auto__.push((arguments[i__5727__auto___75946]));
|
|
769
|
+
|
|
770
|
+
var G__75947 = (i__5727__auto___75946 + (1));
|
|
771
|
+
i__5727__auto___75946 = G__75947;
|
|
772
|
+
continue;
|
|
773
|
+
} else {
|
|
774
|
+
}
|
|
775
|
+
break;
|
|
776
|
+
}
|
|
777
|
+
|
|
778
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
779
|
+
return datahike.js.api.reverseSchema.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
780
|
+
});
|
|
781
|
+
goog.exportSymbol('datahike.js.api.reverseSchema', datahike.js.api.reverseSchema);
|
|
782
|
+
|
|
783
|
+
(datahike.js.api.reverseSchema.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
784
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
785
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.api.impl.reverse_schema,clj_args__75754__auto__);
|
|
786
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
787
|
+
}));
|
|
788
|
+
|
|
789
|
+
(datahike.js.api.reverseSchema.cljs$lang$maxFixedArity = (0));
|
|
790
|
+
|
|
791
|
+
/** @this {Function} */
|
|
792
|
+
(datahike.js.api.reverseSchema.cljs$lang$applyTo = (function (seq75862){
|
|
793
|
+
var self__5712__auto__ = this;
|
|
794
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75862));
|
|
795
|
+
}));
|
|
796
|
+
|
|
797
|
+
|
|
798
|
+
/**
|
|
799
|
+
* Index lookup. Returns a sequence of datoms (lazy iterator over actual DB index) which components
|
|
800
|
+
* (e, a, v) match passed arguments. Datoms are sorted in index sort order. Possible `index` values
|
|
801
|
+
* are: `:eavt`, `:aevt`, `:avet`.
|
|
802
|
+
*
|
|
803
|
+
* Accepts db and a map as arguments with the keys `:index` and `:components` provided within the
|
|
804
|
+
* map, or the arguments provided separately.
|
|
805
|
+
*
|
|
806
|
+
*
|
|
807
|
+
* Usage:
|
|
808
|
+
*
|
|
809
|
+
* Set up your database. Beware that for the `:avet` index the index needs to be set to true for
|
|
810
|
+
* the attribute `:likes`.
|
|
811
|
+
*
|
|
812
|
+
* (d/transact db [{:db/ident :name
|
|
813
|
+
* :db/type :db.type/string
|
|
814
|
+
* :db/cardinality :db.cardinality/one}
|
|
815
|
+
* {:db/ident :likes
|
|
816
|
+
* :db/type :db.type/string
|
|
817
|
+
* :db/index true
|
|
818
|
+
* :db/cardinality :db.cardinality/many}
|
|
819
|
+
* {:db/ident :friends
|
|
820
|
+
* :db/type :db.type/ref
|
|
821
|
+
* :db/cardinality :db.cardinality/many}]
|
|
822
|
+
*
|
|
823
|
+
* (d/transact db [{:db/id 4 :name "Ivan"
|
|
824
|
+
* {:db/id 4 :likes "fries"
|
|
825
|
+
* {:db/id 4 :likes "pizza"}
|
|
826
|
+
* {:db/id 4 :friends 5}])
|
|
827
|
+
*
|
|
828
|
+
* (d/transact db [{:db/id 5 :name "Oleg"}
|
|
829
|
+
* {:db/id 5 :likes "candy"}
|
|
830
|
+
* {:db/id 5 :likes "pie"}
|
|
831
|
+
* {:db/id 5 :likes "pizza"}])
|
|
832
|
+
*
|
|
833
|
+
* Find all datoms for entity id == 1 (any attrs and values) sort by attribute, then value
|
|
834
|
+
*
|
|
835
|
+
* (datoms @db {:index :eavt
|
|
836
|
+
* :components [1]}) ; => (#datahike/Datom [1 :friends 2]
|
|
837
|
+
* ; #datahike/Datom [1 :likes "fries"]
|
|
838
|
+
* ; #datahike/Datom [1 :likes "pizza"]
|
|
839
|
+
* ; #datahike/Datom [1 :name "Ivan"])
|
|
840
|
+
*
|
|
841
|
+
* Find all datoms for entity id == 1 and attribute == :likes (any values) sorted by value
|
|
842
|
+
*
|
|
843
|
+
* (datoms @db {:index :eavt
|
|
844
|
+
* :components [1 :likes]}) ; => (#datahike/Datom [1 :likes "fries"]
|
|
845
|
+
* ; #datahike/Datom [1 :likes "pizza"])
|
|
846
|
+
*
|
|
847
|
+
* Find all datoms for entity id == 1, attribute == :likes and value == "pizza"
|
|
848
|
+
*
|
|
849
|
+
* (datoms @db {:index :eavt
|
|
850
|
+
* :components [1 :likes "pizza"]}) ; => (#datahike/Datom [1 :likes "pizza"])
|
|
851
|
+
*
|
|
852
|
+
* Find all datoms for attribute == :likes (any entity ids and values) sorted by entity id, then value
|
|
853
|
+
*
|
|
854
|
+
* (datoms @db {:index :aevt
|
|
855
|
+
* :components [:likes]}) ; => (#datahike/Datom [1 :likes "fries"]
|
|
856
|
+
* ; #datahike/Datom [1 :likes "pizza"]
|
|
857
|
+
* ; #datahike/Datom [2 :likes "candy"]
|
|
858
|
+
* ; #datahike/Datom [2 :likes "pie"]
|
|
859
|
+
* ; #datahike/Datom [2 :likes "pizza"])
|
|
860
|
+
*
|
|
861
|
+
* Find all datoms that have attribute == `:likes` and value == `"pizza"` (any entity id)
|
|
862
|
+
* `:likes` must be a unique attr, reference or marked as `:db/index true`
|
|
863
|
+
*
|
|
864
|
+
* (datoms @db {:index :avet
|
|
865
|
+
* :components [:likes "pizza"]}) ; => (#datahike/Datom [1 :likes "pizza"]
|
|
866
|
+
* ; #datahike/Datom [2 :likes "pizza"])
|
|
867
|
+
*
|
|
868
|
+
* Find all datoms sorted by entity id, then attribute, then value
|
|
869
|
+
*
|
|
870
|
+
* (datoms @db {:index :eavt}) ; => (...)
|
|
871
|
+
*
|
|
872
|
+
*
|
|
873
|
+
* Useful patterns:
|
|
874
|
+
*
|
|
875
|
+
* Get all values of :db.cardinality/many attribute
|
|
876
|
+
*
|
|
877
|
+
* (->> (datoms @db {:index :eavt
|
|
878
|
+
* :components [eid attr]})
|
|
879
|
+
* (map :v))
|
|
880
|
+
*
|
|
881
|
+
* Lookup entity ids by attribute value
|
|
882
|
+
*
|
|
883
|
+
* (->> (datoms @db {:index :avet
|
|
884
|
+
* :components [attr value]})
|
|
885
|
+
* (map :e))
|
|
886
|
+
*
|
|
887
|
+
* Find all entities with a specific attribute
|
|
888
|
+
*
|
|
889
|
+
* (->> (datoms @db {:index :aevt
|
|
890
|
+
* :components [attr]})
|
|
891
|
+
* (map :e))
|
|
892
|
+
*
|
|
893
|
+
* Find “singleton” entity by its attr
|
|
894
|
+
*
|
|
895
|
+
* (->> (datoms @db {:index :aevt
|
|
896
|
+
* :components [attr]})
|
|
897
|
+
* first
|
|
898
|
+
* :e)
|
|
899
|
+
*
|
|
900
|
+
* Find N entities with lowest attr value (e.g. 10 earliest posts)
|
|
901
|
+
*
|
|
902
|
+
* (->> (datoms @db {:index :avet
|
|
903
|
+
* :components [attr]})
|
|
904
|
+
* (take N))
|
|
905
|
+
*
|
|
906
|
+
* Find N entities with highest attr value (e.g. 10 latest posts)
|
|
907
|
+
*
|
|
908
|
+
* (->> (datoms @db {:index :avet
|
|
909
|
+
* :components [attr]})
|
|
910
|
+
* (reverse)
|
|
911
|
+
* (take N))
|
|
912
|
+
*
|
|
913
|
+
*
|
|
914
|
+
* Gotchas:
|
|
915
|
+
*
|
|
916
|
+
* - Index lookup is usually more efficient than doing a query with a single clause.
|
|
917
|
+
* - Resulting iterator is calculated in constant time and small constant memory overhead.
|
|
918
|
+
* - Iterator supports efficient `first`, `next`, `reverse`, `seq` and is itself a sequence.
|
|
919
|
+
* - Will not return datoms that are not part of the index (e.g. attributes with no `:db/index` in schema when querying `:avet` index).
|
|
920
|
+
* - `:eavt` and `:aevt` contain all datoms.
|
|
921
|
+
* - `:avet` only contains datoms for references, `:db/unique` and `:db/index` attributes.
|
|
922
|
+
*/
|
|
923
|
+
datahike.js.api.datoms = (function datahike$js$api$datoms(var_args){
|
|
924
|
+
var args__5732__auto__ = [];
|
|
925
|
+
var len__5726__auto___75948 = arguments.length;
|
|
926
|
+
var i__5727__auto___75949 = (0);
|
|
927
|
+
while(true){
|
|
928
|
+
if((i__5727__auto___75949 < len__5726__auto___75948)){
|
|
929
|
+
args__5732__auto__.push((arguments[i__5727__auto___75949]));
|
|
930
|
+
|
|
931
|
+
var G__75950 = (i__5727__auto___75949 + (1));
|
|
932
|
+
i__5727__auto___75949 = G__75950;
|
|
933
|
+
continue;
|
|
934
|
+
} else {
|
|
935
|
+
}
|
|
936
|
+
break;
|
|
937
|
+
}
|
|
938
|
+
|
|
939
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
940
|
+
return datahike.js.api.datoms.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
941
|
+
});
|
|
942
|
+
goog.exportSymbol('datahike.js.api.datoms', datahike.js.api.datoms);
|
|
943
|
+
|
|
944
|
+
(datahike.js.api.datoms.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
945
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
946
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.api.impl.datoms,clj_args__75754__auto__);
|
|
947
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
948
|
+
}));
|
|
949
|
+
|
|
950
|
+
(datahike.js.api.datoms.cljs$lang$maxFixedArity = (0));
|
|
951
|
+
|
|
952
|
+
/** @this {Function} */
|
|
953
|
+
(datahike.js.api.datoms.cljs$lang$applyTo = (function (seq75863){
|
|
954
|
+
var self__5712__auto__ = this;
|
|
955
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75863));
|
|
956
|
+
}));
|
|
957
|
+
|
|
958
|
+
|
|
959
|
+
/**
|
|
960
|
+
* Load entities directly
|
|
961
|
+
*/
|
|
962
|
+
datahike.js.api.loadEntities = (function datahike$js$api$loadEntities(var_args){
|
|
963
|
+
var args__5732__auto__ = [];
|
|
964
|
+
var len__5726__auto___75951 = arguments.length;
|
|
965
|
+
var i__5727__auto___75952 = (0);
|
|
966
|
+
while(true){
|
|
967
|
+
if((i__5727__auto___75952 < len__5726__auto___75951)){
|
|
968
|
+
args__5732__auto__.push((arguments[i__5727__auto___75952]));
|
|
969
|
+
|
|
970
|
+
var G__75953 = (i__5727__auto___75952 + (1));
|
|
971
|
+
i__5727__auto___75952 = G__75953;
|
|
972
|
+
continue;
|
|
973
|
+
} else {
|
|
974
|
+
}
|
|
975
|
+
break;
|
|
976
|
+
}
|
|
977
|
+
|
|
978
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
979
|
+
return datahike.js.api.loadEntities.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
980
|
+
});
|
|
981
|
+
goog.exportSymbol('datahike.js.api.loadEntities', datahike.js.api.loadEntities);
|
|
982
|
+
|
|
983
|
+
(datahike.js.api.loadEntities.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
984
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
985
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.writer.load_entities,clj_args__75754__auto__);
|
|
986
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
987
|
+
}));
|
|
988
|
+
|
|
989
|
+
(datahike.js.api.loadEntities.cljs$lang$maxFixedArity = (0));
|
|
990
|
+
|
|
991
|
+
/** @this {Function} */
|
|
992
|
+
(datahike.js.api.loadEntities.cljs$lang$applyTo = (function (seq75864){
|
|
993
|
+
var self__5712__auto__ = this;
|
|
994
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75864));
|
|
995
|
+
}));
|
|
996
|
+
|
|
997
|
+
|
|
998
|
+
/**
|
|
999
|
+
* Returns `true` if this database was filtered using [[filter]], `false` otherwise.
|
|
1000
|
+
*/
|
|
1001
|
+
datahike.js.api.isFiltered = (function datahike$js$api$isFiltered(var_args){
|
|
1002
|
+
var args__5732__auto__ = [];
|
|
1003
|
+
var len__5726__auto___75954 = arguments.length;
|
|
1004
|
+
var i__5727__auto___75955 = (0);
|
|
1005
|
+
while(true){
|
|
1006
|
+
if((i__5727__auto___75955 < len__5726__auto___75954)){
|
|
1007
|
+
args__5732__auto__.push((arguments[i__5727__auto___75955]));
|
|
1008
|
+
|
|
1009
|
+
var G__75956 = (i__5727__auto___75955 + (1));
|
|
1010
|
+
i__5727__auto___75955 = G__75956;
|
|
1011
|
+
continue;
|
|
1012
|
+
} else {
|
|
1013
|
+
}
|
|
1014
|
+
break;
|
|
1015
|
+
}
|
|
1016
|
+
|
|
1017
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
1018
|
+
return datahike.js.api.isFiltered.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
1019
|
+
});
|
|
1020
|
+
goog.exportSymbol('datahike.js.api.isFiltered', datahike.js.api.isFiltered);
|
|
1021
|
+
|
|
1022
|
+
(datahike.js.api.isFiltered.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
1023
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
1024
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.core.is_filtered,clj_args__75754__auto__);
|
|
1025
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
1026
|
+
}));
|
|
1027
|
+
|
|
1028
|
+
(datahike.js.api.isFiltered.cljs$lang$maxFixedArity = (0));
|
|
1029
|
+
|
|
1030
|
+
/** @this {Function} */
|
|
1031
|
+
(datahike.js.api.isFiltered.cljs$lang$applyTo = (function (seq75865){
|
|
1032
|
+
var self__5712__auto__ = this;
|
|
1033
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75865));
|
|
1034
|
+
}));
|
|
1035
|
+
|
|
1036
|
+
|
|
1037
|
+
/**
|
|
1038
|
+
* Executes a datalog query. See [docs.datomic.com/on-prem/query.html](https://docs.datomic.com/on-prem/query.html).
|
|
1039
|
+
*
|
|
1040
|
+
* Usage:
|
|
1041
|
+
*
|
|
1042
|
+
* Query as parameter with additional args:
|
|
1043
|
+
*
|
|
1044
|
+
* (q '[:find ?value
|
|
1045
|
+
* :where [_ :likes ?value]]
|
|
1046
|
+
* #{[1 :likes "fries"]
|
|
1047
|
+
* [2 :likes "candy"]
|
|
1048
|
+
* [3 :likes "pie"]
|
|
1049
|
+
* [4 :likes "pizza"]}) ; => #{["fries"] ["candy"] ["pie"] ["pizza"]}
|
|
1050
|
+
*
|
|
1051
|
+
* Or query passed in arg-map:
|
|
1052
|
+
*
|
|
1053
|
+
* (q {:query '[:find ?value
|
|
1054
|
+
* :where [_ :likes ?value]]
|
|
1055
|
+
* :offset 2
|
|
1056
|
+
* :limit 1
|
|
1057
|
+
* :args [#{[1 :likes "fries"]
|
|
1058
|
+
* [2 :likes "candy"]
|
|
1059
|
+
* [3 :likes "pie"]
|
|
1060
|
+
* [4 :likes "pizza"]}]}) ; => #{["fries"] ["candy"] ["pie"] ["pizza"]}
|
|
1061
|
+
*
|
|
1062
|
+
* Or query passed as map of vectors:
|
|
1063
|
+
*
|
|
1064
|
+
* (q '{:find [?value] :where [[_ :likes ?value]]}
|
|
1065
|
+
* #{[1 :likes "fries"]
|
|
1066
|
+
* [2 :likes "candy"]
|
|
1067
|
+
* [3 :likes "pie"]
|
|
1068
|
+
* [4 :likes "pizza"]}) ; => #{["fries"] ["candy"] ["pie"] ["pizza"]}
|
|
1069
|
+
*
|
|
1070
|
+
* Or query passed as string:
|
|
1071
|
+
*
|
|
1072
|
+
* (q {:query "[:find ?value :where [_ :likes ?value]]"
|
|
1073
|
+
* :args [#{[1 :likes "fries"]
|
|
1074
|
+
* [2 :likes "candy"]
|
|
1075
|
+
* [3 :likes "pie"]
|
|
1076
|
+
* [4 :likes "pizza"]}]})
|
|
1077
|
+
*
|
|
1078
|
+
* Query passed as map needs vectors as values. Query can not be passed as list. The 1-arity function takes a map with the arguments :query and :args and optionally the additional keys :offset and :limit.
|
|
1079
|
+
*/
|
|
1080
|
+
datahike.js.api.q = (function datahike$js$api$q(var_args){
|
|
1081
|
+
var args__5732__auto__ = [];
|
|
1082
|
+
var len__5726__auto___75957 = arguments.length;
|
|
1083
|
+
var i__5727__auto___75958 = (0);
|
|
1084
|
+
while(true){
|
|
1085
|
+
if((i__5727__auto___75958 < len__5726__auto___75957)){
|
|
1086
|
+
args__5732__auto__.push((arguments[i__5727__auto___75958]));
|
|
1087
|
+
|
|
1088
|
+
var G__75959 = (i__5727__auto___75958 + (1));
|
|
1089
|
+
i__5727__auto___75958 = G__75959;
|
|
1090
|
+
continue;
|
|
1091
|
+
} else {
|
|
1092
|
+
}
|
|
1093
|
+
break;
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1096
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
1097
|
+
return datahike.js.api.q.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
1098
|
+
});
|
|
1099
|
+
goog.exportSymbol('datahike.js.api.q', datahike.js.api.q);
|
|
1100
|
+
|
|
1101
|
+
(datahike.js.api.q.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
1102
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
1103
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.query.q,clj_args__75754__auto__);
|
|
1104
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
1105
|
+
}));
|
|
1106
|
+
|
|
1107
|
+
(datahike.js.api.q.cljs$lang$maxFixedArity = (0));
|
|
1108
|
+
|
|
1109
|
+
/** @this {Function} */
|
|
1110
|
+
(datahike.js.api.q.cljs$lang$applyTo = (function (seq75866){
|
|
1111
|
+
var self__5712__auto__ = this;
|
|
1112
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75866));
|
|
1113
|
+
}));
|
|
1114
|
+
|
|
1115
|
+
|
|
1116
|
+
/**
|
|
1117
|
+
* Returns current schema definition.
|
|
1118
|
+
*/
|
|
1119
|
+
datahike.js.api.schema = (function datahike$js$api$schema(var_args){
|
|
1120
|
+
var args__5732__auto__ = [];
|
|
1121
|
+
var len__5726__auto___75960 = arguments.length;
|
|
1122
|
+
var i__5727__auto___75961 = (0);
|
|
1123
|
+
while(true){
|
|
1124
|
+
if((i__5727__auto___75961 < len__5726__auto___75960)){
|
|
1125
|
+
args__5732__auto__.push((arguments[i__5727__auto___75961]));
|
|
1126
|
+
|
|
1127
|
+
var G__75962 = (i__5727__auto___75961 + (1));
|
|
1128
|
+
i__5727__auto___75961 = G__75962;
|
|
1129
|
+
continue;
|
|
1130
|
+
} else {
|
|
1131
|
+
}
|
|
1132
|
+
break;
|
|
1133
|
+
}
|
|
1134
|
+
|
|
1135
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
1136
|
+
return datahike.js.api.schema.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
1137
|
+
});
|
|
1138
|
+
goog.exportSymbol('datahike.js.api.schema', datahike.js.api.schema);
|
|
1139
|
+
|
|
1140
|
+
(datahike.js.api.schema.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
1141
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
1142
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.api.impl.schema,clj_args__75754__auto__);
|
|
1143
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
1144
|
+
}));
|
|
1145
|
+
|
|
1146
|
+
(datahike.js.api.schema.cljs$lang$maxFixedArity = (0));
|
|
1147
|
+
|
|
1148
|
+
/** @this {Function} */
|
|
1149
|
+
(datahike.js.api.schema.cljs$lang$applyTo = (function (seq75867){
|
|
1150
|
+
var self__5712__auto__ = this;
|
|
1151
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75867));
|
|
1152
|
+
}));
|
|
1153
|
+
|
|
1154
|
+
|
|
1155
|
+
/**
|
|
1156
|
+
* Returns part of `:avet` index between `[_ attr start]` and `[_ attr end]` in AVET sort order.
|
|
1157
|
+
*
|
|
1158
|
+
* Same properties as [[datoms]].
|
|
1159
|
+
*
|
|
1160
|
+
* `attr` must be a reference, unique attribute or marked as `:db/index true`.
|
|
1161
|
+
*
|
|
1162
|
+
* Usage:
|
|
1163
|
+
*
|
|
1164
|
+
*
|
|
1165
|
+
* (transact db {:tx-data [{:db/ident :name
|
|
1166
|
+
* :db/type :db.type/string
|
|
1167
|
+
* :db/cardinality :db.cardinality/one}
|
|
1168
|
+
* {:db/ident :likes
|
|
1169
|
+
* :db/index true
|
|
1170
|
+
* :db/type :db.type/string
|
|
1171
|
+
* :db/cardinality :db.cardinality/many}
|
|
1172
|
+
* {:db/ident :age
|
|
1173
|
+
* :db/unique :db.unique/identity
|
|
1174
|
+
* :db/type :db.type/ref
|
|
1175
|
+
* :db/cardinality :db.cardinality/many}]})
|
|
1176
|
+
*
|
|
1177
|
+
* (transact db {:tx-data [{:name "Ivan"}
|
|
1178
|
+
* {:age 19}
|
|
1179
|
+
* {:likes "fries"}
|
|
1180
|
+
* {:likes "pizza"}
|
|
1181
|
+
* {:likes "candy"}
|
|
1182
|
+
* {:likes "pie"}
|
|
1183
|
+
* {:likes "pizza"}]})
|
|
1184
|
+
*
|
|
1185
|
+
* (index-range db {:attrid :likes
|
|
1186
|
+
* :start "a"
|
|
1187
|
+
* :end "zzzzzzzzz"}) ; => '(#datahike/Datom [2 :likes "candy"]
|
|
1188
|
+
* ; #datahike/Datom [1 :likes "fries"]
|
|
1189
|
+
* ; #datahike/Datom [2 :likes "pie"]
|
|
1190
|
+
* ; #datahike/Datom [1 :likes "pizza"]
|
|
1191
|
+
* ; #datahike/Datom [2 :likes "pizza"])
|
|
1192
|
+
*
|
|
1193
|
+
* (index-range db {:attrid :likes
|
|
1194
|
+
* :start "egg"
|
|
1195
|
+
* :end "pineapple"}) ; => '(#datahike/Datom [1 :likes "fries"]
|
|
1196
|
+
* ; #datahike/Datom [2 :likes "pie"])
|
|
1197
|
+
*
|
|
1198
|
+
* Useful patterns:
|
|
1199
|
+
*
|
|
1200
|
+
* ; find all entities with age in a specific range (inclusive)
|
|
1201
|
+
* (->> (index-range db {:attrid :age :start 18 :end 60}) (map :e))
|
|
1202
|
+
*/
|
|
1203
|
+
datahike.js.api.indexRange = (function datahike$js$api$indexRange(var_args){
|
|
1204
|
+
var args__5732__auto__ = [];
|
|
1205
|
+
var len__5726__auto___75963 = arguments.length;
|
|
1206
|
+
var i__5727__auto___75964 = (0);
|
|
1207
|
+
while(true){
|
|
1208
|
+
if((i__5727__auto___75964 < len__5726__auto___75963)){
|
|
1209
|
+
args__5732__auto__.push((arguments[i__5727__auto___75964]));
|
|
1210
|
+
|
|
1211
|
+
var G__75965 = (i__5727__auto___75964 + (1));
|
|
1212
|
+
i__5727__auto___75964 = G__75965;
|
|
1213
|
+
continue;
|
|
1214
|
+
} else {
|
|
1215
|
+
}
|
|
1216
|
+
break;
|
|
1217
|
+
}
|
|
1218
|
+
|
|
1219
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
1220
|
+
return datahike.js.api.indexRange.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
1221
|
+
});
|
|
1222
|
+
goog.exportSymbol('datahike.js.api.indexRange', datahike.js.api.indexRange);
|
|
1223
|
+
|
|
1224
|
+
(datahike.js.api.indexRange.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
1225
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
1226
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.api.impl.index_range,clj_args__75754__auto__);
|
|
1227
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
1228
|
+
}));
|
|
1229
|
+
|
|
1230
|
+
(datahike.js.api.indexRange.cljs$lang$maxFixedArity = (0));
|
|
1231
|
+
|
|
1232
|
+
/** @this {Function} */
|
|
1233
|
+
(datahike.js.api.indexRange.cljs$lang$applyTo = (function (seq75868){
|
|
1234
|
+
var self__5712__auto__ = this;
|
|
1235
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75868));
|
|
1236
|
+
}));
|
|
1237
|
+
|
|
1238
|
+
|
|
1239
|
+
/**
|
|
1240
|
+
* Same as [[pull]], but accepts sequence of ids and returns sequence of maps.
|
|
1241
|
+
*
|
|
1242
|
+
* Usage:
|
|
1243
|
+
*
|
|
1244
|
+
* (pull-many db [:db/id :name] [1 2]) ; => [{:db/id 1, :name "Ivan"}
|
|
1245
|
+
* {:db/id 2, :name "Oleg"}]
|
|
1246
|
+
*/
|
|
1247
|
+
datahike.js.api.pullMany = (function datahike$js$api$pullMany(var_args){
|
|
1248
|
+
var args__5732__auto__ = [];
|
|
1249
|
+
var len__5726__auto___75966 = arguments.length;
|
|
1250
|
+
var i__5727__auto___75967 = (0);
|
|
1251
|
+
while(true){
|
|
1252
|
+
if((i__5727__auto___75967 < len__5726__auto___75966)){
|
|
1253
|
+
args__5732__auto__.push((arguments[i__5727__auto___75967]));
|
|
1254
|
+
|
|
1255
|
+
var G__75968 = (i__5727__auto___75967 + (1));
|
|
1256
|
+
i__5727__auto___75967 = G__75968;
|
|
1257
|
+
continue;
|
|
1258
|
+
} else {
|
|
1259
|
+
}
|
|
1260
|
+
break;
|
|
1261
|
+
}
|
|
1262
|
+
|
|
1263
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
1264
|
+
return datahike.js.api.pullMany.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
1265
|
+
});
|
|
1266
|
+
goog.exportSymbol('datahike.js.api.pullMany', datahike.js.api.pullMany);
|
|
1267
|
+
|
|
1268
|
+
(datahike.js.api.pullMany.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
1269
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
1270
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.pull_api.pull_many,clj_args__75754__auto__);
|
|
1271
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
1272
|
+
}));
|
|
1273
|
+
|
|
1274
|
+
(datahike.js.api.pullMany.cljs$lang$maxFixedArity = (0));
|
|
1275
|
+
|
|
1276
|
+
/** @this {Function} */
|
|
1277
|
+
(datahike.js.api.pullMany.cljs$lang$applyTo = (function (seq75869){
|
|
1278
|
+
var self__5712__auto__ = this;
|
|
1279
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75869));
|
|
1280
|
+
}));
|
|
1281
|
+
|
|
1282
|
+
|
|
1283
|
+
/**
|
|
1284
|
+
* Returns the database state since a given point in time (you may use either java.util.Date or a transaction ID as long).
|
|
1285
|
+
* Be aware: the database contains only the datoms that were added since the date.
|
|
1286
|
+
*
|
|
1287
|
+
*
|
|
1288
|
+
* (transact conn {:tx-data [{:db/ident :name
|
|
1289
|
+
* :db/valueType :db.type/string
|
|
1290
|
+
* :db/unique :db.unique/identity
|
|
1291
|
+
* :db/index true
|
|
1292
|
+
* :db/cardinality :db.cardinality/one}
|
|
1293
|
+
* {:db/ident :age
|
|
1294
|
+
* :db/valueType :db.type/long
|
|
1295
|
+
* :db/cardinality :db.cardinality/one}]})
|
|
1296
|
+
*
|
|
1297
|
+
* (transact conn {:tx-data [{:name "Alice" :age 25} {:name "Bob" :age 30}]})
|
|
1298
|
+
*
|
|
1299
|
+
* (def date (java.util.Date.))
|
|
1300
|
+
*
|
|
1301
|
+
* (transact conn [{:db/id [:name "Alice"] :age 30}])
|
|
1302
|
+
*
|
|
1303
|
+
* (q '[:find ?n ?a
|
|
1304
|
+
* :in $ $since
|
|
1305
|
+
* :where
|
|
1306
|
+
* [$ ?e :name ?n]
|
|
1307
|
+
* [$since ?e :age ?a]]
|
|
1308
|
+
* @conn
|
|
1309
|
+
* (since @conn date)) ; => #{["Alice" 30]}
|
|
1310
|
+
*
|
|
1311
|
+
* (q {:query '[:find ?n ?a :where [?e :name ?n] [?e :age ?a]]
|
|
1312
|
+
* :args [@conn]}) ; => #{["Alice" 30] ["Bob" 30]}
|
|
1313
|
+
*/
|
|
1314
|
+
datahike.js.api.since = (function datahike$js$api$since(var_args){
|
|
1315
|
+
var args__5732__auto__ = [];
|
|
1316
|
+
var len__5726__auto___75969 = arguments.length;
|
|
1317
|
+
var i__5727__auto___75970 = (0);
|
|
1318
|
+
while(true){
|
|
1319
|
+
if((i__5727__auto___75970 < len__5726__auto___75969)){
|
|
1320
|
+
args__5732__auto__.push((arguments[i__5727__auto___75970]));
|
|
1321
|
+
|
|
1322
|
+
var G__75971 = (i__5727__auto___75970 + (1));
|
|
1323
|
+
i__5727__auto___75970 = G__75971;
|
|
1324
|
+
continue;
|
|
1325
|
+
} else {
|
|
1326
|
+
}
|
|
1327
|
+
break;
|
|
1328
|
+
}
|
|
1329
|
+
|
|
1330
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
1331
|
+
return datahike.js.api.since.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
1332
|
+
});
|
|
1333
|
+
goog.exportSymbol('datahike.js.api.since', datahike.js.api.since);
|
|
1334
|
+
|
|
1335
|
+
(datahike.js.api.since.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
1336
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
1337
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.api.impl.since,clj_args__75754__auto__);
|
|
1338
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
1339
|
+
}));
|
|
1340
|
+
|
|
1341
|
+
(datahike.js.api.since.cljs$lang$maxFixedArity = (0));
|
|
1342
|
+
|
|
1343
|
+
/** @this {Function} */
|
|
1344
|
+
(datahike.js.api.since.cljs$lang$applyTo = (function (seq75870){
|
|
1345
|
+
var self__5712__auto__ = this;
|
|
1346
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75870));
|
|
1347
|
+
}));
|
|
1348
|
+
|
|
1349
|
+
|
|
1350
|
+
/**
|
|
1351
|
+
* Executes a datalog query and returns the result as well as some execution details.
|
|
1352
|
+
* Uses the same arguments as q does.
|
|
1353
|
+
*/
|
|
1354
|
+
datahike.js.api.queryStats = (function datahike$js$api$queryStats(var_args){
|
|
1355
|
+
var args__5732__auto__ = [];
|
|
1356
|
+
var len__5726__auto___75972 = arguments.length;
|
|
1357
|
+
var i__5727__auto___75973 = (0);
|
|
1358
|
+
while(true){
|
|
1359
|
+
if((i__5727__auto___75973 < len__5726__auto___75972)){
|
|
1360
|
+
args__5732__auto__.push((arguments[i__5727__auto___75973]));
|
|
1361
|
+
|
|
1362
|
+
var G__75974 = (i__5727__auto___75973 + (1));
|
|
1363
|
+
i__5727__auto___75973 = G__75974;
|
|
1364
|
+
continue;
|
|
1365
|
+
} else {
|
|
1366
|
+
}
|
|
1367
|
+
break;
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1370
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
1371
|
+
return datahike.js.api.queryStats.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
1372
|
+
});
|
|
1373
|
+
goog.exportSymbol('datahike.js.api.queryStats', datahike.js.api.queryStats);
|
|
1374
|
+
|
|
1375
|
+
(datahike.js.api.queryStats.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
1376
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
1377
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.query.query_stats,clj_args__75754__auto__);
|
|
1378
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
1379
|
+
}));
|
|
1380
|
+
|
|
1381
|
+
(datahike.js.api.queryStats.cljs$lang$maxFixedArity = (0));
|
|
1382
|
+
|
|
1383
|
+
/** @this {Function} */
|
|
1384
|
+
(datahike.js.api.queryStats.cljs$lang$applyTo = (function (seq75871){
|
|
1385
|
+
var self__5712__auto__ = this;
|
|
1386
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75871));
|
|
1387
|
+
}));
|
|
1388
|
+
|
|
1389
|
+
|
|
1390
|
+
/**
|
|
1391
|
+
* Returns a db that entity was created from.
|
|
1392
|
+
*/
|
|
1393
|
+
datahike.js.api.entityDb = (function datahike$js$api$entityDb(var_args){
|
|
1394
|
+
var args__5732__auto__ = [];
|
|
1395
|
+
var len__5726__auto___75975 = arguments.length;
|
|
1396
|
+
var i__5727__auto___75976 = (0);
|
|
1397
|
+
while(true){
|
|
1398
|
+
if((i__5727__auto___75976 < len__5726__auto___75975)){
|
|
1399
|
+
args__5732__auto__.push((arguments[i__5727__auto___75976]));
|
|
1400
|
+
|
|
1401
|
+
var G__75977 = (i__5727__auto___75976 + (1));
|
|
1402
|
+
i__5727__auto___75976 = G__75977;
|
|
1403
|
+
continue;
|
|
1404
|
+
} else {
|
|
1405
|
+
}
|
|
1406
|
+
break;
|
|
1407
|
+
}
|
|
1408
|
+
|
|
1409
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
1410
|
+
return datahike.js.api.entityDb.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
1411
|
+
});
|
|
1412
|
+
goog.exportSymbol('datahike.js.api.entityDb', datahike.js.api.entityDb);
|
|
1413
|
+
|
|
1414
|
+
(datahike.js.api.entityDb.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
1415
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
1416
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.impl.entity.entity_db,clj_args__75754__auto__);
|
|
1417
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
1418
|
+
}));
|
|
1419
|
+
|
|
1420
|
+
(datahike.js.api.entityDb.cljs$lang$maxFixedArity = (0));
|
|
1421
|
+
|
|
1422
|
+
/** @this {Function} */
|
|
1423
|
+
(datahike.js.api.entityDb.cljs$lang$applyTo = (function (seq75872){
|
|
1424
|
+
var self__5712__auto__ = this;
|
|
1425
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75872));
|
|
1426
|
+
}));
|
|
1427
|
+
|
|
1428
|
+
|
|
1429
|
+
/**
|
|
1430
|
+
* Invokes garbage collection on the store of connection by whitelisting currently known branches.
|
|
1431
|
+
* All db snapshots on these branches before remove-before date will also be
|
|
1432
|
+
* erased (defaults to beginning of time [no erasure]). The branch heads will
|
|
1433
|
+
* always be retained. Return the set of removed blobs from the store.
|
|
1434
|
+
*/
|
|
1435
|
+
datahike.js.api.gcStorage = (function datahike$js$api$gcStorage(var_args){
|
|
1436
|
+
var args__5732__auto__ = [];
|
|
1437
|
+
var len__5726__auto___75978 = arguments.length;
|
|
1438
|
+
var i__5727__auto___75979 = (0);
|
|
1439
|
+
while(true){
|
|
1440
|
+
if((i__5727__auto___75979 < len__5726__auto___75978)){
|
|
1441
|
+
args__5732__auto__.push((arguments[i__5727__auto___75979]));
|
|
1442
|
+
|
|
1443
|
+
var G__75980 = (i__5727__auto___75979 + (1));
|
|
1444
|
+
i__5727__auto___75979 = G__75980;
|
|
1445
|
+
continue;
|
|
1446
|
+
} else {
|
|
1447
|
+
}
|
|
1448
|
+
break;
|
|
1449
|
+
}
|
|
1450
|
+
|
|
1451
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
1452
|
+
return datahike.js.api.gcStorage.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
1453
|
+
});
|
|
1454
|
+
goog.exportSymbol('datahike.js.api.gcStorage', datahike.js.api.gcStorage);
|
|
1455
|
+
|
|
1456
|
+
(datahike.js.api.gcStorage.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
1457
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
1458
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.writer.gc_storage_BANG_,clj_args__75754__auto__);
|
|
1459
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
1460
|
+
}));
|
|
1461
|
+
|
|
1462
|
+
(datahike.js.api.gcStorage.cljs$lang$maxFixedArity = (0));
|
|
1463
|
+
|
|
1464
|
+
/** @this {Function} */
|
|
1465
|
+
(datahike.js.api.gcStorage.cljs$lang$applyTo = (function (seq75873){
|
|
1466
|
+
var self__5712__auto__ = this;
|
|
1467
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75873));
|
|
1468
|
+
}));
|
|
1469
|
+
|
|
1470
|
+
|
|
1471
|
+
/**
|
|
1472
|
+
* Creates a database via configuration map. For more information on the configuration refer to the [docs](https://github.com/replikativ/datahike/blob/master/doc/config.md).
|
|
1473
|
+
*
|
|
1474
|
+
* The configuration is a hash-map with keys: `:store`, `:initial-tx`, `:keep-history?`, `:schema-flexibility`, `:index`
|
|
1475
|
+
*
|
|
1476
|
+
* - `:store` defines the backend configuration as hash-map with mandatory key: `:backend` and store dependent keys.
|
|
1477
|
+
* Per default Datahike ships with `:memory` and `:file` backend.
|
|
1478
|
+
* - `:initial-tx` defines the first transaction into the database, often setting default data like the schema.
|
|
1479
|
+
* - `:keep-history?` is a boolean that toggles whether Datahike keeps historical data.
|
|
1480
|
+
* - `:schema-flexibility` can be set to either `:read` or `:write` setting the validation method for the data.
|
|
1481
|
+
* - `:read` validates the data when your read data from the database, `:write` validates the data when you transact new data.
|
|
1482
|
+
* - `:index` defines the data type of the index. Available are `:datahike.index/hitchhiker-tree`, `:datahike.index/persistent-set` (only available with in-memory storage)
|
|
1483
|
+
* - `:name` defines your database name optionally, if not set, a random name is created
|
|
1484
|
+
* - `:writer` optionally configures a writer as a hash map. If not set, the default local writer is used.
|
|
1485
|
+
*
|
|
1486
|
+
* Default configuration has in-memory store, keeps history with write schema flexibility, and has no initial transaction:
|
|
1487
|
+
* `{:store {:backend :memory :id "default"} :keep-history? true :schema-flexibility :write}`
|
|
1488
|
+
*
|
|
1489
|
+
* Usage:
|
|
1490
|
+
*
|
|
1491
|
+
* ;; create an empty database:
|
|
1492
|
+
* (create-database {:store {:backend :memory :id "example"} :name "my-favourite-database"})
|
|
1493
|
+
*
|
|
1494
|
+
* ;; Datahike has a strict schema validation (schema-flexibility `:write`) policy by default, that only allows transaction of data that has been pre-defined by a schema.
|
|
1495
|
+
* ;; You may influence this behaviour using the `:schema-flexibility` attribute:
|
|
1496
|
+
* (create-database {:store {:backend :memory :id "example"} :schema-flexibility :read})
|
|
1497
|
+
*
|
|
1498
|
+
* ;; By writing historical data in a separate index, datahike has the capability of querying data from any point in time.
|
|
1499
|
+
* ;; You may control this feature using the `:keep-history?` attribute:
|
|
1500
|
+
* (create-database {:store {:backend :memory :id "example"} :keep-history? false})
|
|
1501
|
+
*
|
|
1502
|
+
* ;; Initial data after creation may be added using the `:initial-tx` attribute, which in this example adds a schema:
|
|
1503
|
+
* (create-database {:store {:backend :memory :id "example"} :initial-tx [{:db/ident :name :db/valueType :db.type/string :db.cardinality/one}]})
|
|
1504
|
+
*/
|
|
1505
|
+
datahike.js.api.createDatabase = (function datahike$js$api$createDatabase(var_args){
|
|
1506
|
+
var args__5732__auto__ = [];
|
|
1507
|
+
var len__5726__auto___75981 = arguments.length;
|
|
1508
|
+
var i__5727__auto___75982 = (0);
|
|
1509
|
+
while(true){
|
|
1510
|
+
if((i__5727__auto___75982 < len__5726__auto___75981)){
|
|
1511
|
+
args__5732__auto__.push((arguments[i__5727__auto___75982]));
|
|
1512
|
+
|
|
1513
|
+
var G__75983 = (i__5727__auto___75982 + (1));
|
|
1514
|
+
i__5727__auto___75982 = G__75983;
|
|
1515
|
+
continue;
|
|
1516
|
+
} else {
|
|
1517
|
+
}
|
|
1518
|
+
break;
|
|
1519
|
+
}
|
|
1520
|
+
|
|
1521
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
1522
|
+
return datahike.js.api.createDatabase.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
1523
|
+
});
|
|
1524
|
+
goog.exportSymbol('datahike.js.api.createDatabase', datahike.js.api.createDatabase);
|
|
1525
|
+
|
|
1526
|
+
(datahike.js.api.createDatabase.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
1527
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
1528
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.api.impl.create_database,clj_args__75754__auto__);
|
|
1529
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
1530
|
+
}));
|
|
1531
|
+
|
|
1532
|
+
(datahike.js.api.createDatabase.cljs$lang$maxFixedArity = (0));
|
|
1533
|
+
|
|
1534
|
+
/** @this {Function} */
|
|
1535
|
+
(datahike.js.api.createDatabase.cljs$lang$applyTo = (function (seq75874){
|
|
1536
|
+
var self__5712__auto__ = this;
|
|
1537
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75874));
|
|
1538
|
+
}));
|
|
1539
|
+
|
|
1540
|
+
|
|
1541
|
+
/**
|
|
1542
|
+
* Returns the underlying immutable database value from a connection.
|
|
1543
|
+
*
|
|
1544
|
+
* Exists for Datomic API compatibility. Prefer using `@conn` directly if possible.
|
|
1545
|
+
*/
|
|
1546
|
+
datahike.js.api.db = (function datahike$js$api$db(var_args){
|
|
1547
|
+
var args__5732__auto__ = [];
|
|
1548
|
+
var len__5726__auto___75984 = arguments.length;
|
|
1549
|
+
var i__5727__auto___75985 = (0);
|
|
1550
|
+
while(true){
|
|
1551
|
+
if((i__5727__auto___75985 < len__5726__auto___75984)){
|
|
1552
|
+
args__5732__auto__.push((arguments[i__5727__auto___75985]));
|
|
1553
|
+
|
|
1554
|
+
var G__75986 = (i__5727__auto___75985 + (1));
|
|
1555
|
+
i__5727__auto___75985 = G__75986;
|
|
1556
|
+
continue;
|
|
1557
|
+
} else {
|
|
1558
|
+
}
|
|
1559
|
+
break;
|
|
1560
|
+
}
|
|
1561
|
+
|
|
1562
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
1563
|
+
return datahike.js.api.db.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
1564
|
+
});
|
|
1565
|
+
goog.exportSymbol('datahike.js.api.db', datahike.js.api.db);
|
|
1566
|
+
|
|
1567
|
+
(datahike.js.api.db.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
1568
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
1569
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.api.impl.db,clj_args__75754__auto__);
|
|
1570
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
1571
|
+
}));
|
|
1572
|
+
|
|
1573
|
+
(datahike.js.api.db.cljs$lang$maxFixedArity = (0));
|
|
1574
|
+
|
|
1575
|
+
/** @this {Function} */
|
|
1576
|
+
(datahike.js.api.db.cljs$lang$applyTo = (function (seq75875){
|
|
1577
|
+
var self__5712__auto__ = this;
|
|
1578
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75875));
|
|
1579
|
+
}));
|
|
1580
|
+
|
|
1581
|
+
|
|
1582
|
+
/**
|
|
1583
|
+
* Connects to a datahike database via configuration map. For more information on the configuration refer to the [docs](https://github.com/replikativ/datahike/blob/master/doc/config.md).
|
|
1584
|
+
*
|
|
1585
|
+
* The configuration for a connection is a subset of the Datahike configuration with only the store necessary: `:store`.
|
|
1586
|
+
*
|
|
1587
|
+
* `:store` defines the backend configuration as hash-map with mandatory key: `:backend` and store dependent keys.
|
|
1588
|
+
*
|
|
1589
|
+
* Per default Datahike ships with `:memory` and `:file` backend.
|
|
1590
|
+
*
|
|
1591
|
+
* The default configuration:
|
|
1592
|
+
* `{:store {:backend :memory :id "default"}}`
|
|
1593
|
+
*
|
|
1594
|
+
* Usage:
|
|
1595
|
+
*
|
|
1596
|
+
* Connect to default in-memory configuration:
|
|
1597
|
+
* `(connect)`
|
|
1598
|
+
*
|
|
1599
|
+
* Connect to a database with persistent store:
|
|
1600
|
+
* `(connect {:store {:backend :file :path "/tmp/example"}})`
|
|
1601
|
+
*/
|
|
1602
|
+
datahike.js.api.connect = (function datahike$js$api$connect(var_args){
|
|
1603
|
+
var args__5732__auto__ = [];
|
|
1604
|
+
var len__5726__auto___75987 = arguments.length;
|
|
1605
|
+
var i__5727__auto___75988 = (0);
|
|
1606
|
+
while(true){
|
|
1607
|
+
if((i__5727__auto___75988 < len__5726__auto___75987)){
|
|
1608
|
+
args__5732__auto__.push((arguments[i__5727__auto___75988]));
|
|
1609
|
+
|
|
1610
|
+
var G__75989 = (i__5727__auto___75988 + (1));
|
|
1611
|
+
i__5727__auto___75988 = G__75989;
|
|
1612
|
+
continue;
|
|
1613
|
+
} else {
|
|
1614
|
+
}
|
|
1615
|
+
break;
|
|
1616
|
+
}
|
|
1617
|
+
|
|
1618
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
1619
|
+
return datahike.js.api.connect.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
1620
|
+
});
|
|
1621
|
+
goog.exportSymbol('datahike.js.api.connect', datahike.js.api.connect);
|
|
1622
|
+
|
|
1623
|
+
(datahike.js.api.connect.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
1624
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
1625
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.connector.connect,clj_args__75754__auto__);
|
|
1626
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
1627
|
+
}));
|
|
1628
|
+
|
|
1629
|
+
(datahike.js.api.connect.cljs$lang$maxFixedArity = (0));
|
|
1630
|
+
|
|
1631
|
+
/** @this {Function} */
|
|
1632
|
+
(datahike.js.api.connect.cljs$lang$applyTo = (function (seq75876){
|
|
1633
|
+
var self__5712__auto__ = this;
|
|
1634
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75876));
|
|
1635
|
+
}));
|
|
1636
|
+
|
|
1637
|
+
|
|
1638
|
+
/**
|
|
1639
|
+
* Releases a database connection. You need to release a connection as many times as you connected to it for it to be completely released. Set release-all? to true to force its release.
|
|
1640
|
+
*/
|
|
1641
|
+
datahike.js.api.release = (function datahike$js$api$release(var_args){
|
|
1642
|
+
var args__5732__auto__ = [];
|
|
1643
|
+
var len__5726__auto___75990 = arguments.length;
|
|
1644
|
+
var i__5727__auto___75991 = (0);
|
|
1645
|
+
while(true){
|
|
1646
|
+
if((i__5727__auto___75991 < len__5726__auto___75990)){
|
|
1647
|
+
args__5732__auto__.push((arguments[i__5727__auto___75991]));
|
|
1648
|
+
|
|
1649
|
+
var G__75992 = (i__5727__auto___75991 + (1));
|
|
1650
|
+
i__5727__auto___75991 = G__75992;
|
|
1651
|
+
continue;
|
|
1652
|
+
} else {
|
|
1653
|
+
}
|
|
1654
|
+
break;
|
|
1655
|
+
}
|
|
1656
|
+
|
|
1657
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
1658
|
+
return datahike.js.api.release.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
1659
|
+
});
|
|
1660
|
+
goog.exportSymbol('datahike.js.api.release', datahike.js.api.release);
|
|
1661
|
+
|
|
1662
|
+
(datahike.js.api.release.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
1663
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
1664
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.connector.release,clj_args__75754__auto__);
|
|
1665
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
1666
|
+
}));
|
|
1667
|
+
|
|
1668
|
+
(datahike.js.api.release.cljs$lang$maxFixedArity = (0));
|
|
1669
|
+
|
|
1670
|
+
/** @this {Function} */
|
|
1671
|
+
(datahike.js.api.release.cljs$lang$applyTo = (function (seq75877){
|
|
1672
|
+
var self__5712__auto__ = this;
|
|
1673
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75877));
|
|
1674
|
+
}));
|
|
1675
|
+
|
|
1676
|
+
|
|
1677
|
+
/**
|
|
1678
|
+
* Returns the full historical state of the database you may interact with.
|
|
1679
|
+
*
|
|
1680
|
+
*
|
|
1681
|
+
* (transact conn {:tx-data [{:db/ident :name
|
|
1682
|
+
* :db/valueType :db.type/string
|
|
1683
|
+
* :db/unique :db.unique/identity
|
|
1684
|
+
* :db/index true
|
|
1685
|
+
* :db/cardinality :db.cardinality/one}
|
|
1686
|
+
* {:db/ident :age
|
|
1687
|
+
* :db/valueType :db.type/long
|
|
1688
|
+
* :db/cardinality :db.cardinality/one}]})
|
|
1689
|
+
*
|
|
1690
|
+
* (transact conn {:tx-data [{:name "Alice" :age 25} {:name "Bob" :age 30}]})
|
|
1691
|
+
*
|
|
1692
|
+
* (q {:query '[:find ?n ?a :where [?e :name ?n] [?e :age ?a]]
|
|
1693
|
+
* :args [(history @conn)]}) ; => #{["Alice" 25] ["Bob" 30]}
|
|
1694
|
+
*
|
|
1695
|
+
* (transact conn {:tx-data [{:db/id [:name "Alice"] :age 35}]})
|
|
1696
|
+
*
|
|
1697
|
+
* (q {:query '[:find ?n ?a :where [?e :name ?n] [?e :age ?a]]
|
|
1698
|
+
* :args [@conn]}) ; => #{["Alice" 35] ["Bob" 30]}
|
|
1699
|
+
*
|
|
1700
|
+
* (q {:query '[:find ?n ?a :where [?e :name ?n] [?e :age ?a]]
|
|
1701
|
+
* :args [(history @conn)]}) ; => #{["Alice" 25] ["Bob" 30]}
|
|
1702
|
+
*/
|
|
1703
|
+
datahike.js.api.history = (function datahike$js$api$history(var_args){
|
|
1704
|
+
var args__5732__auto__ = [];
|
|
1705
|
+
var len__5726__auto___75993 = arguments.length;
|
|
1706
|
+
var i__5727__auto___75994 = (0);
|
|
1707
|
+
while(true){
|
|
1708
|
+
if((i__5727__auto___75994 < len__5726__auto___75993)){
|
|
1709
|
+
args__5732__auto__.push((arguments[i__5727__auto___75994]));
|
|
1710
|
+
|
|
1711
|
+
var G__75995 = (i__5727__auto___75994 + (1));
|
|
1712
|
+
i__5727__auto___75994 = G__75995;
|
|
1713
|
+
continue;
|
|
1714
|
+
} else {
|
|
1715
|
+
}
|
|
1716
|
+
break;
|
|
1717
|
+
}
|
|
1718
|
+
|
|
1719
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
1720
|
+
return datahike.js.api.history.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
1721
|
+
});
|
|
1722
|
+
goog.exportSymbol('datahike.js.api.history', datahike.js.api.history);
|
|
1723
|
+
|
|
1724
|
+
(datahike.js.api.history.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
1725
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
1726
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.api.impl.history,clj_args__75754__auto__);
|
|
1727
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
1728
|
+
}));
|
|
1729
|
+
|
|
1730
|
+
(datahike.js.api.history.cljs$lang$maxFixedArity = (0));
|
|
1731
|
+
|
|
1732
|
+
/** @this {Function} */
|
|
1733
|
+
(datahike.js.api.history.cljs$lang$applyTo = (function (seq75878){
|
|
1734
|
+
var self__5712__auto__ = this;
|
|
1735
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75878));
|
|
1736
|
+
}));
|
|
1737
|
+
|
|
1738
|
+
|
|
1739
|
+
/**
|
|
1740
|
+
* Same as transact, but asynchronously returns a future.
|
|
1741
|
+
*/
|
|
1742
|
+
datahike.js.api.transact = (function datahike$js$api$transact(var_args){
|
|
1743
|
+
var args__5732__auto__ = [];
|
|
1744
|
+
var len__5726__auto___75996 = arguments.length;
|
|
1745
|
+
var i__5727__auto___75997 = (0);
|
|
1746
|
+
while(true){
|
|
1747
|
+
if((i__5727__auto___75997 < len__5726__auto___75996)){
|
|
1748
|
+
args__5732__auto__.push((arguments[i__5727__auto___75997]));
|
|
1749
|
+
|
|
1750
|
+
var G__75998 = (i__5727__auto___75997 + (1));
|
|
1751
|
+
i__5727__auto___75997 = G__75998;
|
|
1752
|
+
continue;
|
|
1753
|
+
} else {
|
|
1754
|
+
}
|
|
1755
|
+
break;
|
|
1756
|
+
}
|
|
1757
|
+
|
|
1758
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
1759
|
+
return datahike.js.api.transact.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
1760
|
+
});
|
|
1761
|
+
goog.exportSymbol('datahike.js.api.transact', datahike.js.api.transact);
|
|
1762
|
+
|
|
1763
|
+
(datahike.js.api.transact.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
1764
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
1765
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.api.impl.transact_BANG_,clj_args__75754__auto__);
|
|
1766
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
1767
|
+
}));
|
|
1768
|
+
|
|
1769
|
+
(datahike.js.api.transact.cljs$lang$maxFixedArity = (0));
|
|
1770
|
+
|
|
1771
|
+
/** @this {Function} */
|
|
1772
|
+
(datahike.js.api.transact.cljs$lang$applyTo = (function (seq75879){
|
|
1773
|
+
var self__5712__auto__ = this;
|
|
1774
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75879));
|
|
1775
|
+
}));
|
|
1776
|
+
|
|
1777
|
+
|
|
1778
|
+
/**
|
|
1779
|
+
* Checks if a database exists via configuration map.
|
|
1780
|
+
* Usage:
|
|
1781
|
+
*
|
|
1782
|
+
* (database-exists? {:store {:backend :memory :id "example"}})
|
|
1783
|
+
*/
|
|
1784
|
+
datahike.js.api.databaseExists = (function datahike$js$api$databaseExists(var_args){
|
|
1785
|
+
var args__5732__auto__ = [];
|
|
1786
|
+
var len__5726__auto___75999 = arguments.length;
|
|
1787
|
+
var i__5727__auto___76000 = (0);
|
|
1788
|
+
while(true){
|
|
1789
|
+
if((i__5727__auto___76000 < len__5726__auto___75999)){
|
|
1790
|
+
args__5732__auto__.push((arguments[i__5727__auto___76000]));
|
|
1791
|
+
|
|
1792
|
+
var G__76001 = (i__5727__auto___76000 + (1));
|
|
1793
|
+
i__5727__auto___76000 = G__76001;
|
|
1794
|
+
continue;
|
|
1795
|
+
} else {
|
|
1796
|
+
}
|
|
1797
|
+
break;
|
|
1798
|
+
}
|
|
1799
|
+
|
|
1800
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
1801
|
+
return datahike.js.api.databaseExists.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
1802
|
+
});
|
|
1803
|
+
goog.exportSymbol('datahike.js.api.databaseExists', datahike.js.api.databaseExists);
|
|
1804
|
+
|
|
1805
|
+
(datahike.js.api.databaseExists.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
1806
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
1807
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.api.impl.database_exists_QMARK_,clj_args__75754__auto__);
|
|
1808
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
1809
|
+
}));
|
|
1810
|
+
|
|
1811
|
+
(datahike.js.api.databaseExists.cljs$lang$maxFixedArity = (0));
|
|
1812
|
+
|
|
1813
|
+
/** @this {Function} */
|
|
1814
|
+
(datahike.js.api.databaseExists.cljs$lang$applyTo = (function (seq75880){
|
|
1815
|
+
var self__5712__auto__ = this;
|
|
1816
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75880));
|
|
1817
|
+
}));
|
|
1818
|
+
|
|
1819
|
+
|
|
1820
|
+
/**
|
|
1821
|
+
* Returns the database state at given point in time (you may use either java.util.Date or transaction ID as long).
|
|
1822
|
+
*
|
|
1823
|
+
* (transact conn {:tx-data [{:db/ident :name
|
|
1824
|
+
* :db/valueType :db.type/string
|
|
1825
|
+
* :db/unique :db.unique/identity
|
|
1826
|
+
* :db/index true
|
|
1827
|
+
* :db/cardinality :db.cardinality/one}
|
|
1828
|
+
* {:db/ident :age
|
|
1829
|
+
* :db/valueType :db.type/long
|
|
1830
|
+
* :db/cardinality :db.cardinality/one}]})
|
|
1831
|
+
*
|
|
1832
|
+
* (transact conn {:tx-data [{:name "Alice" :age 25} {:name "Bob" :age 30}]})
|
|
1833
|
+
*
|
|
1834
|
+
* (def date (java.util.Date.))
|
|
1835
|
+
*
|
|
1836
|
+
* (transact conn {:tx-data [{:db/id [:name "Alice"] :age 35}]})
|
|
1837
|
+
*
|
|
1838
|
+
* (q {:query '[:find ?n ?a :where [?e :name ?n] [?e :age ?a]]
|
|
1839
|
+
* :args [(as-of @conn date)]}) ; => #{["Alice" 25] ["Bob" 30]}
|
|
1840
|
+
*
|
|
1841
|
+
* (q {:query '[:find ?n ?a :where [?e :name ?n] [?e :age ?a]]
|
|
1842
|
+
* :args [@conn]}) ; => #{["Alice" 35] ["Bob" 30]}
|
|
1843
|
+
*/
|
|
1844
|
+
datahike.js.api.asOf = (function datahike$js$api$asOf(var_args){
|
|
1845
|
+
var args__5732__auto__ = [];
|
|
1846
|
+
var len__5726__auto___76002 = arguments.length;
|
|
1847
|
+
var i__5727__auto___76003 = (0);
|
|
1848
|
+
while(true){
|
|
1849
|
+
if((i__5727__auto___76003 < len__5726__auto___76002)){
|
|
1850
|
+
args__5732__auto__.push((arguments[i__5727__auto___76003]));
|
|
1851
|
+
|
|
1852
|
+
var G__76004 = (i__5727__auto___76003 + (1));
|
|
1853
|
+
i__5727__auto___76003 = G__76004;
|
|
1854
|
+
continue;
|
|
1855
|
+
} else {
|
|
1856
|
+
}
|
|
1857
|
+
break;
|
|
1858
|
+
}
|
|
1859
|
+
|
|
1860
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
1861
|
+
return datahike.js.api.asOf.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
1862
|
+
});
|
|
1863
|
+
goog.exportSymbol('datahike.js.api.asOf', datahike.js.api.asOf);
|
|
1864
|
+
|
|
1865
|
+
(datahike.js.api.asOf.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
1866
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
1867
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.api.impl.as_of,clj_args__75754__auto__);
|
|
1868
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
1869
|
+
}));
|
|
1870
|
+
|
|
1871
|
+
(datahike.js.api.asOf.cljs$lang$maxFixedArity = (0));
|
|
1872
|
+
|
|
1873
|
+
/** @this {Function} */
|
|
1874
|
+
(datahike.js.api.asOf.cljs$lang$applyTo = (function (seq75881){
|
|
1875
|
+
var self__5712__auto__ = this;
|
|
1876
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75881));
|
|
1877
|
+
}));
|
|
1878
|
+
|
|
1879
|
+
|
|
1880
|
+
/**
|
|
1881
|
+
* Similar to [[datoms]], but will return datoms starting from specified components and including rest of the database until the end of the index.
|
|
1882
|
+
*
|
|
1883
|
+
* If no datom matches passed arguments exactly, iterator will start from first datom that could be considered “greater” in index order.
|
|
1884
|
+
*
|
|
1885
|
+
* Usage:
|
|
1886
|
+
*
|
|
1887
|
+
* (seek-datoms @db {:index :eavt
|
|
1888
|
+
* :components [1]}) ; => (#datahike/Datom [1 :friends 2]
|
|
1889
|
+
* ; #datahike/Datom [1 :likes "fries"]
|
|
1890
|
+
* ; #datahike/Datom [1 :likes "pizza"]
|
|
1891
|
+
* ; #datahike/Datom [1 :name "Ivan"]
|
|
1892
|
+
* ; #datahike/Datom [2 :likes "candy"]
|
|
1893
|
+
* ; #datahike/Datom [2 :likes "pie"]
|
|
1894
|
+
* ; #datahike/Datom [2 :likes "pizza"])
|
|
1895
|
+
*
|
|
1896
|
+
* (seek-datoms @db {:index :eavt
|
|
1897
|
+
* :components [1 :name]}) ; => (#datahike/Datom [1 :name "Ivan"]
|
|
1898
|
+
* ; #datahike/Datom [2 :likes "candy"]
|
|
1899
|
+
* ; #datahike/Datom [2 :likes "pie"]
|
|
1900
|
+
* ; #datahike/Datom [2 :likes "pizza"])
|
|
1901
|
+
*
|
|
1902
|
+
* (seek-datoms @db {:index :eavt
|
|
1903
|
+
* :components [2]}) ; => (#datahike/Datom [2 :likes "candy"]
|
|
1904
|
+
* ; #datahike/Datom [2 :likes "pie"]
|
|
1905
|
+
* ; #datahike/Datom [2 :likes "pizza"])
|
|
1906
|
+
*
|
|
1907
|
+
* No datom `[2 :likes "fish"]`, so starts with one immediately following such in index
|
|
1908
|
+
*
|
|
1909
|
+
* (seek-datoms @db {:index :eavt
|
|
1910
|
+
* :components [2 :likes "fish"]}) ; => (#datahike/Datom [2 :likes "pie"]
|
|
1911
|
+
* ; #datahike/Datom [2 :likes "pizza"])
|
|
1912
|
+
*/
|
|
1913
|
+
datahike.js.api.seekDatoms = (function datahike$js$api$seekDatoms(var_args){
|
|
1914
|
+
var args__5732__auto__ = [];
|
|
1915
|
+
var len__5726__auto___76005 = arguments.length;
|
|
1916
|
+
var i__5727__auto___76006 = (0);
|
|
1917
|
+
while(true){
|
|
1918
|
+
if((i__5727__auto___76006 < len__5726__auto___76005)){
|
|
1919
|
+
args__5732__auto__.push((arguments[i__5727__auto___76006]));
|
|
1920
|
+
|
|
1921
|
+
var G__76007 = (i__5727__auto___76006 + (1));
|
|
1922
|
+
i__5727__auto___76006 = G__76007;
|
|
1923
|
+
continue;
|
|
1924
|
+
} else {
|
|
1925
|
+
}
|
|
1926
|
+
break;
|
|
1927
|
+
}
|
|
1928
|
+
|
|
1929
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
1930
|
+
return datahike.js.api.seekDatoms.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
1931
|
+
});
|
|
1932
|
+
goog.exportSymbol('datahike.js.api.seekDatoms', datahike.js.api.seekDatoms);
|
|
1933
|
+
|
|
1934
|
+
(datahike.js.api.seekDatoms.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
1935
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
1936
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.api.impl.seek_datoms,clj_args__75754__auto__);
|
|
1937
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
1938
|
+
}));
|
|
1939
|
+
|
|
1940
|
+
(datahike.js.api.seekDatoms.cljs$lang$maxFixedArity = (0));
|
|
1941
|
+
|
|
1942
|
+
/** @this {Function} */
|
|
1943
|
+
(datahike.js.api.seekDatoms.cljs$lang$applyTo = (function (seq75882){
|
|
1944
|
+
var self__5712__auto__ = this;
|
|
1945
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75882));
|
|
1946
|
+
}));
|
|
1947
|
+
|
|
1948
|
+
|
|
1949
|
+
/**
|
|
1950
|
+
* Returns a view over database that has same interface but only includes datoms for which the `(pred db datom)` is true. Can be applied multiple times.
|
|
1951
|
+
*
|
|
1952
|
+
* Filtered DB gotchas:
|
|
1953
|
+
*
|
|
1954
|
+
* - All operations on filtered database are proxied to original DB, then filter pred is applied.
|
|
1955
|
+
* - Not cached. You pay filter penalty every time.
|
|
1956
|
+
* - Supports entities, pull, queries, index access.
|
|
1957
|
+
* - Does not support hashing of DB.
|
|
1958
|
+
* - Does not support [[with]] and [[db-with]].
|
|
1959
|
+
*/
|
|
1960
|
+
datahike.js.api.filter = (function datahike$js$api$filter(var_args){
|
|
1961
|
+
var args__5732__auto__ = [];
|
|
1962
|
+
var len__5726__auto___76008 = arguments.length;
|
|
1963
|
+
var i__5727__auto___76009 = (0);
|
|
1964
|
+
while(true){
|
|
1965
|
+
if((i__5727__auto___76009 < len__5726__auto___76008)){
|
|
1966
|
+
args__5732__auto__.push((arguments[i__5727__auto___76009]));
|
|
1967
|
+
|
|
1968
|
+
var G__76010 = (i__5727__auto___76009 + (1));
|
|
1969
|
+
i__5727__auto___76009 = G__76010;
|
|
1970
|
+
continue;
|
|
1971
|
+
} else {
|
|
1972
|
+
}
|
|
1973
|
+
break;
|
|
1974
|
+
}
|
|
1975
|
+
|
|
1976
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
1977
|
+
return datahike.js.api.filter.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
1978
|
+
});
|
|
1979
|
+
goog.exportSymbol('datahike.js.api.filter', datahike.js.api.filter);
|
|
1980
|
+
|
|
1981
|
+
(datahike.js.api.filter.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
1982
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
1983
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.core.filter,clj_args__75754__auto__);
|
|
1984
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
1985
|
+
}));
|
|
1986
|
+
|
|
1987
|
+
(datahike.js.api.filter.cljs$lang$maxFixedArity = (0));
|
|
1988
|
+
|
|
1989
|
+
/** @this {Function} */
|
|
1990
|
+
(datahike.js.api.filter.cljs$lang$applyTo = (function (seq75883){
|
|
1991
|
+
var self__5712__auto__ = this;
|
|
1992
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75883));
|
|
1993
|
+
}));
|
|
1994
|
+
|
|
1995
|
+
|
|
1996
|
+
/**
|
|
1997
|
+
* Listen for changes on the given connection. Whenever a transaction is applied to the database via
|
|
1998
|
+
* [[transact]], the callback is called with the transaction report. `key` is any opaque unique value.
|
|
1999
|
+
*
|
|
2000
|
+
* Idempotent. Calling [[listen]] with the same twice will override old callback with the new value.
|
|
2001
|
+
*
|
|
2002
|
+
* Returns the key under which this listener is registered. See also [[unlisten]].
|
|
2003
|
+
*/
|
|
2004
|
+
datahike.js.api.listen = (function datahike$js$api$listen(var_args){
|
|
2005
|
+
var args__5732__auto__ = [];
|
|
2006
|
+
var len__5726__auto___76011 = arguments.length;
|
|
2007
|
+
var i__5727__auto___76012 = (0);
|
|
2008
|
+
while(true){
|
|
2009
|
+
if((i__5727__auto___76012 < len__5726__auto___76011)){
|
|
2010
|
+
args__5732__auto__.push((arguments[i__5727__auto___76012]));
|
|
2011
|
+
|
|
2012
|
+
var G__76013 = (i__5727__auto___76012 + (1));
|
|
2013
|
+
i__5727__auto___76012 = G__76013;
|
|
2014
|
+
continue;
|
|
2015
|
+
} else {
|
|
2016
|
+
}
|
|
2017
|
+
break;
|
|
2018
|
+
}
|
|
2019
|
+
|
|
2020
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
2021
|
+
return datahike.js.api.listen.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
2022
|
+
});
|
|
2023
|
+
goog.exportSymbol('datahike.js.api.listen', datahike.js.api.listen);
|
|
2024
|
+
|
|
2025
|
+
(datahike.js.api.listen.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
2026
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
2027
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.core.listen_BANG_,clj_args__75754__auto__);
|
|
2028
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
2029
|
+
}));
|
|
2030
|
+
|
|
2031
|
+
(datahike.js.api.listen.cljs$lang$maxFixedArity = (0));
|
|
2032
|
+
|
|
2033
|
+
/** @this {Function} */
|
|
2034
|
+
(datahike.js.api.listen.cljs$lang$applyTo = (function (seq75884){
|
|
2035
|
+
var self__5712__auto__ = this;
|
|
2036
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75884));
|
|
2037
|
+
}));
|
|
2038
|
+
|
|
2039
|
+
|
|
2040
|
+
/**
|
|
2041
|
+
* Applies transaction to an immutable db value, returning new immutable db value. Same as `(:db-after (with db tx-data))`.
|
|
2042
|
+
*/
|
|
2043
|
+
datahike.js.api.dbWith = (function datahike$js$api$dbWith(var_args){
|
|
2044
|
+
var args__5732__auto__ = [];
|
|
2045
|
+
var len__5726__auto___76014 = arguments.length;
|
|
2046
|
+
var i__5727__auto___76015 = (0);
|
|
2047
|
+
while(true){
|
|
2048
|
+
if((i__5727__auto___76015 < len__5726__auto___76014)){
|
|
2049
|
+
args__5732__auto__.push((arguments[i__5727__auto___76015]));
|
|
2050
|
+
|
|
2051
|
+
var G__76016 = (i__5727__auto___76015 + (1));
|
|
2052
|
+
i__5727__auto___76015 = G__76016;
|
|
2053
|
+
continue;
|
|
2054
|
+
} else {
|
|
2055
|
+
}
|
|
2056
|
+
break;
|
|
2057
|
+
}
|
|
2058
|
+
|
|
2059
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
2060
|
+
return datahike.js.api.dbWith.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
2061
|
+
});
|
|
2062
|
+
goog.exportSymbol('datahike.js.api.dbWith', datahike.js.api.dbWith);
|
|
2063
|
+
|
|
2064
|
+
(datahike.js.api.dbWith.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
2065
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
2066
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.api.impl.db_with,clj_args__75754__auto__);
|
|
2067
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
2068
|
+
}));
|
|
2069
|
+
|
|
2070
|
+
(datahike.js.api.dbWith.cljs$lang$maxFixedArity = (0));
|
|
2071
|
+
|
|
2072
|
+
/** @this {Function} */
|
|
2073
|
+
(datahike.js.api.dbWith.cljs$lang$applyTo = (function (seq75885){
|
|
2074
|
+
var self__5712__auto__ = this;
|
|
2075
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75885));
|
|
2076
|
+
}));
|
|
2077
|
+
|
|
2078
|
+
|
|
2079
|
+
/**
|
|
2080
|
+
* Same as [[transact]]`, but applies to an immutable database value. Returns transaction report (see [[transact]]).
|
|
2081
|
+
*
|
|
2082
|
+
* Accepts tx-data and tx-meta as a map.
|
|
2083
|
+
*
|
|
2084
|
+
* (with @conn {:tx-data [[:db/add 1 :name "Ivan"]]}) ; => {:db-before #datahike/DB {:max-tx 536870912 :max-eid 0},
|
|
2085
|
+
* ; :db-after #datahike/DB {:max-tx 536870913 :max-eid 1},
|
|
2086
|
+
* ; :tx-data [#datahike/Datom [1 :name "Ivan" 536870913]],
|
|
2087
|
+
* ; :tempids #:db{:current-tx 536870913},
|
|
2088
|
+
* ; :tx-meta nil}
|
|
2089
|
+
*
|
|
2090
|
+
* (with @conn {:tx-data [[:db/add 1 :name "Ivan"]]
|
|
2091
|
+
* :tx-meta {:foo :bar}}) ; => {:db-before #datahike/DB {:max-tx 536870912 :max-eid 0},
|
|
2092
|
+
* ; :db-after #datahike/DB {:max-tx 536870913 :max-eid 1},
|
|
2093
|
+
* ; :tx-data [#datahike/Datom [1 :name "Ivan" 536870913]],
|
|
2094
|
+
* ; :tempids #:db{:current-tx 536870913},
|
|
2095
|
+
* ; :tx-meta {:foo :bar}}
|
|
2096
|
+
*/
|
|
2097
|
+
datahike.js.api.withDb = (function datahike$js$api$withDb(var_args){
|
|
2098
|
+
var args__5732__auto__ = [];
|
|
2099
|
+
var len__5726__auto___76017 = arguments.length;
|
|
2100
|
+
var i__5727__auto___76018 = (0);
|
|
2101
|
+
while(true){
|
|
2102
|
+
if((i__5727__auto___76018 < len__5726__auto___76017)){
|
|
2103
|
+
args__5732__auto__.push((arguments[i__5727__auto___76018]));
|
|
2104
|
+
|
|
2105
|
+
var G__76019 = (i__5727__auto___76018 + (1));
|
|
2106
|
+
i__5727__auto___76018 = G__76019;
|
|
2107
|
+
continue;
|
|
2108
|
+
} else {
|
|
2109
|
+
}
|
|
2110
|
+
break;
|
|
2111
|
+
}
|
|
2112
|
+
|
|
2113
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
2114
|
+
return datahike.js.api.withDb.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
2115
|
+
});
|
|
2116
|
+
goog.exportSymbol('datahike.js.api.withDb', datahike.js.api.withDb);
|
|
2117
|
+
|
|
2118
|
+
(datahike.js.api.withDb.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
2119
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
2120
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.api.impl.with$,clj_args__75754__auto__);
|
|
2121
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
2122
|
+
}));
|
|
2123
|
+
|
|
2124
|
+
(datahike.js.api.withDb.cljs$lang$maxFixedArity = (0));
|
|
2125
|
+
|
|
2126
|
+
/** @this {Function} */
|
|
2127
|
+
(datahike.js.api.withDb.cljs$lang$applyTo = (function (seq75886){
|
|
2128
|
+
var self__5712__auto__ = this;
|
|
2129
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75886));
|
|
2130
|
+
}));
|
|
2131
|
+
|
|
2132
|
+
|
|
2133
|
+
/**
|
|
2134
|
+
* Allocates and returns a unique temporary id (a negative integer). Ignores `part`. Returns `x` if it is specified.
|
|
2135
|
+
*
|
|
2136
|
+
* Exists for Datomic API compatibility. Prefer using negative integers directly if possible.
|
|
2137
|
+
*/
|
|
2138
|
+
datahike.js.api.tempid = (function datahike$js$api$tempid(var_args){
|
|
2139
|
+
var args__5732__auto__ = [];
|
|
2140
|
+
var len__5726__auto___76020 = arguments.length;
|
|
2141
|
+
var i__5727__auto___76021 = (0);
|
|
2142
|
+
while(true){
|
|
2143
|
+
if((i__5727__auto___76021 < len__5726__auto___76020)){
|
|
2144
|
+
args__5732__auto__.push((arguments[i__5727__auto___76021]));
|
|
2145
|
+
|
|
2146
|
+
var G__76022 = (i__5727__auto___76021 + (1));
|
|
2147
|
+
i__5727__auto___76021 = G__76022;
|
|
2148
|
+
continue;
|
|
2149
|
+
} else {
|
|
2150
|
+
}
|
|
2151
|
+
break;
|
|
2152
|
+
}
|
|
2153
|
+
|
|
2154
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
2155
|
+
return datahike.js.api.tempid.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
2156
|
+
});
|
|
2157
|
+
goog.exportSymbol('datahike.js.api.tempid', datahike.js.api.tempid);
|
|
2158
|
+
|
|
2159
|
+
(datahike.js.api.tempid.cljs$core$IFn$_invoke$arity$variadic = (function (args__75753__auto__){
|
|
2160
|
+
var clj_args__75754__auto__ = cljs.core.map.cljs$core$IFn$_invoke$arity$2(datahike.js.api.js__GT_clj_recursive,args__75753__auto__);
|
|
2161
|
+
var result__75755__auto__ = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(datahike.core.tempid,clj_args__75754__auto__);
|
|
2162
|
+
return datahike.js.api.maybe_chan__GT_promise(result__75755__auto__).then(datahike.js.api.clj__GT_js_recursive);
|
|
2163
|
+
}));
|
|
2164
|
+
|
|
2165
|
+
(datahike.js.api.tempid.cljs$lang$maxFixedArity = (0));
|
|
2166
|
+
|
|
2167
|
+
/** @this {Function} */
|
|
2168
|
+
(datahike.js.api.tempid.cljs$lang$applyTo = (function (seq75887){
|
|
2169
|
+
var self__5712__auto__ = this;
|
|
2170
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq75887));
|
|
2171
|
+
}));
|
|
2172
|
+
|
|
2173
|
+
/**
|
|
2174
|
+
* Check if a value is a Promise.
|
|
2175
|
+
*/
|
|
2176
|
+
datahike.js.api.isPromise = (function datahike$js$api$isPromise(x){
|
|
2177
|
+
return (x instanceof Promise);
|
|
2178
|
+
});
|
|
2179
|
+
Object.defineProperty(module.exports, "createDatabase", { enumerable: true, get: function() { return datahike.js.api.createDatabase; } });
|
|
2180
|
+
Object.defineProperty(module.exports, "unlisten", { enumerable: true, get: function() { return datahike.js.api.unlisten; } });
|
|
2181
|
+
Object.defineProperty(module.exports, "pull", { enumerable: true, get: function() { return datahike.js.api.pull; } });
|
|
2182
|
+
Object.defineProperty(module.exports, "pullMany", { enumerable: true, get: function() { return datahike.js.api.pullMany; } });
|
|
2183
|
+
Object.defineProperty(module.exports, "gcStorage", { enumerable: true, get: function() { return datahike.js.api.gcStorage; } });
|
|
2184
|
+
Object.defineProperty(module.exports, "entityDb", { enumerable: true, get: function() { return datahike.js.api.entityDb; } });
|
|
2185
|
+
Object.defineProperty(module.exports, "databaseExists", { enumerable: true, get: function() { return datahike.js.api.databaseExists; } });
|
|
2186
|
+
Object.defineProperty(module.exports, "entity", { enumerable: true, get: function() { return datahike.js.api.entity; } });
|
|
2187
|
+
Object.defineProperty(module.exports, "reverseSchema", { enumerable: true, get: function() { return datahike.js.api.reverseSchema; } });
|
|
2188
|
+
Object.defineProperty(module.exports, "metrics", { enumerable: true, get: function() { return datahike.js.api.metrics; } });
|
|
2189
|
+
Object.defineProperty(module.exports, "datoms", { enumerable: true, get: function() { return datahike.js.api.datoms; } });
|
|
2190
|
+
Object.defineProperty(module.exports, "loadEntities", { enumerable: true, get: function() { return datahike.js.api.loadEntities; } });
|
|
2191
|
+
Object.defineProperty(module.exports, "q", { enumerable: true, get: function() { return datahike.js.api.q; } });
|
|
2192
|
+
Object.defineProperty(module.exports, "schema", { enumerable: true, get: function() { return datahike.js.api.schema; } });
|
|
2193
|
+
Object.defineProperty(module.exports, "asOf", { enumerable: true, get: function() { return datahike.js.api.asOf; } });
|
|
2194
|
+
Object.defineProperty(module.exports, "since", { enumerable: true, get: function() { return datahike.js.api.since; } });
|
|
2195
|
+
Object.defineProperty(module.exports, "db", { enumerable: true, get: function() { return datahike.js.api.db; } });
|
|
2196
|
+
Object.defineProperty(module.exports, "queryStats", { enumerable: true, get: function() { return datahike.js.api.queryStats; } });
|
|
2197
|
+
Object.defineProperty(module.exports, "seekDatoms", { enumerable: true, get: function() { return datahike.js.api.seekDatoms; } });
|
|
2198
|
+
Object.defineProperty(module.exports, "withDb", { enumerable: true, get: function() { return datahike.js.api.withDb; } });
|
|
2199
|
+
Object.defineProperty(module.exports, "connect", { enumerable: true, get: function() { return datahike.js.api.connect; } });
|
|
2200
|
+
Object.defineProperty(module.exports, "indexRange", { enumerable: true, get: function() { return datahike.js.api.indexRange; } });
|
|
2201
|
+
Object.defineProperty(module.exports, "release", { enumerable: true, get: function() { return datahike.js.api.release; } });
|
|
2202
|
+
Object.defineProperty(module.exports, "deleteDatabase", { enumerable: true, get: function() { return datahike.js.api.deleteDatabase; } });
|
|
2203
|
+
Object.defineProperty(module.exports, "history", { enumerable: true, get: function() { return datahike.js.api.history; } });
|
|
2204
|
+
Object.defineProperty(module.exports, "isFiltered", { enumerable: true, get: function() { return datahike.js.api.isFiltered; } });
|
|
2205
|
+
Object.defineProperty(module.exports, "transact", { enumerable: true, get: function() { return datahike.js.api.transact; } });
|
|
2206
|
+
Object.defineProperty(module.exports, "filter", { enumerable: true, get: function() { return datahike.js.api.filter; } });
|
|
2207
|
+
Object.defineProperty(module.exports, "dbWith", { enumerable: true, get: function() { return datahike.js.api.dbWith; } });
|
|
2208
|
+
Object.defineProperty(module.exports, "listen", { enumerable: true, get: function() { return datahike.js.api.listen; } });
|
|
2209
|
+
Object.defineProperty(module.exports, "tempid", { enumerable: true, get: function() { return datahike.js.api.tempid; } });
|
|
2210
|
+
Object.defineProperty(module.exports, "isPromise", { enumerable: true, get: function() { return datahike.js.api.isPromise; } });
|
|
2211
|
+
//# sourceMappingURL=datahike.js.api.js.map
|