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 @@
1
+ {"version":3,"sources":["datahike/db.cljc"],"mappings":"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","names":["datahike.db/Exception","js/Error","datahike.db/IllegalArgumentException","datahike.db/UnsupportedOperationException","datahike.db/seqable?","x","cljs.core/seqable?","me.tonsky.persistent-sorted-set.arrays/array?","datahike.db/cljs-env?","env","cljs.core/boolean","this__5300__auto__","k__5301__auto__","this__5302__auto__","k58195","else__5303__auto__","G__58219","cljs.core/Keyword","db-before","db-after","tx-data","tempids","tx-meta","cljs.core.get","__extmap","this__5320__auto__","f__5321__auto__","init__5322__auto__","cljs.core.reduce","ret__5323__auto__","p__58224","vec__58226","k__5324__auto__","cljs.core.nth","v__5325__auto__","this__5315__auto__","writer__5316__auto__","opts__5317__auto__","pr-pair__5318__auto__","keyval__5319__auto__","cljs.core/pr-sequential-writer","cljs.core.concat","cljs.core/PersistentVector","G__58194","cljs.core/RecordIter","cljs.core/-iterator","cljs.core/nil-iter","this__5298__auto__","__meta","this__5295__auto__","__hash","this__5304__auto__","cljs.core/count","this__5296__auto__","h__5111__auto__","coll__5297__auto__","cljs.core/hash-unordered-coll","this58196","other58197","cljs.core._EQ_","this__5310__auto__","k__5311__auto__","cljs.core/contains?","cljs.core.dissoc","cljs.core/-with-meta","cljs.core.into","cljs.core/not-empty","this__5307__auto__","G__58343","this__5308__auto__","k__5309__auto__","pred__58364","cljs.core/keyword-identical?","expr__58365","cljs.core.assoc","this__5313__auto__","cljs.core/seq","cljs.core/MapEntry","this__5299__auto__","this__5305__auto__","entry__5306__auto__","cljs.core/vector?","cljs.core/-nth","cljs.core/-conj","datahike.db/TxReport","this__5346__auto__","cljs.core/List","writer__5347__auto__","cljs.core/-write","G__58198","extmap__5342__auto__","G__58372","cljs.core/record?","datahike.db/->TxReport","datahike.db/map->TxReport","datahike.db/date?","d","js/Date","datahike.db/date<=","a","b","datahike.db/as-of-pred","time-point","datahike.datom/datom-tx","datahike.db/since-pred","cljs.core/complement","datahike.db/assemble-datoms-xform","db","cljs.core.mapcat","p__58387","vec__58388","vec__58391","_","datoms","datahike.db.utils/multival?","cljs.core.sort_by","current-datoms","datom","datahike.datom/datom-added","cljs.core/vals","last-ea-tx","cljs.core.apply","cljs.core/max","cljs.core.map","current-ea-datom","cljs.core/first","p1__58383#","cljs.core.filter","and__5000__auto__","datahike.db/temporal-datom-filter","pred","filtered-tx-ids","datahike.db.utils/filter-txInstant","datahike.db/post-process-datoms","context","xform","datahike.db.interface/context-xform","time-pred","datahike.db.interface/context-time-pred","time-xform","datahike.db.interface/context-historical?","datahike.db.interface/nil-comp","cljs.core.transduce","datahike.tools/group-by-step","datahike.db/db-transient","cljs.core.update","datahike.index/-transient","datahike.db/db-persistent!","datahike.index/-persistent!","datahike.db/contextual-search-fn","G__58409","datahike.db.interface/context-temporal?","datahike.db.search/temporal-search","datahike.db.search/search-current-indices","datahike.db/contextual-search","pattern","fexpr__58413","datahike.db/contextual-batch-search","pattern-mask","batch-fn","fexpr__58416","datahike.db/contextual-datoms","index-type","cs","G__58418","datahike.db.utils/temporal-datoms","G__58421","G__58422","G__58423","G__58424","datahike.index/-slice","datahike.db.utils/components->pattern","datahike.constants/e0","datahike.constants/tx0","datahike.constants/emax","datahike.constants/txmax","datahike.db/contextual-seek-datoms","G__58427","datahike.db.search/temporal-seek-datoms","G__58428","G__58429","G__58430","G__58431","datahike.datom.datom","datahike.db/contextual-rseek-datoms","G__58435","datahike.db.search/temporal-rseek-datoms","G__58437","G__58438","G__58439","G__58440","cljs.core/vec","cljs.core/rseq","datahike.db/contextual-index-range","avet","attr","start","end","temporal?","current-db","datahike.db.interface/context-current-db","or__5002__auto__","cljs.core/not","G__58449","datahike.db.search/temporal-index-range","datahike.db.utils/indexing?","G__58453","cljs.core.ex_info","cljs.core.pr_str","fexpr__58452","taoensso.timbre._log_BANG_","taoensso.timbre/*config*","cljs.core/Delay","datahike.db.utils/validate-attr","G__58458","G__58459","G__58460","G__58461","datahike.db.utils/resolve-datom","datahike.db/deeper-index-range","origin-db","datahike.db.interface/-index-range","datahike.db.interface/context-set-current-db-if-not-set","k58475","G__58483","schema","eavt","aevt","temporal-eavt","temporal-aevt","temporal-avet","max-eid","max-tx","op-count","rschema","hash","config","system-entities","ident-ref-map","ref-ident-map","meta","p__58484","vec__58485","G__58474","this58476","other58477","G__58650","pred__58651","expr__58652","datahike.db/DB","G__58479","G__58663","cljs.core/PROTOCOL_SENTINEL","datahike.db/->DB","datahike.db/map->DB","other","datahike.db/equiv-db","G__58707","datahike.index/-seq","cljs.core/-rseq","G__58683","datahike.db/empty-db","datahike.schema/get-user-schema","w","opts","datahike.db/pr-db","key","property","fexpr__58703","datahike.db.interface/-keep-history?","a-ident","ref","a-ref","datahike.db.interface/base-context","datoms-a","G__58686","G__58687","G__58688","G__58689","datoms-b","G__58692","G__58693","G__58694","G__58695","datahike.datom/diff-sorted","datahike.datom/cmp-datoms-eavt-quick","k58716","G__58723","unfiltered-db","p__58725","vec__58727","G__58715","this58717","other58718","G__58740","pred__58741","expr__58742","datahike.db/FilteredDB","G__58720","G__58750","datahike.db/->FilteredDB","datahike.db/map->FilteredDB","datahike.db.interface/datoms","datahike.db.interface/-schema","datahike.db.interface/-rschema","datahike.db.interface/-system-entities","datahike.db.interface/-attrs-by","datahike.db.interface/-max-tx","datahike.db.interface/-max-eid","datahike.db.interface/-config","datahike.db.interface/-ref-for","datahike.db.interface/-ident-for","datahike.db.interface/context-with-xform-after","datahike.db.interface/-search-context","datahike.db.interface/-search","datahike.db.interface/-batch-search","index","datahike.db.interface/-datoms","datahike.db.interface/-seek-datoms","datahike.db.interface/-rseek-datoms","k58774","G__58780","p__58782","vec__58783","G__58773","this58775","other58776","G__58789","pred__58792","expr__58793","datahike.db/HistoricalDB","G__58777","G__58798","datahike.db/->HistoricalDB","datahike.db/map->HistoricalDB","datahike.db.interface/context-with-history","k58812","G__58820","p__58823","vec__58824","G__58811","this58813","other58814","G__58837","pred__58839","expr__58840","datahike.db/AsOfDB","G__58816","G__58845","datahike.db/->AsOfDB","datahike.db/map->AsOfDB","datahike.db.interface/context-with-temporal-timepred","k58850","G__58854","p__58855","vec__58856","G__58849","this58851","other58852","G__58859","pred__58860","expr__58861","datahike.db/SinceDB","G__58853","G__58863","datahike.db/->SinceDB","datahike.db/map->SinceDB","datahike.db/equiv-db-index","y","xs","ys","cljs.core/next","cljs.core/hash","datahike.db/validate-schema-key","k","v","expected","datahike.db/validate-tuple-schema","kv","G__58864","cljs.core/some","cljs.core/keys","datahike.db/validate-schema","seq__58865","chunk__58866","count__58867","i__58868","vec__58875","temp__5804__auto__","cljs.core/chunked-seq?","c__5525__auto__","cljs.core/chunk-first","cljs.core/chunk-rest","vec__58878","comp?","cljs.core.not_EQ_","datahike.db/to-old-schema","new-schema","cljs.core/seq?","p__58881","map__58882","cljs.core/--destructure-map","ident","acc","schema-entity","datahike.db/validate-write-schema","datahike.schema/old-schema-valid?","G__58884","fexpr__58883","datahike.schema/explain-old-schema","datahike.db/init-max-eid","temp__5802__auto__","G__58885","G__58886","G__58887","G__58888","datahike.db/get-max-tx","datahike.index/-all","datahike.db/ref-datoms","idents","p__58889","map__58890","m","id","datahike.constants/system-schema","p__58891","map__58892","i","cljs.core/reduce-kv","coll","v-ref","d-val","cljs.core.conj","datahike.db/get-ident-ref-map","p__58893","vec__58894","map__58897","var_args","G__58899","datahike.db.empty_db","user-config","store","cljs.core/map?","cljs.core/coll?","map__58900","complete-config","cljs.core.merge","datahike.config/storeless-config","datahike.config/validate-config","datahike.config/remove-nils","keep-history?","schema-flexibility","attribute-refs?","on-read?","complete-schema","datahike.constants/ref-implicit-schema","datahike.constants/non-ref-implicit-schema","datahike.db.utils/rschema","clojure.set/map-invert","datahike.constants/system-entities","indexed","cljs.core/set","index-config","datahike.index/init-index","datahike.index/empty-index","indexed-datoms","p__58901","vec__58902","datahike.constants/ue0","datahike.constants/utx0","hasch.core.uuid","datahike.tools/get-date","G__58908","datahike.db/init-db","datahike.db.init_db","map__58909","new-datoms","p__58910","vec__58911","p1__58905#","p2__58906#","datahike.db/metrics","update-count-in","ks","p1__58914#","cljs.core.update_in","counts-map","G__58916","sum-indexed-attr-counts","attr-counts","p1__58915#","medley.core/filter-keys","cljs.core/+","G__58917","G__58918","datahike.index/-count","G__58919","G__58920"],"sourcesContent":["(ns ^:no-doc datahike.db\n (:refer-clojure :exclude [seqable?])\n (:require\n [clojure.data :as data]\n [clojure.walk :refer [postwalk]]\n #?(:clj [clojure.pprint :as pp])\n [datahike.config :as dc]\n [datahike.constants :as c :refer [ue0 e0 tx0 utx0 emax txmax system-schema]]\n [datahike.datom :as dd :refer [datom datom-tx datom-added]]\n [datahike.db.interface :as dbi]\n [datahike.db.search :as dbs]\n [datahike.db.utils :as dbu]\n [datahike.index :as di]\n [datahike.schema :as ds]\n [datahike.store :as store]\n [datahike.tools :as tools :refer [raise group-by-step #?(:clj meta-data)]]\n [me.tonsky.persistent-sorted-set.arrays :as arrays]\n [medley.core :as m]\n [taoensso.timbre :refer [warn]])\n #?(:cljs (:require-macros [datahike.db :refer [defrecord-updatable]]\n [datahike.datom :refer [combine-cmp datom]]\n [datahike.tools :refer [raise meta-data]]))\n #?(:clj (:import [clojure.lang AMapEntry ITransientCollection IEditableCollection IPersistentCollection Seqable\n IHashEq Associative IKeywordLookup ILookup]\n [datahike.datom Datom]\n [java.io Writer]\n [java.util Date])))\n\n(declare equiv-db empty-db)\n#?(:cljs (declare pr-db))\n\n;; ----------------------------------------------------------------------------\n;; macros and funcs to support writing defrecords and updating\n;; (replacing) builtins, i.e., Object/hashCode, IHashEq hasheq, etc.\n;; code taken from prismatic:\n;; https://github.com/Prismatic/schema/commit/e31c419c56555c83ef9ee834801e13ef3c112597\n;;\n\n;; ----------------------------------------------------------------------------\n\n#?(:cljs\n (do\n (def Exception js/Error)\n (def IllegalArgumentException js/Error)\n (def UnsupportedOperationException js/Error)))\n\n;; ----------------------------------------------------------------------------\n\n(defn #?@(:clj [^Boolean seqable?]\n :cljs [^boolean seqable?])\n [x]\n (and (not (string? x))\n #?(:cljs (or (cljs.core/seqable? x)\n (arrays/array? x))\n :clj (or (seq? x)\n (instance? Seqable x)\n (nil? x)\n (instance? Iterable x)\n (arrays/array? x)\n (instance? java.util.Map x)))))\n\n(defn- cljs-env?\n \"Take the &env from a macro, and tell whether we are expanding into cljs.\"\n [env]\n (boolean (:ns env)))\n\n#?(:clj\n (defmacro if-cljs\n \"Return then if we are generating cljs code and else for Clojure code.\n https://groups.google.com/d/msg/clojurescript/iBY5HaQda4A/w1lAQi9_AwsJ\"\n [then else]\n (if (cljs-env? &env) then else)))\n\n#?(:clj\n (defn- get-sig [method]\n ;; expects something like '(method-symbol [arg arg arg] ...)\n ;; if the thing matches, returns [fully-qualified-symbol arity], otherwise nil\n (and (sequential? method)\n (symbol? (first method))\n (vector? (second method))\n (let [sym (first method)\n ns (or (some->> sym resolve meta :ns str) \"clojure.core\")]\n [(symbol ns (name sym)) (-> method second count)]))))\n\n#?(:clj\n (defn- dedupe-interfaces [deftype-form]\n ;; get the interfaces list, remove any duplicates, similar to remove-nil-implements in potemkin\n ;; verified w/ deftype impl in compiler:\n ;; (deftype* tagname classname [fields] :implements [interfaces] :tag tagname methods*)\n (let [[deftype* tagname classname fields implements interfaces & rest] deftype-form]\n (when (or (not= deftype* 'deftype*) (not= implements :implements))\n (throw (IllegalArgumentException. \"deftype-form mismatch\")))\n (list* deftype* tagname classname fields implements (vec (distinct interfaces)) rest))))\n\n#?(:clj\n (defn- make-record-updatable-clj [name fields & impls]\n (let [impl-map (->> impls (map (juxt get-sig identity)) (filter first) (into {}))\n body (macroexpand-1 (list* 'defrecord name fields impls))]\n (postwalk\n (fn [form]\n (if (and (sequential? form) (= 'deftype* (first form)))\n (->> form\n dedupe-interfaces\n (remove (fn [method]\n (when-let [impl (-> method get-sig impl-map)]\n (not= method impl)))))\n form))\n body))))\n\n;; This doesn't work, it creates duplicate implementation warnings.\n#_(:clj\n (defn- make-record-updatable-cljs [name fields & impls]\n `(defrecord ~name ~fields ~@impls)))\n\n#?(:clj\n (defn- make-record-updatable-cljs [name fields & impls]\n `(do\n (defrecord ~name ~fields)\n (extend-type ~name ~@impls))))\n\n#?(:clj\n (defmacro defrecord-updatable [name fields & impls]\n `(if-cljs\n ~(apply make-record-updatable-cljs name fields impls)\n ~(apply make-record-updatable-clj name fields impls))))\n\n;; TxReport\n\n(defrecord TxReport [db-before db-after tx-data tempids tx-meta])\n\n;; DB\n\n(defn- date? [d]\n #?(:cljs (instance? js/Date d)\n :clj (instance? Date d)))\n\n(defn- date<= [^Date a ^Date b]\n #?(:cljs (not (< (.getTime b) (.getTime a)))\n :clj (not (.before b a))))\n\n(defn- as-of-pred\n \"Create an as-of predicate, *including* the time-point\"\n [time-point]\n (if (date? time-point)\n (fn [^Datom d] (date<= (.-v d) time-point))\n (fn [^Datom d] (<= (dd/datom-tx d) time-point))))\n\n(defn- since-pred\n \"Create a since predicate, *excluding* the time-point. The opposite of `as-of-pred`.\"\n [time-point]\n (complement (as-of-pred time-point)))\n\n(defn assemble-datoms-xform [db]\n (mapcat\n (fn [[[_ a] datoms]]\n (if (dbu/multival? db a)\n (->> datoms\n (sort-by datom-tx)\n (reduce (fn [current-datoms ^Datom datom]\n (if (datom-added datom)\n (assoc current-datoms (.-v datom) datom)\n (dissoc current-datoms (.-v datom))))\n {})\n vals)\n (let [last-ea-tx (apply max (map datom-tx datoms))\n current-ea-datom (first (filter #(and (datom-added %) (= last-ea-tx (datom-tx %)))\n datoms))]\n (if current-ea-datom\n [current-ea-datom]\n []))))))\n\n(defn temporal-datom-filter [datoms pred db]\n (let [filtered-tx-ids (dbu/filter-txInstant datoms pred db)]\n (filter (fn [^Datom d]\n (contains? filtered-tx-ids\n (datom-tx d))))))\n\n(defn- post-process-datoms [datoms db context]\n (let [xform (dbi/context-xform context)\n time-pred (dbi/context-time-pred context)]\n (cond\n\n time-pred\n (let [time-xform (temporal-datom-filter datoms time-pred db)]\n (if (dbi/context-historical? context)\n (into [] (dbi/nil-comp time-xform xform) datoms)\n (->> datoms\n (transduce time-xform\n (group-by-step (fn [^Datom datom]\n [(.-e datom) (.-a datom)])))\n (into [] (dbi/nil-comp (assemble-datoms-xform db) xform)))))\n\n xform (into [] xform datoms)\n\n :else datoms)))\n\n(defn db-transient [db]\n (-> db\n (update :eavt di/-transient)\n (update :aevt di/-transient)\n (update :avet di/-transient)))\n\n(defn db-persistent! [db]\n (-> db\n (update :eavt di/-persistent!)\n (update :aevt di/-persistent!)\n (update :avet di/-persistent!)))\n\n(defn contextual-search-fn [context]\n (case (dbi/context-temporal? context)\n true dbs/temporal-search\n false dbs/search-current-indices))\n\n(defn contextual-search [db pattern context]\n (-> ((contextual-search-fn context) db pattern)\n (post-process-datoms db context)))\n\n(defn contextual-batch-search [db pattern-mask batch-fn context]\n (-> ((contextual-search-fn context) db pattern-mask batch-fn)\n (post-process-datoms db context)))\n\n(defn contextual-datoms [db index-type cs context]\n (-> (case (dbi/context-temporal? context)\n true (dbu/temporal-datoms db index-type cs)\n false (di/-slice\n (get db index-type)\n (dbu/components->pattern db index-type cs e0 tx0)\n (dbu/components->pattern db index-type cs emax txmax)\n index-type))\n (post-process-datoms db context)))\n\n(defn contextual-seek-datoms [db index-type cs context]\n (-> (case (dbi/context-temporal? context)\n true (dbs/temporal-seek-datoms db index-type cs)\n false (di/-slice (get db index-type)\n (dbu/components->pattern db index-type cs e0 tx0)\n (datom emax nil nil txmax)\n index-type))\n (post-process-datoms db context)))\n\n(defn contextual-rseek-datoms [db index-type cs context]\n (-> (case (dbi/context-temporal? context)\n true (dbs/temporal-rseek-datoms db index-type cs)\n false (-> (di/-slice (get db index-type)\n (dbu/components->pattern db index-type cs e0 tx0)\n (datom emax nil nil txmax)\n index-type)\n vec\n rseq))\n (post-process-datoms db context)))\n\n(defn contextual-index-range [db avet attr start end context]\n (let [temporal? (dbi/context-temporal? context)\n current-db (dbi/context-current-db context)]\n (assert (or (not temporal?) current-db))\n (-> (case temporal?\n true (dbs/temporal-index-range db current-db attr start end)\n false (do (when-not (dbu/indexing? db attr)\n (raise \"Attribute\"\n attr \"should be marked as :db/index true\" {}))\n\n (dbu/validate-attr\n attr (list '-index-range 'db attr start end) db)\n (di/-slice\n avet\n (dbu/resolve-datom db nil attr start nil e0 tx0)\n (dbu/resolve-datom db nil attr end nil emax txmax)\n :avet)))\n (post-process-datoms db context))))\n\n(defn deeper-index-range [origin-db db attr start end context]\n (dbi/-index-range origin-db\n attr\n start\n end\n (dbi/context-set-current-db-if-not-set context db)))\n\n(defrecord-updatable DB [schema eavt aevt avet temporal-eavt temporal-aevt temporal-avet max-eid max-tx op-count rschema hash config system-entities ident-ref-map ref-ident-map meta]\n #?@(:cljs\n [IHash (-hash [db] (.-hash db))\n IEquiv (-equiv [db other] (equiv-db db other))\n ISeqable (-seq [db] (di/-seq (.-eavt db)))\n IReversible (-rseq [db] (-rseq (.-eavt db)))\n ICounted (-count [db] (count (.-eavt db)))\n IEmptyableCollection (-empty [db] (empty-db (ds/get-user-schema db)))\n IPrintWithWriter (-pr-writer [db w opts] (pr-db db w opts))\n IEditableCollection (-as-transient [db] (db-transient db))\n ITransientCollection (-conj! [db key] (throw (ex-info \"datahike.DB/conj! is not supported\" {})))\n (-persistent! [db] (db-persistent! db))]\n\n :clj\n [Object (hashCode [db] hash)\n clojure.lang.IHashEq (hasheq [db] hash)\n Seqable (seq [db] (di/-seq eavt))\n IPersistentCollection\n (count [db] (di/-count eavt))\n (equiv [db other] (equiv-db db other))\n (empty [db] (empty-db (ds/get-user-schema db)))\n IEditableCollection\n (asTransient [db] (db-transient db))\n ITransientCollection\n (conj [db key] (throw (ex-info \"datahike.DB/conj! is not supported\" {})))\n (persistent [db] (db-persistent! db))])\n\n dbi/IDB\n (-schema [db] (.-schema db))\n (-rschema [db] (.-rschema db))\n (-system-entities [db] (.-system-entities db))\n (-attrs-by [db property] ((.-rschema db) property))\n (-temporal-index? [db] (dbi/-keep-history? db))\n (-keep-history? [db] (:keep-history? (.-config db)))\n (-max-tx [db] (.-max-tx db))\n (-max-eid [db] (.-max-eid db))\n (-config [db] (.-config db))\n (-ref-for [db a-ident]\n (if (:attribute-refs? (.-config db))\n (let [ref (get (.-ident-ref-map db) a-ident)]\n (when (nil? ref)\n (warn (str \"Attribute \" a-ident \" has not been found in database\")))\n ref)\n a-ident))\n (-ident-for [db a-ref]\n (if (:attribute-refs? (.-config db))\n (let [a-ident (get (.-ref-ident-map db) a-ref)]\n (when (nil? a-ident)\n (warn (str \"Attribute with reference number \" a-ref \" has not been found in database\")))\n a-ident)\n a-ref))\n\n dbi/ISearch\n (-search-context [db] dbi/base-context)\n (-search [db pattern context]\n (contextual-search db pattern context))\n (-batch-search [db pattern-mask batch-fn context]\n (contextual-batch-search db pattern-mask batch-fn context))\n\n dbi/IIndexAccess\n (-datoms [db index-type cs context]\n (contextual-datoms db index-type cs context))\n\n (-seek-datoms [db index-type cs context]\n (contextual-seek-datoms db index-type cs context))\n\n (-rseek-datoms [db index-type cs context]\n (contextual-rseek-datoms db index-type cs context))\n\n (-index-range [db attr start end context]\n (contextual-index-range db (.-avet db) attr start end context))\n\n data/EqualityPartition\n (equality-partition [x] :datahike/db)\n\n data/Diff\n (diff-similar [a b]\n (let [datoms-a (di/-slice (:eavt a) (datom e0 nil nil tx0) (datom emax nil nil txmax) :eavt)\n datoms-b (di/-slice (:eavt b) (datom e0 nil nil tx0) (datom emax nil nil txmax) :eavt)]\n (dd/diff-sorted datoms-a datoms-b dd/cmp-datoms-eavt-quick))))\n\n;; FilteredDB\n\n(defrecord-updatable FilteredDB [unfiltered-db pred]\n #?@(:cljs\n [IEquiv (-equiv [db other] (equiv-db db other))\n ISeqable (-seq [db] (dbi/datoms db :eavt []))\n ICounted (-count [db] (count (dbi/datoms db :eavt [])))\n IPrintWithWriter (-pr-writer [db w opts] (pr-db db w opts))\n\n IEmptyableCollection (-empty [_] (throw (js/Error. \"-empty is not supported on FilteredDB\")))\n\n ILookup (-lookup ([_ _] (throw (js/Error. \"-lookup is not supported on FilteredDB\")))\n ([_ _ _] (throw (js/Error. \"-lookup is not supported on FilteredDB\"))))\n\n IAssociative\n (-contains-key? [_ _] (throw (js/Error. \"-contains-key? is not supported on FilteredDB\")))\n (-assoc [_ _ _] (throw (js/Error. \"-assoc is not supported on FilteredDB\")))]\n\n :clj\n [IPersistentCollection\n (count [db] (count (dbi/datoms db :eavt [])))\n (equiv [db o] (equiv-db db o))\n (cons [db [k v]] (throw (UnsupportedOperationException. \"cons is not supported on FilteredDB\")))\n (empty [db] (throw (UnsupportedOperationException. \"empty is not supported on FilteredDB\")))\n\n Seqable (seq [db] (dbi/datoms db :eavt []))\n\n clojure.lang.ILookup (valAt [db k] (throw (UnsupportedOperationException. \"valAt/2 is not supported on FilteredDB\")))\n (valAt [db k nf] (throw (UnsupportedOperationException. \"valAt/3 is not supported on FilteredDB\")))\n clojure.lang.IKeywordLookup (getLookupThunk [db k]\n (throw (UnsupportedOperationException. \"getLookupThunk is not supported on FilteredDB\")))\n\n Associative\n (containsKey [e k] (throw (UnsupportedOperationException. \"containsKey is not supported on FilteredDB\")))\n (entryAt [db k] (throw (UnsupportedOperationException. \"entryAt is not supported on FilteredDB\")))\n (assoc [db k v] (throw (UnsupportedOperationException. \"assoc is not supported on FilteredDB\")))])\n\n dbi/IDB\n (-schema [db] (dbi/-schema (.-unfiltered-db db)))\n (-rschema [db] (dbi/-rschema (.-unfiltered-db db)))\n (-system-entities [db] (dbi/-system-entities (.-unfiltered-db db)))\n (-attrs-by [db property] (dbi/-attrs-by (.-unfiltered-db db) property))\n (-temporal-index? [db] (dbi/-keep-history? db))\n (-keep-history? [db] (dbi/-keep-history? (.-unfiltered-db db)))\n (-max-tx [db] (dbi/-max-tx (.-unfiltered-db db)))\n (-max-eid [db] (dbi/-max-eid (.-unfiltered-db db)))\n (-config [db] (dbi/-config (.-unfiltered-db db)))\n (-ref-for [db a-ident] (dbi/-ref-for (.-unfiltered-db db) a-ident))\n (-ident-for [db a-ref] (dbi/-ident-for (.-unfiltered-db db) a-ref))\n\n dbi/ISearch\n (-search-context [db] (dbi/context-with-xform-after\n (dbi/-search-context (.-unfiltered-db db))\n (filter (.-pred db))))\n (-search [db pattern context]\n (dbi/-search (.-unfiltered-db db) pattern context))\n (-batch-search [db pattern-mask batch-fn context]\n (dbi/-batch-search (.-unfiltered-db db) pattern-mask batch-fn context))\n\n dbi/IIndexAccess\n (-datoms [db index cs context]\n (dbi/-datoms (.-unfiltered-db db) index cs context))\n\n (-seek-datoms [db index cs context]\n (dbi/-seek-datoms (.-unfiltered-db db) index cs context))\n\n (-rseek-datoms [db index cs context]\n (dbi/-rseek-datoms (.-unfiltered-db db) index cs context))\n\n (-index-range [db attr start end context]\n (deeper-index-range (.-unfiltered-db db)\n db\n attr\n start end\n context)))\n\n;; HistoricalDB\n\n(defrecord-updatable HistoricalDB [origin-db]\n #?@(:cljs\n [IEquiv (-equiv [db other] (equiv-db db other))\n ISeqable (-seq [db] (dbi/datoms db :eavt []))\n ICounted (-count [db] (count (dbi/datoms db :eavt [])))\n IPrintWithWriter (-pr-writer [db w opts] (pr-db db w opts))\n\n IEmptyableCollection (-empty [_] (throw (js/Error. \"-empty is not supported on HistoricalDB\")))\n\n ILookup (-lookup ([_ _] (throw (js/Error. \"-lookup is not supported on HistoricalDB\")))\n ([_ _ _] (throw (js/Error. \"-lookup is not supported on HistoricalDB\"))))\n\n IAssociative\n (-contains-key? [_ _] (throw (js/Error. \"-contains-key? is not supported on HistoricalDB\")))\n (-assoc [_ _ _] (throw (js/Error. \"-assoc is not supported on HistoricalDB\")))]\n :clj\n [IPersistentCollection\n (count [db] (count (dbi/datoms db :eavt [])))\n (equiv [db o] (equiv-db db o))\n (cons [db [k v]] (throw (UnsupportedOperationException. \"cons is not supported on HistoricalDB\")))\n (empty [db] (throw (UnsupportedOperationException. \"empty is not supported on HistoricalDB\")))\n\n Seqable\n (seq [db] (dbi/datoms db :eavt []))\n\n Associative\n (assoc [db k v] (throw (UnsupportedOperationException. \"assoc is not supported on HistoricalDB\")))])\n\n dbi/IDB\n (-schema [db] (dbi/-schema (.-origin-db db)))\n (-rschema [db] (dbi/-rschema (.-origin-db db)))\n (-system-entities [db] (dbi/-system-entities (.-origin-db db)))\n (-attrs-by [db property] (dbi/-attrs-by (.-origin-db db) property))\n (-temporal-index? [db] (dbi/-keep-history? (.-origin-db db)))\n (-keep-history? [db] (dbi/-keep-history? (.-origin-db db)))\n (-max-tx [db] (dbi/-max-tx (.-origin-db db)))\n (-max-eid [db] (dbi/-max-eid (.-origin-db db)))\n (-config [db] (dbi/-config (.-origin-db db)))\n (-ref-for [db a-ident] (dbi/-ref-for (.-origin-db db) a-ident))\n (-ident-for [db a-ref] (dbi/-ident-for (.-origin-db db) a-ref))\n\n dbi/IHistory\n (-time-point [db] nil)\n (-origin [db] (.-origin-db db))\n\n dbi/ISearch\n (-search-context [db]\n (-> (.-origin-db db)\n dbi/-search-context\n dbi/context-with-history))\n (-search [db pattern context]\n (dbi/-search (.-origin-db db) pattern context))\n (-batch-search [db pattern-mask batch-fn context]\n (dbi/-batch-search (.-origin-db db) pattern-mask batch-fn context))\n\n dbi/IIndexAccess\n (-datoms [db index-type cs context] (dbi/-datoms (.-origin-db db) index-type cs context))\n\n (-seek-datoms [db index-type cs context] (dbi/-seek-datoms (.-origin-db db) index-type cs context))\n\n (-rseek-datoms [db index-type cs context] (dbi/-rseek-datoms (.-origin-db db) index-type cs context))\n\n (-index-range [db attr start end context] (deeper-index-range (.-origin-db db) db attr start end context)))\n\n;; AsOfDB\n\n(defrecord-updatable AsOfDB [origin-db time-point]\n #?@(:cljs\n [IEquiv (-equiv [db other] (equiv-db db other))\n ISeqable (-seq [db] (dbi/datoms db :eavt []))\n ICounted (-count [db] (count (dbi/datoms db :eavt [])))\n IPrintWithWriter (-pr-writer [db w opts] (pr-db db w opts))\n\n IEmptyableCollection (-empty [_] (throw (js/Error. \"-empty is not supported on AsOfDB\")))\n\n ILookup (-lookup ([_ _] (throw (js/Error. \"-lookup is not supported on AsOfDB\")))\n ([_ _ _] (throw (js/Error. \"-lookup is not supported on AsOfDB\"))))\n\n IAssociative\n (-contains-key? [_ _] (throw (js/Error. \"-contains-key? is not supported on AsOfDB\")))\n (-assoc [_ _ _] (throw (js/Error. \"-assoc is not supported on AsOfDB\")))]\n :clj\n [IPersistentCollection\n (count [db] (count (dbi/datoms db :eavt [])))\n (equiv [db o] (equiv-db db o))\n (cons [db [k v]] (throw (UnsupportedOperationException. \"cons is not supported on AsOfDB\")))\n (empty [db] (throw (UnsupportedOperationException. \"empty is not supported on AsOfDB\")))\n\n Seqable\n (seq [db] (dbi/datoms db :eavt []))\n\n Associative\n (assoc [db k v] (throw (UnsupportedOperationException. \"assoc is not supported on AsOfDB\")))])\n\n dbi/IDB\n (-schema [db] (dbi/-schema (.-origin-db db)))\n (-rschema [db] (dbi/-rschema (.-origin-db db)))\n (-system-entities [db] (dbi/-system-entities (.-origin-db db)))\n (-attrs-by [db property] (dbi/-attrs-by (.-origin-db db) property))\n (-temporal-index? [db] (dbi/-keep-history? (.-origin-db db)))\n (-keep-history? [db] (dbi/-keep-history? (.-origin-db db)))\n (-max-tx [db] (dbi/-max-tx (.-origin-db db)))\n (-max-eid [db] (dbi/-max-eid (.-origin-db db)))\n (-config [db] (dbi/-config (.-origin-db db)))\n (-ref-for [db a-ident] (dbi/-ref-for (.-origin-db db) a-ident))\n (-ident-for [db a-ref] (dbi/-ident-for (.-origin-db db) a-ref))\n\n dbi/IHistory\n (-time-point [db] (.-time-point db))\n (-origin [db] (.-origin-db db))\n\n dbi/ISearch\n (-search-context [db] (dbi/context-with-temporal-timepred\n (dbi/-search-context (.-origin-db db))\n (as-of-pred (.-time-point db))))\n (-search [db pattern context]\n (dbi/-search (.-origin-db db) pattern context))\n (-batch-search [db pattern batch-fn context]\n (dbi/-batch-search (.-origin-db db) pattern batch-fn context))\n\n dbi/IIndexAccess\n (-datoms [db index-type cs context]\n (dbi/-datoms (.-origin-db db) index-type cs context))\n\n (-seek-datoms [db index-type cs context]\n (dbi/-seek-datoms (.-origin-db db) index-type cs context))\n\n (-rseek-datoms [db index-type cs context]\n (dbi/-rseek-datoms (.-origin-db db) index-type cs context))\n\n (-index-range [db attr start end context]\n (deeper-index-range (.-origin-db db) db attr start end context)))\n\n(defrecord-updatable SinceDB [origin-db time-point]\n #?@(:cljs\n [IEquiv (-equiv [db other] (equiv-db db other))\n ISeqable (-seq [db] (dbi/datoms db :eavt []))\n ICounted (-count [db] (count (dbi/datoms db :eavt [])))\n IPrintWithWriter (-pr-writer [db w opts] (pr-db db w opts))\n\n IEmptyableCollection (-empty [_] (throw (js/Error. \"-empty is not supported on SinceDB\")))\n\n ILookup (-lookup ([_ _] (throw (js/Error. \"-lookup is not supported on SinceDB\")))\n ([_ _ _] (throw (js/Error. \"-lookup is not supported on SinceDB\"))))\n\n IAssociative\n (-contains-key? [_ _] (throw (js/Error. \"-contains-key? is not supported on SinceDB\")))\n (-assoc [_ _ _] (throw (js/Error. \"-assoc is not supported on SinceDB\")))]\n :clj\n [IPersistentCollection\n (count [db] (count (dbi/datoms db :eavt [])))\n (equiv [db o] (equiv-db db o))\n (cons [db [k v]] (throw (UnsupportedOperationException. \"cons is not supported on SinceDB\")))\n (empty [db] (throw (UnsupportedOperationException. \"empty is not supported on SinceDB\")))\n\n Seqable\n (seq [db] (dbi/datoms db :eavt []))\n\n Associative\n (assoc [db k v] (throw (UnsupportedOperationException. \"assoc is not supported on SinceDB\")))])\n\n dbi/IDB\n (-schema [db] (dbi/-schema (.-origin-db db)))\n (-rschema [db] (dbi/-rschema (.-origin-db db)))\n (-system-entities [db] (dbi/-system-entities (.-origin-db db)))\n (-attrs-by [db property] (dbi/-attrs-by (.-origin-db db) property))\n (-temporal-index? [db] (dbi/-keep-history? (.-origin-db db)))\n (-keep-history? [db] (dbi/-keep-history? (.-origin-db db)))\n (-max-tx [db] (dbi/-max-tx (.-origin-db db)))\n (-max-eid [db] (dbi/-max-eid (.-origin-db db)))\n (-config [db] (dbi/-config (.-origin-db db)))\n (-ref-for [db a-ident] (dbi/-ref-for (.-origin-db db) a-ident))\n (-ident-for [db a-ref] (dbi/-ident-for (.-origin-db db) a-ref))\n\n dbi/IHistory\n (-time-point [db] (.-time-point db))\n (-origin [db] (.-origin-db db))\n\n dbi/ISearch\n (-search-context [db] (dbi/context-with-temporal-timepred\n (dbi/-search-context (.-origin-db db))\n (since-pred (.-time-point db))))\n (-search [db pattern context]\n (dbi/-search (.-origin-db db) pattern context))\n (-batch-search [db pattern batch-fn context]\n (dbi/-batch-search (.-origin-db db) pattern batch-fn context))\n\n dbi/IIndexAccess\n (dbi/-datoms [db index-type cs context]\n (dbi/-datoms (.-origin-db db) index-type cs context))\n\n (dbi/-seek-datoms [db index-type cs context]\n (dbi/-seek-datoms (.-origin-db db) index-type cs context))\n\n (dbi/-rseek-datoms [db index-type cs context]\n (dbi/-rseek-datoms (.-origin-db db) index-type cs context))\n\n (dbi/-index-range [db attr start end context]\n (deeper-index-range (.-origin-db db)\n db\n attr\n start end\n context)))\n\n(defn- equiv-db-index [x y]\n (loop [xs (seq x)\n ys (seq y)]\n (cond\n (nil? xs) (nil? ys)\n (= (first xs) (first ys)) (recur (next xs) (next ys))\n :else false)))\n\n(defn- equiv-db [db other]\n (and (or (instance? DB other) (instance? FilteredDB other))\n (or (not (instance? DB other)) (= (hash db) (hash other)))\n (= (dbi/-schema db) (dbi/-schema other))\n (equiv-db-index (dbi/datoms db :eavt []) (dbi/datoms other :eavt []))))\n\n#?(:cljs\n (defn pr-db [db w opts]\n (-write w \"#datahike/DB {\")\n (-write w (str \":max-tx \" (dbi/-max-tx db) \" \"))\n (-write w (str \":max-eid \" (dbi/-max-eid db) \" \"))\n (-write w \"}\")))\n\n#?(:clj\n (do\n (defn pr-db [db, ^Writer w]\n (.write w (str \"#datahike/DB {\"))\n (.write w \":store-id [\")\n (.write w (pr-str (store/store-identity (:store (dbi/-config db)))))\n (.write w \" \")\n (.write w (pr-str (:branch (dbi/-config db))))\n (.write w \"] \")\n (.write w (str \":commit-id \" (pr-str (:datahike/commit-id (:meta db))) \" \"))\n (.write w (str \":max-tx \" (dbi/-max-tx db) \" \"))\n (.write w (str \":max-eid \" (dbi/-max-eid db)))\n (.write w \"}\"))\n\n (defn pr-hist-db [db ^Writer w flavor time-point?]\n (.write w (str \"#datahike/\" flavor \" {\"))\n (.write w \":origin \")\n (binding [*out* w]\n (pr (dbi/-origin db)))\n (when time-point?\n (.write w \" :time-point \")\n (binding [*out* w]\n (pr (dbi/-time-point db))))\n (.write w \"}\"))\n\n (defmethod print-method DB [db w] (pr-db db w))\n (defmethod print-method FilteredDB [db w] (pr-db db w)) ;; why not with \"FilteredDB\" ?\n (defmethod print-method HistoricalDB [db w] (pr-hist-db db w \"HistoricalDB\" false))\n (defmethod print-method AsOfDB [db w] (pr-hist-db db w \"AsOfDB\" true))\n (defmethod print-method SinceDB [db w] (pr-hist-db db w \"SinceDB\" true))\n\n (defmethod pp/simple-dispatch Datom [^Datom d]\n (pp/pprint-logical-block :prefix \"#datahike/Datom [\" :suffix \"]\"\n (pp/write-out (.-e d))\n (.write ^Writer *out* \" \")\n (pp/pprint-newline :linear)\n (pp/write-out (.-a d))\n (.write ^Writer *out* \" \")\n (pp/pprint-newline :linear)\n (pp/write-out (.-v d))\n (.write ^Writer *out* \" \")\n (pp/pprint-newline :linear)\n (pp/write-out (datom-tx d))))\n\n (defn- pp-db [db ^Writer w]\n (pp/pprint-logical-block :prefix \"#datahike/DB {\" :suffix \"}\"\n (pp/pprint-logical-block\n (pp/write-out :max-tx)\n (.write ^Writer *out* \" \")\n (pp/pprint-newline :linear)\n (pp/write-out (dbi/-max-tx db))\n (.write ^Writer *out* \" \")\n (pp/pprint-newline :linear)\n (pp/write-out :max-eid)\n (.write ^Writer *out* \" \")\n (pp/pprint-newline :linear)\n (pp/write-out (dbi/-max-eid db)))\n (pp/pprint-newline :linear)))\n\n (defmethod pp/simple-dispatch DB [db] (pp-db db *out*))\n (defmethod pp/simple-dispatch FilteredDB [db] (pp-db db *out*))))\n\n(defn- validate-schema-key [a k v expected]\n (when-not (or (nil? v)\n (contains? expected v))\n (throw (ex-info (str \"Bad attribute specification for \" (pr-str {a {k v}}) \", expected one of \" expected)\n {:error :schema/validation\n :attribute a\n :key k\n :value v}))))\n\n(defn- validate-tuple-schema [a kv]\n (when (= :db.type/tuple (:db/valueType kv))\n (case (some #{:db/tupleAttrs :db/tupleTypes :db/tupleType} (keys kv))\n :db/tupleAttrs (when (not (vector? (:db/tupleAttrs kv)))\n (throw (ex-info (str \"Bad attribute specification for \" a \": {:db/tupleAttrs ...} should be a vector}\")\n {:error :schema/validation\n :attribute a\n :key :db/tupleAttrs})))\n :db/tupleTypes (when (not (vector? (:db/tupleTypes kv)))\n (throw (ex-info (str \"Bad attribute specification for \" a \": {:db/tupleTypes ...} should be a vector}\")\n {:error :schema/validation\n :attribute a\n :key :db/tupleTypes})))\n :db/tupleType (when (not (keyword? (:db/tupleType kv)))\n (throw (ex-info (str \"Bad attribute specification for \" a \": {:db/tupleType ...} should be a keyword}\")\n {:error :schema/validation\n :attribute a\n :key :db/tupleType}))))))\n\n(defn- validate-schema [schema]\n (doseq [[a-ident kv] schema]\n (let [comp? (:db/isComponent kv false)]\n (validate-schema-key a-ident :db/isComponent (:db/isComponent kv) #{true false})\n (when (and comp? (not= (:db/valueType kv) :db.type/ref))\n (throw (ex-info (str \"Bad attribute specification for \" a-ident \": {:db/isComponent true} should also have {:db/valueType :db.type/ref}\")\n {:error :schema/validation\n :attribute a-ident\n :key :db/isComponent}))))\n (validate-schema-key a-ident :db/unique (:db/unique kv) #{:db.unique/value :db.unique/identity})\n (validate-schema-key a-ident :db/valueType (:db/valueType kv) #{:db.type/ref :db.type/tuple})\n (validate-schema-key a-ident :db/cardinality (:db/cardinality kv) #{:db.cardinality/one :db.cardinality/many})\n (validate-tuple-schema a-ident kv)))\n\n(defn to-old-schema [new-schema]\n (if (or (vector? new-schema) (seq? new-schema))\n (reduce\n (fn [acc {:keys [:db/ident] :as schema-entity}]\n (assoc acc ident schema-entity))\n {}\n new-schema)\n new-schema))\n\n(defn- validate-write-schema [schema]\n (when-not (ds/old-schema-valid? schema)\n (raise \"Incomplete schema attributes, expected at least :db/valueType, :db/cardinality\"\n (ds/explain-old-schema schema))))\n\n(defn init-max-eid [eavt]\n ;; solved with reverse slice first in datascript\n (if-let [datoms (di/-slice\n eavt\n (datom e0 nil nil tx0)\n (datom (dec tx0) nil nil txmax)\n :eavt)]\n (-> datoms vec rseq first :e) ;; :e of last datom in slice\n e0))\n\n(defn get-max-tx [eavt]\n (transduce (map (fn [^Datom d] (datom-tx d))) max tx0 (di/-all eavt)))\n\n(def ref-datoms ;; maps enums as well\n (let [idents (reduce (fn [m {:keys [db/ident db/id]}]\n (assoc m ident id))\n {}\n system-schema)]\n (->> system-schema\n (mapcat\n (fn [{:keys [db/id] :as i}]\n (reduce-kv\n (fn [coll k v]\n (let [v-ref (idents v)\n ;; datom val can be system schema eid (v-ref), or ident or regular (v)\n d-val (if (and (not= k :db/ident) v-ref) v-ref v)]\n (conj coll (dd/datom id (idents k) d-val tx0))))\n []\n (dissoc i :db/id))))\n vec)))\n\n(defn get-ident-ref-map\n \"Maps IDs of system entities to their names (keyword) and attribute names to the attribute's specification\"\n [schema]\n (reduce\n (fn [m [a {:keys [db/id]}]]\n (when a\n (assoc m a id)))\n {}\n schema))\n\n(defn ^DB empty-db\n \"Prefer create-database in api, schema only in index for attribute reference database.\"\n ([] (empty-db nil nil nil))\n ([schema] (empty-db schema nil nil))\n ([schema user-config] (empty-db schema user-config nil))\n ([schema user-config store]\n {:pre [(or (nil? schema) (map? schema) (coll? schema))]}\n (let [complete-config (merge (dc/storeless-config) user-config)\n _ (dc/validate-config complete-config)\n complete-config (dc/remove-nils complete-config)\n {:keys [keep-history? index schema-flexibility attribute-refs?]} complete-config\n on-read? (= :read schema-flexibility)\n schema (to-old-schema schema)\n _ (if on-read?\n (validate-schema schema)\n (validate-write-schema schema))\n complete-schema (merge schema\n (if attribute-refs?\n c/ref-implicit-schema\n c/non-ref-implicit-schema))\n rschema (dbu/rschema complete-schema)\n ident-ref-map (if attribute-refs? (get-ident-ref-map complete-schema) {})\n ref-ident-map (if attribute-refs? (clojure.set/map-invert ident-ref-map) {})\n system-entities (if attribute-refs? c/system-entities #{})\n indexed (if attribute-refs?\n (set (map ident-ref-map (:db/index rschema)))\n (:db/index rschema))\n index-config (merge (:index-config complete-config)\n {:indexed indexed})\n eavt (if attribute-refs?\n (di/init-index index store ref-datoms :eavt 0 index-config)\n (di/empty-index index store :eavt index-config))\n aevt (if attribute-refs?\n (di/init-index index store ref-datoms :aevt 0 index-config)\n (di/empty-index index store :aevt index-config))\n indexed-datoms (filter (fn [[_ a _ _]] (contains? indexed a)) ref-datoms)\n avet (if attribute-refs?\n (di/init-index index store indexed-datoms :avet 0 index-config)\n (di/empty-index index store :avet index-config))\n max-eid (if attribute-refs? ue0 e0)\n max-tx (if attribute-refs? utx0 tx0)]\n (map->DB\n (merge\n {:schema complete-schema\n :rschema rschema\n :config complete-config\n :eavt eavt\n :aevt aevt\n :avet avet\n :max-eid max-eid\n :max-tx max-tx\n :hash 0\n :system-entities system-entities\n :ref-ident-map ref-ident-map\n :ident-ref-map ident-ref-map\n :meta (meta-data)\n :op-count (if attribute-refs? (count ref-datoms) 0)}\n (when keep-history? ;; no difference for attribute references since no update possible\n {:temporal-eavt eavt\n :temporal-aevt aevt\n :temporal-avet avet}))))))\n\n(defn ^DB init-db\n ([datoms] (init-db datoms nil nil nil))\n ([datoms schema] (init-db datoms schema nil nil))\n ([datoms schema user-config] (init-db datoms schema user-config nil))\n ([datoms schema user-config store]\n (validate-schema schema)\n (let [{:keys [index keep-history? attribute-refs?] :as complete-config} (merge (dc/storeless-config) user-config)\n _ (dc/validate-config complete-config)\n complete-schema (merge schema\n (if attribute-refs?\n c/ref-implicit-schema\n c/non-ref-implicit-schema))\n rschema (dbu/rschema complete-schema)\n ident-ref-map (if attribute-refs? (get-ident-ref-map schema) {})\n ref-ident-map (if attribute-refs? (clojure.set/map-invert ident-ref-map) {})\n system-entities (if attribute-refs? c/system-entities #{})\n\n indexed (if attribute-refs?\n (set (map ident-ref-map (:db/index rschema)))\n (:db/index rschema))\n new-datoms (if attribute-refs? (concat ref-datoms datoms) datoms)\n indexed-datoms (filter (fn [[_ a _ _]] (contains? indexed a)) new-datoms)\n op-count 0\n index-config (assoc (:index-config complete-config)\n :indexed indexed)\n avet (di/init-index index store indexed-datoms :avet op-count index-config)\n eavt (di/init-index index store new-datoms :eavt op-count index-config)\n aevt (di/init-index index store new-datoms :aevt op-count index-config)\n max-eid (init-max-eid eavt)\n max-tx (get-max-tx eavt)\n op-count (count new-datoms)]\n (map->DB (merge {:schema complete-schema\n :rschema rschema\n :config complete-config\n :eavt eavt\n :aevt aevt\n :avet avet\n :max-eid max-eid\n :max-tx max-tx\n :op-count op-count\n :hash (reduce #(+ %1 (hash %2)) 0 datoms)\n :system-entities system-entities\n :meta (meta-data)\n :ref-ident-map ref-ident-map\n :ident-ref-map ident-ref-map}\n (when keep-history?\n {:temporal-eavt (di/empty-index index store :eavt index-config)\n :temporal-aevt (di/empty-index index store :aevt index-config)\n :temporal-avet (di/empty-index index store :avet index-config)}))))))\n\n(defn metrics [^DB db]\n (let [update-count-in (fn [m ks] (update-in m ks #(if % (inc %) 1)))\n counts-map (->> (di/-seq (.-eavt db))\n (reduce (fn [m ^Datom datom]\n (-> m\n (update-count-in [:per-attr-counts (dbi/-ident-for db (.-a datom))])\n (update-count-in [:per-entity-counts (.-e datom)])))\n {:per-attr-counts {}\n :per-entity-counts {}}))\n sum-indexed-attr-counts (fn [attr-counts] (->> attr-counts\n (m/filter-keys #(contains? (:db/index (.-rschema db)) %))\n vals\n (reduce + 0)))]\n (cond-> (merge counts-map\n {:count (di/-count (.-eavt db))\n :avet-count (->> (:per-attr-counts counts-map)\n sum-indexed-attr-counts)})\n (dbi/-keep-history? db)\n (merge {:temporal-count (di/-count (.-temporal-eavt db))\n :temporal-avet-count (->> (di/-seq (.-temporal-eavt db))\n (reduce (fn [m ^Datom datom] (update-count-in m [(dbi/-ident-for db (.-a datom))]))\n {})\n sum-indexed-attr-counts)}))))\n\n"]}