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":["konserve/store.cljc"],"mappings":"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","names":["konserve.store/validate-store-config","config","id","cljs.core.ex_info","cljs.core/uuid?","cljs.core/type","js/konserve","js/konserve.store","js/konserve.store.-connect-store","method-table__5599__auto__","cljs.core.atom","prefer-table__5600__auto__","method-cache__5601__auto__","cached-hierarchy__5602__auto__","hierarchy__5603__auto__","cljs.core.get","fexpr__50047","cljs.core/MultiFn","cljs.core.symbol","konserve.store/-connect-store","_opts","js/konserve.store.-create-store","fexpr__50060","konserve.store/-create-store","js/konserve.store.-store-exists?","fexpr__50067","konserve.store/-store-exists?","js/konserve.store.-delete-store","fexpr__50081","konserve.store/-delete-store","js/konserve.store.-release-store","fexpr__50090","konserve.store/-release-store","_store","var_args","G__50103","konserve.store/connect-store","js/Error","konserve.store.connect_store","opts","or__5002__auto__","G__50138","konserve.store/create-store","konserve.store.create_store","G__50150","konserve.store/store-exists?","konserve.store.store_exists_QMARK_","G__50156","konserve.store/delete-store","konserve.store.delete_store","G__50163","konserve.store/release-store","store","konserve.store.release_store","p__50173","map__50175","cljs.core/--destructure-map","konserve.memory/connect-mem-store","c__26357__auto__","cljs.core.async.chan","cljs.core.async.impl.dispatch/run","f__26358__auto__","switch__25947__auto__","state_50209","state_val_50210","inst_50193","inst_50192","superv.async/throw-if-exception-","statearr-50216","statearr-50217","statearr-50219","statearr-50222","_","statearr-50224","cljs.core/rest","inst_50180","temp__5804__auto__","e__24908__auto__","statearr-50226","statearr-50229","ex50211","statearr-50230","statearr-50231","inst_50207","cljs.core.async.impl.ioc-helpers/return-chan","statearr-50233","cljs.core/cons","statearr-50235","cljs.core.async.impl.ioc-helpers/take!","inst_50197","inst_50198","inst_50199","inst_50200","cljs.core/PersistentHashMap","inst_50201","inst_50202","statearr-50236","inst_50183","statearr-50240","inst_50204","statearr-50241","statearr-50243","statearr-50244","statearr-50248","state-machine__25948__auto__","ret-value__25949__auto__","result__25950__auto__","cljs.core/keyword-identical?","ex__25951__auto__","e50250","statearr-50252","cljs.core/seq","statearr-50253","cljs.core/first","state__26359__auto__","statearr-50255","cljs.core.async.impl.ioc-helpers/USER-START-IDX","cljs.core.async.impl.ioc-helpers/run-state-machine-wrapped","konserve.memory.new_mem_store","p__50258","map__50259","existing","cljs.core/deref","konserve.memory/memory-store-registry","cljs.core.assoc","p__50263","map__50264","exists","cljs.core/contains?","state_50288","state_val_50291","statearr-50297","statearr-50301","statearr-50304","statearr-50305","statearr-50310","inst_50286","statearr-50313","inst_50270","statearr-50315","inst_50275","statearr-50316","statearr-50317","ex50312","statearr-50319","statearr-50323","statearr-50325","e50327","statearr-50330","statearr-50331","statearr-50333","state_50353","state_val_50354","statearr-50359","statearr-50360","statearr-50361","statearr-50362","statearr-50363","inst_50351","statearr-50368","inst_50338","statearr-50370","inst_50341","statearr-50371","statearr-50375","ex50365","statearr-50376","statearr-50378","statearr-50380","e50382","statearr-50385","statearr-50386","statearr-50388","p__50393","map__50394","konserve.memory/delete-mem-store","_config","state_50415","state_val_50416","statearr-50420","statearr-50422","statearr-50423","statearr-50426","statearr-50427","inst_50413","statearr-50431","inst_50400","statearr-50434","inst_50403","statearr-50436","statearr-50438","ex50429","statearr-50441","statearr-50442","statearr-50444","e50445","statearr-50447","statearr-50448","statearr-50452","p__50457","map__50459","backend","p__50464","map__50465","p__50469","map__50470","p__50475","map__50476","frontend-config","backend-config","write-policy","read-policy","cljs.core._EQ_","frontend-store","backend-store","konserve.tiered.connect_tiered_store","state_50527","state_val_50528","inst_50499","inst_50500","inst_50501","statearr-50543","statearr-50547","statearr-50549","inst_50484","statearr-50552","inst_50504","inst_50510","inst_50517","inst_50518","inst_50513","statearr-50562","statearr-50566","ex50555","statearr-50570","statearr-50572","inst_50524","statearr-50577","statearr-50578","statearr-50580","statearr-50584","statearr-50586","inst_50496","statearr-50590","inst_50520","inst_50521","statearr-50593","statearr-50596","inst_50489","statearr-50598","statearr-50602","inst_50505","statearr-50604","inst_50503","statearr-50608","statearr-50610","statearr-50611","statearr-50617","e50622","statearr-50623","statearr-50625","statearr-50628","p__50637","map__50639","frontend-exists?","state_50706","state_val_50708","inst_50665","inst_50666","statearr-50718","statearr-50721","inst_50679","inst_50683","inst_50691","inst_50696","inst_50697","statearr-50727","statearr-50729","inst_50652","statearr-50732","inst_50685","statearr-50735","inst_50682","statearr-50738","statearr-50741","statearr-50742","statearr-50744","ex50734","statearr-50755","statearr-50757","inst_50692","statearr-50759","statearr-50761","statearr-50762","inst_50703","inst_50676","inst_50677","statearr-50766","statearr-50768","statearr-50771","inst_50663","statearr-50773","inst_50671","inst_50672","statearr-50775","inst_50674","inst_50655","statearr-50777","inst_50699","inst_50700","statearr-50778","statearr-50779","statearr-50780","inst_50680","statearr-50781","statearr-50782","inst_50668","statearr-50783","e50784","statearr-50785","statearr-50786","statearr-50787","p__50788","map__50789","p__50790","map__50791","and__5000__auto__","G__50793","fexpr__50792","p__50794","map__50795","p__50796","map__50797","state_50813","state_val_50814","statearr-50815","statearr-50816","statearr-50817","statearr-50818","statearr-50819","inst_50811","statearr-50821","inst_50799","statearr-50822","inst_50802","statearr-50823","statearr-50824","ex50820","statearr-50825","statearr-50826","statearr-50827","e50828","statearr-50829","statearr-50830","statearr-50833"],"sourcesContent":["(ns konserve.store\n \"Unified multimethod-based store dispatch layer.\n\n This namespace provides a polymorphic interface for connecting to different\n konserve backend stores using a `:backend` key in the configuration map.\n\n Built-in backends:\n - :memory - In-memory store (all platforms)\n - :file - File-based store (JVM only)\n - :tiered - Tiered store with frontend cache and backend persistence (all platforms)\n\n External backends (register via require):\n - :file - File-based store for Node.js (konserve.node-filestore)\n - :indexeddb - Browser IndexedDB (konserve.indexeddb - browser only)\n - :s3 - AWS S3 backend (konserve-s3)\n - :dynamodb - AWS DynamoDB backend (konserve-dynamodb)\n - :redis - Redis backend (konserve-redis)\n - :lmdb - LMDB backend (konserve-lmdb)\n - :rocksdb - RocksDB backend (konserve-rocksdb)\n\n Example usage:\n\n (require '[konserve.store :as store])\n\n ;; Memory store\n (store/connect-store {:backend :memory :opts {:sync? true}})\n\n ;; File store (JVM)\n (store/connect-store {:backend :file :path \\\"/tmp/konserve\\\" :opts {:sync? true}})\n\n ;; After requiring konserve-s3:\n (store/connect-store {:backend :s3 :bucket \\\"my-bucket\\\" :region \\\"us-east-1\\\"})\"\n (:require [konserve.memory]\n [konserve.tiered :as tiered]\n #?(:clj [konserve.filestore])\n [clojure.core.async :refer [go] :include-macros true]\n [superv.async :refer [go-try- <?-] :include-macros true]))\n\n;; =============================================================================\n;; Validation\n;; =============================================================================\n\n(defn validate-store-config\n \"Validates that store config has a valid UUID :id.\n\n All stores require an :id field containing a UUID type for proper\n identification and matching across different backends and machines.\n\n Args:\n config - Store configuration map\n\n Returns:\n config if valid\n\n Throws:\n ex-info if :id is missing or not a UUID type\"\n [config]\n (let [id (:id config)]\n (cond\n (nil? id)\n (throw (ex-info\n (str \"Store :id is required. Please add :id with a UUID to your store config.\\n\"\n \"Generate a UUID with: #?(:clj (java.util.UUID/randomUUID) :cljs (random-uuid))\\n\"\n \"Example: {:backend :memory :id #uuid \\\"550e8400-e29b-41d4-a716-446655440000\\\" ...}\")\n {:config config :error :missing-id}))\n\n (not (uuid? id))\n (throw (ex-info\n (str \"Store :id must be a UUID type. Got: \" (type id) \"\\n\"\n \"Use #uuid \\\"...\\\" literal or generate with: #?(:clj (java.util.UUID/randomUUID) :cljs (random-uuid))\")\n {:config config :id id :error :invalid-id-type}))\n\n :else config)))\n\n;; =============================================================================\n;; Private Multimethods (fixed arity, both config and opts)\n;; =============================================================================\n\n(defmulti -connect-store\n \"Private multimethod for connecting to stores with fixed arity.\n\n Dispatch is based on :backend in config.\"\n (fn [config _opts]\n (validate-store-config config)\n (:backend config)))\n\n(defmulti -create-store\n \"Private multimethod for creating stores with fixed arity.\n\n Dispatch is based on :backend in config.\"\n (fn [config _opts]\n (validate-store-config config)\n (:backend config)))\n\n(defmulti -store-exists?\n \"Private multimethod for checking store existence with fixed arity.\n\n Dispatch is based on :backend in config.\"\n (fn [config _opts]\n (validate-store-config config)\n (:backend config)))\n\n(defmulti -delete-store\n \"Private multimethod for deleting stores with fixed arity.\n\n Dispatch is based on :backend in config.\"\n (fn [config _opts]\n (validate-store-config config)\n (:backend config)))\n\n(defmulti -release-store\n \"Private multimethod for releasing stores with fixed arity.\n\n Dispatch is based on :backend in config.\"\n (fn [config _store _opts]\n (validate-store-config config)\n (:backend config)))\n\n;; =============================================================================\n;; Public Functions with Variable Arity (defaults to async)\n;; =============================================================================\n\n(defn connect-store\n \"Connect to a konserve store based on :backend key in config.\n\n Each backend expects different config keys. See documentation for specific backend\n configuration requirements.\n\n Args:\n config - A map with :backend key and backend-specific configuration\n opts - (optional) Runtime options map. Defaults to {:sync? false}\n Common options:\n - :sync? - true for synchronous, false for async (default: false)\n\n Returns:\n A store instance (or channel if async mode)\"\n ([config]\n (connect-store config {:sync? false}))\n ([config opts]\n (-connect-store config (or opts {:sync? false}))))\n\n(defn create-store\n \"Create a new store.\n\n Note: Most backends auto-create on connect-store, so this is often equivalent.\n Use this when you explicitly want to create a new store.\n\n Args:\n config - A map with :backend key and backend-specific configuration\n opts - (optional) Runtime options map. Defaults to {:sync? false}\n\n Returns:\n A new store instance\"\n ([config]\n (create-store config {:sync? false}))\n ([config opts]\n (-create-store config (or opts {:sync? false}))))\n\n(defn store-exists?\n \"Check if a store exists at the given configuration.\n\n Args:\n config - A map with :backend key and backend-specific configuration\n opts - (optional) Runtime options map. Defaults to {:sync? false}\n\n Returns:\n true if store exists, false otherwise (or channel in async mode)\"\n ([config]\n (store-exists? config {:sync? false}))\n ([config opts]\n (-store-exists? config (or opts {:sync? false}))))\n\n(defn delete-store\n \"Delete/clean up an existing store (removes underlying storage).\n\n Args:\n config - A map with :backend key and backend-specific configuration\n opts - (optional) Runtime options map. Defaults to {:sync? false}\n\n Returns:\n nil or cleanup status\"\n ([config]\n (delete-store config {:sync? false}))\n ([config opts]\n (-delete-store config (or opts {:sync? false}))))\n\n(defn release-store\n \"Release connections and resources held by a store.\n\n Args:\n config - A map with :backend key\n store - The store instance to release\n opts - (optional) Runtime options map. Defaults to {:sync? false}\n\n Returns:\n nil or completion indicator\"\n ([config store]\n (release-store config store {:sync? false}))\n ([config store opts]\n (-release-store config store (or opts {:sync? false}))))\n\n;; =============================================================================\n;; Built-in Backend Implementations\n;; =============================================================================\n\n;; ===== :memory Backend =====\n\n(defmethod -connect-store :memory\n [{:keys [id] :as config} opts]\n (if id\n ;; Strict mode with :id - must exist in registry\n (let [store (konserve.memory/connect-mem-store id opts)]\n (if (:sync? opts)\n (or store\n (throw (ex-info (str \"Memory store with ID '\" id \"' does not exist. Use create-store first.\")\n {:id id :config config})))\n (go-try- (or (<?- store)\n (throw (ex-info (str \"Memory store with ID '\" id \"' does not exist. Use create-store first.\")\n {:id id :config config}))))))\n ;; No :id - ephemeral mode (backwards compatible)\n (konserve.memory/new-mem-store (atom {}) opts)))\n\n(defmethod -create-store :memory\n [{:keys [id] :as config} opts]\n (let [existing (get @konserve.memory/memory-store-registry id)]\n (when existing\n (throw (ex-info (str \"Memory store with ID '\" id \"' already exists.\")\n {:id id :config config})))\n (konserve.memory/new-mem-store (atom {}) (assoc opts :id id))))\n\n(defmethod -store-exists? :memory\n [{:keys [id] :as config} opts]\n (if id\n ;; Check registry if :id provided\n (let [exists (contains? @konserve.memory/memory-store-registry id)]\n (if (:sync? opts) exists (go-try- exists)))\n ;; No :id - ephemeral stores don't \"exist\" in persistent sense\n (if (:sync? opts) false (go-try- false))))\n\n(defmethod -delete-store :memory\n [{:keys [id] :as config} _opts]\n ;; Only delete from registry if :id provided\n (when id\n (konserve.memory/delete-mem-store id))\n nil)\n\n(defmethod -release-store :memory\n [_config _store opts]\n ;; Memory stores don't need cleanup - they're ephemeral\n ;; Don't remove from registry here; let create-store/delete-store handle it\n (if (:sync? opts) nil (go-try- nil)))\n\n;; ===== :file Backend (JVM only) =====\n;; ClojureScript/Node.js :file backend is external - require konserve.node-filestore\n\n#?(:clj\n (defmethod -connect-store :file\n [{:keys [path config filesystem] :as all-config} opts]\n (let [exists (konserve.filestore/store-exists? filesystem path)]\n (when-not exists\n (throw (ex-info (str \"File store does not exist at path: \" path)\n {:path path :config all-config})))\n (konserve.filestore/connect-fs-store path\n :config config\n :filesystem filesystem\n :opts opts))))\n\n#?(:clj\n (defmethod -create-store :file\n [{:keys [path config filesystem] :as all-config} opts]\n (let [exists (konserve.filestore/store-exists? filesystem path)]\n (when exists\n (throw (ex-info (str \"File store already exists at path: \" path)\n {:path path :config all-config})))\n (konserve.filestore/connect-fs-store path\n :config config\n :filesystem filesystem\n :opts opts))))\n\n#?(:clj\n (defmethod -store-exists? :file\n [{:keys [path filesystem] :as config} opts]\n (let [exists (konserve.filestore/store-exists? filesystem path)]\n (if (:sync? opts)\n exists\n (go-try- exists)))))\n\n#?(:clj\n (defmethod -delete-store :file\n [{:keys [path filesystem] :as config} _opts]\n (konserve.filestore/delete-store filesystem path)))\n\n#?(:clj\n (defmethod -release-store :file\n [_config _store opts]\n ;; File stores don't need cleanup, but return proper async type\n (if (:sync? opts) nil (go-try- nil))))\n\n;; =============================================================================\n;; Default Error Handling\n;; =============================================================================\n\n(defmethod -connect-store :default\n [{:keys [backend] :as config} _opts]\n (throw (ex-info\n (str \"Unsupported store backend: \" backend\n \"\\n\\nBuilt-in backends: :memory (all platforms), :file (JVM only), :tiered\"\n \"\\nExternal backends: :file (Node.js - konserve.node-filestore), :indexeddb (browser), :s3, :dynamodb, :redis, :lmdb, :rocksdb\"\n \"\\nMake sure the corresponding backend module is required before use.\")\n {:backend backend :config config})))\n\n(defmethod -create-store :default\n [{:keys [backend] :as config} _opts]\n (throw (ex-info\n (str \"Unsupported store backend: \" backend\n \"\\n\\nBuilt-in backends: :memory (all platforms), :file (JVM only), :tiered\"\n \"\\nExternal backends: :file (Node.js - konserve.node-filestore), :indexeddb (browser), :s3, :dynamodb, :redis, :lmdb, :rocksdb\"\n \"\\nMake sure the corresponding backend module is required before use.\")\n {:backend backend :config config})))\n\n(defmethod -store-exists? :default\n [{:keys [backend] :as config} _opts]\n (throw (ex-info\n (str \"Unsupported store backend: \" backend\n \"\\n\\nBuilt-in backends: :memory (all platforms), :file (JVM only), :tiered\"\n \"\\nExternal backends: :file (Node.js - konserve.node-filestore), :indexeddb (browser), :s3, :dynamodb, :redis, :lmdb, :rocksdb\"\n \"\\nMake sure the corresponding backend module is required before use.\")\n {:backend backend :config config})))\n\n;; ===== :tiered Backend (built-in) =====\n;; Tiered store combines a fast frontend cache with a durable backend\n\n(defmethod -create-store :tiered\n [{:keys [frontend-config backend-config write-policy read-policy id] :as config} opts]\n ;; Validate that frontend and backend IDs match tiered config ID\n ;; Note: Uses :frontend-config/:backend-config to avoid collision with :backend :tiered\n (when-not (= id (:id frontend-config))\n (throw (ex-info \"Tiered store frontend :id must match tiered config :id\"\n {:tiered-id id\n :frontend-id (:id frontend-config)\n :config config})))\n (when-not (= id (:id backend-config))\n (throw (ex-info \"Tiered store backend :id must match tiered config :id\"\n {:tiered-id id\n :backend-id (:id backend-config)\n :config config})))\n (if (:sync? opts)\n ;; Synchronous mode\n (let [frontend-store (create-store frontend-config opts)\n backend-store (create-store backend-config opts)]\n (tiered/connect-tiered-store frontend-store backend-store\n :write-policy (or write-policy :write-through)\n :read-policy (or read-policy :frontend-first)\n :opts opts))\n ;; Asynchronous mode\n (go-try-\n (let [frontend-store (<?- (create-store frontend-config opts))\n backend-store (<?- (create-store backend-config opts))]\n (<?- (tiered/connect-tiered-store frontend-store backend-store\n :write-policy (or write-policy :write-through)\n :read-policy (or read-policy :frontend-first)\n :opts opts))))))\n\n(defmethod -connect-store :tiered\n [{:keys [frontend-config backend-config write-policy read-policy id] :as config} opts]\n ;; Validate that frontend and backend IDs match tiered config ID\n ;; Note: Uses :frontend-config/:backend-config to avoid collision with :backend :tiered\n (when-not (= id (:id frontend-config))\n (throw (ex-info \"Tiered store frontend :id must match tiered config :id\"\n {:tiered-id id\n :frontend-id (:id frontend-config)\n :config config})))\n (when-not (= id (:id backend-config))\n (throw (ex-info \"Tiered store backend :id must match tiered config :id\"\n {:tiered-id id\n :backend-id (:id backend-config)\n :config config})))\n ;; Frontend may be ephemeral (memory) - create if not exists, connect if exists\n ;; Backend must exist (it's the persistent/authoritative source)\n ;; After connect, caller should use ready-store/sync-on-connect to populate frontend\n (if (:sync? opts)\n ;; Synchronous mode\n (let [frontend-exists? (store-exists? frontend-config opts)\n frontend-store (if frontend-exists?\n (connect-store frontend-config opts)\n (create-store frontend-config opts))\n backend-store (connect-store backend-config opts)]\n (tiered/connect-tiered-store frontend-store backend-store\n :write-policy (or write-policy :write-through)\n :read-policy (or read-policy :frontend-first)\n :opts opts))\n ;; Asynchronous mode\n (go-try-\n (let [frontend-exists? (<?- (store-exists? frontend-config opts))\n frontend-store (if frontend-exists?\n (<?- (connect-store frontend-config opts))\n (<?- (create-store frontend-config opts)))\n backend-store (<?- (connect-store backend-config opts))]\n (<?- (tiered/connect-tiered-store frontend-store backend-store\n :write-policy (or write-policy :write-through)\n :read-policy (or read-policy :frontend-first)\n :opts opts))))))\n\n(defmethod -store-exists? :tiered\n [{:keys [backend-config] :as config} opts]\n ;; Tiered store exists if backend exists (frontend is just a cache)\n (store-exists? backend-config opts))\n\n(defmethod -delete-store :tiered\n [{:keys [backend-config frontend-config] :as config} _opts]\n ;; Delete backend (authoritative source)\n ;; Optionally delete frontend if it's persistent\n (delete-store backend-config)\n ;; Only delete frontend if it has persistence (e.g., file-based)\n (when (and frontend-config (#{:file :indexeddb :lmdb :rocksdb} (:backend frontend-config)))\n (delete-store frontend-config))\n nil)\n\n(defmethod -release-store :tiered\n [{:keys [frontend-config backend-config]} store _opts]\n ;; Release both stores\n (when frontend-config\n (release-store frontend-config (:frontend-store store)))\n (when backend-config\n (release-store backend-config (:backend-store store)))\n nil)\n\n;; ===== Default handlers for unsupported backends =====\n\n(defmethod -delete-store :default\n [{:keys [backend] :as config} _opts]\n (throw (ex-info\n (str \"Unsupported store backend: \" backend\n \"\\n\\nBuilt-in backends: :memory (all platforms), :file (JVM only), :tiered\"\n \"\\nExternal backends: :file (Node.js - konserve.node-filestore), :indexeddb (browser), :s3, :dynamodb, :redis, :lmdb, :rocksdb\"\n \"\\nMake sure the corresponding backend module is required before use.\")\n {:backend backend :config config})))\n\n(defmethod -release-store :default\n [_config _store opts]\n ;; Default: no cleanup needed, return proper async type\n (if (:sync? opts) nil (go-try- nil)))\n"],"x_google_ignoreList":[0]}