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,553 @@
1
+ var $CLJS = require("./cljs_env");
2
+ var $jscomp = $CLJS.$jscomp;
3
+ var COMPILED = false;
4
+ require("./cljs.core.js");
5
+ require("./konserve.protocols.js");
6
+ require("./konserve.utils.js");
7
+ require("./geheimnis.aes.js");
8
+ require("./hasch.core.js");
9
+ var environ=$CLJS.environ || ($CLJS.environ = {});
10
+ var fress=$CLJS.fress || ($CLJS.fress = {});
11
+ var datahike=$CLJS.datahike || ($CLJS.datahike = {});
12
+ var clojure=$CLJS.clojure || ($CLJS.clojure = {});
13
+ var hasch=$CLJS.hasch || ($CLJS.hasch = {});
14
+ var tailrecursion=$CLJS.tailrecursion || ($CLJS.tailrecursion = {});
15
+ var superv=$CLJS.superv || ($CLJS.superv = {});
16
+ var geheimnis=$CLJS.geheimnis || ($CLJS.geheimnis = {});
17
+ var is=$CLJS.is || ($CLJS.is = {});
18
+ var cljs=$CLJS.cljs || ($CLJS.cljs = {});
19
+ var cljs_node_io=$CLJS.cljs_node_io || ($CLJS.cljs_node_io = {});
20
+ var goog=$CLJS.goog || ($CLJS.goog = {});
21
+ var konserve=$CLJS.konserve || ($CLJS.konserve = {});
22
+ var datalog=$CLJS.datalog || ($CLJS.datalog = {});
23
+ var spec_tools=$CLJS.spec_tools || ($CLJS.spec_tools = {});
24
+ var taoensso=$CLJS.taoensso || ($CLJS.taoensso = {});
25
+ var incognito=$CLJS.incognito || ($CLJS.incognito = {});
26
+ var medley=$CLJS.medley || ($CLJS.medley = {});
27
+ var me=$CLJS.me || ($CLJS.me = {});
28
+
29
+ $CLJS.SHADOW_ENV.setLoaded("konserve.encryptor.js");
30
+
31
+ goog.provide('konserve.encryptor');
32
+ konserve.encryptor.salt_size = (64);
33
+
34
+ /**
35
+ * @constructor
36
+ * @implements {cljs.core.IRecord}
37
+ * @implements {cljs.core.IKVReduce}
38
+ * @implements {cljs.core.IEquiv}
39
+ * @implements {cljs.core.IHash}
40
+ * @implements {cljs.core.ICollection}
41
+ * @implements {cljs.core.ICounted}
42
+ * @implements {cljs.core.ISeqable}
43
+ * @implements {cljs.core.IMeta}
44
+ * @implements {konserve.protocols.PStoreSerializer}
45
+ * @implements {cljs.core.ICloneable}
46
+ * @implements {cljs.core.IPrintWithWriter}
47
+ * @implements {cljs.core.IIterable}
48
+ * @implements {cljs.core.IWithMeta}
49
+ * @implements {cljs.core.IAssociative}
50
+ * @implements {cljs.core.IMap}
51
+ * @implements {cljs.core.ILookup}
52
+ */
53
+ konserve.encryptor.NullEncryptor = (function (serializer,__meta,__extmap,__hash){
54
+ this.serializer = serializer;
55
+ this.__meta = __meta;
56
+ this.__extmap = __extmap;
57
+ this.__hash = __hash;
58
+ this.cljs$lang$protocol_mask$partition0$ = 2230716170;
59
+ this.cljs$lang$protocol_mask$partition1$ = 139264;
60
+ });
61
+ (konserve.encryptor.NullEncryptor.prototype.konserve$protocols$PStoreSerializer$ = cljs.core.PROTOCOL_SENTINEL);
62
+
63
+ (konserve.encryptor.NullEncryptor.prototype.konserve$protocols$PStoreSerializer$_deserialize$arity$3 = (function (_,read_handlers,bytes){
64
+ var self__ = this;
65
+ var ___$1 = this;
66
+ return konserve.protocols._deserialize(self__.serializer,read_handlers,bytes);
67
+ }));
68
+
69
+ (konserve.encryptor.NullEncryptor.prototype.konserve$protocols$PStoreSerializer$_serialize$arity$4 = (function (_,bytes,write_handlers,val){
70
+ var self__ = this;
71
+ var ___$1 = this;
72
+ return konserve.protocols._serialize(self__.serializer,bytes,write_handlers,val);
73
+ }));
74
+
75
+ (konserve.encryptor.NullEncryptor.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (this__5300__auto__,k__5301__auto__){
76
+ var self__ = this;
77
+ var this__5300__auto____$1 = this;
78
+ return this__5300__auto____$1.cljs$core$ILookup$_lookup$arity$3(null, k__5301__auto__,null);
79
+ }));
80
+
81
+ (konserve.encryptor.NullEncryptor.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (this__5302__auto__,k49476,else__5303__auto__){
82
+ var self__ = this;
83
+ var this__5302__auto____$1 = this;
84
+ var G__49491 = k49476;
85
+ var G__49491__$1 = (((G__49491 instanceof cljs.core.Keyword))?G__49491.fqn:null);
86
+ switch (G__49491__$1) {
87
+ case "serializer":
88
+ return self__.serializer;
89
+
90
+ break;
91
+ default:
92
+ return cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k49476,else__5303__auto__);
93
+
94
+ }
95
+ }));
96
+
97
+ (konserve.encryptor.NullEncryptor.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 = (function (this__5320__auto__,f__5321__auto__,init__5322__auto__){
98
+ var self__ = this;
99
+ var this__5320__auto____$1 = this;
100
+ return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5323__auto__,p__49494){
101
+ var vec__49495 = p__49494;
102
+ var k__5324__auto__ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49495,(0),null);
103
+ var v__5325__auto__ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49495,(1),null);
104
+ return (f__5321__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5321__auto__.cljs$core$IFn$_invoke$arity$3(ret__5323__auto__,k__5324__auto__,v__5325__auto__) : f__5321__auto__.call(null, ret__5323__auto__,k__5324__auto__,v__5325__auto__));
105
+ }),init__5322__auto__,this__5320__auto____$1);
106
+ }));
107
+
108
+ (konserve.encryptor.NullEncryptor.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (this__5315__auto__,writer__5316__auto__,opts__5317__auto__){
109
+ var self__ = this;
110
+ var this__5315__auto____$1 = this;
111
+ var pr_pair__5318__auto__ = (function (keyval__5319__auto__){
112
+ return cljs.core.pr_sequential_writer(writer__5316__auto__,cljs.core.pr_writer,""," ","",opts__5317__auto__,keyval__5319__auto__);
113
+ });
114
+ return cljs.core.pr_sequential_writer(writer__5316__auto__,pr_pair__5318__auto__,"#konserve.encryptor.NullEncryptor{",", ","}",opts__5317__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"serializer","serializer",-875689688),self__.serializer],null))], null),self__.__extmap));
115
+ }));
116
+
117
+ (konserve.encryptor.NullEncryptor.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (G__49475){
118
+ var self__ = this;
119
+ var G__49475__$1 = this;
120
+ return (new cljs.core.RecordIter((0),G__49475__$1,1,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"serializer","serializer",-875689688)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));
121
+ }));
122
+
123
+ (konserve.encryptor.NullEncryptor.prototype.cljs$core$IMeta$_meta$arity$1 = (function (this__5298__auto__){
124
+ var self__ = this;
125
+ var this__5298__auto____$1 = this;
126
+ return self__.__meta;
127
+ }));
128
+
129
+ (konserve.encryptor.NullEncryptor.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (this__5295__auto__){
130
+ var self__ = this;
131
+ var this__5295__auto____$1 = this;
132
+ return (new konserve.encryptor.NullEncryptor(self__.serializer,self__.__meta,self__.__extmap,self__.__hash));
133
+ }));
134
+
135
+ (konserve.encryptor.NullEncryptor.prototype.cljs$core$ICounted$_count$arity$1 = (function (this__5304__auto__){
136
+ var self__ = this;
137
+ var this__5304__auto____$1 = this;
138
+ return (1 + cljs.core.count(self__.__extmap));
139
+ }));
140
+
141
+ (konserve.encryptor.NullEncryptor.prototype.cljs$core$IHash$_hash$arity$1 = (function (this__5296__auto__){
142
+ var self__ = this;
143
+ var this__5296__auto____$1 = this;
144
+ var h__5111__auto__ = self__.__hash;
145
+ if((!((h__5111__auto__ == null)))){
146
+ return h__5111__auto__;
147
+ } else {
148
+ var h__5111__auto____$1 = (function (coll__5297__auto__){
149
+ return (-345804765 ^ cljs.core.hash_unordered_coll(coll__5297__auto__));
150
+ })(this__5296__auto____$1);
151
+ (self__.__hash = h__5111__auto____$1);
152
+
153
+ return h__5111__auto____$1;
154
+ }
155
+ }));
156
+
157
+ (konserve.encryptor.NullEncryptor.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (this49477,other49478){
158
+ var self__ = this;
159
+ var this49477__$1 = this;
160
+ return (((!((other49478 == null)))) && ((((this49477__$1.constructor === other49478.constructor)) && (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this49477__$1.serializer,other49478.serializer)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this49477__$1.__extmap,other49478.__extmap)))))));
161
+ }));
162
+
163
+ (konserve.encryptor.NullEncryptor.prototype.cljs$core$IMap$_dissoc$arity$2 = (function (this__5310__auto__,k__5311__auto__){
164
+ var self__ = this;
165
+ var this__5310__auto____$1 = this;
166
+ if(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"serializer","serializer",-875689688),null], null), null),k__5311__auto__)){
167
+ return cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5310__auto____$1),self__.__meta),k__5311__auto__);
168
+ } else {
169
+ return (new konserve.encryptor.NullEncryptor(self__.serializer,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5311__auto__)),null));
170
+ }
171
+ }));
172
+
173
+ (konserve.encryptor.NullEncryptor.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 = (function (this__5307__auto__,k49476){
174
+ var self__ = this;
175
+ var this__5307__auto____$1 = this;
176
+ var G__49527 = k49476;
177
+ var G__49527__$1 = (((G__49527 instanceof cljs.core.Keyword))?G__49527.fqn:null);
178
+ switch (G__49527__$1) {
179
+ case "serializer":
180
+ return true;
181
+
182
+ break;
183
+ default:
184
+ return cljs.core.contains_QMARK_(self__.__extmap,k49476);
185
+
186
+ }
187
+ }));
188
+
189
+ (konserve.encryptor.NullEncryptor.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (this__5308__auto__,k__5309__auto__,G__49475){
190
+ var self__ = this;
191
+ var this__5308__auto____$1 = this;
192
+ var pred__49532 = cljs.core.keyword_identical_QMARK_;
193
+ var expr__49533 = k__5309__auto__;
194
+ if(cljs.core.truth_((pred__49532.cljs$core$IFn$_invoke$arity$2 ? pred__49532.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"serializer","serializer",-875689688),expr__49533) : pred__49532.call(null, new cljs.core.Keyword(null,"serializer","serializer",-875689688),expr__49533)))){
195
+ return (new konserve.encryptor.NullEncryptor(G__49475,self__.__meta,self__.__extmap,null));
196
+ } else {
197
+ return (new konserve.encryptor.NullEncryptor(self__.serializer,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5309__auto__,G__49475),null));
198
+ }
199
+ }));
200
+
201
+ (konserve.encryptor.NullEncryptor.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (this__5313__auto__){
202
+ var self__ = this;
203
+ var this__5313__auto____$1 = this;
204
+ return cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,"serializer","serializer",-875689688),self__.serializer,null))], null),self__.__extmap));
205
+ }));
206
+
207
+ (konserve.encryptor.NullEncryptor.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (this__5299__auto__,G__49475){
208
+ var self__ = this;
209
+ var this__5299__auto____$1 = this;
210
+ return (new konserve.encryptor.NullEncryptor(self__.serializer,G__49475,self__.__extmap,self__.__hash));
211
+ }));
212
+
213
+ (konserve.encryptor.NullEncryptor.prototype.cljs$core$ICollection$_conj$arity$2 = (function (this__5305__auto__,entry__5306__auto__){
214
+ var self__ = this;
215
+ var this__5305__auto____$1 = this;
216
+ if(cljs.core.vector_QMARK_(entry__5306__auto__)){
217
+ return this__5305__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null, cljs.core._nth(entry__5306__auto__,(0)),cljs.core._nth(entry__5306__auto__,(1)));
218
+ } else {
219
+ return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5305__auto____$1,entry__5306__auto__);
220
+ }
221
+ }));
222
+
223
+ (konserve.encryptor.NullEncryptor.getBasis = (function (){
224
+ return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"serializer","serializer",764841839,null)], null);
225
+ }));
226
+
227
+ (konserve.encryptor.NullEncryptor.cljs$lang$type = true);
228
+
229
+ (konserve.encryptor.NullEncryptor.cljs$lang$ctorPrSeq = (function (this__5346__auto__){
230
+ return (new cljs.core.List(null,"konserve.encryptor/NullEncryptor",null,(1),null));
231
+ }));
232
+
233
+ (konserve.encryptor.NullEncryptor.cljs$lang$ctorPrWriter = (function (this__5346__auto__,writer__5347__auto__){
234
+ return cljs.core._write(writer__5347__auto__,"konserve.encryptor/NullEncryptor");
235
+ }));
236
+
237
+ /**
238
+ * Positional factory function for konserve.encryptor/NullEncryptor.
239
+ */
240
+ konserve.encryptor.__GT_NullEncryptor = (function konserve$encryptor$__GT_NullEncryptor(serializer){
241
+ return (new konserve.encryptor.NullEncryptor(serializer,null,null,null));
242
+ });
243
+
244
+ /**
245
+ * Factory function for konserve.encryptor/NullEncryptor, taking a map of keywords to field values.
246
+ */
247
+ konserve.encryptor.map__GT_NullEncryptor = (function konserve$encryptor$map__GT_NullEncryptor(G__49482){
248
+ var extmap__5342__auto__ = (function (){var G__49551 = cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(G__49482,new cljs.core.Keyword(null,"serializer","serializer",-875689688));
249
+ if(cljs.core.record_QMARK_(G__49482)){
250
+ return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__49551);
251
+ } else {
252
+ return G__49551;
253
+ }
254
+ })();
255
+ return (new konserve.encryptor.NullEncryptor(new cljs.core.Keyword(null,"serializer","serializer",-875689688).cljs$core$IFn$_invoke$arity$1(G__49482),null,cljs.core.not_empty(extmap__5342__auto__),null));
256
+ });
257
+
258
+ konserve.encryptor.null_encryptor = (function konserve$encryptor$null_encryptor(_config){
259
+ return (function (serializer){
260
+ return (new konserve.encryptor.NullEncryptor(serializer,null,null,null));
261
+ });
262
+ });
263
+ konserve.encryptor.get_initial_vector = (function konserve$encryptor$get_initial_vector(salt,key){
264
+ return cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(cljs.core.vec(hasch.core.edn_hash.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, ["initial-value",salt,key], null))),(0),(16));
265
+ });
266
+ konserve.encryptor.get_key = (function konserve$encryptor$get_key(salt,key){
267
+ return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, ["key",salt,key], null);
268
+ });
269
+
270
+ /**
271
+ * @constructor
272
+ * @implements {cljs.core.IRecord}
273
+ * @implements {cljs.core.IKVReduce}
274
+ * @implements {cljs.core.IEquiv}
275
+ * @implements {cljs.core.IHash}
276
+ * @implements {cljs.core.ICollection}
277
+ * @implements {cljs.core.ICounted}
278
+ * @implements {cljs.core.ISeqable}
279
+ * @implements {cljs.core.IMeta}
280
+ * @implements {konserve.protocols.PStoreSerializer}
281
+ * @implements {cljs.core.ICloneable}
282
+ * @implements {cljs.core.IPrintWithWriter}
283
+ * @implements {cljs.core.IIterable}
284
+ * @implements {cljs.core.IWithMeta}
285
+ * @implements {cljs.core.IAssociative}
286
+ * @implements {cljs.core.IMap}
287
+ * @implements {cljs.core.ILookup}
288
+ */
289
+ konserve.encryptor.AESEncryptor = (function (serializer,key,__meta,__extmap,__hash){
290
+ this.serializer = serializer;
291
+ this.key = key;
292
+ this.__meta = __meta;
293
+ this.__extmap = __extmap;
294
+ this.__hash = __hash;
295
+ this.cljs$lang$protocol_mask$partition0$ = 2230716170;
296
+ this.cljs$lang$protocol_mask$partition1$ = 139264;
297
+ });
298
+ (konserve.encryptor.AESEncryptor.prototype.konserve$protocols$PStoreSerializer$ = cljs.core.PROTOCOL_SENTINEL);
299
+
300
+ (konserve.encryptor.AESEncryptor.prototype.konserve$protocols$PStoreSerializer$_deserialize$arity$3 = (function (_,read_handlers,bytes){
301
+ var self__ = this;
302
+ var ___$1 = this;
303
+ var salt = cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (b){
304
+ if((b > (128))){
305
+ return (b - (256));
306
+ } else {
307
+ return b;
308
+ }
309
+ }),bytes.slice((0),(64)));
310
+ var data = bytes.slice((64));
311
+ var decrypted = geheimnis.aes.decrypt.cljs$core$IFn$_invoke$arity$variadic(konserve.encryptor.get_key(salt,self__.key),data,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"iv","iv",-1550102132),konserve.encryptor.get_initial_vector(salt,self__.key)], 0));
312
+ return konserve.protocols._deserialize(self__.serializer,read_handlers,decrypted);
313
+ }));
314
+
315
+ (konserve.encryptor.AESEncryptor.prototype.konserve$protocols$PStoreSerializer$_serialize$arity$4 = (function (_,bytes,write_handlers,val){
316
+ var self__ = this;
317
+ var ___$1 = this;
318
+ var unsigned_byte_offset = (128);
319
+ var salt = cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__49560_SHARP_){
320
+ return (((p1__49560_SHARP_ + (1)) - unsigned_byte_offset) | (0));
321
+ }),hasch.core.edn_hash.cljs$core$IFn$_invoke$arity$1(hasch.core.uuid.cljs$core$IFn$_invoke$arity$0()));
322
+ var data = konserve.protocols._serialize(self__.serializer,bytes,write_handlers,val);
323
+ var iv = konserve.encryptor.get_initial_vector(salt,self__.key);
324
+ var bytes__$1 = geheimnis.aes.encrypt.cljs$core$IFn$_invoke$arity$variadic(konserve.encryptor.get_key(salt,self__.key),Array.from(data),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"iv","iv",-1550102132),iv], 0));
325
+ var output = (new Uint8Array(((64) + cljs.core.count(bytes__$1))));
326
+ output.set(Uint8Array.from(cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(salt)),(0));
327
+
328
+ output.set(Uint8Array.from(bytes__$1),(64));
329
+
330
+ return output;
331
+ }));
332
+
333
+ (konserve.encryptor.AESEncryptor.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (this__5300__auto__,k__5301__auto__){
334
+ var self__ = this;
335
+ var this__5300__auto____$1 = this;
336
+ return this__5300__auto____$1.cljs$core$ILookup$_lookup$arity$3(null, k__5301__auto__,null);
337
+ }));
338
+
339
+ (konserve.encryptor.AESEncryptor.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (this__5302__auto__,k49562,else__5303__auto__){
340
+ var self__ = this;
341
+ var this__5302__auto____$1 = this;
342
+ var G__49595 = k49562;
343
+ var G__49595__$1 = (((G__49595 instanceof cljs.core.Keyword))?G__49595.fqn:null);
344
+ switch (G__49595__$1) {
345
+ case "serializer":
346
+ return self__.serializer;
347
+
348
+ break;
349
+ case "key":
350
+ return self__.key;
351
+
352
+ break;
353
+ default:
354
+ return cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k49562,else__5303__auto__);
355
+
356
+ }
357
+ }));
358
+
359
+ (konserve.encryptor.AESEncryptor.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 = (function (this__5320__auto__,f__5321__auto__,init__5322__auto__){
360
+ var self__ = this;
361
+ var this__5320__auto____$1 = this;
362
+ return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5323__auto__,p__49604){
363
+ var vec__49605 = p__49604;
364
+ var k__5324__auto__ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49605,(0),null);
365
+ var v__5325__auto__ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49605,(1),null);
366
+ return (f__5321__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5321__auto__.cljs$core$IFn$_invoke$arity$3(ret__5323__auto__,k__5324__auto__,v__5325__auto__) : f__5321__auto__.call(null, ret__5323__auto__,k__5324__auto__,v__5325__auto__));
367
+ }),init__5322__auto__,this__5320__auto____$1);
368
+ }));
369
+
370
+ (konserve.encryptor.AESEncryptor.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (this__5315__auto__,writer__5316__auto__,opts__5317__auto__){
371
+ var self__ = this;
372
+ var this__5315__auto____$1 = this;
373
+ var pr_pair__5318__auto__ = (function (keyval__5319__auto__){
374
+ return cljs.core.pr_sequential_writer(writer__5316__auto__,cljs.core.pr_writer,""," ","",opts__5317__auto__,keyval__5319__auto__);
375
+ });
376
+ return cljs.core.pr_sequential_writer(writer__5316__auto__,pr_pair__5318__auto__,"#konserve.encryptor.AESEncryptor{",", ","}",opts__5317__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"serializer","serializer",-875689688),self__.serializer],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"key","key",-1516042587),self__.key],null))], null),self__.__extmap));
377
+ }));
378
+
379
+ (konserve.encryptor.AESEncryptor.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (G__49561){
380
+ var self__ = this;
381
+ var G__49561__$1 = this;
382
+ return (new cljs.core.RecordIter((0),G__49561__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"serializer","serializer",-875689688),new cljs.core.Keyword(null,"key","key",-1516042587)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));
383
+ }));
384
+
385
+ (konserve.encryptor.AESEncryptor.prototype.cljs$core$IMeta$_meta$arity$1 = (function (this__5298__auto__){
386
+ var self__ = this;
387
+ var this__5298__auto____$1 = this;
388
+ return self__.__meta;
389
+ }));
390
+
391
+ (konserve.encryptor.AESEncryptor.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (this__5295__auto__){
392
+ var self__ = this;
393
+ var this__5295__auto____$1 = this;
394
+ return (new konserve.encryptor.AESEncryptor(self__.serializer,self__.key,self__.__meta,self__.__extmap,self__.__hash));
395
+ }));
396
+
397
+ (konserve.encryptor.AESEncryptor.prototype.cljs$core$ICounted$_count$arity$1 = (function (this__5304__auto__){
398
+ var self__ = this;
399
+ var this__5304__auto____$1 = this;
400
+ return (2 + cljs.core.count(self__.__extmap));
401
+ }));
402
+
403
+ (konserve.encryptor.AESEncryptor.prototype.cljs$core$IHash$_hash$arity$1 = (function (this__5296__auto__){
404
+ var self__ = this;
405
+ var this__5296__auto____$1 = this;
406
+ var h__5111__auto__ = self__.__hash;
407
+ if((!((h__5111__auto__ == null)))){
408
+ return h__5111__auto__;
409
+ } else {
410
+ var h__5111__auto____$1 = (function (coll__5297__auto__){
411
+ return (-1214549729 ^ cljs.core.hash_unordered_coll(coll__5297__auto__));
412
+ })(this__5296__auto____$1);
413
+ (self__.__hash = h__5111__auto____$1);
414
+
415
+ return h__5111__auto____$1;
416
+ }
417
+ }));
418
+
419
+ (konserve.encryptor.AESEncryptor.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (this49563,other49564){
420
+ var self__ = this;
421
+ var this49563__$1 = this;
422
+ return (((!((other49564 == null)))) && ((((this49563__$1.constructor === other49564.constructor)) && (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this49563__$1.serializer,other49564.serializer)) && (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this49563__$1.key,other49564.key)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this49563__$1.__extmap,other49564.__extmap)))))))));
423
+ }));
424
+
425
+ (konserve.encryptor.AESEncryptor.prototype.cljs$core$IMap$_dissoc$arity$2 = (function (this__5310__auto__,k__5311__auto__){
426
+ var self__ = this;
427
+ var this__5310__auto____$1 = this;
428
+ if(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"key","key",-1516042587),null,new cljs.core.Keyword(null,"serializer","serializer",-875689688),null], null), null),k__5311__auto__)){
429
+ return cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5310__auto____$1),self__.__meta),k__5311__auto__);
430
+ } else {
431
+ return (new konserve.encryptor.AESEncryptor(self__.serializer,self__.key,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5311__auto__)),null));
432
+ }
433
+ }));
434
+
435
+ (konserve.encryptor.AESEncryptor.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 = (function (this__5307__auto__,k49562){
436
+ var self__ = this;
437
+ var this__5307__auto____$1 = this;
438
+ var G__49652 = k49562;
439
+ var G__49652__$1 = (((G__49652 instanceof cljs.core.Keyword))?G__49652.fqn:null);
440
+ switch (G__49652__$1) {
441
+ case "serializer":
442
+ case "key":
443
+ return true;
444
+
445
+ break;
446
+ default:
447
+ return cljs.core.contains_QMARK_(self__.__extmap,k49562);
448
+
449
+ }
450
+ }));
451
+
452
+ (konserve.encryptor.AESEncryptor.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (this__5308__auto__,k__5309__auto__,G__49561){
453
+ var self__ = this;
454
+ var this__5308__auto____$1 = this;
455
+ var pred__49654 = cljs.core.keyword_identical_QMARK_;
456
+ var expr__49655 = k__5309__auto__;
457
+ if(cljs.core.truth_((pred__49654.cljs$core$IFn$_invoke$arity$2 ? pred__49654.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"serializer","serializer",-875689688),expr__49655) : pred__49654.call(null, new cljs.core.Keyword(null,"serializer","serializer",-875689688),expr__49655)))){
458
+ return (new konserve.encryptor.AESEncryptor(G__49561,self__.key,self__.__meta,self__.__extmap,null));
459
+ } else {
460
+ if(cljs.core.truth_((pred__49654.cljs$core$IFn$_invoke$arity$2 ? pred__49654.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"key","key",-1516042587),expr__49655) : pred__49654.call(null, new cljs.core.Keyword(null,"key","key",-1516042587),expr__49655)))){
461
+ return (new konserve.encryptor.AESEncryptor(self__.serializer,G__49561,self__.__meta,self__.__extmap,null));
462
+ } else {
463
+ return (new konserve.encryptor.AESEncryptor(self__.serializer,self__.key,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5309__auto__,G__49561),null));
464
+ }
465
+ }
466
+ }));
467
+
468
+ (konserve.encryptor.AESEncryptor.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (this__5313__auto__){
469
+ var self__ = this;
470
+ var this__5313__auto____$1 = this;
471
+ return cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,"serializer","serializer",-875689688),self__.serializer,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,"key","key",-1516042587),self__.key,null))], null),self__.__extmap));
472
+ }));
473
+
474
+ (konserve.encryptor.AESEncryptor.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (this__5299__auto__,G__49561){
475
+ var self__ = this;
476
+ var this__5299__auto____$1 = this;
477
+ return (new konserve.encryptor.AESEncryptor(self__.serializer,self__.key,G__49561,self__.__extmap,self__.__hash));
478
+ }));
479
+
480
+ (konserve.encryptor.AESEncryptor.prototype.cljs$core$ICollection$_conj$arity$2 = (function (this__5305__auto__,entry__5306__auto__){
481
+ var self__ = this;
482
+ var this__5305__auto____$1 = this;
483
+ if(cljs.core.vector_QMARK_(entry__5306__auto__)){
484
+ return this__5305__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null, cljs.core._nth(entry__5306__auto__,(0)),cljs.core._nth(entry__5306__auto__,(1)));
485
+ } else {
486
+ return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5305__auto____$1,entry__5306__auto__);
487
+ }
488
+ }));
489
+
490
+ (konserve.encryptor.AESEncryptor.getBasis = (function (){
491
+ return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"serializer","serializer",764841839,null),new cljs.core.Symbol(null,"key","key",124488940,null)], null);
492
+ }));
493
+
494
+ (konserve.encryptor.AESEncryptor.cljs$lang$type = true);
495
+
496
+ (konserve.encryptor.AESEncryptor.cljs$lang$ctorPrSeq = (function (this__5346__auto__){
497
+ return (new cljs.core.List(null,"konserve.encryptor/AESEncryptor",null,(1),null));
498
+ }));
499
+
500
+ (konserve.encryptor.AESEncryptor.cljs$lang$ctorPrWriter = (function (this__5346__auto__,writer__5347__auto__){
501
+ return cljs.core._write(writer__5347__auto__,"konserve.encryptor/AESEncryptor");
502
+ }));
503
+
504
+ /**
505
+ * Positional factory function for konserve.encryptor/AESEncryptor.
506
+ */
507
+ konserve.encryptor.__GT_AESEncryptor = (function konserve$encryptor$__GT_AESEncryptor(serializer,key){
508
+ return (new konserve.encryptor.AESEncryptor(serializer,key,null,null,null));
509
+ });
510
+
511
+ /**
512
+ * Factory function for konserve.encryptor/AESEncryptor, taking a map of keywords to field values.
513
+ */
514
+ konserve.encryptor.map__GT_AESEncryptor = (function konserve$encryptor$map__GT_AESEncryptor(G__49568){
515
+ var extmap__5342__auto__ = (function (){var G__49674 = cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__49568,new cljs.core.Keyword(null,"serializer","serializer",-875689688),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"key","key",-1516042587)], 0));
516
+ if(cljs.core.record_QMARK_(G__49568)){
517
+ return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__49674);
518
+ } else {
519
+ return G__49674;
520
+ }
521
+ })();
522
+ return (new konserve.encryptor.AESEncryptor(new cljs.core.Keyword(null,"serializer","serializer",-875689688).cljs$core$IFn$_invoke$arity$1(G__49568),new cljs.core.Keyword(null,"key","key",-1516042587).cljs$core$IFn$_invoke$arity$1(G__49568),null,cljs.core.not_empty(extmap__5342__auto__),null));
523
+ });
524
+
525
+ konserve.encryptor.aes_encryptor = (function konserve$encryptor$aes_encryptor(config){
526
+ var map__49678 = config;
527
+ var map__49678__$1 = cljs.core.__destructure_map(map__49678);
528
+ var key = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__49678__$1,new cljs.core.Keyword(null,"key","key",-1516042587));
529
+ if((key == null)){
530
+ throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("AES key not provided.",new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"aes-encryptor-key-missing","aes-encryptor-key-missing",77295506),new cljs.core.Keyword(null,"config","config",994861415),config], null));
531
+ } else {
532
+ return (function (serializer){
533
+ return (new konserve.encryptor.AESEncryptor(serializer,key,null,null,null));
534
+ });
535
+ }
536
+ });
537
+ konserve.encryptor.byte__GT_encryptor = new cljs.core.PersistentArrayMap(null, 2, [(0),konserve.encryptor.null_encryptor,(1),konserve.encryptor.aes_encryptor], null);
538
+ konserve.encryptor.encryptor__GT_byte = konserve.utils.invert_map(konserve.encryptor.byte__GT_encryptor);
539
+ konserve.encryptor.get_encryptor = (function konserve$encryptor$get_encryptor(type){
540
+ var G__49679 = type;
541
+ var G__49679__$1 = (((G__49679 instanceof cljs.core.Keyword))?G__49679.fqn:null);
542
+ switch (G__49679__$1) {
543
+ case "aes":
544
+ return konserve.encryptor.aes_encryptor;
545
+
546
+ break;
547
+ default:
548
+ return konserve.encryptor.null_encryptor;
549
+
550
+ }
551
+ });
552
+
553
+ //# sourceMappingURL=konserve.encryptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["konserve/encryptor.cljc"],"mappings":"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","names":["konserve.encryptor/salt-size","cljs.core/PROTOCOL_SENTINEL","this__5300__auto__","k__5301__auto__","this__5302__auto__","k49476","else__5303__auto__","G__49491","cljs.core/Keyword","serializer","cljs.core.get","__extmap","this__5320__auto__","f__5321__auto__","init__5322__auto__","cljs.core.reduce","ret__5323__auto__","p__49494","vec__49495","k__5324__auto__","cljs.core.nth","v__5325__auto__","this__5315__auto__","writer__5316__auto__","opts__5317__auto__","pr-pair__5318__auto__","keyval__5319__auto__","cljs.core/pr-sequential-writer","cljs.core.concat","cljs.core/PersistentVector","G__49475","cljs.core/RecordIter","cljs.core/-iterator","cljs.core/nil-iter","this__5298__auto__","__meta","this__5295__auto__","__hash","this__5304__auto__","cljs.core/count","this__5296__auto__","h__5111__auto__","coll__5297__auto__","cljs.core/hash-unordered-coll","this49477","other49478","cljs.core._EQ_","this__5310__auto__","k__5311__auto__","cljs.core/contains?","cljs.core.dissoc","cljs.core/-with-meta","cljs.core.into","cljs.core/not-empty","this__5307__auto__","G__49527","this__5308__auto__","k__5309__auto__","pred__49532","cljs.core/keyword-identical?","expr__49533","cljs.core.assoc","this__5313__auto__","cljs.core/seq","cljs.core/MapEntry","this__5299__auto__","this__5305__auto__","entry__5306__auto__","cljs.core/vector?","cljs.core/-nth","cljs.core/-conj","konserve.encryptor/NullEncryptor","this__5346__auto__","cljs.core/List","writer__5347__auto__","cljs.core/-write","G__49482","extmap__5342__auto__","G__49551","cljs.core/record?","konserve.encryptor/->NullEncryptor","konserve.encryptor/map->NullEncryptor","_","read-handlers","bytes","konserve.protocols/-deserialize","write-handlers","val","konserve.protocols/-serialize","konserve.encryptor/null-encryptor","_config","konserve.encryptor/get-initial-vector","salt","key","cljs.core.subvec","cljs.core/vec","hasch.core.edn_hash","konserve.encryptor/get-key","k49562","G__49595","p__49604","vec__49605","G__49561","this49563","other49564","G__49652","pred__49654","expr__49655","konserve.encryptor/AESEncryptor","G__49568","G__49674","konserve.encryptor/->AESEncryptor","konserve.encryptor/map->AESEncryptor","cljs.core.map","b","data","decrypted","geheimnis.aes.decrypt","unsigned-byte-offset","p1__49560#","hasch.core.uuid","iv","geheimnis.aes.encrypt","js/Array","output","js/Uint8Array","js/Uint8Array.from","cljs.core.into_array","konserve.encryptor/aes-encryptor","config","map__49678","cljs.core/--destructure-map","cljs.core.ex_info","konserve.encryptor/byte->encryptor","konserve.encryptor/encryptor->byte","konserve.utils/invert-map","konserve.encryptor/get-encryptor","type","G__49679"],"sourcesContent":["(ns konserve.encryptor\n (:require [konserve.protocols :refer [PStoreSerializer -serialize -deserialize]]\n [konserve.utils :refer [invert-map]]\n [geheimnis.aes :refer [encrypt decrypt]]\n [hasch.core :refer [edn-hash uuid]])\n #?(:clj (:import [java.io ByteArrayInputStream ByteArrayOutputStream])))\n\n(def ^:const salt-size 64)\n\n(defrecord NullEncryptor [serializer]\n PStoreSerializer\n (-deserialize [_ read-handlers bytes]\n (-deserialize serializer read-handlers bytes))\n (-serialize [_ bytes write-handlers val]\n (-serialize serializer bytes write-handlers val)))\n\n(defn null-encryptor [_config]\n (fn [serializer]\n (NullEncryptor. serializer)))\n\n;; Following advise at\n;; https://crypto.stackexchange.com/questions/84439/is-it-dangerous-to-encrypt-lots-of-small-files-with-the-same-key\n\n(defn get-initial-vector [salt key]\n (subvec (vec (edn-hash [\"initial-value\" salt key])) 0 16))\n\n(defn get-key [salt key]\n [\"key\" salt key])\n\n(defrecord AESEncryptor [serializer key]\n PStoreSerializer\n (-deserialize [_ read-handlers bytes]\n (let [salt #?(:clj (let [salt-array (byte-array salt-size)]\n (.read ^ByteArrayInputStream bytes salt-array)\n (map int salt-array))\n :cljs\n (map (fn [b] (if (> b 128) (- b 256) b)) (.slice bytes 0 salt-size)))\n data #?(:clj (.readAllBytes ^ByteArrayInputStream bytes)\n :cljs (.slice bytes salt-size))\n decrypted (decrypt (get-key salt key) data :iv (get-initial-vector salt key))]\n (-deserialize serializer read-handlers #?(:clj (ByteArrayInputStream. decrypted)\n :cljs decrypted))))\n (-serialize [_ bytes write-handlers val]\n (let [unsigned-byte-offset 128\n salt (map #(int (- (#?(:cljs inc :clj identity) %) unsigned-byte-offset)) (edn-hash (uuid)))]\n #?(:cljs\n (let [data (-serialize serializer bytes write-handlers val)\n iv (get-initial-vector salt key)\n bytes (encrypt (get-key salt key) (.from js/Array data) :iv iv)\n output (js/Uint8Array. (+ salt-size (count bytes)))]\n (.set output (js/Uint8Array.from (into-array salt)) 0)\n (.set output (js/Uint8Array.from bytes) salt-size)\n output)\n :clj\n (let [buffer-size (* 16 1024)\n bos (ByteArrayOutputStream. buffer-size)\n _ (.write ^ByteArrayOutputStream bytes (byte-array salt))\n _ (-serialize serializer bos write-handlers val)\n ba (.toByteArray bos)\n iv (get-initial-vector salt key)\n encrypted ^bytes (encrypt (get-key salt key) ba :iv iv)]\n (.write ^ByteArrayOutputStream bytes encrypted))))))\n\n(defn aes-encryptor [config]\n (let [{:keys [key]} config]\n (if (nil? key)\n (throw (ex-info \"AES key not provided.\"\n {:type :aes-encryptor-key-missing\n :config config}))\n (fn [serializer]\n (AESEncryptor. serializer key)))))\n\n(def byte->encryptor\n {0 null-encryptor\n 1 aes-encryptor})\n\n(def encryptor->byte\n (invert-map byte->encryptor))\n\n(defn get-encryptor [type]\n (case type\n :aes aes-encryptor\n null-encryptor))\n"],"x_google_ignoreList":[0]}