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":["datalog/parser/impl.cljc"],"mappings":"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","names":["datalog.parser.impl/of-size?","form","size","cljs.core/sequential?","cljs.core._EQ_","cljs.core/count","datalog.parser.impl/parse-seq","parse-el","cljs.core.reduce","acc","el","temp__5802__auto__","parsed","cljs.core.conj","cljs.core/reduced","var_args","G__113517","datalog.parser.impl/collect-type","js/Error","t","datalog.parser.impl.collect_type","p1__113514#","datalog.parser.impl.util.collect","datalog.parser.impl/distinct?","coll","or__5002__auto__","cljs.core/empty?","cljs.core.apply","cljs.core/distinct?","datalog.parser.impl/with-source","obj","source","cljs.core.vary_meta","cljs.core/assoc","datalog.parser.impl/get-source","cljs.core/meta","datalog.parser.impl/parse-placeholder","datalog.parser.type/Placeholder","datalog.parser.impl/parse-variable","cljs.core/Symbol","cljs.core/first","cljs.core/name","datalog.parser.type/Variable","datalog.parser.impl/parse-src-var","datalog.parser.type/SrcVar","datalog.parser.impl/parse-rules-var","datalog.parser.type/RulesVar","datalog.parser.impl/parse-constant","datalog.parser.type/Constant","datalog.parser.impl/parse-plain-symbol","cljs.core/not","datalog.parser.type/PlainSymbol","datalog.parser.impl/parse-plain-variable","datalog.parser.impl/parse-fn-arg","datalog.parser.impl/parse-rule-vars","vec__113528","cljs.core.nth","required","rest","cljs.core/next","required*","free*","cljs.core.ex_info","cljs.core.concat","datalog.parser.type/RuleVars","datalog.parser.impl/flatten-rule-vars","rule-vars","cljs.core.mapv","cljs.core.map","datalog.parser.impl/rule-vars-arity","datalog.parser.impl/parse-bind-ignore","datalog.parser.type/BindIgnore","datalog.parser.impl/parse-bind-scalar","temp__5804__auto__","var","datalog.parser.type/BindScalar","datalog.parser.impl/parse-bind-coll","cljs.core/second","sub-bind","G__113538","datalog.parser.impl/parse-binding","datalog.parser.type/BindColl","datalog.parser.impl/parse-tuple-el","datalog.parser.impl/parse-bind-tuple","sub-bindings","datalog.parser.type/BindTuple","datalog.parser.impl/parse-bind-rel","datalog.parser.impl/find-vars","find","cljs.core.mapcat","datalog.parser.impl.proto/-find-vars","datalog.parser.impl.proto/find-elements","datalog.parser.impl/parse-aggregate","vec__113546","seq__113547","cljs.core/seq","first__113548","fn","args","fn*","args*","and__5000__auto__","datalog.parser.type/Aggregate","datalog.parser.impl/parse-aggregate-custom","vec__113551","seq__113552","first__113553","_","datalog.parser.impl/parse-pull-expr","vec__113556","long?","src","pattern","cljs.core/nnext","src*","var*","pattern*","datalog.parser.type/Pull","datalog.parser.impl/parse-find-elem","datalog.parser.impl/parse-find-rel","G__113562","datalog.parser.type/FindRel","datalog.parser.impl/parse-find-coll","inner","G__113564","datalog.parser.type/FindColl","datalog.parser.impl/parse-find-scalar","G__113566","datalog.parser.type/FindScalar","datalog.parser.impl/parse-find-tuple","G__113568","datalog.parser.type/FindTuple","datalog.parser.impl/parse-find","datalog.parser.impl/parse-with","datalog.parser.impl/parse-in-binding","datalog.parser.impl/parse-in","datalog.parser.impl/parse-pattern-el","datalog.parser.impl/take-source","source*","datalog.parser.type/DefaultSrc","datalog.parser.impl/parse-pattern","vec__113573","next-form","datalog.parser.type/Pattern","datalog.parser.impl/parse-call","vec__113578","seq__113579","first__113580","datalog.parser.impl/parse-pred","vec__113582","datalog.parser.type/Predicate","datalog.parser.impl/parse-fn","vec__113586","call","binding","vec__113589","binding*","datalog.parser.type/Function","datalog.parser.impl/parse-rule-expr","vec__113593","vec__113596","seq__113597","first__113598","name","name*","cljs.core.pr_str","datalog.parser.type/RuleExpr","datalog.parser.impl/collect-vars-distinct","cljs.core.into","cljs.core.distinct","datalog.parser.type.collect_vars","datalog.parser.impl/validate-join-vars","vars","clauses","undeclared","clojure.set.difference","cljs.core/set","datalog.parser.impl/validate-or-join-vars","datalog.parser.impl/validate-not","clause","datalog.parser.impl/parse-not","vec__113643","vec__113648","seq__113649","first__113650","sym","clauses*","datalog.parser.impl/parse-clauses","datalog.parser.type/Not","datalog.parser.impl/parse-not-join","vec__113696","vec__113701","seq__113702","first__113703","vars*","datalog.parser.impl/validate-or","map__113719","cljs.core/--destructure-map","map__113720","cljs.core.get","free","seq__113724","chunk__113725","count__113726","i__113727","cljs.core/chunked-seq?","c__5525__auto__","cljs.core/chunk-first","cljs.core/chunk-rest","datalog.parser.impl/validate-or-join","map__113741","map__113743","seq__113745","chunk__113746","count__113747","i__113748","datalog.parser.impl/parse-and","G__113770","cljs.core/not-empty","datalog.parser.type/And","datalog.parser.impl/parse-or","vec__113771","vec__113774","seq__113775","first__113776","cljs.core.some_fn","datalog.parser.impl/parse-clause","datalog.parser.type/Or","datalog.parser.impl/parse-or-join","vec__113777","vec__113780","seq__113781","first__113782","datalog.parser.impl/parse-limit","limit","cljs.core/integer?","datalog.parser.impl/parse-offset","offset","datalog.parser.impl/parse-return-maps","return-maps","type","cljs.core/keys","toomany","datalog.parser.type/ReturnMaps","p1__113783#","datalog.parser.type/MappingKey","datalog.parser.impl/parse-where","datalog.parser.impl/parse-rule","vec__113784","seq__113785","first__113786","head","vec__113787","seq__113788","first__113789","datalog.parser.impl/validate-arity","branches","vars0","arity0","seq__113790","chunk__113792","count__113793","i__113794","b","cljs.core.not_EQ_","datalog.parser.impl/parse-rules","name->branch","cljs.core/group-by","iter__5480__auto__","s__113797","cljs.core/LazySeq","c__5478__auto__","size__5479__auto__","b__113799","cljs.core/chunk-buffer","i__113798","vec__113800","cljs.core/-nth","cljs.core/chunk-append","cljs.core/chunk-cons","cljs.core/chunk","iter__113796","vec__113807","cljs.core/cons","cljs.core/rest","s__113804","b__113806","i__113805","iter__113803","s__113811","b__113813","i__113812","iter__113810","datalog.parser.type/RuleBranch","datalog.parser.type/Rule","datalog.parser.impl/query->map","query","allowed-keys","key","qs","vec__113817","seq__113818","first__113819","q","cljs.core.update","cljs.core.fnil","cljs.core/conj","p__113820","map__113821","datalog.parser.impl/assert-valid","_mform","find-vars","with-vars","in-vars","where-vars","mapping-keys","unknown","clojure.set.union","shared","clojure.set.intersection","mapped?","in-sources","in-rules","where-sources","rule-exprs","rules-vars"],"sourcesContent":["(ns datalog.parser.impl\n (:require [clojure.set :as set]\n [datalog.parser.type :as t #?@(:cljs [:refer [Not And Or Aggregate SrcVar RulesVar RuleExpr\n RuleVars Variable ReturnMaps MappingKey]])]\n [datalog.parser.impl.proto :as p]\n [datalog.parser.impl.util :as util\n #?(:cljs :refer-macros :clj :refer) [raise forv]])\n (:refer-clojure :rename {distinct? core-distinct?} #?@(:cljs (:exclude (distinct?))))\n #?(:clj\n (:import [datalog.parser.type\n Not And Or Aggregate SrcVar RulesVar RuleExpr\n RuleVars Variable ReturnMaps MappingKey])))\n\n#?(:clj (set! *warn-on-reflection* true))\n\n(declare parse-clause parse-clauses parse-binding)\n\n(defn of-size? [form size]\n (and (sequential? form) (= (count form) size)))\n\n(defn parse-seq [parse-el form]\n (when (sequential? form)\n (reduce\n (fn item-parser [acc el]\n (if-let [parsed (parse-el el)]\n (conj acc parsed)\n (reduced nil)))\n [] form)))\n\n(defn collect-type\n ([t form] (collect-type t form []))\n ([t form acc] (util/collect #(instance? t %) form acc)))\n\n(defn- distinct? [coll]\n (or (empty? coll) (apply core-distinct? coll)))\n\n(defn with-source [obj source]\n (vary-meta obj assoc :source source))\n\n;; `source` conflicts w/ clojure.repl\n(defn get-source [obj]\n (or (:source (meta obj)) obj))\n\n(defn parse-placeholder [form]\n (when (= '_ form)\n (datalog.parser.type.Placeholder.)))\n\n(defn parse-variable [form]\n (when (and (symbol? form) (= (first (name form)) \\?))\n (Variable. form)))\n\n(defn parse-src-var [form]\n (when (and (symbol? form) (= (first (name form)) \\$))\n (SrcVar. form)))\n\n(defn parse-rules-var [form]\n (when (= '% form)\n (RulesVar.)))\n\n(defn parse-constant [form]\n (when-not (and (symbol? form)\n (= (first (name form)) \\?))\n (datalog.parser.type.Constant. form)))\n\n(defn parse-plain-symbol [form]\n (when (and (symbol? form)\n (not (parse-variable form))\n (not (parse-src-var form))\n (not (parse-rules-var form))\n (not (parse-placeholder form)))\n (datalog.parser.type.PlainSymbol. form)))\n\n(defn parse-plain-variable [form]\n (when (parse-plain-symbol form)\n (Variable. form)))\n\n;; fn-arg = (variable | constant | src-var)\n\n(defn parse-fn-arg [form]\n (or (parse-variable form)\n (parse-src-var form)\n (parse-constant form)))\n\n;; rule-vars = [ variable+ | ([ variable+ ] variable*) ]\n\n(defn parse-rule-vars [form]\n (if (sequential? form)\n (let [[required rest] (if (sequential? (first form))\n [(first form) (next form)]\n [nil form])\n required* (parse-seq parse-variable required)\n free* (parse-seq parse-variable rest)]\n (when (and (empty? required*) (empty? free*))\n (raise \"Cannot parse rule-vars, expected [ variable+ | ([ variable+ ] variable*) ]\"\n {:error :parser/rule-vars, :form form}))\n (when-not (distinct? (concat required* free*))\n (raise \"Rule variables should be distinct\"\n {:error :parser/rule-vars, :form form}))\n (RuleVars. required* free*))\n (raise \"Cannot parse rule-vars, expected [ variable+ | ([ variable+ ] variable*) ]\"\n {:error :parser/rule-vars, :form form})))\n\n(defn flatten-rule-vars [rule-vars]\n (concat\n (when (:required rule-vars)\n [(mapv :symbol (:required rule-vars))])\n (map :symbol (:free rule-vars))))\n\n(defn rule-vars-arity [rule-vars]\n [(count (:required rule-vars)) (count (:free rule-vars))])\n\n(defn parse-bind-ignore [form]\n (when (= '_ form)\n (with-source (datalog.parser.type.BindIgnore.) form)))\n\n(defn parse-bind-scalar [form]\n (when-let [var (parse-variable form)]\n (with-source (datalog.parser.type.BindScalar. var) form)))\n\n(defn parse-bind-coll [form]\n (when (and (of-size? form 2) (= (second form) '...))\n (if-let [sub-bind (parse-binding (first form))]\n (-> (datalog.parser.type.BindColl. sub-bind)\n (with-source form))\n (raise \"Cannot parse collection binding\"\n {:error :parser/binding, :form form}))))\n\n(defn parse-tuple-el [form]\n (or (parse-bind-ignore form)\n (parse-binding form)))\n\n(defn parse-bind-tuple [form]\n (when-let [sub-bindings (parse-seq parse-tuple-el form)]\n (if-not (empty? sub-bindings)\n (-> (datalog.parser.type.BindTuple. sub-bindings)\n (with-source form))\n (raise \"Tuple binding cannot be empty\"\n {:error :parser/binding, :form form}))))\n\n(defn parse-bind-rel [form]\n (when (and (of-size? form 1) (sequential? (first form)))\n ;; relation is just a sequence of tuples\n (-> (parse-bind-tuple (first form))\n datalog.parser.type.BindColl.\n (with-source form))))\n\n(defn parse-binding [form]\n (or (parse-bind-coll form)\n (parse-bind-rel form)\n (parse-bind-tuple form)\n (parse-bind-ignore form)\n (parse-bind-scalar form)\n (raise \"Cannot parse binding, expected (bind-scalar | bind-tuple | bind-coll | bind-rel)\"\n {:error :parser/binding, :form form})))\n\n(defn find-vars [find]\n (mapcat p/-find-vars (p/find-elements find)))\n\n(defn parse-aggregate [form]\n (when (and (sequential? form) (>= (count form) 2))\n (let [[fn & args] form\n fn* (parse-plain-symbol fn)\n args* (parse-seq parse-fn-arg args)]\n (when (and fn* args*)\n (Aggregate. fn* args*)))))\n\n(defn parse-aggregate-custom [form]\n (when (and (sequential? form) (= (first form) 'aggregate))\n (if (>= (count form) 3)\n (let [[_ fn & args] form\n fn* (parse-variable fn)\n args* (parse-seq parse-fn-arg args)]\n (if (and fn* args*)\n (Aggregate. fn* args*)\n (raise \"Cannot parse custom aggregate call, expect ['aggregate' variable fn-arg+]\"\n {:error :parser/find, :fragment form})))\n (raise \"Cannot parse custom aggregate call, expect ['aggregate' variable fn-arg+]\"\n {:error :parser/find, :fragment form}))))\n\n(defn parse-pull-expr [form]\n (when (and (sequential? form) (= (first form) 'pull))\n (if (<= 3 (count form) 4)\n (let [long? (= (count form) 4)\n src (if long? (nth form 1) '$)\n [var pattern] (if long? (nnext form) (next form))\n src* (parse-src-var src)\n var* (parse-variable var)\n pattern* (or (parse-variable pattern)\n (parse-plain-variable pattern)\n (parse-constant pattern))]\n (if (and src* var* pattern*)\n (datalog.parser.type.Pull. src* var* pattern*)\n (raise \"Cannot parse pull expression, expect ['pull' src-var? variable (constant | variable | plain-symbol)]\"\n {:error :parser/find, :fragment form})))\n (raise \"Cannot parse pull expression, expect ['pull' src-var? variable (constant | variable | plain-symbol)]\"\n {:error :parser/find, :fragment form}))))\n\n(defn parse-find-elem [form]\n (or (parse-variable form)\n (parse-pull-expr form)\n (parse-aggregate-custom form)\n (parse-aggregate form)))\n\n(defn parse-find-rel [form]\n (some->\n (parse-seq parse-find-elem form)\n (datalog.parser.type.FindRel.)))\n\n(defn parse-find-coll [form]\n (when (and (sequential? form) (= (count form) 1))\n (let [inner (first form)]\n (when (and (sequential? inner)\n (= (count inner) 2)\n (= (second inner) '...))\n (some-> (parse-find-elem (first inner))\n (datalog.parser.type.FindColl.))))))\n\n(defn parse-find-scalar [form]\n (when (and (sequential? form) (= (count form) 2) (= (second form) '.))\n (some-> (parse-find-elem (first form))\n (datalog.parser.type.FindScalar.))))\n\n(defn parse-find-tuple [form]\n (when (and (sequential? form) (= (count form) 1))\n (let [inner (first form)]\n (some->\n (parse-seq parse-find-elem inner)\n (datalog.parser.type.FindTuple.)))))\n\n(defn parse-find [form]\n (or (parse-find-rel form)\n (parse-find-coll form)\n (parse-find-scalar form)\n (parse-find-tuple form)\n (raise \"Cannot parse :find, expected: (find-rel | find-coll | find-tuple | find-scalar)\"\n {:error :parser/find, :fragment form})))\n\n;; with = [ variable+ ]\n\n(defn parse-with [form]\n (or (parse-seq parse-variable form)\n (raise \"Cannot parse :with clause, expected [ variable+ ]\"\n {:error :parser/with, :form form})))\n\n;; in = [ (src-var | rules-var | plain-symbol | binding)+ ]\n\n(defn- parse-in-binding [form]\n (if-let [var (or (parse-src-var form)\n (parse-rules-var form)\n (parse-plain-variable form))]\n (with-source (datalog.parser.type.BindScalar. var) form)\n (parse-binding form)))\n\n(defn parse-in [form]\n (or (parse-seq parse-in-binding form)\n (raise \"Cannot parse :in clause, expected (src-var | % | plain-symbol | bind-scalar | bind-tuple | bind-coll | bind-rel)\"\n {:error :parser/in, :form form})))\n\n(defn parse-pattern-el [form]\n (or (parse-placeholder form)\n (parse-variable form)\n (parse-constant form)))\n\n(defn take-source [form]\n (when (sequential? form)\n (if-let [source* (parse-src-var (first form))]\n [source* (next form)]\n [(datalog.parser.type.DefaultSrc.) form])))\n\n(defn parse-pattern [form]\n (when-let [[source* next-form] (take-source form)]\n (when-let [pattern* (parse-seq parse-pattern-el next-form)]\n (if-not (empty? pattern*)\n (-> (datalog.parser.type.Pattern. source* pattern*)\n (with-source form))\n (raise \"Pattern could not be empty\"\n {:error :parser/where, :form form})))))\n\n(defn parse-call [form]\n (when (sequential? form)\n (let [[fn & args] form\n args (if (nil? args) [] args)\n fn* (or (parse-plain-symbol fn)\n (parse-variable fn))\n args* (parse-seq parse-fn-arg args)]\n (when (and fn* args*)\n [fn* args*]))))\n\n(defn parse-pred [form]\n (when (of-size? form 1)\n (when-let [[fn* args*] (parse-call (first form))]\n (-> (datalog.parser.type.Predicate. fn* args*)\n (with-source form)))))\n\n(defn parse-fn [form]\n (when (of-size? form 2)\n (let [[call binding] form]\n (when-let [[fn* args*] (parse-call call)]\n (when-let [binding* (parse-binding binding)]\n (-> (datalog.parser.type.Function. fn* args* binding*)\n (with-source form)))))))\n\n(defn parse-rule-expr [form]\n (when-let [[source* next-form] (take-source form)]\n (let [[name & args] next-form\n name* (parse-plain-symbol name)\n args* (parse-seq parse-pattern-el args)]\n (when name*\n (cond\n (empty? args) (raise \"rule-expr requires at least one argument\"\n {:error :parser/where, :form form})\n (nil? args*) (raise (str \"Cannot parse rule-expr arguments, expected\"\n \" [ (variable | constant | '_')+ ]\")\n {:error :parser/where, :form form})\n :else (RuleExpr. source* name* args*))))))\n\n(defn collect-vars-distinct [form]\n (into [] (distinct (t/collect-vars form))))\n\n(defn- validate-join-vars [vars clauses form]\n (let [undeclared (set/difference (set vars)\n (t/collect-vars #{} clauses))]\n (when-not (empty? undeclared)\n (raise \"Join variable not declared inside clauses: \" (mapv :symbol undeclared)\n {:error :parser/where :form form})))\n (when (empty? vars)\n (raise \"Join variables should not be empty\"\n {:error :parser/where :form form})))\n\n(defn- validate-or-join-vars [vars clauses form]\n (when (empty? vars)\n (raise \"Join variables should not be empty\"\n {:error :parser/where :form form})))\n\n(defn- validate-not [clause form]\n (validate-join-vars (:vars clause) (:clauses clause) form)\n clause)\n\n(defn parse-not [form]\n (when-let [[source* next-form] (take-source form)]\n (let [[sym & clauses] next-form]\n (when (= 'not sym)\n (if-let [clauses* (parse-clauses clauses)]\n (-> (Not. source* (collect-vars-distinct clauses*) clauses*)\n (with-source form)\n (validate-not form))\n (raise \"Cannot parse 'not' clause, expected [ src-var? 'not' clause+ ]\"\n {:error :parser/where, :form form}))))))\n\n(defn parse-not-join [form]\n (when-let [[source* next-form] (take-source form)]\n (let [[sym vars & clauses] next-form]\n (when (= 'not-join sym)\n (let [vars* (parse-seq parse-variable vars)\n clauses* (parse-clauses clauses)]\n (if (and vars* clauses*)\n (-> (Not. source* vars* clauses*)\n (with-source form)\n (validate-not form))\n (raise \"Cannot parse 'not-join' clause, expected [ src-var? 'not-join' [variable+] clause+ ]\"\n {:error :parser/where, :form form})))))))\n\n(defn validate-or [clause form]\n (let [{{required :required\n free :free} :rule-vars} clause\n vars (concat required free)]\n (doseq [clause (:clauses clause)]\n (validate-join-vars vars [clause] form))\n clause))\n\n(defn validate-or-join [clause form]\n (let [{{required :required\n free :free} :rule-vars} clause\n vars (concat required free)]\n (doseq [clause (:clauses clause)]\n (validate-or-join-vars vars [clause] form))\n clause))\n\n(defn parse-and [form]\n (when (and (sequential? form) (= 'and (first form)))\n (let [clauses* (parse-clauses (next form))]\n (if (not-empty clauses*)\n (And. clauses*)\n (raise \"Cannot parse 'and' clause, expected [ 'and' clause+ ]\"\n {:error :parser/where, :form form})))))\n\n(defn parse-or [form]\n (when-let [[source* next-form] (take-source form)]\n (let [[sym & clauses] next-form]\n (when (= 'or sym)\n (if-let [clauses* (parse-seq (some-fn parse-and parse-clause) clauses)]\n (-> (Or. source* (RuleVars. nil (collect-vars-distinct clauses*)) clauses*)\n (with-source form)\n (validate-or form))\n (raise \"Cannot parse 'or' clause, expected [ src-var? 'or' clause+ ]\"\n {:error :parser/where, :form form}))))))\n\n(defn parse-or-join [form]\n (when-let [[source* next-form] (take-source form)]\n (let [[sym vars & clauses] next-form]\n (when (= 'or-join sym)\n (let [vars* (parse-rule-vars vars)\n clauses* (parse-seq (some-fn parse-and parse-clause) clauses)]\n (if (and vars* clauses*)\n (-> (Or. source* vars* clauses*)\n (with-source form)\n (validate-or-join form))\n (raise \"Cannot parse 'or-join' clause, expected [ src-var? 'or-join' [variable+] clause+ ]\"\n {:error :parser/where, :form form})))))))\n\n(defn parse-clause [form]\n (or (parse-not form)\n (parse-not-join form)\n (parse-or form)\n (parse-or-join form)\n (parse-pred form)\n (parse-fn form)\n (parse-rule-expr form)\n (parse-pattern form)\n (raise (str \"Cannot parse clause, expected (data-pattern | pred-expr |\"\n \" fn-expr | rule-expr | not-clause | not-join-clause |\"\n \" or-clause | or-join-clause)\")\n {:error :parser/where, :form form})))\n\n(defn parse-clauses [clauses]\n (parse-seq parse-clause clauses))\n\n(defn parse-limit\n \"Parse pagination limit\"\n [limit]\n (when limit\n (if (integer? (first limit))\n (first limit)\n (raise \"Cannot parse :limit, expected integer\"\n {:error :parser/limit, :limit limit}))))\n\n(defn parse-offset\n \"Parse pagination offset\"\n [offset]\n (when offset\n (if (integer? (first offset))\n (first offset)\n (raise \"Cannot parse :offset, expected integer\"\n {:error :parser/offset, :offset offset}))))\n\n(defn parse-return-maps\n \"Parse request to return maps\"\n [return-maps]\n (let [type (first (keys return-maps))\n toomany (> (count (keys return-maps)) 1)]\n (if toomany\n (raise \"Only one of these three options is allowed: :keys :strs :syms\"\n {:error :parser/return-maps, :return-maps return-maps})\n (when type\n (ReturnMaps.\n type\n (map #(MappingKey. %) (get return-maps type)))))))\n\n(defn parse-where [form]\n (or (parse-clauses form)\n (raise \"Cannot parse :where clause, expected [clause+]\"\n {:error :parser/where, :form form})))\n\n(defn parse-rule [form]\n (if (sequential? form)\n (let [[head & clauses] form]\n (if (sequential? head)\n (let [[name & vars] head\n name* (or (parse-plain-symbol name)\n (raise \"Cannot parse rule name, expected plain-symbol\"\n {:error :parser/rule, :form form}))\n vars* (parse-rule-vars vars)\n clauses* (or (not-empty (parse-clauses clauses))\n (raise \"Rule branch should have clauses\"\n {:error :parser/rule, :form form}))]\n {:name name*\n :vars vars*\n :clauses clauses*})\n (raise \"Cannot parse rule head, expected [rule-name rule-vars]\"\n {:error :parser/rule, :form form})))\n (raise \"Cannot parse rule, expected [rule-head clause+]\"\n {:error :parser/rule, :form form})))\n\n(defn validate-arity [name branches]\n (let [vars0 (:vars (first branches))\n arity0 (rule-vars-arity vars0)]\n (doseq [b (next branches)\n :let [vars (:vars b)]]\n (when (not= arity0 (rule-vars-arity vars))\n (raise \"Arity mismatch for rule '\" (:symbol name) \"': \"\n (flatten-rule-vars vars0) \" vs. \" (flatten-rule-vars vars)\n {:error :parser/rule, :rule name})))))\n\n(defn parse-rules [form]\n ;; group rule branches by name\n (let [name->branch (group-by :name (parse-seq parse-rule form))]\n (forv [[name branches] name->branch\n :let [branches (forv [b branches]\n (datalog.parser.type.RuleBranch.\n (:vars b) (:clauses b)))]]\n (do\n (validate-arity name branches)\n (datalog.parser.type.Rule. name branches)))))\n\n(defn query->map [query]\n (let [allowed-keys #{:find :with :in :where :limit :offset :keys :syms :strs}]\n (loop [parsed {}\n key nil\n qs query]\n (if-let [[q & qs] (not-empty qs)]\n (if (allowed-keys q)\n (recur parsed q qs)\n (recur (update parsed key (fnil conj []) q) key qs))\n parsed))))\n\n(defn assert-valid [q form {:keys [find] :as _mform}]\n (let [find-vars (t/collect-vars #{} (:qfind q))\n with-vars (set (:qwith q))\n in-vars (t/collect-vars #{} (:qin q))\n where-vars (t/collect-vars #{} (:qwhere q))\n mapping-keys (t/collect-vars #{} (:qreturnmaps q))\n unknown (set/difference (set/union find-vars with-vars)\n (set/union where-vars in-vars))\n shared (set/intersection find-vars with-vars)\n mapped? (or\n (empty? mapping-keys)\n (= (count mapping-keys) (count find)))]\n (when-not (empty? unknown)\n (raise \"Query for unknown vars: \" (mapv :symbol unknown)\n {:error :parser/query, :vars unknown, :form form}))\n (when-not (empty? shared)\n (raise \":find and :with should not use same variables: \" (mapv :symbol shared)\n {:error :parser/query, :vars shared, :form form}))\n (when-not mapped?\n (raise \"Count of :keys/:strs/:syms must match count of :find\"\n {:error :parser/query, :keys mapping-keys, :values in-vars, :form form})))\n\n (let [in-vars (t/collect-vars (:qin q))\n in-sources (collect-type SrcVar (:qin q))\n in-rules (collect-type RulesVar (:qin q))]\n (when-not (and (distinct? in-vars)\n (distinct? in-sources)\n (distinct? in-rules))\n (raise \"Vars used in :in should be distinct\"\n {:error :parser/query, :form form})))\n\n (let [with-vars (t/collect-vars (:qwith q))]\n (when-not (distinct? with-vars)\n (raise \"Vars used in :with should be distinct\"\n {:error :parser/query, :form form})))\n\n (let [in-sources (collect-type SrcVar (:qin q) #{})\n where-sources (collect-type SrcVar (:qwhere q) #{})\n unknown (set/difference where-sources in-sources)]\n (when-not (empty? unknown)\n (raise \"Where uses unknown source vars: \" (mapv :symbol unknown)\n {:error :parser/query, :vars unknown, :form form})))\n\n (let [rule-exprs (collect-type RuleExpr (:qwhere q))\n rules-vars (collect-type RulesVar (:qin q))]\n (when (and (seq rule-exprs)\n (empty? rules-vars))\n (raise \"Missing rules var '%' in :in\"\n {:error :parser/query, :form form}))))\n"],"x_google_ignoreList":[0]}
@@ -0,0 +1,213 @@
1
+ var $CLJS = require("./cljs_env");
2
+ var $jscomp = $CLJS.$jscomp;
3
+ var COMPILED = false;
4
+ require("./cljs.core.js");
5
+ var environ=$CLJS.environ || ($CLJS.environ = {});
6
+ var fress=$CLJS.fress || ($CLJS.fress = {});
7
+ var datahike=$CLJS.datahike || ($CLJS.datahike = {});
8
+ var clojure=$CLJS.clojure || ($CLJS.clojure = {});
9
+ var hasch=$CLJS.hasch || ($CLJS.hasch = {});
10
+ var tailrecursion=$CLJS.tailrecursion || ($CLJS.tailrecursion = {});
11
+ var superv=$CLJS.superv || ($CLJS.superv = {});
12
+ var geheimnis=$CLJS.geheimnis || ($CLJS.geheimnis = {});
13
+ var is=$CLJS.is || ($CLJS.is = {});
14
+ var cljs=$CLJS.cljs || ($CLJS.cljs = {});
15
+ var cljs_node_io=$CLJS.cljs_node_io || ($CLJS.cljs_node_io = {});
16
+ var goog=$CLJS.goog || ($CLJS.goog = {});
17
+ var konserve=$CLJS.konserve || ($CLJS.konserve = {});
18
+ var datalog=$CLJS.datalog || ($CLJS.datalog = {});
19
+ var spec_tools=$CLJS.spec_tools || ($CLJS.spec_tools = {});
20
+ var taoensso=$CLJS.taoensso || ($CLJS.taoensso = {});
21
+ var incognito=$CLJS.incognito || ($CLJS.incognito = {});
22
+ var medley=$CLJS.medley || ($CLJS.medley = {});
23
+ var me=$CLJS.me || ($CLJS.me = {});
24
+
25
+ $CLJS.SHADOW_ENV.setLoaded("datalog.parser.impl.proto.js");
26
+
27
+ goog.provide('datalog.parser.impl.proto');
28
+
29
+ /**
30
+ * @interface
31
+ */
32
+ datalog.parser.impl.proto.ITraversable = function(){};
33
+
34
+ var datalog$parser$impl$proto$ITraversable$_collect$dyn_107566 = (function (_,pred,acc){
35
+ var x__5350__auto__ = (((_ == null))?null:_);
36
+ var m__5351__auto__ = (datalog.parser.impl.proto._collect[goog.typeOf(x__5350__auto__)]);
37
+ if((!((m__5351__auto__ == null)))){
38
+ return (m__5351__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$3(_,pred,acc) : m__5351__auto__.call(null, _,pred,acc));
39
+ } else {
40
+ var m__5349__auto__ = (datalog.parser.impl.proto._collect["_"]);
41
+ if((!((m__5349__auto__ == null)))){
42
+ return (m__5349__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$3(_,pred,acc) : m__5349__auto__.call(null, _,pred,acc));
43
+ } else {
44
+ throw cljs.core.missing_protocol("ITraversable.-collect",_);
45
+ }
46
+ }
47
+ });
48
+ datalog.parser.impl.proto._collect = (function datalog$parser$impl$proto$_collect(_,pred,acc){
49
+ if((((!((_ == null)))) && ((!((_.datalog$parser$impl$proto$ITraversable$_collect$arity$3 == null)))))){
50
+ return _.datalog$parser$impl$proto$ITraversable$_collect$arity$3(_,pred,acc);
51
+ } else {
52
+ return datalog$parser$impl$proto$ITraversable$_collect$dyn_107566(_,pred,acc);
53
+ }
54
+ });
55
+
56
+ var datalog$parser$impl$proto$ITraversable$_collect_vars$dyn_107568 = (function (_,acc){
57
+ var x__5350__auto__ = (((_ == null))?null:_);
58
+ var m__5351__auto__ = (datalog.parser.impl.proto._collect_vars[goog.typeOf(x__5350__auto__)]);
59
+ if((!((m__5351__auto__ == null)))){
60
+ return (m__5351__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$2(_,acc) : m__5351__auto__.call(null, _,acc));
61
+ } else {
62
+ var m__5349__auto__ = (datalog.parser.impl.proto._collect_vars["_"]);
63
+ if((!((m__5349__auto__ == null)))){
64
+ return (m__5349__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$2(_,acc) : m__5349__auto__.call(null, _,acc));
65
+ } else {
66
+ throw cljs.core.missing_protocol("ITraversable.-collect-vars",_);
67
+ }
68
+ }
69
+ });
70
+ datalog.parser.impl.proto._collect_vars = (function datalog$parser$impl$proto$_collect_vars(_,acc){
71
+ if((((!((_ == null)))) && ((!((_.datalog$parser$impl$proto$ITraversable$_collect_vars$arity$2 == null)))))){
72
+ return _.datalog$parser$impl$proto$ITraversable$_collect_vars$arity$2(_,acc);
73
+ } else {
74
+ return datalog$parser$impl$proto$ITraversable$_collect_vars$dyn_107568(_,acc);
75
+ }
76
+ });
77
+
78
+ var datalog$parser$impl$proto$ITraversable$_postwalk$dyn_107569 = (function (_,f){
79
+ var x__5350__auto__ = (((_ == null))?null:_);
80
+ var m__5351__auto__ = (datalog.parser.impl.proto._postwalk[goog.typeOf(x__5350__auto__)]);
81
+ if((!((m__5351__auto__ == null)))){
82
+ return (m__5351__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$2(_,f) : m__5351__auto__.call(null, _,f));
83
+ } else {
84
+ var m__5349__auto__ = (datalog.parser.impl.proto._postwalk["_"]);
85
+ if((!((m__5349__auto__ == null)))){
86
+ return (m__5349__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$2(_,f) : m__5349__auto__.call(null, _,f));
87
+ } else {
88
+ throw cljs.core.missing_protocol("ITraversable.-postwalk",_);
89
+ }
90
+ }
91
+ });
92
+ datalog.parser.impl.proto._postwalk = (function datalog$parser$impl$proto$_postwalk(_,f){
93
+ if((((!((_ == null)))) && ((!((_.datalog$parser$impl$proto$ITraversable$_postwalk$arity$2 == null)))))){
94
+ return _.datalog$parser$impl$proto$ITraversable$_postwalk$arity$2(_,f);
95
+ } else {
96
+ return datalog$parser$impl$proto$ITraversable$_postwalk$dyn_107569(_,f);
97
+ }
98
+ });
99
+
100
+
101
+ /**
102
+ * @interface
103
+ */
104
+ datalog.parser.impl.proto.Traversable = function(){};
105
+
106
+ var datalog$parser$impl$proto$Traversable$_traversable_QMARK_$dyn_107570 = (function (_){
107
+ var x__5350__auto__ = (((_ == null))?null:_);
108
+ var m__5351__auto__ = (datalog.parser.impl.proto._traversable_QMARK_[goog.typeOf(x__5350__auto__)]);
109
+ if((!((m__5351__auto__ == null)))){
110
+ return (m__5351__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5351__auto__.call(null, _));
111
+ } else {
112
+ var m__5349__auto__ = (datalog.parser.impl.proto._traversable_QMARK_["_"]);
113
+ if((!((m__5349__auto__ == null)))){
114
+ return (m__5349__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5349__auto__.call(null, _));
115
+ } else {
116
+ throw cljs.core.missing_protocol("Traversable.-traversable?",_);
117
+ }
118
+ }
119
+ });
120
+ datalog.parser.impl.proto._traversable_QMARK_ = (function datalog$parser$impl$proto$_traversable_QMARK_(_){
121
+ if((((!((_ == null)))) && ((!((_.datalog$parser$impl$proto$Traversable$_traversable_QMARK_$arity$1 == null)))))){
122
+ return _.datalog$parser$impl$proto$Traversable$_traversable_QMARK_$arity$1(_);
123
+ } else {
124
+ return datalog$parser$impl$proto$Traversable$_traversable_QMARK_$dyn_107570(_);
125
+ }
126
+ });
127
+
128
+
129
+ /**
130
+ * @interface
131
+ */
132
+ datalog.parser.impl.proto.IFindVars = function(){};
133
+
134
+ var datalog$parser$impl$proto$IFindVars$_find_vars$dyn_107571 = (function (this$){
135
+ var x__5350__auto__ = (((this$ == null))?null:this$);
136
+ var m__5351__auto__ = (datalog.parser.impl.proto._find_vars[goog.typeOf(x__5350__auto__)]);
137
+ if((!((m__5351__auto__ == null)))){
138
+ return (m__5351__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5351__auto__.call(null, this$));
139
+ } else {
140
+ var m__5349__auto__ = (datalog.parser.impl.proto._find_vars["_"]);
141
+ if((!((m__5349__auto__ == null)))){
142
+ return (m__5349__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5349__auto__.call(null, this$));
143
+ } else {
144
+ throw cljs.core.missing_protocol("IFindVars.-find-vars",this$);
145
+ }
146
+ }
147
+ });
148
+ datalog.parser.impl.proto._find_vars = (function datalog$parser$impl$proto$_find_vars(this$){
149
+ if((((!((this$ == null)))) && ((!((this$.datalog$parser$impl$proto$IFindVars$_find_vars$arity$1 == null)))))){
150
+ return this$.datalog$parser$impl$proto$IFindVars$_find_vars$arity$1(this$);
151
+ } else {
152
+ return datalog$parser$impl$proto$IFindVars$_find_vars$dyn_107571(this$);
153
+ }
154
+ });
155
+
156
+
157
+ /**
158
+ * @interface
159
+ */
160
+ datalog.parser.impl.proto.IFindElements = function(){};
161
+
162
+ var datalog$parser$impl$proto$IFindElements$find_elements$dyn_107572 = (function (this$){
163
+ var x__5350__auto__ = (((this$ == null))?null:this$);
164
+ var m__5351__auto__ = (datalog.parser.impl.proto.find_elements[goog.typeOf(x__5350__auto__)]);
165
+ if((!((m__5351__auto__ == null)))){
166
+ return (m__5351__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5351__auto__.call(null, this$));
167
+ } else {
168
+ var m__5349__auto__ = (datalog.parser.impl.proto.find_elements["_"]);
169
+ if((!((m__5349__auto__ == null)))){
170
+ return (m__5349__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5349__auto__.call(null, this$));
171
+ } else {
172
+ throw cljs.core.missing_protocol("IFindElements.find-elements",this$);
173
+ }
174
+ }
175
+ });
176
+ datalog.parser.impl.proto.find_elements = (function datalog$parser$impl$proto$find_elements(this$){
177
+ if((((!((this$ == null)))) && ((!((this$.datalog$parser$impl$proto$IFindElements$find_elements$arity$1 == null)))))){
178
+ return this$.datalog$parser$impl$proto$IFindElements$find_elements$arity$1(this$);
179
+ } else {
180
+ return datalog$parser$impl$proto$IFindElements$find_elements$dyn_107572(this$);
181
+ }
182
+ });
183
+
184
+ (datalog.parser.impl.proto.Traversable["null"] = true);
185
+
186
+ (datalog.parser.impl.proto._traversable_QMARK_["null"] = (function (_){
187
+ return false;
188
+ }));
189
+ (datalog.parser.impl.proto.Traversable["boolean"] = true);
190
+
191
+ (datalog.parser.impl.proto._traversable_QMARK_["boolean"] = (function (_){
192
+ return false;
193
+ }));
194
+
195
+ (datalog.parser.impl.proto.Traversable["number"] = true);
196
+
197
+ (datalog.parser.impl.proto._traversable_QMARK_["number"] = (function (_){
198
+ return false;
199
+ }));
200
+
201
+ (datalog.parser.impl.proto.Traversable["object"] = true);
202
+
203
+ (datalog.parser.impl.proto._traversable_QMARK_["object"] = (function (_){
204
+ return false;
205
+ }));
206
+
207
+ (datalog.parser.impl.proto.Traversable["string"] = true);
208
+
209
+ (datalog.parser.impl.proto._traversable_QMARK_["string"] = (function (_){
210
+ return false;
211
+ }));
212
+
213
+ //# sourceMappingURL=datalog.parser.impl.proto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["datalog/parser/impl/proto.cljc"],"mappings":"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","names":["datalog$parser$impl$proto$ITraversable$_collect$dyn","x__5350__auto__","m__5351__auto__","datalog.parser.impl.proto/-collect","goog/typeOf","m__5349__auto__","cljs.core/missing-protocol","datalog$parser$impl$proto$ITraversable$_collect_vars$dyn","datalog.parser.impl.proto/-collect-vars","datalog$parser$impl$proto$ITraversable$_postwalk$dyn","datalog.parser.impl.proto/-postwalk","datalog.parser.impl.proto/ITraversable","_","pred","acc","f","datalog$parser$impl$proto$Traversable$_traversable_QMARK_$dyn","datalog.parser.impl.proto/-traversable?","datalog.parser.impl.proto/Traversable","datalog$parser$impl$proto$IFindVars$_find_vars$dyn","datalog.parser.impl.proto/-find-vars","datalog.parser.impl.proto/IFindVars","this","datalog$parser$impl$proto$IFindElements$find_elements$dyn","datalog.parser.impl.proto/find-elements","datalog.parser.impl.proto/IFindElements"],"sourcesContent":["(ns datalog.parser.impl.proto)\n\n#?(:clj (set! *warn-on-reflection* true))\n\n(defprotocol ITraversable\n (-collect [_ pred acc])\n (-collect-vars [_ acc])\n (-postwalk [_ f]))\n\n(defprotocol Traversable\n (-traversable? [_]))\n\n(defprotocol IFindVars\n (-find-vars [this]))\n\n(defprotocol IFindElements\n (find-elements [this]))\n\n(extend-type nil\n Traversable\n (-traversable? [_] false))\n\n#?(:clj (extend-protocol Traversable\n Object (-traversable? [_] false))\n\n :cljs (extend-protocol Traversable\n boolean (-traversable? [_] false)\n number (-traversable? [_] false)\n object (-traversable? [_] false)\n string (-traversable? [_] false)))\n"],"x_google_ignoreList":[0]}
@@ -0,0 +1,117 @@
1
+ var $CLJS = require("./cljs_env");
2
+ var $jscomp = $CLJS.$jscomp;
3
+ var COMPILED = false;
4
+ require("./cljs.core.js");
5
+ require("./datalog.parser.impl.proto.js");
6
+ require("./clojure.string.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("datalog.parser.impl.util.js");
28
+
29
+ goog.provide('datalog.parser.impl.util');
30
+ datalog.parser.impl.util.decompose_ref = (function datalog$parser$impl$util$decompose_ref(v){
31
+ while(true){
32
+ if((v instanceof cljs.core.Keyword)){
33
+ return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.namespace(v),cljs.core.name(v)], null);
34
+ } else {
35
+ if(typeof v === 'string'){
36
+ var G__108135 = cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(v);
37
+ v = G__108135;
38
+ continue;
39
+ } else {
40
+ throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(["Bad attribute type: ",cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v], 0)),", expected keyword or string"].join(''),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"error","error",-978969032),new cljs.core.Keyword("transact","syntax","transact/syntax",-299207078),new cljs.core.Keyword(null,"attribute","attribute",-2074029119),v], null));
41
+
42
+ }
43
+ }
44
+ break;
45
+ }
46
+ });
47
+ datalog.parser.impl.util.reverse_attr_QMARK_ = (function datalog$parser$impl$util$reverse_attr_QMARK_(v){
48
+ return clojure.string.starts_with_QMARK_(v,"_");
49
+ });
50
+ datalog.parser.impl.util.reverse_ref_QMARK_ = (function datalog$parser$impl$util$reverse_ref_QMARK_(attr){
51
+ return datalog.parser.impl.util.reverse_attr_QMARK_(cljs.core.second(datalog.parser.impl.util.decompose_ref(attr)));
52
+ });
53
+ datalog.parser.impl.util.invert_name = (function datalog$parser$impl$util$invert_name(s){
54
+ if(datalog.parser.impl.util.reverse_attr_QMARK_(s)){
55
+ return cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(1));
56
+ } else {
57
+ return ["_",cljs.core.str.cljs$core$IFn$_invoke$arity$1(s)].join('');
58
+ }
59
+ });
60
+ datalog.parser.impl.util.reverse_ref = (function datalog$parser$impl$util$reverse_ref(v){
61
+ var G__108101 = cljs.core.update.cljs$core$IFn$_invoke$arity$3(datalog.parser.impl.util.decompose_ref(v),(1),datalog.parser.impl.util.invert_name);
62
+ if((v instanceof cljs.core.Keyword)){
63
+ return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.keyword,G__108101);
64
+ } else {
65
+ return G__108101;
66
+ }
67
+ });
68
+ datalog.parser.impl.util.prefixed_symbol_QMARK_ = (function datalog$parser$impl$util$prefixed_symbol_QMARK_(sym,prefix){
69
+ return (((sym instanceof cljs.core.Symbol)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(cljs.core.name(sym)),prefix)));
70
+ });
71
+ datalog.parser.impl.util.seqable_QMARK_ = (function datalog$parser$impl$util$seqable_QMARK_(x){
72
+ return (((!(typeof x === 'string'))) && (((cljs.core.seqable_QMARK_(x)) || (cljs.core.array_QMARK_(x)))));
73
+ });
74
+ datalog.parser.impl.util.collect = (function datalog$parser$impl$util$collect(var_args){
75
+ var G__108124 = arguments.length;
76
+ switch (G__108124) {
77
+ case 2:
78
+ return datalog.parser.impl.util.collect.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
79
+
80
+ break;
81
+ case 3:
82
+ return datalog.parser.impl.util.collect.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
83
+
84
+ break;
85
+ default:
86
+ throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
87
+
88
+ }
89
+ });
90
+
91
+ (datalog.parser.impl.util.collect.cljs$core$IFn$_invoke$arity$2 = (function (pred,form){
92
+ return datalog.parser.impl.util.collect.cljs$core$IFn$_invoke$arity$3(pred,form,cljs.core.PersistentVector.EMPTY);
93
+ }));
94
+
95
+ (datalog.parser.impl.util.collect.cljs$core$IFn$_invoke$arity$3 = (function (pred,form,acc){
96
+ if(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(form) : pred.call(null, form)))){
97
+ return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,form);
98
+ } else {
99
+ if(cljs.core.truth_(datalog.parser.impl.proto._traversable_QMARK_(form))){
100
+ return datalog.parser.impl.proto._collect(form,pred,acc);
101
+ } else {
102
+ if(datalog.parser.impl.util.seqable_QMARK_(form)){
103
+ return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function datalog$parser$impl$util$collector(acc__$1,form__$1){
104
+ return datalog.parser.impl.util.collect.cljs$core$IFn$_invoke$arity$3(pred,form__$1,acc__$1);
105
+ }),acc,form);
106
+ } else {
107
+ return acc;
108
+
109
+ }
110
+ }
111
+ }
112
+ }));
113
+
114
+ (datalog.parser.impl.util.collect.cljs$lang$maxFixedArity = 3);
115
+
116
+
117
+ //# sourceMappingURL=datalog.parser.impl.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["datalog/parser/impl/util.cljc"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,yCAAA,zCAAOA,0FAAeC;;AAAtB,AACE,GACE,cAAAC,bAAUD;AADZ,0FACgB,AAACE,oBAAUF,GAAG,AAACG,eAAKH;;AADpC,GAEE,OAAUA;AAAG,gBAAO,AAACI,gDAAQJ;;;;AAF/B,AAGe,MAAA,AAAAK,gDAAA,CAAA,uBAAA,AAAAC,gHAAA,yCAAA,2CAAA,uDAAA,wEAAA,3NAA8BN,2RAEXA;;;;;;;AAEpC,+CAAA,/CAAOO,sGAAeP;AAAtB,AACE,2CAAA,pCAACQ,kCAAiBR;;AAEpB,8CAAA,9CAAMS,oGAEiBC;AAFvB,AAGE,oDAAA,iBAAA,uCAAIA,vCAAKX,jBAAcY,7CAAOJ;;AAEhC,uCAAA,vCAAOK,sFAAaC;AAApB,AACE,GAAI,AAACN,6CAAcM;AACjB,sDAAA,/CAACC,6CAAKD;;AACN,QAAA,gDAASA;;;AAEb,uCAAA,vCAAME,sFAAaf;AAAnB,+DACM,AAACD,uCAAcC,tFACf,yFAAA,zFAACgB,6FAASJ,7GACV,IAAAK;AAAA,AAAA,GAAS,cAAAhB,bAAUD;AAAG,uEAAAiB,hEAACC,8CAAMC;;AAA7BF;;;AAEN,kDAAA,lDAAMG,4GAAkBC,IAAIC;AAA5B,AACE,SAAK,gBAAAC,fAASF,sCAAK,AAACG,6CAAE,AAACC,gBAAM,AAACtB,eAAKkB,MAAMC;;AAE3C,0CAAA,1CAAOI,4FAEgBC;AAFvB,AAGE,SAAK,GAAK,OAASA,sBACL,EAAI,AAACC,yBAAmBD,QACpB,AAACE,uBAAOF;;AAG5B,AAAA,mCAAA,2CAAAG,9EAAME;AAAN,AAAA,IAAAD,YAAA,AAAA;AAAA,AAAA,QAAAA;KAAA;AAAA,OAAAC,+DAAA,CAAA,UAAA,MAAA,CAAA,UAAA;;;KAAA;AAAA,OAAAA,+DAAA,CAAA,UAAA,MAAA,CAAA,UAAA,MAAA,CAAA,UAAA;;;;AAAA,MAAA,KAAAC,MAAA,CAAA,8DAAA,AAAA;;;;;AAAA,CAAA,iEAAA,jEAAMD,4EACFE,KAAKC;AADT,AACe,gFAAA,zEAACC,+DAAQF,KAAKC;;;AAD7B,CAAA,iEAAA,jEAAMH,4EAEFE,KAAKC,KAAKE;AAFd,AAGG,oBACE,CAACH,qCAAAA,2CAAAA,RAAKC,wBAAAA;AAAc,OAACG,6CAAKD,IAAIF;;AADhC,oBAEE,AAACI,8CAAoBJ;AAAM,OAACK,mCAAeL,KAAKD,KAAKG;;AAFvD,GAGE,AAACX,wCAASS;AAAU,OAACM,+CACA,6CAAeJ,QAAIF;AAAnB,AACE,OAACC,+DAAQF,KAAKC,SAAKE;GACrBA,IAAIF;;AAN3B,AAOsBE;;;;;;;AAVzB,CAAA,2DAAA,3DAAML;;AAAN","names":["datalog.parser.impl.util/decompose-ref","v","cljs.core/Keyword","cljs.core/namespace","cljs.core/name","cljs.core.keyword","cljs.core.ex_info","cljs.core.pr_str","datalog.parser.impl.util/reverse-attr?","clojure.string/starts-with?","datalog.parser.impl.util/reverse-ref?","attr","cljs.core/second","datalog.parser.impl.util/invert-name","s","cljs.core.subs","datalog.parser.impl.util/reverse-ref","cljs.core.update","G__108101","cljs.core.apply","cljs.core/keyword","datalog.parser.impl.util/prefixed-symbol?","sym","prefix","cljs.core/Symbol","cljs.core._EQ_","cljs.core/first","datalog.parser.impl.util/seqable?","x","cljs.core/seqable?","cljs.core/array?","var_args","G__108124","datalog.parser.impl.util/collect","js/Error","pred","form","datalog.parser.impl.util.collect","acc","cljs.core.conj","datalog.parser.impl.proto/-traversable?","datalog.parser.impl.proto/-collect","cljs.core.reduce"],"sourcesContent":["(ns ^:no-doc datalog.parser.impl.util\n (:require [datalog.parser.impl.proto :as proto]\n [clojure.string :as str])\n #?(:cljs (:require-macros [datalog.parser.impl.util :refer [raise]]))\n (:refer-clojure :exclude [seqable?]))\n\n#?(:clj (set! *warn-on-reflection* true))\n\n#?(:clj\n (defmacro raise [& fragments]\n (let [msgs (for [m (butlast fragments)]\n (cond->> m (not (string? m)) (list 'pr-str)))]\n `(throw (ex-info (str ~@msgs) ~(last fragments))))))\n\n#?(:clj\n (defmacro forv [& for-args]\n `(into [] (for ~@for-args))))\n\n(defn- decompose-ref [v]\n (cond\n (keyword? v) [(namespace v) (name v)]\n (string? v) (recur (keyword v))\n :else (raise \"Bad attribute type: \" v \", expected keyword or string\"\n {:error :transact/syntax\n :attribute v})))\n\n(defn- reverse-attr? [v]\n (str/starts-with? v \"_\"))\n\n(defn reverse-ref?\n #?@(:clj [^Boolean [attr]]\n :cljs [^boolean [attr]])\n (-> attr decompose-ref second reverse-attr?))\n\n(defn- invert-name [s]\n (if (reverse-attr? s)\n (subs s 1)\n (str \"_\" s)))\n\n(defn reverse-ref [v]\n (-> (decompose-ref v)\n (update 1 invert-name)\n (cond->> (keyword? v) (apply keyword))))\n\n(defn prefixed-symbol? [sym prefix]\n (and (symbol? sym) (= (first (name sym)) prefix)))\n\n(defn- seqable?\n #?@(:clj [^Boolean [x]]\n :cljs [^boolean [x]])\n (and (not (string? x))\n #?(:cljs (or (cljs.core/seqable? x)\n (array? x))\n :clj (clojure.core/seqable? x))))\n\n(defn collect\n ([pred form] (collect pred form []))\n ([pred form acc]\n (cond\n (pred form) (conj acc form)\n (proto/-traversable? form) (proto/-collect form pred acc)\n (seqable? form) (reduce\n (fn collector [acc form]\n (collect pred form acc))\n acc form)\n :else acc)))\n"],"x_google_ignoreList":[0]}
@@ -0,0 +1,47 @@
1
+ var $CLJS = require("./cljs_env");
2
+ var $jscomp = $CLJS.$jscomp;
3
+ var COMPILED = false;
4
+ require("./cljs.core.js");
5
+ require("./datalog.parser.impl.js");
6
+ require("./datalog.parser.type.js");
7
+ require("./datalog.parser.impl.util.js");
8
+ var environ=$CLJS.environ || ($CLJS.environ = {});
9
+ var fress=$CLJS.fress || ($CLJS.fress = {});
10
+ var datahike=$CLJS.datahike || ($CLJS.datahike = {});
11
+ var clojure=$CLJS.clojure || ($CLJS.clojure = {});
12
+ var hasch=$CLJS.hasch || ($CLJS.hasch = {});
13
+ var tailrecursion=$CLJS.tailrecursion || ($CLJS.tailrecursion = {});
14
+ var superv=$CLJS.superv || ($CLJS.superv = {});
15
+ var geheimnis=$CLJS.geheimnis || ($CLJS.geheimnis = {});
16
+ var is=$CLJS.is || ($CLJS.is = {});
17
+ var cljs=$CLJS.cljs || ($CLJS.cljs = {});
18
+ var cljs_node_io=$CLJS.cljs_node_io || ($CLJS.cljs_node_io = {});
19
+ var goog=$CLJS.goog || ($CLJS.goog = {});
20
+ var konserve=$CLJS.konserve || ($CLJS.konserve = {});
21
+ var datalog=$CLJS.datalog || ($CLJS.datalog = {});
22
+ var spec_tools=$CLJS.spec_tools || ($CLJS.spec_tools = {});
23
+ var taoensso=$CLJS.taoensso || ($CLJS.taoensso = {});
24
+ var incognito=$CLJS.incognito || ($CLJS.incognito = {});
25
+ var medley=$CLJS.medley || ($CLJS.medley = {});
26
+ var me=$CLJS.me || ($CLJS.me = {});
27
+
28
+ $CLJS.SHADOW_ENV.setLoaded("datalog.parser.js");
29
+
30
+ goog.provide('datalog.parser');
31
+ datalog.parser.parse = (function datalog$parser$parse(q){
32
+ var qm = ((cljs.core.map_QMARK_(q))?q:((cljs.core.sequential_QMARK_(q))?datalog.parser.impl.query__GT_map(q):(function(){throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("Query should be a vector or a map",new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"error","error",-978969032),new cljs.core.Keyword("parser","query","parser/query",1877320671),new cljs.core.Keyword(null,"form","form",-1624062471),q], null))})()
33
+ ));
34
+ var res = datalog.parser.type.map__GT_Query(new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,"qfind","qfind",1529332972),datalog.parser.impl.parse_find(new cljs.core.Keyword(null,"find","find",496279456).cljs$core$IFn$_invoke$arity$1(qm)),new cljs.core.Keyword(null,"qwith","qwith",-45809392),(function (){var G__114005 = qm;
35
+ var G__114005__$1 = (((G__114005 == null))?null:new cljs.core.Keyword(null,"with","with",-1536296876).cljs$core$IFn$_invoke$arity$1(G__114005));
36
+ if((G__114005__$1 == null)){
37
+ return null;
38
+ } else {
39
+ return datalog.parser.impl.parse_with(G__114005__$1);
40
+ }
41
+ })(),new cljs.core.Keyword(null,"qin","qin",1372651151),datalog.parser.impl.parse_in(new cljs.core.Keyword(null,"in","in",-1531184865).cljs$core$IFn$_invoke$arity$2(qm,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"$","$",-1580747756,null)], null))),new cljs.core.Keyword(null,"qwhere","qwhere",-1645067378),datalog.parser.impl.parse_where(new cljs.core.Keyword(null,"where","where",-2044795965).cljs$core$IFn$_invoke$arity$2(qm,cljs.core.PersistentVector.EMPTY)),new cljs.core.Keyword(null,"qlimit","qlimit",1359492608),datalog.parser.impl.parse_limit(new cljs.core.Keyword(null,"limit","limit",-1355822363).cljs$core$IFn$_invoke$arity$1(qm)),new cljs.core.Keyword(null,"qoffset","qoffset",1720474136),datalog.parser.impl.parse_offset(new cljs.core.Keyword(null,"offset","offset",296498311).cljs$core$IFn$_invoke$arity$1(qm)),new cljs.core.Keyword(null,"qreturnmaps","qreturnmaps",994928630),datalog.parser.impl.parse_return_maps(cljs.core.select_keys(qm,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"keys","keys",1068423698),new cljs.core.Keyword(null,"syms","syms",-1575891762),new cljs.core.Keyword(null,"strs","strs",1175537277)], null)))], null));
42
+ datalog.parser.impl.assert_valid(res,q,qm);
43
+
44
+ return res;
45
+ });
46
+
47
+ //# sourceMappingURL=datalog.parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["datalog/parser.cljc"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,uBAAA,vBAAMA,sDAAOC;AAAb,AACE,IAAMC,KAAG,6BAAA,uEAAA,lGACE,AAACC,qBAAKF,IAAGA,IACT,AAACG,4BAAYH,IAAG,AAACI,kCAAgBJ,GAC3B,kBAAA,AAAAK,gDAAA,oCAAA,2CAAA,uDAAA,kEAAA,sDACoCL;;IAC/CM,MAAI,kCAAA,2CAAA,6KAAA,1PAACC,oIAA2B,AAACC,+BAAgB,AAAA,kFAAOP,2DACxB,iBAAAQ,YAAQR;IAARQ,gBAAA,EAAA,CAAAA,aAAA,OAAA,KAAA,AAAA,oFAAAA;AAAA,AAAA,GAAA,CAAAA,iBAAA;AAAA;;AAAA,sCAAAA,/BAAiBC;;KAD7C,oTAAA,sNAAA,oLAAA,uLAAA,l0BAE4B,AAACC,6BAAc,AAAA,mFAAA,mFAAA,AAAA,tFAAKV,8MACpB,AAACW,gCAAiB,AAAA,yFAAA,HAAQX,+FAC1B,gCAAA,AAAA,sFAAIA,tHAAUY,sLACd,iCAAA,AAAA,sFAAIZ,vHAAWa,0PACXb,tBAAG,yBAAA,mFAAA,qDAAA,sDAAA,vNAACc,tCACJ,AAACC;AAZ3C,AAaE,AAACC,iCAAkBX,IAAIN,EAAEC;;AACzBK","names":["datalog.parser/parse","q","qm","cljs.core/map?","cljs.core/sequential?","datalog.parser.impl/query->map","cljs.core.ex_info","res","datalog.parser.type/map->Query","datalog.parser.impl/parse-find","G__114005","datalog.parser.impl/parse-with","datalog.parser.impl/parse-in","datalog.parser.impl/parse-where","datalog.parser.impl/parse-limit","datalog.parser.impl/parse-offset","cljs.core/select-keys","datalog.parser.impl/parse-return-maps","datalog.parser.impl/assert-valid"],"sourcesContent":["(ns datalog.parser\n (:require [datalog.parser.impl :as impl]\n [datalog.parser.type :as t]\n [datalog.parser.impl.util\n #?(:cljs :refer-macros :clj :refer) [raise]]))\n\n#?(:clj (set! *warn-on-reflection* true))\n\n(defn parse [q]\n (let [qm (cond\n (map? q) q\n (sequential? q) (impl/query->map q)\n :else (raise \"Query should be a vector or a map\"\n {:error :parser/query, :form q}))\n res (t/map->Query {:qfind (impl/parse-find (:find qm))\n :qwith (some-> qm :with impl/parse-with)\n :qin (impl/parse-in (:in qm ['$]))\n :qwhere (impl/parse-where (:where qm []))\n :qlimit (-> qm :limit impl/parse-limit)\n :qoffset (-> qm :offset impl/parse-offset)\n :qreturnmaps (-> qm (select-keys [:keys :syms :strs])\n (impl/parse-return-maps))})]\n (impl/assert-valid res q qm)\n res))\n"],"x_google_ignoreList":[0]}