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.
Files changed (282) hide show
  1. package/README.md +226 -0
  2. package/cljs.analyzer.api.js +427 -0
  3. package/cljs.analyzer.api.js.map +1 -0
  4. package/cljs.analyzer.impl.js +86 -0
  5. package/cljs.analyzer.impl.js.map +1 -0
  6. package/cljs.analyzer.impl.namespaces.js +219 -0
  7. package/cljs.analyzer.impl.namespaces.js.map +1 -0
  8. package/cljs.analyzer.js +7186 -0
  9. package/cljs.analyzer.js.map +1 -0
  10. package/cljs.analyzer.passes.and_or.js +141 -0
  11. package/cljs.analyzer.passes.and_or.js.map +1 -0
  12. package/cljs.analyzer.passes.js +104 -0
  13. package/cljs.analyzer.passes.js.map +1 -0
  14. package/cljs.cache.js +1145 -0
  15. package/cljs.cache.js.map +1 -0
  16. package/cljs.cache.wrapped.js +352 -0
  17. package/cljs.cache.wrapped.js.map +1 -0
  18. package/cljs.core.async.impl.buffers.js +489 -0
  19. package/cljs.core.async.impl.buffers.js.map +1 -0
  20. package/cljs.core.async.impl.channels.js +711 -0
  21. package/cljs.core.async.impl.channels.js.map +1 -0
  22. package/cljs.core.async.impl.dispatch.js +81 -0
  23. package/cljs.core.async.impl.dispatch.js.map +1 -0
  24. package/cljs.core.async.impl.ioc_helpers.js +192 -0
  25. package/cljs.core.async.impl.ioc_helpers.js.map +1 -0
  26. package/cljs.core.async.impl.protocols.js +368 -0
  27. package/cljs.core.async.impl.protocols.js.map +1 -0
  28. package/cljs.core.async.impl.timers.js +510 -0
  29. package/cljs.core.async.impl.timers.js.map +1 -0
  30. package/cljs.core.async.js +8813 -0
  31. package/cljs.core.async.js.map +1 -0
  32. package/cljs.core.js +38764 -0
  33. package/cljs.core.js.map +1 -0
  34. package/cljs.env.js +60 -0
  35. package/cljs.env.js.map +1 -0
  36. package/cljs.nodejs.js +80 -0
  37. package/cljs.nodejs.js.map +1 -0
  38. package/cljs.reader.js +462 -0
  39. package/cljs.reader.js.map +1 -0
  40. package/cljs.spec.alpha.js +5312 -0
  41. package/cljs.spec.alpha.js.map +1 -0
  42. package/cljs.spec.gen.alpha.js +2020 -0
  43. package/cljs.spec.gen.alpha.js.map +1 -0
  44. package/cljs.tagged_literals.js +103 -0
  45. package/cljs.tagged_literals.js.map +1 -0
  46. package/cljs.tools.reader.edn.js +960 -0
  47. package/cljs.tools.reader.edn.js.map +1 -0
  48. package/cljs.tools.reader.impl.commons.js +217 -0
  49. package/cljs.tools.reader.impl.commons.js.map +1 -0
  50. package/cljs.tools.reader.impl.errors.js +441 -0
  51. package/cljs.tools.reader.impl.errors.js.map +1 -0
  52. package/cljs.tools.reader.impl.inspect.js +182 -0
  53. package/cljs.tools.reader.impl.inspect.js.map +1 -0
  54. package/cljs.tools.reader.impl.utils.js +429 -0
  55. package/cljs.tools.reader.impl.utils.js.map +1 -0
  56. package/cljs.tools.reader.js +1830 -0
  57. package/cljs.tools.reader.js.map +1 -0
  58. package/cljs.tools.reader.reader_types.js +838 -0
  59. package/cljs.tools.reader.reader_types.js.map +1 -0
  60. package/cljs_env.js +18192 -0
  61. package/cljs_node_io.core.js +1278 -0
  62. package/cljs_node_io.core.js.map +1 -0
  63. package/cljs_node_io.file.js +918 -0
  64. package/cljs_node_io.file.js.map +1 -0
  65. package/cljs_node_io.fs.js +3911 -0
  66. package/cljs_node_io.fs.js.map +1 -0
  67. package/clojure.data.js +319 -0
  68. package/clojure.data.js.map +1 -0
  69. package/clojure.edn.js +119 -0
  70. package/clojure.edn.js.map +1 -0
  71. package/clojure.set.js +406 -0
  72. package/clojure.set.js.map +1 -0
  73. package/clojure.string.js +502 -0
  74. package/clojure.string.js.map +1 -0
  75. package/clojure.walk.js +156 -0
  76. package/clojure.walk.js.map +1 -0
  77. package/datahike.api.impl.js +621 -0
  78. package/datahike.api.impl.js.map +1 -0
  79. package/datahike.api.specification.js +85 -0
  80. package/datahike.api.specification.js.map +1 -0
  81. package/datahike.array.js +275 -0
  82. package/datahike.array.js.map +1 -0
  83. package/datahike.config.js +437 -0
  84. package/datahike.config.js.map +1 -0
  85. package/datahike.connections.js +55 -0
  86. package/datahike.connections.js.map +1 -0
  87. package/datahike.connector.js +1248 -0
  88. package/datahike.connector.js.map +1 -0
  89. package/datahike.constants.js +66 -0
  90. package/datahike.constants.js.map +1 -0
  91. package/datahike.core.js +628 -0
  92. package/datahike.core.js.map +1 -0
  93. package/datahike.datom.js +963 -0
  94. package/datahike.datom.js.map +1 -0
  95. package/datahike.db.interface.js +819 -0
  96. package/datahike.db.interface.js.map +1 -0
  97. package/datahike.db.js +3095 -0
  98. package/datahike.db.js.map +1 -0
  99. package/datahike.db.search.js +1004 -0
  100. package/datahike.db.search.js.map +1 -0
  101. package/datahike.db.transaction.js +1904 -0
  102. package/datahike.db.transaction.js.map +1 -0
  103. package/datahike.db.utils.js +642 -0
  104. package/datahike.db.utils.js.map +1 -0
  105. package/datahike.gc.js +1618 -0
  106. package/datahike.gc.js.map +1 -0
  107. package/datahike.impl.entity.js +604 -0
  108. package/datahike.impl.entity.js.map +1 -0
  109. package/datahike.index.interface.js +484 -0
  110. package/datahike.index.interface.js.map +1 -0
  111. package/datahike.index.js +50 -0
  112. package/datahike.index.js.map +1 -0
  113. package/datahike.index.persistent_set.js +1250 -0
  114. package/datahike.index.persistent_set.js.map +1 -0
  115. package/datahike.js.api.js +2211 -0
  116. package/datahike.js.api.js.map +1 -0
  117. package/datahike.lru.js +404 -0
  118. package/datahike.lru.js.map +1 -0
  119. package/datahike.pull_api.js +533 -0
  120. package/datahike.pull_api.js.map +1 -0
  121. package/datahike.query.js +11891 -0
  122. package/datahike.query.js.map +1 -0
  123. package/datahike.query_stats.js +152 -0
  124. package/datahike.query_stats.js.map +1 -0
  125. package/datahike.readers.js +166 -0
  126. package/datahike.readers.js.map +1 -0
  127. package/datahike.schema.js +251 -0
  128. package/datahike.schema.js.map +1 -0
  129. package/datahike.schema_cache.js +66 -0
  130. package/datahike.schema_cache.js.map +1 -0
  131. package/datahike.spec.js +70 -0
  132. package/datahike.spec.js.map +1 -0
  133. package/datahike.store.js +514 -0
  134. package/datahike.store.js.map +1 -0
  135. package/datahike.tools.js +436 -0
  136. package/datahike.tools.js.map +1 -0
  137. package/datahike.writer.js +3463 -0
  138. package/datahike.writer.js.map +1 -0
  139. package/datahike.writing.js +3168 -0
  140. package/datahike.writing.js.map +1 -0
  141. package/datalog.parser.impl.js +1421 -0
  142. package/datalog.parser.impl.js.map +1 -0
  143. package/datalog.parser.impl.proto.js +213 -0
  144. package/datalog.parser.impl.proto.js.map +1 -0
  145. package/datalog.parser.impl.util.js +117 -0
  146. package/datalog.parser.impl.util.js.map +1 -0
  147. package/datalog.parser.js +47 -0
  148. package/datalog.parser.js.map +1 -0
  149. package/datalog.parser.pull.js +2603 -0
  150. package/datalog.parser.pull.js.map +1 -0
  151. package/datalog.parser.type.js +7502 -0
  152. package/datalog.parser.type.js.map +1 -0
  153. package/datalog.parser.util.js +60 -0
  154. package/datalog.parser.util.js.map +1 -0
  155. package/environ.core.js +263 -0
  156. package/environ.core.js.map +1 -0
  157. package/fress.api.js +607 -0
  158. package/fress.api.js.map +1 -0
  159. package/fress.impl.adler32.js +435 -0
  160. package/fress.impl.adler32.js.map +1 -0
  161. package/fress.impl.bigint.js +185 -0
  162. package/fress.impl.bigint.js.map +1 -0
  163. package/fress.impl.buffer.js +1087 -0
  164. package/fress.impl.buffer.js.map +1 -0
  165. package/fress.impl.codes.js +105 -0
  166. package/fress.impl.codes.js.map +1 -0
  167. package/fress.impl.hopmap.js +603 -0
  168. package/fress.impl.hopmap.js.map +1 -0
  169. package/fress.impl.ranges.js +49 -0
  170. package/fress.impl.ranges.js.map +1 -0
  171. package/fress.impl.raw_input.js +837 -0
  172. package/fress.impl.raw_input.js.map +1 -0
  173. package/fress.impl.raw_output.js +653 -0
  174. package/fress.impl.raw_output.js.map +1 -0
  175. package/fress.impl.table.js +133 -0
  176. package/fress.impl.table.js.map +1 -0
  177. package/fress.reader.js +2312 -0
  178. package/fress.reader.js.map +1 -0
  179. package/fress.util.js +458 -0
  180. package/fress.util.js.map +1 -0
  181. package/fress.writer.js +2141 -0
  182. package/fress.writer.js.map +1 -0
  183. package/geheimnis.aes.js +132 -0
  184. package/geheimnis.aes.js.map +1 -0
  185. package/hasch.base64.js +42 -0
  186. package/hasch.base64.js.map +1 -0
  187. package/hasch.benc.js +201 -0
  188. package/hasch.benc.js.map +1 -0
  189. package/hasch.core.js +188 -0
  190. package/hasch.core.js.map +1 -0
  191. package/hasch.platform.js +221 -0
  192. package/hasch.platform.js.map +1 -0
  193. package/incognito.base.js +276 -0
  194. package/incognito.base.js.map +1 -0
  195. package/incognito.edn.js +54 -0
  196. package/incognito.edn.js.map +1 -0
  197. package/incognito.fressian.js +330 -0
  198. package/incognito.fressian.js.map +1 -0
  199. package/index.d.ts +660 -0
  200. package/is.simm.partial_cps.async.js +142 -0
  201. package/is.simm.partial_cps.async.js.map +1 -0
  202. package/is.simm.partial_cps.runtime.js +65 -0
  203. package/is.simm.partial_cps.runtime.js.map +1 -0
  204. package/is.simm.partial_cps.sequence.js +1255 -0
  205. package/is.simm.partial_cps.sequence.js.map +1 -0
  206. package/konserve.cache.js +2519 -0
  207. package/konserve.cache.js.map +1 -0
  208. package/konserve.compressor.js +502 -0
  209. package/konserve.compressor.js.map +1 -0
  210. package/konserve.core.js +8052 -0
  211. package/konserve.core.js.map +1 -0
  212. package/konserve.encryptor.js +553 -0
  213. package/konserve.encryptor.js.map +1 -0
  214. package/konserve.gc.js +541 -0
  215. package/konserve.gc.js.map +1 -0
  216. package/konserve.impl.defaults.js +8290 -0
  217. package/konserve.impl.defaults.js.map +1 -0
  218. package/konserve.impl.storage_layout.js +849 -0
  219. package/konserve.impl.storage_layout.js.map +1 -0
  220. package/konserve.memory.js +2102 -0
  221. package/konserve.memory.js.map +1 -0
  222. package/konserve.node_filestore.js +2951 -0
  223. package/konserve.node_filestore.js.map +1 -0
  224. package/konserve.protocols.js +590 -0
  225. package/konserve.protocols.js.map +1 -0
  226. package/konserve.serializers.js +562 -0
  227. package/konserve.serializers.js.map +1 -0
  228. package/konserve.store.js +2245 -0
  229. package/konserve.store.js.map +1 -0
  230. package/konserve.tiered.js +9574 -0
  231. package/konserve.tiered.js.map +1 -0
  232. package/konserve.utils.js +180 -0
  233. package/konserve.utils.js.map +1 -0
  234. package/me.tonsky.persistent_sorted_set.arrays.js +66 -0
  235. package/me.tonsky.persistent_sorted_set.arrays.js.map +1 -0
  236. package/me.tonsky.persistent_sorted_set.branch.js +2779 -0
  237. package/me.tonsky.persistent_sorted_set.branch.js.map +1 -0
  238. package/me.tonsky.persistent_sorted_set.btset.js +14196 -0
  239. package/me.tonsky.persistent_sorted_set.btset.js.map +1 -0
  240. package/me.tonsky.persistent_sorted_set.impl.node.js +324 -0
  241. package/me.tonsky.persistent_sorted_set.impl.node.js.map +1 -0
  242. package/me.tonsky.persistent_sorted_set.impl.storage.js +123 -0
  243. package/me.tonsky.persistent_sorted_set.impl.storage.js.map +1 -0
  244. package/me.tonsky.persistent_sorted_set.js +890 -0
  245. package/me.tonsky.persistent_sorted_set.js.map +1 -0
  246. package/me.tonsky.persistent_sorted_set.leaf.js +561 -0
  247. package/me.tonsky.persistent_sorted_set.leaf.js.map +1 -0
  248. package/me.tonsky.persistent_sorted_set.util.js +402 -0
  249. package/me.tonsky.persistent_sorted_set.util.js.map +1 -0
  250. package/medley.core.js +1857 -0
  251. package/medley.core.js.map +1 -0
  252. package/package.json +38 -0
  253. package/spec_tools.core.js +1925 -0
  254. package/spec_tools.core.js.map +1 -0
  255. package/spec_tools.data_spec.js +1291 -0
  256. package/spec_tools.data_spec.js.map +1 -0
  257. package/spec_tools.form.js +185 -0
  258. package/spec_tools.form.js.map +1 -0
  259. package/spec_tools.impl.js +362 -0
  260. package/spec_tools.impl.js.map +1 -0
  261. package/spec_tools.parse.js +427 -0
  262. package/spec_tools.parse.js.map +1 -0
  263. package/spec_tools.transform.js +288 -0
  264. package/spec_tools.transform.js.map +1 -0
  265. package/superv.async.js +8617 -0
  266. package/superv.async.js.map +1 -0
  267. package/tailrecursion.priority_map.js +994 -0
  268. package/tailrecursion.priority_map.js.map +1 -0
  269. package/taoensso.encore.js +12385 -0
  270. package/taoensso.encore.js.map +1 -0
  271. package/taoensso.timbre.appenders.core.js +239 -0
  272. package/taoensso.timbre.appenders.core.js.map +1 -0
  273. package/taoensso.timbre.js +1264 -0
  274. package/taoensso.timbre.js.map +1 -0
  275. package/taoensso.truss.impl.js +442 -0
  276. package/taoensso.truss.impl.js.map +1 -0
  277. package/taoensso.truss.js +743 -0
  278. package/taoensso.truss.js.map +1 -0
  279. package/test-config-keys.js +33 -0
  280. package/test-final.js +36 -0
  281. package/test-key-duplication.js +67 -0
  282. 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