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":["cljs/tools/reader/reader_types.cljs"],"mappings":"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","names":["cljs$tools$reader$reader-types$Reader$read_char$dyn","x__5350__auto__","m__5351__auto__","cljs.tools.reader.reader-types/read-char","goog/typeOf","m__5349__auto__","cljs.core/missing-protocol","cljs$tools$reader$reader-types$Reader$peek_char$dyn","cljs.tools.reader.reader-types/peek-char","cljs.tools.reader.reader-types/Reader","reader","cljs$tools$reader$reader-types$IPushbackReader$unread$dyn","cljs.tools.reader.reader-types/unread","cljs.tools.reader.reader-types/IPushbackReader","ch","cljs$tools$reader$reader-types$IndexingReader$get_line_number$dyn","cljs.tools.reader.reader-types/get-line-number","cljs$tools$reader$reader-types$IndexingReader$get_column_number$dyn","cljs.tools.reader.reader-types/get-column-number","cljs$tools$reader$reader-types$IndexingReader$get_file_name$dyn","cljs.tools.reader.reader-types/get-file-name","cljs.tools.reader.reader-types/IndexingReader","cljs.core/PROTOCOL_SENTINEL","this__5287__auto__","writer__5288__auto__","opt__5289__auto__","cljs.core/-write","cljs.tools.reader.reader-types/StringReader","cljs.tools.reader.reader-types/->StringReader","s","s-len","s-pos","r","cljs.tools.reader.reader-types/NodeReadableReader","cljs.tools.reader.reader-types/->NodeReadableReader","readable","buf","c","cljs.tools.reader.impl.utils/char","cljs.tools.reader.reader-types/PushbackReader","cljs.tools.reader.reader-types/->PushbackReader","rdr","buf-len","buf-pos","js/Error","cljs.tools.reader.reader-types/normalize-newline","cljs.tools.reader.reader-types/IndexingPushbackReader","cljs.tools.reader.reader-types/->IndexingPushbackReader","line","column","line-start?","prev","prev-column","file-name","temp__5804__auto__","cljs.tools.reader.impl.utils/newline?","cljs.tools.reader.reader-types/merge-meta","obj","m","orig-meta","cljs.core/meta","cljs.core/with-meta","cljs.core.merge","cljs.core.dissoc","cljs.tools.reader.reader-types/peek-source-log","frames","cljs.core.subs","cljs.core/first","cljs.tools.reader.reader-types/log-source-char","char","buffer","cljs.tools.reader.reader-types/drop-last-logged-char","cljs.tools.reader.reader-types/SourceLoggingPushbackReader","cljs.tools.reader.reader-types/->SourceLoggingPushbackReader","cljs.core/deref","cljs.tools.reader.reader-types/indexing-reader?","cljs.tools.reader.reader-types/string-reader","cljs.core/count","var_args","G__21803","cljs.tools.reader.reader-types/string-push-back-reader","cljs.tools.reader.reader_types.string_push_back_reader","cljs.core.object_array","cljs.tools.reader.reader-types/node-readable-push-back-reader","G__21808","cljs.tools.reader.reader-types/indexing-push-back-reader","s-or-rdr","cljs.tools.reader.reader_types.indexing_push_back_reader","G__21826","cljs.tools.reader.reader-types/source-logging-push-back-reader","cljs.tools.reader.reader_types.source_logging_push_back_reader","cljs.core.atom","js/goog.string.StringBuffer","cljs.tools.reader.reader-types/read-line","cljs.tools.reader.reader-types/source-logging-reader?","cljs.tools.reader.reader-types/line-start?","cljs.tools.reader.reader-types/log-source*","f","cljs.core.swap_BANG_","cljs.core/update-in","cljs.core/conj","ret","cljs.core/rest"],"sourcesContent":[";; Copyright (c) Nicola Mometto, Rich Hickey & contributors.\n;; The use and distribution terms for this software are covered by the\n;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)\n;; which can be found in the file epl-v10.html at the root of this distribution.\n;; By using this software in any fashion, you are agreeing to be bound by\n;; the terms of this license.\n;; You must not remove this notice, or any other, from this software.\n\n(ns ^{:doc \"Protocols and default Reader types implementation\"\n :author \"Bronsa\"}\n cljs.tools.reader.reader-types\n (:refer-clojure :exclude [char read-line])\n (:require [cljs.tools.reader.impl.utils :refer [char whitespace? newline?]]\n [goog.string])\n (:import goog.string.StringBuffer))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; reader protocols\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(defprotocol Reader\n (read-char [reader]\n \"Returns the next char from the Reader, nil if the end of stream has been reached\")\n (peek-char [reader]\n \"Returns the next char from the Reader without removing it from the reader stream\"))\n\n(defprotocol IPushbackReader\n (unread [reader ch]\n \"Pushes back a single character on to the stream\"))\n\n(defprotocol IndexingReader\n (get-line-number [reader]\n \"Returns the line number of the next character to be read from the stream\")\n (get-column-number [reader]\n \"Returns the column number of the next character to be read from the stream\")\n (get-file-name [reader]\n \"Returns the file name the reader is reading from, or nil\"))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; reader deftypes\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n(deftype StringReader\n [s s-len ^:mutable s-pos]\n Reader\n (read-char [reader]\n (when (> s-len s-pos)\n (let [r (.charAt s s-pos)]\n (set! s-pos (inc s-pos))\n r)))\n (peek-char [reader]\n (when (> s-len s-pos)\n (.charAt s s-pos))))\n\n(deftype NodeReadableReader [readable ^:mutable buf]\n Reader\n (read-char [reader]\n (if buf\n (let [c (aget buf 0)]\n (set! buf nil)\n (char c))\n (let [c (str (.read readable 1))]\n (when c\n (char c)))))\n (peek-char [reader]\n (when-not buf\n (set! buf (str (.read readable 1))))\n (when buf\n (char (aget buf 0)))))\n\n(deftype PushbackReader\n [^not-native rdr buf buf-len ^:mutable buf-pos]\n Reader\n (read-char [reader]\n (let [c (if (< buf-pos buf-len)\n (aget buf buf-pos)\n (read-char rdr))]\n (when (< buf-pos buf-len)\n (set! buf-pos (inc buf-pos)))\n (char c)))\n (peek-char [reader]\n (let [c (if (< buf-pos buf-len)\n (aget buf buf-pos)\n (peek-char rdr))]\n (char c)))\n IPushbackReader\n (unread [reader ch]\n (when ch\n (if (zero? buf-pos) (throw (js/Error. \"Pushback buffer is full\")))\n (set! buf-pos (dec buf-pos))\n (aset buf buf-pos ch))))\n\n(defn- normalize-newline [^not-native rdr ch]\n (if (identical? \\return ch)\n (let [c (peek-char rdr)]\n (when (or (identical? \\formfeed c)\n (identical? \\newline c))\n (read-char rdr))\n \\newline)\n ch))\n\n(deftype IndexingPushbackReader\n [^not-native rdr ^:mutable line ^:mutable column\n ^:mutable line-start? ^:mutable prev\n ^:mutable prev-column file-name]\n Reader\n (read-char [reader]\n (when-let [ch (read-char rdr)]\n (let [ch (normalize-newline rdr ch)]\n (set! prev line-start?)\n (set! line-start? (newline? ch))\n (when line-start?\n (set! prev-column column)\n (set! column 0)\n (set! line (inc line)))\n (set! column (inc column))\n ch)))\n\n (peek-char [reader]\n (peek-char rdr))\n\n IPushbackReader\n (unread [reader ch]\n (if line-start?\n (do (set! line (dec line))\n (set! column prev-column))\n (set! column (dec column)))\n (set! line-start? prev)\n (unread rdr ch))\n\n IndexingReader\n (get-line-number [reader] (int line))\n (get-column-number [reader] (int column))\n (get-file-name [reader] file-name))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Source Logging support\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n(defn merge-meta\n \"Returns an object of the same type and value as `obj`, with its\nmetadata merged over `m`.\"\n [obj m]\n (let [orig-meta (meta obj)]\n (with-meta obj (merge m (dissoc orig-meta :source)))))\n\n(defn- peek-source-log\n \"Returns a string containing the contents of the top most source\nlogging frame.\"\n [frames]\n (subs (str (:buffer frames)) (first (:offset frames))))\n\n(defn- log-source-char\n \"Logs `char` to all currently active source logging frames.\"\n [frames char]\n (when-let [buffer (:buffer frames)]\n (.append buffer char)))\n\n(defn- drop-last-logged-char\n \"Removes the last logged character from all currently active source\nlogging frames. Called when pushing a character back.\"\n [frames]\n (when-let [buffer (:buffer frames)]\n (.set buffer (subs (str buffer) 0 (dec (.getLength buffer))))))\n\n(deftype SourceLoggingPushbackReader\n [^not-native rdr ^:mutable line ^:mutable column\n ^:mutable line-start? ^:mutable prev\n ^:mutable prev-column file-name frames]\n Reader\n (read-char [reader]\n (when-let [ch (read-char rdr)]\n (let [ch (normalize-newline rdr ch)]\n (set! prev line-start?)\n (set! line-start? (newline? ch))\n (when line-start?\n (set! prev-column column)\n (set! column 0)\n (set! line (inc line)))\n (set! column (inc column))\n (log-source-char @frames ch)\n ch)))\n\n (peek-char [reader]\n (peek-char rdr))\n\n IPushbackReader\n (unread [reader ch]\n (if line-start?\n (do (set! line (dec line))\n (set! column prev-column))\n (set! column (dec column)))\n (set! line-start? prev)\n (when ch\n (drop-last-logged-char @frames))\n (unread rdr ch))\n\n IndexingReader\n (get-line-number [reader] (int line))\n (get-column-number [reader] (int column))\n (get-file-name [reader] file-name))\n\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n;; Public API\n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n\n;; fast check for provided implementations\n(defn indexing-reader?\n \"Returns true if the reader satisfies IndexingReader\"\n [rdr]\n (implements? IndexingReader rdr))\n\n(defn string-reader\n \"Creates a StringReader from a given string\"\n ([s]\n (StringReader. s (count s) 0)))\n\n(defn string-push-back-reader\n \"Creates a PushbackReader from a given string\"\n ([s]\n (string-push-back-reader s 1))\n ([s buf-len]\n (PushbackReader. (string-reader s) (object-array buf-len) buf-len buf-len)))\n\n(defn node-readable-push-back-reader [readable]\n (PushbackReader. (NodeReadableReader. readable nil) (object-array 1) 1 1))\n\n(defn indexing-push-back-reader\n \"Creates an IndexingPushbackReader from a given string or PushbackReader\"\n ([s-or-rdr]\n (indexing-push-back-reader s-or-rdr 1))\n ([s-or-rdr buf-len]\n (indexing-push-back-reader s-or-rdr buf-len nil))\n ([s-or-rdr buf-len file-name]\n (IndexingPushbackReader.\n (if (string? s-or-rdr) (string-push-back-reader s-or-rdr buf-len) s-or-rdr) 1 1 true nil 0 file-name)))\n\n(defn source-logging-push-back-reader\n \"Creates a SourceLoggingPushbackReader from a given string or PushbackReader\"\n ([s-or-rdr]\n (source-logging-push-back-reader s-or-rdr 1))\n ([s-or-rdr buf-len]\n (source-logging-push-back-reader s-or-rdr buf-len nil))\n ([s-or-rdr buf-len file-name]\n (SourceLoggingPushbackReader.\n (if (string? s-or-rdr) (string-push-back-reader s-or-rdr buf-len) s-or-rdr)\n 1\n 1\n true\n nil\n 0\n file-name\n (atom {:buffer (StringBuffer.) :offset '(0)}))))\n\n(defn read-line\n \"Reads a line from the reader or from *in* if no reader is specified\"\n ([^not-native rdr]\n (loop [c (read-char rdr) s (StringBuffer.)]\n (if (newline? c)\n (str s)\n (recur (read-char rdr) (.append s c))))))\n\n(defn ^boolean source-logging-reader?\n [rdr]\n (instance? SourceLoggingPushbackReader rdr))\n\n(defn ^boolean line-start?\n \"Returns true if rdr is an IndexingReader and the current char starts a new line\"\n [^not-native rdr]\n (when (indexing-reader? rdr)\n (== 1 (get-column-number rdr))))\n\n(defn log-source*\n [reader f]\n (let [buffer (:buffer @(.-frames reader))]\n (try\n (swap! (.-frames reader) update-in [:offset] conj (.getLength buffer))\n (let [ret (f)]\n (if (implements? IMeta ret)\n (merge-meta ret {:source (peek-source-log @ (.-frames reader))})\n ret))\n (finally\n (swap! (.-frames reader) update-in [:offset] rest)))))\n\n"],"x_google_ignoreList":[0]}