datahike 0.7.1630
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +226 -0
- package/cljs.analyzer.api.js +427 -0
- package/cljs.analyzer.api.js.map +1 -0
- package/cljs.analyzer.impl.js +86 -0
- package/cljs.analyzer.impl.js.map +1 -0
- package/cljs.analyzer.impl.namespaces.js +219 -0
- package/cljs.analyzer.impl.namespaces.js.map +1 -0
- package/cljs.analyzer.js +7186 -0
- package/cljs.analyzer.js.map +1 -0
- package/cljs.analyzer.passes.and_or.js +141 -0
- package/cljs.analyzer.passes.and_or.js.map +1 -0
- package/cljs.analyzer.passes.js +104 -0
- package/cljs.analyzer.passes.js.map +1 -0
- package/cljs.cache.js +1145 -0
- package/cljs.cache.js.map +1 -0
- package/cljs.cache.wrapped.js +352 -0
- package/cljs.cache.wrapped.js.map +1 -0
- package/cljs.core.async.impl.buffers.js +489 -0
- package/cljs.core.async.impl.buffers.js.map +1 -0
- package/cljs.core.async.impl.channels.js +711 -0
- package/cljs.core.async.impl.channels.js.map +1 -0
- package/cljs.core.async.impl.dispatch.js +81 -0
- package/cljs.core.async.impl.dispatch.js.map +1 -0
- package/cljs.core.async.impl.ioc_helpers.js +192 -0
- package/cljs.core.async.impl.ioc_helpers.js.map +1 -0
- package/cljs.core.async.impl.protocols.js +368 -0
- package/cljs.core.async.impl.protocols.js.map +1 -0
- package/cljs.core.async.impl.timers.js +510 -0
- package/cljs.core.async.impl.timers.js.map +1 -0
- package/cljs.core.async.js +8813 -0
- package/cljs.core.async.js.map +1 -0
- package/cljs.core.js +38764 -0
- package/cljs.core.js.map +1 -0
- package/cljs.env.js +60 -0
- package/cljs.env.js.map +1 -0
- package/cljs.nodejs.js +80 -0
- package/cljs.nodejs.js.map +1 -0
- package/cljs.reader.js +462 -0
- package/cljs.reader.js.map +1 -0
- package/cljs.spec.alpha.js +5312 -0
- package/cljs.spec.alpha.js.map +1 -0
- package/cljs.spec.gen.alpha.js +2020 -0
- package/cljs.spec.gen.alpha.js.map +1 -0
- package/cljs.tagged_literals.js +103 -0
- package/cljs.tagged_literals.js.map +1 -0
- package/cljs.tools.reader.edn.js +960 -0
- package/cljs.tools.reader.edn.js.map +1 -0
- package/cljs.tools.reader.impl.commons.js +217 -0
- package/cljs.tools.reader.impl.commons.js.map +1 -0
- package/cljs.tools.reader.impl.errors.js +441 -0
- package/cljs.tools.reader.impl.errors.js.map +1 -0
- package/cljs.tools.reader.impl.inspect.js +182 -0
- package/cljs.tools.reader.impl.inspect.js.map +1 -0
- package/cljs.tools.reader.impl.utils.js +429 -0
- package/cljs.tools.reader.impl.utils.js.map +1 -0
- package/cljs.tools.reader.js +1830 -0
- package/cljs.tools.reader.js.map +1 -0
- package/cljs.tools.reader.reader_types.js +838 -0
- package/cljs.tools.reader.reader_types.js.map +1 -0
- package/cljs_env.js +18192 -0
- package/cljs_node_io.core.js +1278 -0
- package/cljs_node_io.core.js.map +1 -0
- package/cljs_node_io.file.js +918 -0
- package/cljs_node_io.file.js.map +1 -0
- package/cljs_node_io.fs.js +3911 -0
- package/cljs_node_io.fs.js.map +1 -0
- package/clojure.data.js +319 -0
- package/clojure.data.js.map +1 -0
- package/clojure.edn.js +119 -0
- package/clojure.edn.js.map +1 -0
- package/clojure.set.js +406 -0
- package/clojure.set.js.map +1 -0
- package/clojure.string.js +502 -0
- package/clojure.string.js.map +1 -0
- package/clojure.walk.js +156 -0
- package/clojure.walk.js.map +1 -0
- package/datahike.api.impl.js +621 -0
- package/datahike.api.impl.js.map +1 -0
- package/datahike.api.specification.js +85 -0
- package/datahike.api.specification.js.map +1 -0
- package/datahike.array.js +275 -0
- package/datahike.array.js.map +1 -0
- package/datahike.config.js +437 -0
- package/datahike.config.js.map +1 -0
- package/datahike.connections.js +55 -0
- package/datahike.connections.js.map +1 -0
- package/datahike.connector.js +1248 -0
- package/datahike.connector.js.map +1 -0
- package/datahike.constants.js +66 -0
- package/datahike.constants.js.map +1 -0
- package/datahike.core.js +628 -0
- package/datahike.core.js.map +1 -0
- package/datahike.datom.js +963 -0
- package/datahike.datom.js.map +1 -0
- package/datahike.db.interface.js +819 -0
- package/datahike.db.interface.js.map +1 -0
- package/datahike.db.js +3095 -0
- package/datahike.db.js.map +1 -0
- package/datahike.db.search.js +1004 -0
- package/datahike.db.search.js.map +1 -0
- package/datahike.db.transaction.js +1904 -0
- package/datahike.db.transaction.js.map +1 -0
- package/datahike.db.utils.js +642 -0
- package/datahike.db.utils.js.map +1 -0
- package/datahike.gc.js +1618 -0
- package/datahike.gc.js.map +1 -0
- package/datahike.impl.entity.js +604 -0
- package/datahike.impl.entity.js.map +1 -0
- package/datahike.index.interface.js +484 -0
- package/datahike.index.interface.js.map +1 -0
- package/datahike.index.js +50 -0
- package/datahike.index.js.map +1 -0
- package/datahike.index.persistent_set.js +1250 -0
- package/datahike.index.persistent_set.js.map +1 -0
- package/datahike.js.api.js +2211 -0
- package/datahike.js.api.js.map +1 -0
- package/datahike.lru.js +404 -0
- package/datahike.lru.js.map +1 -0
- package/datahike.pull_api.js +533 -0
- package/datahike.pull_api.js.map +1 -0
- package/datahike.query.js +11891 -0
- package/datahike.query.js.map +1 -0
- package/datahike.query_stats.js +152 -0
- package/datahike.query_stats.js.map +1 -0
- package/datahike.readers.js +166 -0
- package/datahike.readers.js.map +1 -0
- package/datahike.schema.js +251 -0
- package/datahike.schema.js.map +1 -0
- package/datahike.schema_cache.js +66 -0
- package/datahike.schema_cache.js.map +1 -0
- package/datahike.spec.js +70 -0
- package/datahike.spec.js.map +1 -0
- package/datahike.store.js +514 -0
- package/datahike.store.js.map +1 -0
- package/datahike.tools.js +436 -0
- package/datahike.tools.js.map +1 -0
- package/datahike.writer.js +3463 -0
- package/datahike.writer.js.map +1 -0
- package/datahike.writing.js +3168 -0
- package/datahike.writing.js.map +1 -0
- package/datalog.parser.impl.js +1421 -0
- package/datalog.parser.impl.js.map +1 -0
- package/datalog.parser.impl.proto.js +213 -0
- package/datalog.parser.impl.proto.js.map +1 -0
- package/datalog.parser.impl.util.js +117 -0
- package/datalog.parser.impl.util.js.map +1 -0
- package/datalog.parser.js +47 -0
- package/datalog.parser.js.map +1 -0
- package/datalog.parser.pull.js +2603 -0
- package/datalog.parser.pull.js.map +1 -0
- package/datalog.parser.type.js +7502 -0
- package/datalog.parser.type.js.map +1 -0
- package/datalog.parser.util.js +60 -0
- package/datalog.parser.util.js.map +1 -0
- package/environ.core.js +263 -0
- package/environ.core.js.map +1 -0
- package/fress.api.js +607 -0
- package/fress.api.js.map +1 -0
- package/fress.impl.adler32.js +435 -0
- package/fress.impl.adler32.js.map +1 -0
- package/fress.impl.bigint.js +185 -0
- package/fress.impl.bigint.js.map +1 -0
- package/fress.impl.buffer.js +1087 -0
- package/fress.impl.buffer.js.map +1 -0
- package/fress.impl.codes.js +105 -0
- package/fress.impl.codes.js.map +1 -0
- package/fress.impl.hopmap.js +603 -0
- package/fress.impl.hopmap.js.map +1 -0
- package/fress.impl.ranges.js +49 -0
- package/fress.impl.ranges.js.map +1 -0
- package/fress.impl.raw_input.js +837 -0
- package/fress.impl.raw_input.js.map +1 -0
- package/fress.impl.raw_output.js +653 -0
- package/fress.impl.raw_output.js.map +1 -0
- package/fress.impl.table.js +133 -0
- package/fress.impl.table.js.map +1 -0
- package/fress.reader.js +2312 -0
- package/fress.reader.js.map +1 -0
- package/fress.util.js +458 -0
- package/fress.util.js.map +1 -0
- package/fress.writer.js +2141 -0
- package/fress.writer.js.map +1 -0
- package/geheimnis.aes.js +132 -0
- package/geheimnis.aes.js.map +1 -0
- package/hasch.base64.js +42 -0
- package/hasch.base64.js.map +1 -0
- package/hasch.benc.js +201 -0
- package/hasch.benc.js.map +1 -0
- package/hasch.core.js +188 -0
- package/hasch.core.js.map +1 -0
- package/hasch.platform.js +221 -0
- package/hasch.platform.js.map +1 -0
- package/incognito.base.js +276 -0
- package/incognito.base.js.map +1 -0
- package/incognito.edn.js +54 -0
- package/incognito.edn.js.map +1 -0
- package/incognito.fressian.js +330 -0
- package/incognito.fressian.js.map +1 -0
- package/index.d.ts +660 -0
- package/is.simm.partial_cps.async.js +142 -0
- package/is.simm.partial_cps.async.js.map +1 -0
- package/is.simm.partial_cps.runtime.js +65 -0
- package/is.simm.partial_cps.runtime.js.map +1 -0
- package/is.simm.partial_cps.sequence.js +1255 -0
- package/is.simm.partial_cps.sequence.js.map +1 -0
- package/konserve.cache.js +2519 -0
- package/konserve.cache.js.map +1 -0
- package/konserve.compressor.js +502 -0
- package/konserve.compressor.js.map +1 -0
- package/konserve.core.js +8052 -0
- package/konserve.core.js.map +1 -0
- package/konserve.encryptor.js +553 -0
- package/konserve.encryptor.js.map +1 -0
- package/konserve.gc.js +541 -0
- package/konserve.gc.js.map +1 -0
- package/konserve.impl.defaults.js +8290 -0
- package/konserve.impl.defaults.js.map +1 -0
- package/konserve.impl.storage_layout.js +849 -0
- package/konserve.impl.storage_layout.js.map +1 -0
- package/konserve.memory.js +2102 -0
- package/konserve.memory.js.map +1 -0
- package/konserve.node_filestore.js +2951 -0
- package/konserve.node_filestore.js.map +1 -0
- package/konserve.protocols.js +590 -0
- package/konserve.protocols.js.map +1 -0
- package/konserve.serializers.js +562 -0
- package/konserve.serializers.js.map +1 -0
- package/konserve.store.js +2245 -0
- package/konserve.store.js.map +1 -0
- package/konserve.tiered.js +9574 -0
- package/konserve.tiered.js.map +1 -0
- package/konserve.utils.js +180 -0
- package/konserve.utils.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.arrays.js +66 -0
- package/me.tonsky.persistent_sorted_set.arrays.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.branch.js +2779 -0
- package/me.tonsky.persistent_sorted_set.branch.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.btset.js +14196 -0
- package/me.tonsky.persistent_sorted_set.btset.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.impl.node.js +324 -0
- package/me.tonsky.persistent_sorted_set.impl.node.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.impl.storage.js +123 -0
- package/me.tonsky.persistent_sorted_set.impl.storage.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.js +890 -0
- package/me.tonsky.persistent_sorted_set.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.leaf.js +561 -0
- package/me.tonsky.persistent_sorted_set.leaf.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.util.js +402 -0
- package/me.tonsky.persistent_sorted_set.util.js.map +1 -0
- package/medley.core.js +1857 -0
- package/medley.core.js.map +1 -0
- package/package.json +38 -0
- package/spec_tools.core.js +1925 -0
- package/spec_tools.core.js.map +1 -0
- package/spec_tools.data_spec.js +1291 -0
- package/spec_tools.data_spec.js.map +1 -0
- package/spec_tools.form.js +185 -0
- package/spec_tools.form.js.map +1 -0
- package/spec_tools.impl.js +362 -0
- package/spec_tools.impl.js.map +1 -0
- package/spec_tools.parse.js +427 -0
- package/spec_tools.parse.js.map +1 -0
- package/spec_tools.transform.js +288 -0
- package/spec_tools.transform.js.map +1 -0
- package/superv.async.js +8617 -0
- package/superv.async.js.map +1 -0
- package/tailrecursion.priority_map.js +994 -0
- package/tailrecursion.priority_map.js.map +1 -0
- package/taoensso.encore.js +12385 -0
- package/taoensso.encore.js.map +1 -0
- package/taoensso.timbre.appenders.core.js +239 -0
- package/taoensso.timbre.appenders.core.js.map +1 -0
- package/taoensso.timbre.js +1264 -0
- package/taoensso.timbre.js.map +1 -0
- package/taoensso.truss.impl.js +442 -0
- package/taoensso.truss.impl.js.map +1 -0
- package/taoensso.truss.js +743 -0
- package/taoensso.truss.js.map +1 -0
- package/test-config-keys.js +33 -0
- package/test-final.js +36 -0
- package/test-key-duplication.js +67 -0
- package/test.js +557 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["datahike/js/api.cljs"],"mappings":"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","names":["datahike.js.api/uuid-regex","datahike.js.api/uuid-string?","s","and__5000__auto__","cljs.core/re-matches","datahike.js.api/convert-string","clojure.string/starts-with?","cljs.core.keyword","cljs.core.subs","cljs.core/uuid","datahike.js.api/js->clj-recursive","x","cljs.core/object?","cljs.core/array?","cljs.core/fn?","cljs.core.into","iter__5480__auto__","s__75784","cljs.core/LazySeq","temp__5804__auto__","cljs.core/seq","cljs.core/chunked-seq?","c__5478__auto__","size__5479__auto__","cljs.core/count","b__75786","cljs.core/chunk-buffer","i__75785","cljs.core/-nth","cljs.core/chunk-append","cljs.core/chunk-cons","cljs.core/chunk","iter__75783","cljs.core/chunk-rest","cljs.core/first","cljs.core/cons","cljs.core/rest","k","cljs.core/js-keys","v","datahike.js.api.goog$module$goog$object.get","k-kw","cljs.core.mapv","datahike.js.api/clj->js-recursive","cljs.core/PROTOCOL_SENTINEL","cljs.core/native-satisfies?","datahike.db.interface/IDB","cljs.core._EQ_","cljs.core/type","datahike.datom/Datom","cljs.core/map?","cljs.core/Keyword","obj","seq__75790","chunk__75791","count__75792","i__75793","vec__75800","cljs.core.nth","c__5525__auto__","cljs.core/chunk-first","vec__75803","cljs.core/next","datahike.js.api.goog$module$goog$object.set","cljs.core/name","cljs.core/sequential?","cljs.core.into_array","cljs.core.map","cljs.core/set?","datahike.js.api/maybe-chan->promise","cljs.core.async.impl.protocols/Channel","js/Promise","resolve","reject","c__21482__auto__","cljs.core.async.chan","cljs.core.async.impl.dispatch/run","f__21483__auto__","switch__21444__auto__","state_75832","state_val_75833","inst_75816","statearr-75834","statearr-75835","inst_75807","inst_75808","statearr-75836","inst_75815","statearr-75837","statearr-75838","statearr-75839","inst_75830","cljs.core.async.impl.ioc-helpers/return-chan","inst_75827","_","statearr-75840","statearr-75841","statearr-75842","cljs.core.async.impl.ioc-helpers/take!","inst_75825","statearr-75844","inst_75821","statearr-75845","statearr-75846","statearr-75847","ex75843","statearr-75848","statearr-75849","inst_75823","statearr-75850","inst_75819","statearr-75851","statearr-75852","state-machine__21445__auto__","ret-value__21446__auto__","result__21447__auto__","cljs.core/keyword-identical?","ex__21448__auto__","e75853","statearr-75854","statearr-75855","state__21484__auto__","statearr-75856","cljs.core.async.impl.ioc-helpers/USER-START-IDX","cljs.core.async.impl.ioc-helpers/run-state-machine-wrapped","js/Error","cljs.core/ExceptionInfo","js/Promise.resolve","datahike.js.api/unlisten","var_args","args__5732__auto__","len__5726__auto__","i__5727__auto__","argseq__5733__auto__","cljs.core/IndexedSeq","args__75753__auto__","clj-args__75754__auto__","result__75755__auto__","cljs.core.apply","datahike.core/unlisten!","seq75857","self__5712__auto__","datahike.js.api/deleteDatabase","datahike.api.impl/delete-database","seq75858","datahike.js.api/pull","datahike.pull-api/pull","seq75859","datahike.js.api/entity","datahike.impl.entity/entity","seq75860","datahike.js.api/metrics","datahike.db/metrics","seq75861","datahike.js.api/reverseSchema","datahike.api.impl/reverse-schema","seq75862","datahike.js.api/datoms","datahike.api.impl/datoms","seq75863","datahike.js.api/loadEntities","datahike.writer/load-entities","seq75864","datahike.js.api/isFiltered","datahike.core/is-filtered","seq75865","datahike.js.api/q","datahike.query/q","seq75866","datahike.js.api/schema","datahike.api.impl/schema","seq75867","datahike.js.api/indexRange","datahike.api.impl/index-range","seq75868","datahike.js.api/pullMany","datahike.pull-api/pull-many","seq75869","datahike.js.api/since","datahike.api.impl/since","seq75870","datahike.js.api/queryStats","datahike.query/query-stats","seq75871","datahike.js.api/entityDb","datahike.impl.entity/entity-db","seq75872","datahike.js.api/gcStorage","datahike.writer/gc-storage!","seq75873","datahike.js.api/createDatabase","datahike.api.impl/create-database","seq75874","datahike.js.api/db","datahike.api.impl/db","seq75875","datahike.js.api/connect","datahike.connector/connect","seq75876","datahike.js.api/release","datahike.connector/release","seq75877","datahike.js.api/history","datahike.api.impl/history","seq75878","datahike.js.api/transact","datahike.api.impl/transact!","seq75879","datahike.js.api/databaseExists","datahike.api.impl/database-exists?","seq75880","datahike.js.api/asOf","datahike.api.impl/as-of","seq75881","datahike.js.api/seekDatoms","datahike.api.impl/seek-datoms","seq75882","datahike.js.api/filter","datahike.core/filter","seq75883","datahike.js.api/listen","datahike.core/listen!","seq75884","datahike.js.api/dbWith","datahike.api.impl/db-with","seq75885","datahike.js.api/withDb","datahike.api.impl/with","seq75886","datahike.js.api/tempid","datahike.core/tempid","seq75887","datahike.js.api/isPromise"],"sourcesContent":["(ns datahike.js.api\n \"JavaScript API for Datahike with Promise conversion and data transformation\"\n (:refer-clojure :exclude [filter])\n (:require [datahike.api.specification :refer [api-specification]]\n [datahike.api.impl]\n [datahike.store] ;; Register :mem backend\n [konserve.node-filestore] ;; Register :file backend for Node.js\n [datahike.db.interface]\n [datahike.datom]\n [cljs.core.async :refer [<!]]\n [clojure.string :as str]\n [clojure.walk :as walk]\n [goog.object :as gobj])\n (:require-macros [cljs.core.async.macros :refer [go]]\n [datahike.js.api-macros :refer [emit-js-api]]))\n\n;; =============================================================================\n;; Data Conversion Helpers\n;; =============================================================================\n\n(def ^:private uuid-regex\n \"Regex pattern for UUID strings (8-4-4-4-12 hex digits)\"\n #\"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\")\n\n(defn- uuid-string?\n \"Check if a string is a valid UUID format\"\n [s]\n (and (string? s) (re-matches uuid-regex s)))\n\n(defn- convert-string\n \"Convert a string to appropriate Clojure type:\n - ':keyword' -> keyword\n - UUID format -> UUID object\n - otherwise -> string\"\n [s]\n (cond\n (str/starts-with? s \":\") (keyword (subs s 1))\n (uuid-string? s) (uuid s)\n :else s))\n\n(defn js->clj-recursive\n \"Recursively convert JS objects to Clojure data with keyword keys.\n Also converts strings like ':keyword' to keywords and UUID strings to UUIDs.\"\n [x]\n (cond\n ;; Check for JS object first (but not arrays, functions, or null)\n (and (object? x)\n (not (array? x))\n (not (fn? x))\n (not (nil? x)))\n (into {} (for [k (js-keys x)]\n (let [v (gobj/get x k)\n ;; Always convert keys to keywords (not just if they start with \":\")\n k-kw (keyword k)]\n [k-kw (js->clj-recursive v)])))\n\n ;; Arrays become vectors\n (array? x)\n (mapv js->clj-recursive x)\n\n ;; Strings: convert keywords, UUIDs, or pass through\n (string? x)\n (convert-string x)\n\n ;; Everything else passes through\n :else x))\n\n(defn clj->js-recursive\n \"Recursively convert Clojure data to JS objects.\n Converts keywords to strings with ':' prefix.\n Datahike objects (DB, connections, datoms) pass through unchanged.\"\n [x]\n (cond\n ;; Datahike DB objects - pass through unchanged\n (satisfies? datahike.db.interface/IDB x)\n x\n\n ;; Datoms - pass through unchanged\n (= (type x) datahike.datom.Datom)\n x\n\n ;; Connections (check for typical connection keys)\n (and (map? x) (:conn-atom x))\n x\n\n ;; Keywords become strings with \":\"\n (keyword? x)\n (str x)\n\n ;; Maps become JS objects\n (map? x)\n (let [obj (js-obj)]\n (doseq [[k v] x]\n (gobj/set obj\n (if (keyword? k) (name k) (str k))\n (clj->js-recursive v)))\n obj)\n\n ;; Sequential collections become arrays\n (sequential? x)\n (into-array (map clj->js-recursive x))\n\n ;; Sets become arrays\n (set? x)\n (into-array (map clj->js-recursive x))\n\n ;; Everything else passes through\n :else x))\n\n;; =============================================================================\n;; Async/Promise Conversion\n;; =============================================================================\n\n(defn maybe-chan->promise\n \"Convert a core.async channel to a Promise, or return value directly if not a channel.\n This handles the dynamic async/sync execution in Datahike API.\n\n Errors returned on the channel (not thrown) are properly rejected by checking\n if the result is a js/Error or ExceptionInfo.\"\n [x]\n (if (satisfies? cljs.core.async.impl.protocols/Channel x)\n (js/Promise.\n (fn [resolve reject]\n (go\n (try\n (let [result (<! x)]\n ;; Check if result is an error object - reject promise if so\n (if (or (instance? js/Error result)\n (instance? ExceptionInfo result))\n (reject result)\n (resolve result)))\n (catch :default e\n ;; Catch any exceptions thrown during channel operations\n (reject e))))))\n (js/Promise.resolve x)))\n\n;; =============================================================================\n;; Generate All API Functions\n;; =============================================================================\n\n(emit-js-api)\n\n;; =============================================================================\n;; Additional JS-specific Helpers\n;; =============================================================================\n\n(defn ^:export isPromise\n \"Check if a value is a Promise.\"\n [x]\n (instance? js/Promise x))\n"]}
|
package/datahike.lru.js
ADDED
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
var $CLJS = require("./cljs_env");
|
|
2
|
+
var $jscomp = $CLJS.$jscomp;
|
|
3
|
+
var COMPILED = false;
|
|
4
|
+
require("./cljs.core.js");
|
|
5
|
+
require("./cljs.cache.js");
|
|
6
|
+
require("./tailrecursion.priority_map.js");
|
|
7
|
+
var environ=$CLJS.environ || ($CLJS.environ = {});
|
|
8
|
+
var fress=$CLJS.fress || ($CLJS.fress = {});
|
|
9
|
+
var datahike=$CLJS.datahike || ($CLJS.datahike = {});
|
|
10
|
+
var clojure=$CLJS.clojure || ($CLJS.clojure = {});
|
|
11
|
+
var hasch=$CLJS.hasch || ($CLJS.hasch = {});
|
|
12
|
+
var tailrecursion=$CLJS.tailrecursion || ($CLJS.tailrecursion = {});
|
|
13
|
+
var superv=$CLJS.superv || ($CLJS.superv = {});
|
|
14
|
+
var geheimnis=$CLJS.geheimnis || ($CLJS.geheimnis = {});
|
|
15
|
+
var is=$CLJS.is || ($CLJS.is = {});
|
|
16
|
+
var cljs=$CLJS.cljs || ($CLJS.cljs = {});
|
|
17
|
+
var cljs_node_io=$CLJS.cljs_node_io || ($CLJS.cljs_node_io = {});
|
|
18
|
+
var goog=$CLJS.goog || ($CLJS.goog = {});
|
|
19
|
+
var konserve=$CLJS.konserve || ($CLJS.konserve = {});
|
|
20
|
+
var datalog=$CLJS.datalog || ($CLJS.datalog = {});
|
|
21
|
+
var spec_tools=$CLJS.spec_tools || ($CLJS.spec_tools = {});
|
|
22
|
+
var taoensso=$CLJS.taoensso || ($CLJS.taoensso = {});
|
|
23
|
+
var incognito=$CLJS.incognito || ($CLJS.incognito = {});
|
|
24
|
+
var medley=$CLJS.medley || ($CLJS.medley = {});
|
|
25
|
+
var me=$CLJS.me || ($CLJS.me = {});
|
|
26
|
+
|
|
27
|
+
$CLJS.SHADOW_ENV.setLoaded("datahike.lru.js");
|
|
28
|
+
|
|
29
|
+
goog.provide('datahike.lru');
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* @constructor
|
|
34
|
+
* @implements {cljs.core.IPrintWithWriter}
|
|
35
|
+
* @implements {cljs.core.IAssociative}
|
|
36
|
+
* @implements {cljs.core.ILookup}
|
|
37
|
+
*/
|
|
38
|
+
datahike.lru.LRU = (function (key_value,gen_key,key_gen,gen,limit){
|
|
39
|
+
this.key_value = key_value;
|
|
40
|
+
this.gen_key = gen_key;
|
|
41
|
+
this.key_gen = key_gen;
|
|
42
|
+
this.gen = gen;
|
|
43
|
+
this.limit = limit;
|
|
44
|
+
this.cljs$lang$protocol_mask$partition0$ = 2147484416;
|
|
45
|
+
this.cljs$lang$protocol_mask$partition1$ = 0;
|
|
46
|
+
});
|
|
47
|
+
(datahike.lru.LRU.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (this$,k,v){
|
|
48
|
+
var self__ = this;
|
|
49
|
+
var this$__$1 = this;
|
|
50
|
+
return (datahike.lru.assoc_lru.cljs$core$IFn$_invoke$arity$3 ? datahike.lru.assoc_lru.cljs$core$IFn$_invoke$arity$3(this$__$1,k,v) : datahike.lru.assoc_lru.call(null, this$__$1,k,v));
|
|
51
|
+
}));
|
|
52
|
+
|
|
53
|
+
(datahike.lru.LRU.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 = (function (_,k){
|
|
54
|
+
var self__ = this;
|
|
55
|
+
var ___$1 = this;
|
|
56
|
+
return cljs.core._contains_key_QMARK_(self__.key_value,k);
|
|
57
|
+
}));
|
|
58
|
+
|
|
59
|
+
(datahike.lru.LRU.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (_,k){
|
|
60
|
+
var self__ = this;
|
|
61
|
+
var ___$1 = this;
|
|
62
|
+
return cljs.core._lookup(self__.key_value,k,null);
|
|
63
|
+
}));
|
|
64
|
+
|
|
65
|
+
(datahike.lru.LRU.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (_,k,nf){
|
|
66
|
+
var self__ = this;
|
|
67
|
+
var ___$1 = this;
|
|
68
|
+
return cljs.core._lookup(self__.key_value,k,nf);
|
|
69
|
+
}));
|
|
70
|
+
|
|
71
|
+
(datahike.lru.LRU.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (_,writer,opts){
|
|
72
|
+
var self__ = this;
|
|
73
|
+
var ___$1 = this;
|
|
74
|
+
return cljs.core._pr_writer(cljs.core.persistent_BANG_(self__.key_value),writer,opts);
|
|
75
|
+
}));
|
|
76
|
+
|
|
77
|
+
(datahike.lru.LRU.getBasis = (function (){
|
|
78
|
+
return new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"key-value","key-value",1605624688,null),new cljs.core.Symbol(null,"gen-key","gen-key",392707442,null),new cljs.core.Symbol(null,"key-gen","key-gen",415199034,null),new cljs.core.Symbol(null,"gen","gen",1783106829,null),new cljs.core.Symbol(null,"limit","limit",284709164,null)], null);
|
|
79
|
+
}));
|
|
80
|
+
|
|
81
|
+
(datahike.lru.LRU.cljs$lang$type = true);
|
|
82
|
+
|
|
83
|
+
(datahike.lru.LRU.cljs$lang$ctorStr = "datahike.lru/LRU");
|
|
84
|
+
|
|
85
|
+
(datahike.lru.LRU.cljs$lang$ctorPrWriter = (function (this__5287__auto__,writer__5288__auto__,opt__5289__auto__){
|
|
86
|
+
return cljs.core._write(writer__5288__auto__,"datahike.lru/LRU");
|
|
87
|
+
}));
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Positional factory function for datahike.lru/LRU.
|
|
91
|
+
*/
|
|
92
|
+
datahike.lru.__GT_LRU = (function datahike$lru$__GT_LRU(key_value,gen_key,key_gen,gen,limit){
|
|
93
|
+
return (new datahike.lru.LRU(key_value,gen_key,key_gen,gen,limit));
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
datahike.lru.assoc_lru = (function datahike$lru$assoc_lru(lru,k,v){
|
|
97
|
+
var key_value = lru.key_value;
|
|
98
|
+
var gen_key = lru.gen_key;
|
|
99
|
+
var key_gen = lru.key_gen;
|
|
100
|
+
var gen = lru.gen;
|
|
101
|
+
var limit = lru.limit;
|
|
102
|
+
var temp__5802__auto__ = (key_gen.cljs$core$IFn$_invoke$arity$2 ? key_gen.cljs$core$IFn$_invoke$arity$2(k,null) : key_gen.call(null, k,null));
|
|
103
|
+
if(cljs.core.truth_(temp__5802__auto__)){
|
|
104
|
+
var g = temp__5802__auto__;
|
|
105
|
+
return datahike.lru.__GT_LRU(key_value,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(gen_key,g),gen,k),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(key_gen,k,gen),(gen + (1)),limit);
|
|
106
|
+
} else {
|
|
107
|
+
var G__105575 = datahike.lru.__GT_LRU(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(key_value,k,v),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(gen_key,gen,k),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(key_gen,k,gen),(gen + (1)),limit);
|
|
108
|
+
return (datahike.lru.cleanup_lru.cljs$core$IFn$_invoke$arity$1 ? datahike.lru.cleanup_lru.cljs$core$IFn$_invoke$arity$1(G__105575) : datahike.lru.cleanup_lru.call(null, G__105575));
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
datahike.lru.cleanup_lru = (function datahike$lru$cleanup_lru(lru){
|
|
112
|
+
if((cljs.core.count(lru.key_value) > lru.limit)){
|
|
113
|
+
var key_value = lru.key_value;
|
|
114
|
+
var gen_key = lru.gen_key;
|
|
115
|
+
var key_gen = lru.key_gen;
|
|
116
|
+
var gen = lru.gen;
|
|
117
|
+
var limit = lru.limit;
|
|
118
|
+
var vec__105576 = cljs.core.first(gen_key);
|
|
119
|
+
var g = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__105576,(0),null);
|
|
120
|
+
var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__105576,(1),null);
|
|
121
|
+
return datahike.lru.__GT_LRU(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(key_value,k),cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(gen_key,g),cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(key_gen,k),gen,limit);
|
|
122
|
+
} else {
|
|
123
|
+
return lru;
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
datahike.lru.lru = (function datahike$lru$lru(limit){
|
|
127
|
+
return datahike.lru.__GT_LRU(cljs.core.PersistentArrayMap.EMPTY,cljs.core.sorted_map(),cljs.core.PersistentArrayMap.EMPTY,(0),limit);
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* @constructor
|
|
132
|
+
* @implements {cljs.core.IEquiv}
|
|
133
|
+
* @implements {cljs.core.ICollection}
|
|
134
|
+
* @implements {cljs.core.IEmptyableCollection}
|
|
135
|
+
* @implements {cljs.core.ICounted}
|
|
136
|
+
* @implements {cljs.cache.CacheProtocol}
|
|
137
|
+
* @implements {cljs.core.ISeqable}
|
|
138
|
+
* @implements {cljs.core.IIterable}
|
|
139
|
+
* @implements {cljs.core.IAssociative}
|
|
140
|
+
* @implements {cljs.core.IMap}
|
|
141
|
+
* @implements {cljs.core.ILookup}
|
|
142
|
+
*/
|
|
143
|
+
datahike.lru.LRUDatomCache = (function (cache,lru,counts,n_total_datoms,tick,datom_limit){
|
|
144
|
+
this.cache = cache;
|
|
145
|
+
this.lru = lru;
|
|
146
|
+
this.counts = counts;
|
|
147
|
+
this.n_total_datoms = n_total_datoms;
|
|
148
|
+
this.tick = tick;
|
|
149
|
+
this.datom_limit = datom_limit;
|
|
150
|
+
this.cljs$lang$protocol_mask$partition0$ = 10487566;
|
|
151
|
+
this.cljs$lang$protocol_mask$partition1$ = 131072;
|
|
152
|
+
});
|
|
153
|
+
(datahike.lru.LRUDatomCache.prototype.toString = (function (){
|
|
154
|
+
var self__ = this;
|
|
155
|
+
var _ = this;
|
|
156
|
+
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.cache),","," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.lru),","," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.counts),","," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.n_total_datoms),","," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.tick),","," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.datom_limit)].join('');
|
|
157
|
+
}));
|
|
158
|
+
|
|
159
|
+
(datahike.lru.LRUDatomCache.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (this__44459__auto__,other__44466__auto__){
|
|
160
|
+
var self__ = this;
|
|
161
|
+
var this__44459__auto____$1 = this;
|
|
162
|
+
return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(other__44466__auto__,self__.cache);
|
|
163
|
+
}));
|
|
164
|
+
|
|
165
|
+
(datahike.lru.LRUDatomCache.prototype.cljs$core$ICollection$_conj$arity$2 = (function (this__44459__auto__,elem__44465__auto__){
|
|
166
|
+
var self__ = this;
|
|
167
|
+
var this__44459__auto____$1 = this;
|
|
168
|
+
return this__44459__auto____$1.cljs$cache$CacheProtocol$seed$arity$2(null, (function (){var fexpr__105581 = new cljs.core.Symbol("cljs.cache","-conj","cljs.cache/-conj",837886777,null);
|
|
169
|
+
return (fexpr__105581.cljs$core$IFn$_invoke$arity$2 ? fexpr__105581.cljs$core$IFn$_invoke$arity$2(self__.cache,elem__44465__auto__) : fexpr__105581.call(null, self__.cache,elem__44465__auto__));
|
|
170
|
+
})());
|
|
171
|
+
}));
|
|
172
|
+
|
|
173
|
+
(datahike.lru.LRUDatomCache.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (this__44459__auto__){
|
|
174
|
+
var self__ = this;
|
|
175
|
+
var this__44459__auto____$1 = this;
|
|
176
|
+
return this__44459__auto____$1.cljs$cache$CacheProtocol$seed$arity$2(null, (function (){var fexpr__105582 = new cljs.core.Symbol("cljs.cache","-empty","cljs.cache/-empty",-190310872,null);
|
|
177
|
+
return (fexpr__105582.cljs$core$IFn$_invoke$arity$1 ? fexpr__105582.cljs$core$IFn$_invoke$arity$1(self__.cache) : fexpr__105582.call(null, self__.cache));
|
|
178
|
+
})());
|
|
179
|
+
}));
|
|
180
|
+
|
|
181
|
+
(datahike.lru.LRUDatomCache.prototype.cljs$core$ICounted$_count$arity$1 = (function (this__44459__auto__){
|
|
182
|
+
var self__ = this;
|
|
183
|
+
var this__44459__auto____$1 = this;
|
|
184
|
+
return cljs.core._count(self__.cache);
|
|
185
|
+
}));
|
|
186
|
+
|
|
187
|
+
(datahike.lru.LRUDatomCache.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (___44462__auto__){
|
|
188
|
+
var self__ = this;
|
|
189
|
+
var ___44462__auto____$1 = this;
|
|
190
|
+
return cljs.core._seq(self__.cache);
|
|
191
|
+
}));
|
|
192
|
+
|
|
193
|
+
(datahike.lru.LRUDatomCache.prototype.cljs$cache$CacheProtocol$ = cljs.core.PROTOCOL_SENTINEL);
|
|
194
|
+
|
|
195
|
+
(datahike.lru.LRUDatomCache.prototype.cljs$cache$CacheProtocol$lookup$arity$2 = (function (_,item){
|
|
196
|
+
var self__ = this;
|
|
197
|
+
var ___$1 = this;
|
|
198
|
+
return cljs.core.get.cljs$core$IFn$_invoke$arity$2(self__.cache,item);
|
|
199
|
+
}));
|
|
200
|
+
|
|
201
|
+
(datahike.lru.LRUDatomCache.prototype.cljs$cache$CacheProtocol$lookup$arity$3 = (function (_,item,not_found){
|
|
202
|
+
var self__ = this;
|
|
203
|
+
var ___$1 = this;
|
|
204
|
+
return cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.cache,item,not_found);
|
|
205
|
+
}));
|
|
206
|
+
|
|
207
|
+
(datahike.lru.LRUDatomCache.prototype.cljs$cache$CacheProtocol$has_QMARK_$arity$2 = (function (_,item){
|
|
208
|
+
var self__ = this;
|
|
209
|
+
var ___$1 = this;
|
|
210
|
+
return cljs.core.contains_QMARK_(self__.cache,item);
|
|
211
|
+
}));
|
|
212
|
+
|
|
213
|
+
(datahike.lru.LRUDatomCache.prototype.cljs$cache$CacheProtocol$hit$arity$2 = (function (_,item){
|
|
214
|
+
var self__ = this;
|
|
215
|
+
var ___$1 = this;
|
|
216
|
+
var tick_PLUS_ = (self__.tick + (1));
|
|
217
|
+
return (new datahike.lru.LRUDatomCache(self__.cache,((cljs.core.contains_QMARK_(self__.cache,item))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.lru,item,tick_PLUS_):self__.lru),self__.counts,self__.n_total_datoms,tick_PLUS_,self__.datom_limit));
|
|
218
|
+
}));
|
|
219
|
+
|
|
220
|
+
(datahike.lru.LRUDatomCache.prototype.cljs$cache$CacheProtocol$miss$arity$3 = (function (this$,item,result){
|
|
221
|
+
var self__ = this;
|
|
222
|
+
var this$__$1 = this;
|
|
223
|
+
var tick_PLUS_ = (self__.tick + (1));
|
|
224
|
+
var n_new_datoms = cljs.core.count(result);
|
|
225
|
+
var new_size = (self__.n_total_datoms + n_new_datoms);
|
|
226
|
+
var vec__105583 = ((cljs.core.contains_QMARK_(self__.lru,item))?new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.cache,item),cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.lru,item),cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.counts,item),(new_size - cljs.core.get.cljs$core$IFn$_invoke$arity$2(self__.counts,item))], null):new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.cache,self__.lru,self__.counts,new_size], null));
|
|
227
|
+
var c = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__105583,(0),null);
|
|
228
|
+
var l = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__105583,(1),null);
|
|
229
|
+
var n = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__105583,(2),null);
|
|
230
|
+
var s = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__105583,(3),null);
|
|
231
|
+
var vec__105586 = (function (){var c__$1 = c;
|
|
232
|
+
var l__$1 = l;
|
|
233
|
+
var n__$1 = n;
|
|
234
|
+
var s__$1 = s;
|
|
235
|
+
while(true){
|
|
236
|
+
if((s__$1 > self__.datom_limit)){
|
|
237
|
+
var k = cljs.core.first(cljs.core.peek(self__.lru));
|
|
238
|
+
var temp__5802__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(n__$1,k);
|
|
239
|
+
if(cljs.core.truth_(temp__5802__auto__)){
|
|
240
|
+
var x = temp__5802__auto__;
|
|
241
|
+
var G__105610 = cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(c__$1,k);
|
|
242
|
+
var G__105611 = cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(l__$1,k);
|
|
243
|
+
var G__105612 = cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(n__$1,k);
|
|
244
|
+
var G__105613 = (s__$1 - x);
|
|
245
|
+
c__$1 = G__105610;
|
|
246
|
+
l__$1 = G__105611;
|
|
247
|
+
n__$1 = G__105612;
|
|
248
|
+
s__$1 = G__105613;
|
|
249
|
+
continue;
|
|
250
|
+
} else {
|
|
251
|
+
return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [c__$1,l__$1,n__$1,s__$1], null);
|
|
252
|
+
}
|
|
253
|
+
} else {
|
|
254
|
+
return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [c__$1,l__$1,n__$1,s__$1], null);
|
|
255
|
+
}
|
|
256
|
+
break;
|
|
257
|
+
}
|
|
258
|
+
})();
|
|
259
|
+
var c__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__105586,(0),null);
|
|
260
|
+
var l__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__105586,(1),null);
|
|
261
|
+
var n__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__105586,(2),null);
|
|
262
|
+
var s__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__105586,(3),null);
|
|
263
|
+
return (new datahike.lru.LRUDatomCache(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(c__$1,item,result),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(l__$1,item,tick_PLUS_),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(n__$1,item,n_new_datoms),s__$1,tick_PLUS_,self__.datom_limit));
|
|
264
|
+
}));
|
|
265
|
+
|
|
266
|
+
(datahike.lru.LRUDatomCache.prototype.cljs$cache$CacheProtocol$evict$arity$2 = (function (this$,key){
|
|
267
|
+
var self__ = this;
|
|
268
|
+
var this$__$1 = this;
|
|
269
|
+
if(cljs.core.contains_QMARK_(self__.cache,key)){
|
|
270
|
+
return (new datahike.lru.LRUDatomCache(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.cache,key),cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.lru,key),cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.counts,key),(self__.n_total_datoms - cljs.core.get.cljs$core$IFn$_invoke$arity$2(self__.counts,key)),(self__.tick + (1)),self__.datom_limit));
|
|
271
|
+
} else {
|
|
272
|
+
return this$__$1;
|
|
273
|
+
}
|
|
274
|
+
}));
|
|
275
|
+
|
|
276
|
+
(datahike.lru.LRUDatomCache.prototype.cljs$cache$CacheProtocol$seed$arity$2 = (function (_,base){
|
|
277
|
+
var self__ = this;
|
|
278
|
+
var ___$1 = this;
|
|
279
|
+
return (new datahike.lru.LRUDatomCache(base,cljs.core.into.cljs$core$IFn$_invoke$arity$2(tailrecursion.priority_map.priority_map(),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__105579_SHARP_){
|
|
280
|
+
return (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[p1__105579_SHARP_,(0)],null));
|
|
281
|
+
}),cljs.core.keys(base))),cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__105580_SHARP_){
|
|
282
|
+
return (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[p1__105580_SHARP_,cljs.core.count(cljs.core.get.cljs$core$IFn$_invoke$arity$2(base,p1__105580_SHARP_))],null));
|
|
283
|
+
}),cljs.core.keys(base))),(0),(0),self__.datom_limit));
|
|
284
|
+
}));
|
|
285
|
+
|
|
286
|
+
(datahike.lru.LRUDatomCache.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (___44462__auto__){
|
|
287
|
+
var self__ = this;
|
|
288
|
+
var ___44462__auto____$1 = this;
|
|
289
|
+
return self__.cache.iterator();
|
|
290
|
+
}));
|
|
291
|
+
|
|
292
|
+
(datahike.lru.LRUDatomCache.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (this__44459__auto__,k__44463__auto__,v__44464__auto__){
|
|
293
|
+
var self__ = this;
|
|
294
|
+
var this__44459__auto____$1 = this;
|
|
295
|
+
return this__44459__auto____$1.cljs$cache$CacheProtocol$miss$arity$3(null, k__44463__auto__,v__44464__auto__);
|
|
296
|
+
}));
|
|
297
|
+
|
|
298
|
+
(datahike.lru.LRUDatomCache.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 = (function (this__44459__auto__,k__44463__auto__){
|
|
299
|
+
var self__ = this;
|
|
300
|
+
var this__44459__auto____$1 = this;
|
|
301
|
+
return this__44459__auto____$1.cljs$cache$CacheProtocol$has_QMARK_$arity$2(null, k__44463__auto__);
|
|
302
|
+
}));
|
|
303
|
+
|
|
304
|
+
(datahike.lru.LRUDatomCache.prototype.cljs$core$IMap$_dissoc$arity$2 = (function (this__44459__auto__,k__44463__auto__){
|
|
305
|
+
var self__ = this;
|
|
306
|
+
var this__44459__auto____$1 = this;
|
|
307
|
+
return this__44459__auto____$1.cljs$cache$CacheProtocol$evict$arity$2(null, k__44463__auto__);
|
|
308
|
+
}));
|
|
309
|
+
|
|
310
|
+
(datahike.lru.LRUDatomCache.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (this__44459__auto__,key__44460__auto__){
|
|
311
|
+
var self__ = this;
|
|
312
|
+
var this__44459__auto____$1 = this;
|
|
313
|
+
return this__44459__auto____$1.cljs$core$ILookup$_lookup$arity$3(null, key__44460__auto__,null);
|
|
314
|
+
}));
|
|
315
|
+
|
|
316
|
+
(datahike.lru.LRUDatomCache.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (this__44459__auto__,key__44460__auto__,not_found__44461__auto__){
|
|
317
|
+
var self__ = this;
|
|
318
|
+
var this__44459__auto____$1 = this;
|
|
319
|
+
if(cljs.core.truth_(this__44459__auto____$1.cljs$cache$CacheProtocol$has_QMARK_$arity$2(null, key__44460__auto__))){
|
|
320
|
+
return this__44459__auto____$1.cljs$cache$CacheProtocol$lookup$arity$2(null, key__44460__auto__);
|
|
321
|
+
} else {
|
|
322
|
+
return not_found__44461__auto__;
|
|
323
|
+
}
|
|
324
|
+
}));
|
|
325
|
+
|
|
326
|
+
(datahike.lru.LRUDatomCache.getBasis = (function (){
|
|
327
|
+
return new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"cache","cache",403508473,null),new cljs.core.Symbol(null,"lru","lru",-315566379,null),new cljs.core.Symbol(null,"counts","counts",1874837419,null),new cljs.core.Symbol(null,"n-total-datoms","n-total-datoms",-1252770377,null),new cljs.core.Symbol(null,"tick","tick",804644551,null),new cljs.core.Symbol(null,"datom-limit","datom-limit",298983341,null)], null);
|
|
328
|
+
}));
|
|
329
|
+
|
|
330
|
+
(datahike.lru.LRUDatomCache.cljs$lang$type = true);
|
|
331
|
+
|
|
332
|
+
(datahike.lru.LRUDatomCache.cljs$lang$ctorStr = "datahike.lru/LRUDatomCache");
|
|
333
|
+
|
|
334
|
+
(datahike.lru.LRUDatomCache.cljs$lang$ctorPrWriter = (function (this__5287__auto__,writer__5288__auto__,opt__5289__auto__){
|
|
335
|
+
return cljs.core._write(writer__5288__auto__,"datahike.lru/LRUDatomCache");
|
|
336
|
+
}));
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* Positional factory function for datahike.lru/LRUDatomCache.
|
|
340
|
+
*/
|
|
341
|
+
datahike.lru.__GT_LRUDatomCache = (function datahike$lru$__GT_LRUDatomCache(cache,lru,counts,n_total_datoms,tick,datom_limit){
|
|
342
|
+
return (new datahike.lru.LRUDatomCache(cache,lru,counts,n_total_datoms,tick,datom_limit));
|
|
343
|
+
});
|
|
344
|
+
|
|
345
|
+
/**
|
|
346
|
+
* Returns an LRU cache with the cache and usage-table initialied to `base` --
|
|
347
|
+
* each entry is initialized with the same usage value.
|
|
348
|
+
* This function takes an optional `:threshold` argument that defines the maximum number
|
|
349
|
+
* of elements in the cache before the LRU semantics apply (default is 32).
|
|
350
|
+
*/
|
|
351
|
+
datahike.lru.lru_datom_cache_factory = (function datahike$lru$lru_datom_cache_factory(var_args){
|
|
352
|
+
var args__5732__auto__ = [];
|
|
353
|
+
var len__5726__auto___105625 = arguments.length;
|
|
354
|
+
var i__5727__auto___105626 = (0);
|
|
355
|
+
while(true){
|
|
356
|
+
if((i__5727__auto___105626 < len__5726__auto___105625)){
|
|
357
|
+
args__5732__auto__.push((arguments[i__5727__auto___105626]));
|
|
358
|
+
|
|
359
|
+
var G__105627 = (i__5727__auto___105626 + (1));
|
|
360
|
+
i__5727__auto___105626 = G__105627;
|
|
361
|
+
continue;
|
|
362
|
+
} else {
|
|
363
|
+
}
|
|
364
|
+
break;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
var argseq__5733__auto__ = ((((1) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((1)),(0),null)):null);
|
|
368
|
+
return datahike.lru.lru_datom_cache_factory.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5733__auto__);
|
|
369
|
+
});
|
|
370
|
+
|
|
371
|
+
(datahike.lru.lru_datom_cache_factory.cljs$core$IFn$_invoke$arity$variadic = (function (base,p__105595){
|
|
372
|
+
var map__105596 = p__105595;
|
|
373
|
+
var map__105596__$1 = cljs.core.__destructure_map(map__105596);
|
|
374
|
+
var threshold = cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__105596__$1,new cljs.core.Keyword(null,"threshold","threshold",204221583),(32));
|
|
375
|
+
if(typeof threshold === 'number'){
|
|
376
|
+
} else {
|
|
377
|
+
throw (new Error("Assert failed: (number? threshold)"));
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
if(((0) < threshold)){
|
|
381
|
+
} else {
|
|
382
|
+
throw (new Error("Assert failed: (< 0 threshold)"));
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
if(cljs.core.map_QMARK_(base)){
|
|
386
|
+
} else {
|
|
387
|
+
throw (new Error("Assert failed: (map? base)"));
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
return cljs.core.atom.cljs$core$IFn$_invoke$arity$1((new datahike.lru.LRUDatomCache(cljs.core.PersistentArrayMap.EMPTY,tailrecursion.priority_map.priority_map(),cljs.core.PersistentArrayMap.EMPTY,(0),(0),threshold)).cljs$cache$CacheProtocol$seed$arity$2(null, base));
|
|
391
|
+
}));
|
|
392
|
+
|
|
393
|
+
(datahike.lru.lru_datom_cache_factory.cljs$lang$maxFixedArity = (1));
|
|
394
|
+
|
|
395
|
+
/** @this {Function} */
|
|
396
|
+
(datahike.lru.lru_datom_cache_factory.cljs$lang$applyTo = (function (seq105593){
|
|
397
|
+
var G__105594 = cljs.core.first(seq105593);
|
|
398
|
+
var seq105593__$1 = cljs.core.next(seq105593);
|
|
399
|
+
var self__5711__auto__ = this;
|
|
400
|
+
return self__5711__auto__.cljs$core$IFn$_invoke$arity$variadic(G__105594,seq105593__$1);
|
|
401
|
+
}));
|
|
402
|
+
|
|
403
|
+
|
|
404
|
+
//# sourceMappingURL=datahike.lru.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["datahike/lru.cljc"],"mappings":"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","names":["this__5287__auto__","writer__5288__auto__","opt__5289__auto__","cljs.core/-write","datahike.lru/LRU","datahike.lru/->LRU","key-value","gen-key","key-gen","gen","limit","this","k","v","datahike.lru/assoc-lru","_","cljs.core/-contains-key?","cljs.core/-lookup","nf","writer","opts","cljs.core/-pr-writer","cljs.core/persistent!","lru","temp__5802__auto__","g","cljs.core.dissoc","cljs.core.assoc","G__105575","datahike.lru/cleanup-lru","cljs.core/count","vec__105576","cljs.core.nth","cljs.core/first","datahike.lru/lru","cljs.core/sorted-map","this__44459__auto__","other__44466__auto__","cljs.core._EQ_","cache","elem__44465__auto__","fexpr__105581","fexpr__105582","cljs.core/-count","___44462__auto__","cljs.core/-seq","cljs.core/PROTOCOL_SENTINEL","k__44463__auto__","v__44464__auto__","key__44460__auto__","not-found__44461__auto__","datahike.lru/LRUDatomCache","datahike.lru/->LRUDatomCache","counts","n-total-datoms","tick","datom-limit","item","cljs.core.get","not-found","cljs.core/contains?","tick+","result","vec__105583","vec__105586","n-new-datoms","new-size","c","l","n","s","cljs.core/peek","x","key","base","cljs.core.into","tailrecursion.priority-map/priority-map","p1__105579#","cljs.core.map","cljs.core/PersistentVector","cljs.core/keys","p1__105580#","var_args","args__5732__auto__","len__5726__auto__","i__5727__auto__","argseq__5733__auto__","cljs.core/IndexedSeq","datahike.lru/lru-datom-cache-factory","p__105595","map__105596","cljs.core/--destructure-map","js/Error","seq105593","G__105594","cljs.core/next","self__5711__auto__","threshold","cljs.core/map?","cljs.core.atom"],"sourcesContent":["(ns ^:no-doc datahike.lru\n (:require [#?(:clj clojure.core.cache :cljs cljs.cache) :refer [defcache CacheProtocol]]\n #?(:clj clojure.data.priority-map\n :cljs tailrecursion.priority-map)))\n\n(declare assoc-lru cleanup-lru)\n\n#?(:cljs\n (deftype LRU [key-value gen-key key-gen gen limit]\n IAssociative\n (-assoc [this k v] (assoc-lru this k v))\n (-contains-key? [_ k] (-contains-key? key-value k))\n ILookup\n (-lookup [_ k] (-lookup key-value k nil))\n (-lookup [_ k nf] (-lookup key-value k nf))\n IPrintWithWriter\n (-pr-writer [_ writer opts]\n (-pr-writer (persistent! key-value) writer opts)))\n :clj\n (deftype LRU [^clojure.lang.Associative key-value gen-key key-gen gen limit]\n clojure.lang.ILookup\n (valAt [_ k] (.valAt key-value k))\n (valAt [_ k not-found] (.valAt key-value k not-found))\n clojure.lang.Associative\n (containsKey [_ k] (.containsKey key-value k))\n (entryAt [_ k] (.entryAt key-value k))\n (assoc [this k v] (assoc-lru this k v))))\n\n(defn assoc-lru [^LRU lru k v]\n (let [key-value (.-key-value lru)\n gen-key (.-gen-key lru)\n key-gen (.-key-gen lru)\n gen (.-gen lru)\n limit (.-limit lru)]\n (if-let [g (key-gen k nil)]\n (->LRU key-value\n (-> gen-key\n (dissoc g)\n (assoc gen k))\n (assoc key-gen k gen)\n (inc gen)\n limit)\n (cleanup-lru\n (->LRU (assoc key-value k v)\n (assoc gen-key gen k)\n (assoc key-gen k gen)\n (inc gen)\n limit)))))\n\n(defn cleanup-lru [^LRU lru]\n (if (> (count (.-key-value lru)) (.-limit lru))\n (let [key-value (.-key-value lru)\n gen-key (.-gen-key lru)\n key-gen (.-key-gen lru)\n gen (.-gen lru)\n limit (.-limit lru)\n [g k] (first gen-key)]\n (->LRU (dissoc key-value k)\n (dissoc gen-key g)\n (dissoc key-gen k)\n gen\n limit))\n lru))\n\n(defn lru [limit]\n (->LRU {} (sorted-map) {} 0 limit))\n\n(defcache LRUDatomCache [cache lru counts n-total-datoms tick datom-limit]\n CacheProtocol\n (lookup [_ item]\n (get cache item))\n (lookup [_ item not-found]\n (get cache item not-found))\n (has? [_ item]\n (contains? cache item))\n (hit [_ item]\n (let [tick+ (inc tick)]\n (LRUDatomCache. cache\n (if (contains? cache item)\n (assoc lru item tick+)\n lru)\n counts\n n-total-datoms\n tick+\n datom-limit)))\n (miss [this item result]\n (let [tick+ (inc tick)\n n-new-datoms (count result)\n new-size (+ n-total-datoms n-new-datoms)\n [c l n s] (if (contains? lru item)\n [(dissoc cache item)\n (dissoc lru item)\n (dissoc counts item)\n (- new-size (get counts item))]\n [cache lru counts new-size])\n [c l n s] (loop [c c l l n n s s]\n (if (> s datom-limit)\n (let [k (first (peek lru))]\n (if-let [x (get n k)]\n (recur (dissoc c k)\n (dissoc l k)\n (dissoc n k)\n (- s x))\n [c l n s]))\n [c l n s]))]\n (LRUDatomCache. (assoc c item result)\n (assoc l item tick+)\n (assoc n item n-new-datoms)\n s\n tick+\n datom-limit)))\n (evict [this key]\n (if (contains? cache key)\n (LRUDatomCache. (dissoc cache key)\n (dissoc lru key)\n (dissoc counts key)\n (- n-total-datoms (get counts key))\n (inc tick)\n datom-limit)\n this))\n (seed [_ base]\n (LRUDatomCache. base\n (into #?(:clj (clojure.data.priority-map/priority-map)\n :cljs (tailrecursion.priority-map/priority-map))\n (map #(vector % 0)\n (keys base)))\n (into {}\n (map #(vector % (count (get base %)))\n (keys base)))\n 0\n 0\n datom-limit))\n Object\n (toString [_]\n (str cache \\, \\space lru \\, \\space counts \\, \\space n-total-datoms \\, \\space tick \\, \\space datom-limit)))\n\n(defn lru-datom-cache-factory\n \"Returns an LRU cache with the cache and usage-table initialied to `base` --\n each entry is initialized with the same usage value.\n This function takes an optional `:threshold` argument that defines the maximum number\n of elements in the cache before the LRU semantics apply (default is 32).\"\n [base & {threshold :threshold :or {threshold 32}}]\n {:pre [(number? threshold) (< 0 threshold)\n (map? base)]}\n #?(:clj (atom (clojure.core.cache/seed (LRUDatomCache. {} (clojure.data.priority-map/priority-map) {} 0 0 threshold) base))\n :cljs (atom (cljs.cache/seed (LRUDatomCache. {} (tailrecursion.priority-map/priority-map) {} 0 0 threshold) base))))\n"]}
|