datahike 0.7.1630
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +226 -0
- package/cljs.analyzer.api.js +427 -0
- package/cljs.analyzer.api.js.map +1 -0
- package/cljs.analyzer.impl.js +86 -0
- package/cljs.analyzer.impl.js.map +1 -0
- package/cljs.analyzer.impl.namespaces.js +219 -0
- package/cljs.analyzer.impl.namespaces.js.map +1 -0
- package/cljs.analyzer.js +7186 -0
- package/cljs.analyzer.js.map +1 -0
- package/cljs.analyzer.passes.and_or.js +141 -0
- package/cljs.analyzer.passes.and_or.js.map +1 -0
- package/cljs.analyzer.passes.js +104 -0
- package/cljs.analyzer.passes.js.map +1 -0
- package/cljs.cache.js +1145 -0
- package/cljs.cache.js.map +1 -0
- package/cljs.cache.wrapped.js +352 -0
- package/cljs.cache.wrapped.js.map +1 -0
- package/cljs.core.async.impl.buffers.js +489 -0
- package/cljs.core.async.impl.buffers.js.map +1 -0
- package/cljs.core.async.impl.channels.js +711 -0
- package/cljs.core.async.impl.channels.js.map +1 -0
- package/cljs.core.async.impl.dispatch.js +81 -0
- package/cljs.core.async.impl.dispatch.js.map +1 -0
- package/cljs.core.async.impl.ioc_helpers.js +192 -0
- package/cljs.core.async.impl.ioc_helpers.js.map +1 -0
- package/cljs.core.async.impl.protocols.js +368 -0
- package/cljs.core.async.impl.protocols.js.map +1 -0
- package/cljs.core.async.impl.timers.js +510 -0
- package/cljs.core.async.impl.timers.js.map +1 -0
- package/cljs.core.async.js +8813 -0
- package/cljs.core.async.js.map +1 -0
- package/cljs.core.js +38764 -0
- package/cljs.core.js.map +1 -0
- package/cljs.env.js +60 -0
- package/cljs.env.js.map +1 -0
- package/cljs.nodejs.js +80 -0
- package/cljs.nodejs.js.map +1 -0
- package/cljs.reader.js +462 -0
- package/cljs.reader.js.map +1 -0
- package/cljs.spec.alpha.js +5312 -0
- package/cljs.spec.alpha.js.map +1 -0
- package/cljs.spec.gen.alpha.js +2020 -0
- package/cljs.spec.gen.alpha.js.map +1 -0
- package/cljs.tagged_literals.js +103 -0
- package/cljs.tagged_literals.js.map +1 -0
- package/cljs.tools.reader.edn.js +960 -0
- package/cljs.tools.reader.edn.js.map +1 -0
- package/cljs.tools.reader.impl.commons.js +217 -0
- package/cljs.tools.reader.impl.commons.js.map +1 -0
- package/cljs.tools.reader.impl.errors.js +441 -0
- package/cljs.tools.reader.impl.errors.js.map +1 -0
- package/cljs.tools.reader.impl.inspect.js +182 -0
- package/cljs.tools.reader.impl.inspect.js.map +1 -0
- package/cljs.tools.reader.impl.utils.js +429 -0
- package/cljs.tools.reader.impl.utils.js.map +1 -0
- package/cljs.tools.reader.js +1830 -0
- package/cljs.tools.reader.js.map +1 -0
- package/cljs.tools.reader.reader_types.js +838 -0
- package/cljs.tools.reader.reader_types.js.map +1 -0
- package/cljs_env.js +18192 -0
- package/cljs_node_io.core.js +1278 -0
- package/cljs_node_io.core.js.map +1 -0
- package/cljs_node_io.file.js +918 -0
- package/cljs_node_io.file.js.map +1 -0
- package/cljs_node_io.fs.js +3911 -0
- package/cljs_node_io.fs.js.map +1 -0
- package/clojure.data.js +319 -0
- package/clojure.data.js.map +1 -0
- package/clojure.edn.js +119 -0
- package/clojure.edn.js.map +1 -0
- package/clojure.set.js +406 -0
- package/clojure.set.js.map +1 -0
- package/clojure.string.js +502 -0
- package/clojure.string.js.map +1 -0
- package/clojure.walk.js +156 -0
- package/clojure.walk.js.map +1 -0
- package/datahike.api.impl.js +621 -0
- package/datahike.api.impl.js.map +1 -0
- package/datahike.api.specification.js +85 -0
- package/datahike.api.specification.js.map +1 -0
- package/datahike.array.js +275 -0
- package/datahike.array.js.map +1 -0
- package/datahike.config.js +437 -0
- package/datahike.config.js.map +1 -0
- package/datahike.connections.js +55 -0
- package/datahike.connections.js.map +1 -0
- package/datahike.connector.js +1248 -0
- package/datahike.connector.js.map +1 -0
- package/datahike.constants.js +66 -0
- package/datahike.constants.js.map +1 -0
- package/datahike.core.js +628 -0
- package/datahike.core.js.map +1 -0
- package/datahike.datom.js +963 -0
- package/datahike.datom.js.map +1 -0
- package/datahike.db.interface.js +819 -0
- package/datahike.db.interface.js.map +1 -0
- package/datahike.db.js +3095 -0
- package/datahike.db.js.map +1 -0
- package/datahike.db.search.js +1004 -0
- package/datahike.db.search.js.map +1 -0
- package/datahike.db.transaction.js +1904 -0
- package/datahike.db.transaction.js.map +1 -0
- package/datahike.db.utils.js +642 -0
- package/datahike.db.utils.js.map +1 -0
- package/datahike.gc.js +1618 -0
- package/datahike.gc.js.map +1 -0
- package/datahike.impl.entity.js +604 -0
- package/datahike.impl.entity.js.map +1 -0
- package/datahike.index.interface.js +484 -0
- package/datahike.index.interface.js.map +1 -0
- package/datahike.index.js +50 -0
- package/datahike.index.js.map +1 -0
- package/datahike.index.persistent_set.js +1250 -0
- package/datahike.index.persistent_set.js.map +1 -0
- package/datahike.js.api.js +2211 -0
- package/datahike.js.api.js.map +1 -0
- package/datahike.lru.js +404 -0
- package/datahike.lru.js.map +1 -0
- package/datahike.pull_api.js +533 -0
- package/datahike.pull_api.js.map +1 -0
- package/datahike.query.js +11891 -0
- package/datahike.query.js.map +1 -0
- package/datahike.query_stats.js +152 -0
- package/datahike.query_stats.js.map +1 -0
- package/datahike.readers.js +166 -0
- package/datahike.readers.js.map +1 -0
- package/datahike.schema.js +251 -0
- package/datahike.schema.js.map +1 -0
- package/datahike.schema_cache.js +66 -0
- package/datahike.schema_cache.js.map +1 -0
- package/datahike.spec.js +70 -0
- package/datahike.spec.js.map +1 -0
- package/datahike.store.js +514 -0
- package/datahike.store.js.map +1 -0
- package/datahike.tools.js +436 -0
- package/datahike.tools.js.map +1 -0
- package/datahike.writer.js +3463 -0
- package/datahike.writer.js.map +1 -0
- package/datahike.writing.js +3168 -0
- package/datahike.writing.js.map +1 -0
- package/datalog.parser.impl.js +1421 -0
- package/datalog.parser.impl.js.map +1 -0
- package/datalog.parser.impl.proto.js +213 -0
- package/datalog.parser.impl.proto.js.map +1 -0
- package/datalog.parser.impl.util.js +117 -0
- package/datalog.parser.impl.util.js.map +1 -0
- package/datalog.parser.js +47 -0
- package/datalog.parser.js.map +1 -0
- package/datalog.parser.pull.js +2603 -0
- package/datalog.parser.pull.js.map +1 -0
- package/datalog.parser.type.js +7502 -0
- package/datalog.parser.type.js.map +1 -0
- package/datalog.parser.util.js +60 -0
- package/datalog.parser.util.js.map +1 -0
- package/environ.core.js +263 -0
- package/environ.core.js.map +1 -0
- package/fress.api.js +607 -0
- package/fress.api.js.map +1 -0
- package/fress.impl.adler32.js +435 -0
- package/fress.impl.adler32.js.map +1 -0
- package/fress.impl.bigint.js +185 -0
- package/fress.impl.bigint.js.map +1 -0
- package/fress.impl.buffer.js +1087 -0
- package/fress.impl.buffer.js.map +1 -0
- package/fress.impl.codes.js +105 -0
- package/fress.impl.codes.js.map +1 -0
- package/fress.impl.hopmap.js +603 -0
- package/fress.impl.hopmap.js.map +1 -0
- package/fress.impl.ranges.js +49 -0
- package/fress.impl.ranges.js.map +1 -0
- package/fress.impl.raw_input.js +837 -0
- package/fress.impl.raw_input.js.map +1 -0
- package/fress.impl.raw_output.js +653 -0
- package/fress.impl.raw_output.js.map +1 -0
- package/fress.impl.table.js +133 -0
- package/fress.impl.table.js.map +1 -0
- package/fress.reader.js +2312 -0
- package/fress.reader.js.map +1 -0
- package/fress.util.js +458 -0
- package/fress.util.js.map +1 -0
- package/fress.writer.js +2141 -0
- package/fress.writer.js.map +1 -0
- package/geheimnis.aes.js +132 -0
- package/geheimnis.aes.js.map +1 -0
- package/hasch.base64.js +42 -0
- package/hasch.base64.js.map +1 -0
- package/hasch.benc.js +201 -0
- package/hasch.benc.js.map +1 -0
- package/hasch.core.js +188 -0
- package/hasch.core.js.map +1 -0
- package/hasch.platform.js +221 -0
- package/hasch.platform.js.map +1 -0
- package/incognito.base.js +276 -0
- package/incognito.base.js.map +1 -0
- package/incognito.edn.js +54 -0
- package/incognito.edn.js.map +1 -0
- package/incognito.fressian.js +330 -0
- package/incognito.fressian.js.map +1 -0
- package/index.d.ts +660 -0
- package/is.simm.partial_cps.async.js +142 -0
- package/is.simm.partial_cps.async.js.map +1 -0
- package/is.simm.partial_cps.runtime.js +65 -0
- package/is.simm.partial_cps.runtime.js.map +1 -0
- package/is.simm.partial_cps.sequence.js +1255 -0
- package/is.simm.partial_cps.sequence.js.map +1 -0
- package/konserve.cache.js +2519 -0
- package/konserve.cache.js.map +1 -0
- package/konserve.compressor.js +502 -0
- package/konserve.compressor.js.map +1 -0
- package/konserve.core.js +8052 -0
- package/konserve.core.js.map +1 -0
- package/konserve.encryptor.js +553 -0
- package/konserve.encryptor.js.map +1 -0
- package/konserve.gc.js +541 -0
- package/konserve.gc.js.map +1 -0
- package/konserve.impl.defaults.js +8290 -0
- package/konserve.impl.defaults.js.map +1 -0
- package/konserve.impl.storage_layout.js +849 -0
- package/konserve.impl.storage_layout.js.map +1 -0
- package/konserve.memory.js +2102 -0
- package/konserve.memory.js.map +1 -0
- package/konserve.node_filestore.js +2951 -0
- package/konserve.node_filestore.js.map +1 -0
- package/konserve.protocols.js +590 -0
- package/konserve.protocols.js.map +1 -0
- package/konserve.serializers.js +562 -0
- package/konserve.serializers.js.map +1 -0
- package/konserve.store.js +2245 -0
- package/konserve.store.js.map +1 -0
- package/konserve.tiered.js +9574 -0
- package/konserve.tiered.js.map +1 -0
- package/konserve.utils.js +180 -0
- package/konserve.utils.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.arrays.js +66 -0
- package/me.tonsky.persistent_sorted_set.arrays.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.branch.js +2779 -0
- package/me.tonsky.persistent_sorted_set.branch.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.btset.js +14196 -0
- package/me.tonsky.persistent_sorted_set.btset.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.impl.node.js +324 -0
- package/me.tonsky.persistent_sorted_set.impl.node.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.impl.storage.js +123 -0
- package/me.tonsky.persistent_sorted_set.impl.storage.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.js +890 -0
- package/me.tonsky.persistent_sorted_set.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.leaf.js +561 -0
- package/me.tonsky.persistent_sorted_set.leaf.js.map +1 -0
- package/me.tonsky.persistent_sorted_set.util.js +402 -0
- package/me.tonsky.persistent_sorted_set.util.js.map +1 -0
- package/medley.core.js +1857 -0
- package/medley.core.js.map +1 -0
- package/package.json +38 -0
- package/spec_tools.core.js +1925 -0
- package/spec_tools.core.js.map +1 -0
- package/spec_tools.data_spec.js +1291 -0
- package/spec_tools.data_spec.js.map +1 -0
- package/spec_tools.form.js +185 -0
- package/spec_tools.form.js.map +1 -0
- package/spec_tools.impl.js +362 -0
- package/spec_tools.impl.js.map +1 -0
- package/spec_tools.parse.js +427 -0
- package/spec_tools.parse.js.map +1 -0
- package/spec_tools.transform.js +288 -0
- package/spec_tools.transform.js.map +1 -0
- package/superv.async.js +8617 -0
- package/superv.async.js.map +1 -0
- package/tailrecursion.priority_map.js +994 -0
- package/tailrecursion.priority_map.js.map +1 -0
- package/taoensso.encore.js +12385 -0
- package/taoensso.encore.js.map +1 -0
- package/taoensso.timbre.appenders.core.js +239 -0
- package/taoensso.timbre.appenders.core.js.map +1 -0
- package/taoensso.timbre.js +1264 -0
- package/taoensso.timbre.js.map +1 -0
- package/taoensso.truss.impl.js +442 -0
- package/taoensso.truss.impl.js.map +1 -0
- package/taoensso.truss.js +743 -0
- package/taoensso.truss.js.map +1 -0
- package/test-config-keys.js +33 -0
- package/test-final.js +36 -0
- package/test-key-duplication.js +67 -0
- package/test.js +557 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["fress/writer.cljs"],"mappings":"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","names":["fress.writer/*write-raw-utf8*","fress.writer/*write-utf8-tag*","fress.writer/*stringify-keys*","fress$writer$IFressianWriter$writeNull$dyn","x__5350__auto__","m__5351__auto__","fress.writer/writeNull","goog/typeOf","m__5349__auto__","cljs.core/missing-protocol","fress$writer$IFressianWriter$writeBoolean$dyn","fress.writer/writeBoolean","fress$writer$IFressianWriter$writeInt$dyn","fress.writer/writeInt","fress$writer$IFressianWriter$writeDouble$dyn","fress.writer/writeDouble","fress$writer$IFressianWriter$writeFloat$dyn","fress.writer/writeFloat","fress$writer$IFressianWriter$writeStringNoChunk_$dyn","fress.writer/writeStringNoChunk-","fress$writer$IFressianWriter$writeString_$dyn","fress.writer/writeString-","fress$writer$IFressianWriter$writeString$dyn","fress.writer/writeString","fress$writer$IFressianWriter$writeList$dyn","fress.writer/writeList","fress$writer$IFressianWriter$writeBytes$dyn","fress.writer/writeBytes","var_args","G__48639","js/Error","fress$writer$IFressianWriter$writeFooter$dyn","fress.writer/writeFooter","fress$writer$IFressianWriter$clearCaches$dyn","fress.writer/clearCaches","fress$writer$IFressianWriter$resetCaches$dyn","fress.writer/resetCaches","fress$writer$IFressianWriter$getPriorityCache$dyn","fress.writer/getPriorityCache","fress$writer$IFressianWriter$getStructCache$dyn","fress.writer/getStructCache","fress$writer$IFressianWriter$writeTag$dyn","fress.writer/writeTag","fress$writer$IFressianWriter$writeCount$dyn","fress.writer/writeCount","fress$writer$IFressianWriter$shouldSkipCache_$dyn","fress.writer/shouldSkipCache-","fress$writer$IFressianWriter$doWrite_$dyn","fress.writer/doWrite-","fress$writer$IFressianWriter$writeAs$dyn","fress.writer/writeAs","G__48761","fress$writer$IFressianWriter$writeObject$dyn","fress.writer/writeObject","G__48783","fress$writer$IFressianWriter$writeCode$dyn","fress.writer/writeCode","fress$writer$IFressianWriter$beginOpenList$dyn","fress.writer/beginOpenList","fress$writer$IFressianWriter$beginClosedList$dyn","fress.writer/beginClosedList","fress$writer$IFressianWriter$endList$dyn","fress.writer/endList","fress.writer/IFressianWriter","this","b","i","d","f","s","o","bs","offset","length","tag","componentCount","n","w","cache?","code","fress.writer/bit-switch","l","Math/abs","fress.writer/internalWriteInt","wtr","raw","fress.impl.raw-output/writeRawByte","fress.impl.codes/INT_PACKED_2_ZERO","js/Math","fress.impl.codes/INT_PACKED_3_ZERO","fress.impl.raw-output/writeRawInt16","fress.impl.codes/INT_PACKED_4_ZERO","fress.impl.raw-output/writeRawInt24","fress.impl.codes/INT_PACKED_5_ZERO","fress.impl.raw-output/writeRawInt32","fress.impl.codes/INT_PACKED_6_ZERO","fress.impl.raw-output/writeRawInt40","fress.impl.codes/INT_PACKED_7_ZERO","fress.impl.raw-output/writeRawInt48","js/Number.isSafeInteger","fress.impl.codes/INT","fress.impl.raw-output/writeRawInt64","cljs.core.pr_str","fress.writer/internalWriteFooter","wrt","raw-out","fress.impl.codes/FOOTER_MAGIC","fress.impl.raw-output/getChecksum","fress.writer/writeRawUTF8","bytes","fress.util/TextEncoder","fress.impl.codes/UTF8","fress.impl.raw-output/writeRawBytes","fress.writer/buffer-string-chunk-utf8","start","buf","string-pos","buffer-pos","ch","encoding-size","G__48921","fress.writer/defaultWriteString","max-buf-needed","x__5090__auto__","y__5091__auto__","cljs.core/count","string-buffer","js/Int8Array","js/ArrayBuffer","G__48939","vec__48940","cljs.core.nth","vec__48944","buf-pos","fress.impl.ranges/STRING_PACKED_LENGTH_END","fress.impl.codes/STRING_PACKED_LENGTH_START","cljs.core._EQ_","fress.impl.codes/STRING","fress.impl.codes/STRING_CHUNK","cljs.core/PROTOCOL_SENTINEL","this__5287__auto__","writer__5288__auto__","opt__5289__auto__","cljs.core/-write","fress.writer/FressianWriter","fress.writer/->FressianWriter","out","priorityCache","structCache","lookup","fress.impl.codes/NULL","cljs.core/boolean","fress.impl.codes/TRUE","fress.impl.codes/FALSE","cljs.core/integer?","fress.impl.codes/FLOAT","fress.impl.raw-output/writeRawFloat","fress.impl.codes/DOUBLE_0","fress.impl.codes/DOUBLE_1","fress.impl.codes/DOUBLE","fress.impl.raw-output/writeRawDouble","js/Uint8Array","fress.impl.ranges/BYTES_PACKED_LENGTH_END","fress.impl.codes/BYTES_PACKED_LENGTH_START","len","off","fress.impl.ranges/BYTE_CHUNK_SIZE","fress.impl.codes/BYTES_CHUNK","fress.impl.codes/BYTES","temp__5802__auto__","handler","cljs.core/type","or__5002__auto__","c","fress.impl.hopmap.hopmap","and__5000__auto__","cljs.core/not","fress.impl.hopmap/isEmpty","fress.impl.hopmap/clear","fress.impl.codes/RESET_CACHES","cljs.core/boolean?","index","fress.impl.hopmap/oldIndex","fress.impl.codes/PUT_PRIORITY_CACHE","fress.impl.ranges/PRIORITY_CACHE_PACKED_END","fress.impl.codes/PRIORITY_CACHE_PACKED_START","fress.impl.codes/GET_PRIORITY_CACHE","lst","fress.impl.ranges/LIST_PACKED_LENGTH_END","fress.impl.codes/LIST_PACKED_LENGTH_START","fress.impl.codes/LIST","seq__49012","cljs.core/seq","chunk__49014","count__49015","i__49016","temp__5804__auto__","cljs.core/chunked-seq?","c__5525__auto__","cljs.core/chunk-first","cljs.core/chunk-rest","cljs.core/first","cljs.core/next","item","fress.impl.raw-output/getBytesWritten","fress.impl.codes/BEGIN_OPEN_LIST","fress.impl.codes/BEGIN_CLOSED_LIST","fress.impl.codes/END_COLLECTION","component-count","shortcut-code","fress.writer.goog$module$goog$object.get","fress.impl.codes/tag->code","fress.impl.codes/STRUCTTYPE","fress.impl.ranges/STRUCT_CACHE_PACKED_END","fress.impl.codes/STRUCT_CACHE_PACKED_START","fress.impl.codes/STRUCT","fress.writer/writeNumber","fress.util/f32_MIN_VALUE","fress.util/f32_MAX_VALUE","fress.writer/fullname","kw","cljs.core/qualified-keyword?","cljs.core/name","_ns","cljs.core/namespace","_name","fress.writer/writeMap","m","cljs.core.mapcat","cljs.core/identity","p__49122","vec__49123","k","v","entry","cljs.core/Keyword","fress.writer/writeNamed","fress.writer/writeSet","cljs.core.into","fress.writer/writeInst","date","fress.writer/writeUri","u","fress.writer/writeRegex","re","fress.writer/writeUUID","idx","cljs.core.atom","clojure.string/replace","oct","cljs.core/deref","js/parseInt","cljs.core.swap_BANG_","cljs.core/inc","fress.writer/writeByteArray","fress.writer/writeIntArray","a","fress.writer/writeFloatArray","fress.writer/writeDoubleArray","fress.writer/writeBooleanArray","seq__49161","chunk__49162","count__49163","i__49164","fress.writer/writeLongArray","arr","seq__49176","chunk__49177","count__49178","i__49179","fress.writer/writeObjectArray","seq__49190","chunk__49191","count__49192","i__49193","fress.writer/class-sym","rec","rec->tag","name","cljs.core.get","cljs.core.symbol","fress.writer/writeRecord","seq__49198","chunk__49199","count__49200","i__49201","vec__49213","vec__49217","field","value","fress.writer/write-bigint","fress.impl.bigint/bigint->bytes","fress.writer/writeBigInt64","fress.impl.bigint/bigint?","js/Number.MIN_SAFE_INTEGER","js/Number.MAX_SAFE_INTEGER","js/Number","fress.impl.bigint/bit-switch","fress.impl.bigint/>>","fress.writer/writeBigInt64Array","js/BigInt64Array","seq__49239","chunk__49240","count__49241","i__49242","bn","fress.writer/writeChar","fress.writer/default-write-handlers","p1__49250#","p2__49251#","p1__49252#","p2__49253#","fress.impl.table/from-array","js/String","js/Boolean","js/Array","js/Date","js/RegExp","js/Int32Array","js/Float32Array","js/Float64Array","js/BigInt","js/goog.Uri","cljs.core/UUID","cljs.core/PersistentHashMap","cljs.core/PersistentArrayMap","cljs.core/ObjMap","cljs.core/MapEntry","cljs.core/PersistentVector","cljs.core/EmptyList","cljs.core/List","cljs.core/ChunkedSeq","cljs.core/PersistentHashSet","cljs.core/Symbol","fress.writer/build-inheritance-lookup","handlers","fns","cljs.core.filter","cljs.core/fn?","cljs.core/rest","fress.writer/build-handler-lookup","user-handlers","cljs.core/empty?","fress.impl.table/from-table","inh-lookup","obj","cljs.core/record?","custom-writer","cljs.core/object?","js/goog.DEBUG","js/console.warn","cljs.core.js__GT_clj","fress.writer/valid-handler-key?","cljs.core/coll?","p1__49272#","cljs.core/every?","fress.writer/valid-user-handlers?","uh","cljs.core/map?","cljs.core/vals","cljs.core/keys","fress.writer/valid-record->name?","cljs.core/string?","fress.writer/normalize-handlers","cljs.core/reduce-kv","acc","type","tag-writer-map","cljs.core.assoc","cljs.core/val","args__5732__auto__","len__5726__auto__","i__5727__auto__","argseq__5733__auto__","cljs.core/IndexedSeq","fress.writer/writer","p__49295","map__49296","cljs.core/--destructure-map","seq49288","G__49290","self__5711__auto__","record->name","checksum?","opts","G__49304","lookup-fn","fress.impl.raw_output.raw_output"],"sourcesContent":["(ns fress.writer\n (:require-macros [fress.macros :refer [>>>]])\n (:require [clojure.string :as string]\n [fress.impl.codes :as codes]\n [fress.impl.ranges :as ranges]\n [fress.impl.raw-output :as rawOut]\n [fress.impl.hopmap :as hop]\n [fress.impl.table :as table]\n [fress.impl.bigint :as bn :refer [bigint]]\n [fress.util :as util]\n [goog.object]))\n\n(def ^:dynamic *write-raw-utf8* false)\n(def ^:dynamic *write-utf8-tag* false)\n(def ^:dynamic *stringify-keys* false)\n\n(defprotocol IFressianWriter\n (writeNull ^FressianWriter [this])\n (writeBoolean ^FressianWriter [this b])\n (writeInt ^FressianWriter [this i])\n (writeDouble ^FressianWriter [this d])\n (writeFloat ^FressianWriter [this f])\n (writeStringNoChunk- [this ^string s])\n (writeString- ^FressianWriter [this s])\n (writeString ^FressianWriter [this s])\n (writeList ^FressianWriter [this o])\n (writeBytes ^FressianWriter [this bs] [this bs offset length])\n (writeFooter ^FressianWriter [this])\n (clearCaches [this])\n (resetCaches ^FressianWriter [this])\n (getPriorityCache [this])\n (getStructCache [this])\n (writeTag ^FressianWriter [this tag componentCount])\n (writeCount [this n])\n (shouldSkipCache- ^boolean [this o])\n (doWrite- [this tag o w cache?])\n (writeAs ^FressianWriter [this tag o] [this tag o cache?])\n (writeObject ^FressianWriter [this o] [this o cache?])\n (writeCode [this code])\n (beginOpenList ^FressianWriter [this])\n (beginClosedList ^FressianWriter [this])\n (endList ^FressianWriter [this]))\n\n(defn ^number bit-switch\n \"@return {number} bits not needed to represent this number\"\n [l]\n (- 64 (.-length (.toString (Math/abs l) 2))))\n\n(defn internalWriteInt [wtr ^number n]\n (let [s (bit-switch n)\n raw (.-raw-out wtr)]\n (cond\n (<= 58 s 64)\n (do\n (when (< n -1)\n (rawOut/writeRawByte raw (+ codes/INT_PACKED_2_ZERO (>>> n 8))))\n (rawOut/writeRawByte raw n))\n\n (<= 52 s 57)\n (do\n (rawOut/writeRawByte raw (+ codes/INT_PACKED_2_ZERO (>>> n 8)))\n (rawOut/writeRawByte raw n))\n\n (<= 45 s 51)\n (do\n (rawOut/writeRawByte raw (+ codes/INT_PACKED_3_ZERO (>>> n 16)))\n (rawOut/writeRawInt16 raw n))\n\n (<= 39 s 44)\n (do\n (rawOut/writeRawByte raw (+ codes/INT_PACKED_4_ZERO (>>> n 24)))\n (rawOut/writeRawInt24 raw n))\n\n (<= 31 s 38)\n (do\n (rawOut/writeRawByte raw (+ codes/INT_PACKED_5_ZERO (>>> n 32)))\n (rawOut/writeRawInt32 raw n))\n\n (<= 23 s 30)\n (do\n (rawOut/writeRawByte raw (+ codes/INT_PACKED_6_ZERO (>>> n 40)))\n (rawOut/writeRawInt40 raw n))\n\n (<= 15 s 22)\n (do\n (rawOut/writeRawByte raw (+ codes/INT_PACKED_7_ZERO (>>> n 48)))\n (rawOut/writeRawInt48 raw n))\n\n (js/Number.isSafeInteger n)\n (do\n (writeCode wtr codes/INT)\n (rawOut/writeRawInt64 raw n))\n\n true\n (throw (js/Error. (str \"cannot write unsafe integer: \" (pr-str n)))))))\n\n(defn internalWriteFooter [wrt ^number length]\n (let [raw-out (.-raw-out wrt)]\n (rawOut/writeRawInt32 raw-out codes/FOOTER_MAGIC)\n (rawOut/writeRawInt32 raw-out length)\n (rawOut/writeRawInt32 raw-out (rawOut/getChecksum raw-out))))\n\n(defn writeRawUTF8\n \"We can use native TextEncoder to remove some dirty work, also chunking is\n pointless for WASM.\"\n [this ^string s]\n (assert (string? s))\n (let [bytes (.encode util/TextEncoder s)\n length (.-byteLength bytes)]\n ; need to test if jvm can still read this\n (if *write-utf8-tag*\n ;; needs to be picked up server-side by a registered \"utf8\" reader\n ;; we do this because we cant modify codes serverside but still prefer them\n ;; client side because its a simple int dispatch instead of reading the tag\n (writeTag this \"utf8\" 2); writeCount + rawbytes\n (writeCode this codes/UTF8))\n (writeCount this length)\n (rawOut/writeRawBytes (.-raw-out this) bytes 0 length))\n this)\n\n(defn buffer-string-chunk-utf8\n \"starting with position start in s, write as much of s as possible into byteBuffer\n using UTF-8.\n returns {stringpos, bufpos}\"\n [s start buf]\n (loop [string-pos start\n buffer-pos 0]\n (if-not (< string-pos (alength s))\n [string-pos buffer-pos]\n (let [ch (.charCodeAt s string-pos)\n ;; \"src/org/fressian/impl/Fns.java:117:4\"\n encoding-size (if (<= ch 0x007f) 1 (if (< 0x07ff ch) 3 2))]\n (if (< (alength buf) (+ buffer-pos encoding-size))\n [string-pos buffer-pos]\n (do\n (case encoding-size\n 1 (aset buf buffer-pos ch)\n 2 (do\n (aset buf buffer-pos (bit-or 0xc0 (bit-and (>>> ch 6) 0x1f)))\n (aset buf (inc buffer-pos) (bit-or 0x80 (bit-and (>>> ch 0) 0x3f))))\n 3 (do\n (aset buf buffer-pos (bit-or 0xe0 (bit-and (>>> ch 12) 0x0f)))\n (aset buf (inc buffer-pos) (bit-or 0x80 (bit-and (>>> ch 6) 0x3f)))\n (aset buf (+ buffer-pos 2) (bit-or 0x80 (bit-and (>>> ch 0) 0x3f)))))\n (recur (inc string-pos) (+ buffer-pos encoding-size))))))))\n\n(defn defaultWriteString [this s]\n (let [max-buf-needed (min (* (count s) 3) 65536)\n string-buffer (js/Int8Array. (js/ArrayBuffer. max-buf-needed))]\n (loop [[string-pos buf-pos] (buffer-string-chunk-utf8 s 0 string-buffer)]\n (if (< buf-pos ranges/STRING_PACKED_LENGTH_END)\n (writeCode this (+ codes/STRING_PACKED_LENGTH_START buf-pos))\n (if (= string-pos (count s))\n (do\n (writeCode this codes/STRING)\n (writeCount this buf-pos))\n (do\n (writeCode this codes/STRING_CHUNK)\n (writeInt this buf-pos))))\n (rawOut/writeRawBytes (.-raw-out this) string-buffer 0 buf-pos)\n (when (< string-pos (count s))\n (recur (buffer-string-chunk-utf8 s string-pos string-buffer))))))\n\n(deftype FressianWriter [out raw-out priorityCache structCache ^fn lookup]\n IFressianWriter\n (writeCode [this code] (rawOut/writeRawByte raw-out code))\n\n (writeCount [this n] (writeInt this n))\n\n (writeNull [this] (writeCode this codes/NULL))\n\n (writeBoolean [this b]\n (if (nil? b)\n (writeNull this)\n (let [b (boolean b)]\n (if (true? b)\n (writeCode this codes/TRUE)\n (writeCode this codes/FALSE))))\n this)\n\n (writeInt [this ^number i]\n (if (nil? i)\n (writeNull this)\n (do\n (assert (integer? i))\n (internalWriteInt this i)))\n this)\n\n (writeFloat [this ^number f]\n (do\n (writeCode this codes/FLOAT)\n (rawOut/writeRawFloat raw-out f)\n this))\n\n (writeDouble [this ^number d]\n (if (== d 0.0)\n (writeCode this codes/DOUBLE_0)\n (if (== d 1.0)\n (writeCode this codes/DOUBLE_1)\n (do\n (writeCode this codes/DOUBLE)\n (rawOut/writeRawDouble raw-out d))))\n this)\n\n (writeBytes [this bytes]\n (if (nil? bytes)\n (writeNull this)\n (writeBytes this bytes 0 (.-byteLength bytes)))\n this)\n\n (writeBytes [this bytes offset length]\n (assert (or (instance? js/Int8Array bytes) (instance? js/Uint8Array bytes)) \"writeRawBytes expects a Int8 Array\")\n (if (< length ranges/BYTES_PACKED_LENGTH_END)\n (do\n (rawOut/writeRawByte raw-out (+ codes/BYTES_PACKED_LENGTH_START length))\n (rawOut/writeRawBytes raw-out bytes offset length))\n (loop [len length\n off offset]\n (if (< ranges/BYTE_CHUNK_SIZE len)\n (do\n (writeCode this codes/BYTES_CHUNK)\n (writeCount this ranges/BYTE_CHUNK_SIZE)\n (rawOut/writeRawBytes raw-out bytes off ranges/BYTE_CHUNK_SIZE)\n (recur\n (- len ranges/BYTE_CHUNK_SIZE)\n (+ off ranges/BYTE_CHUNK_SIZE)))\n (do\n (writeCode this codes/BYTES)\n (writeCount this len)\n (rawOut/writeRawBytes raw-out bytes off len)))))\n this)\n\n (writeString [this s]\n (if ^boolean *write-raw-utf8*\n (writeRawUTF8 this s)\n (defaultWriteString this s)))\n\n (writeObject [this o] (writeAs this nil o))\n (writeObject [this o cache?] (writeAs this nil o cache?))\n\n (writeAs [this tag o] (writeAs this tag o false))\n (writeAs [this tag o cache?]\n (if-let [handler (lookup tag o)]\n (doWrite- this tag o handler cache?)\n (throw (js/Error. (str \"no handler for tag :\" (pr-str tag) \", type: \" (pr-str (type o)))))))\n\n (getPriorityCache [this]\n (or priorityCache (let [c (hop/hopmap 16)] (set! (.-priorityCache this) c) c)))\n\n (getStructCache [this]\n (or structCache (let [c (hop/hopmap 16)] (set! (.-structCache this) c) c)))\n\n (clearCaches [this]\n (when (and priorityCache (not (hop/isEmpty priorityCache)))\n (hop/clear priorityCache))\n (when (and structCache (not (hop/isEmpty structCache)))\n (hop/clear structCache)))\n\n (resetCaches [this]\n (writeCode this codes/RESET_CACHES)\n (clearCaches this)\n this)\n\n (shouldSkipCache- ^boolean [this o]\n (or\n (nil? o)\n (boolean? o)\n ^boolean\n (and (string? o)\n (zero? (.-length o)))\n ^boolean\n (and (number? o)\n (or (== 0.0 o) (== 1.0 o)))))\n\n (doWrite- [this tag o handler ^boolean cache?]\n (if ^boolean (or (not cache?) (shouldSkipCache- this o))\n (handler this o)\n (let [index (hop/oldIndex (getPriorityCache this) o)]\n (if (== index -1)\n (do ;;newly interned, write PUT + object\n (writeCode this codes/PUT_PRIORITY_CACHE)\n (doWrite- this tag o handler false))\n ;;already cached\n (if (< index ranges/PRIORITY_CACHE_PACKED_END)\n (writeCode this (+ codes/PRIORITY_CACHE_PACKED_START index))\n (do ;;past cache packing\n (writeCode this codes/GET_PRIORITY_CACHE)\n (writeInt this index)))))))\n\n (writeList [this lst]\n (if (nil? lst)\n (writeNull this)\n (let [length (count lst)]\n (if (< length ranges/LIST_PACKED_LENGTH_END)\n (rawOut/writeRawByte raw-out (+ length codes/LIST_PACKED_LENGTH_START))\n (do\n (writeCode this codes/LIST)\n (writeCount this length)))\n (doseq [item lst]\n (writeObject this item))))\n this)\n\n (beginOpenList [this]\n (if-not (zero? (rawOut/getBytesWritten raw-out))\n (throw\n (js/Error. \"openList must be called from the top level, outside any footer context.\"))\n (writeCode this codes/BEGIN_OPEN_LIST))\n this)\n\n (beginClosedList [this]\n (writeCode this codes/BEGIN_CLOSED_LIST)\n this)\n\n (endList [this]\n (writeCode this codes/END_COLLECTION)\n this)\n\n (writeTag [this tag ^number component-count]\n (if-let [shortcut-code (goog.object/get codes/tag->code tag)]\n (writeCode this shortcut-code)\n (let [index (hop/oldIndex (getStructCache this) tag)]\n (cond\n (== index -1)\n (do\n (assert (string? tag) \"tag needs to be a string\")\n (writeCode this codes/STRUCTTYPE)\n ;; cannot control how keys are written on JVM so leaving as default\n ; (writeString this tag)\n (defaultWriteString this tag)\n (writeInt this component-count))\n\n (< index ranges/STRUCT_CACHE_PACKED_END)\n (writeCode this (+ codes/STRUCT_CACHE_PACKED_START index))\n\n true\n (do\n (writeCode this codes/STRUCT) ;<= when cache length exceeds packing\n (writeInt this index)))))\n this)\n\n (writeFooter [this]\n (internalWriteFooter this (rawOut/getBytesWritten raw-out))\n (clearCaches this)\n this))\n\n(defn writeNumber [this ^number n]\n (if (integer? n)\n (writeInt this n)\n (if (<= util/f32_MIN_VALUE n util/f32_MAX_VALUE)\n (writeFloat this n)\n (writeDouble this n)))\n this)\n\n(defn fullname [kw]\n (if-not (qualified-keyword? kw)\n (name kw)\n (let [_ns (namespace kw)\n _name (name kw)]\n (str _ns \"/\" _name))))\n\n(defn writeMap [wrt m]\n (writeTag wrt \"map\" 1)\n (if-not ^boolean *stringify-keys*\n (writeList wrt (mapcat identity (seq m)))\n (writeList wrt (mapcat (fn [[k v :as entry]]\n (if (keyword? k)\n [(fullname k) v]\n entry))\n (seq m)))))\n\n(defn- writeNamed [tag wtr s]\n (writeTag wtr tag 2)\n (writeObject wtr (namespace s) true)\n (writeObject wtr (name s) true))\n\n(defn writeSet [wtr s]\n (writeTag wtr \"set\" 1)\n (writeList wtr (into [] s)))\n\n(defn writeInst [wtr date]\n (writeTag wtr \"inst\" 1)\n (writeInt wtr (.getTime date)))\n\n(defn writeUri [wtr u]\n (writeTag wtr \"uri\" 1)\n (writeString wtr (.toString u)))\n\n(defn writeRegex [wtr re]\n (writeTag wtr \"regex\" 1)\n (writeString wtr (.-source re)))\n\n(defn writeUUID [wtr u]\n ; adapted from https://github.com/kawasima/fressian-cljs/blob/master/src/cljs/fressian_cljs/uuid.cljs\n (writeTag wtr \"uuid\" 1)\n (let [buf (make-array 16)\n idx (atom 0)]\n (string/replace (.toLowerCase (.-uuid u)) #\"[0-9a-f]{2}\"\n (fn [oct]\n (when (< @idx 16)\n (aset buf @idx (js/parseInt (str \"0x\" oct)))\n (swap! idx inc))))\n (writeBytes wtr (js/Uint8Array. buf))))\n\n(defn writeByteArray [wrt bytes]\n (writeBytes wrt bytes))\n\n(defn writeIntArray [wtr a]\n (writeTag wtr \"int[]\" 2)\n (let [length (alength a)]\n (writeInt wtr length)\n (loop [i 0]\n (when (< i length)\n (writeInt wtr (aget a i))\n (recur (inc i))))))\n\n(defn writeFloatArray [wtr a]\n (writeTag wtr \"float[]\" 2)\n (let [length (alength a)]\n (writeInt wtr length)\n (loop [i 0]\n (when (< i length)\n (writeFloat wtr (aget a i))\n (recur (inc i))))))\n\n(defn writeDoubleArray [wtr a]\n (writeTag wtr \"double[]\" 2)\n (let [length (alength a)]\n (writeInt wtr length)\n (loop [i 0]\n (when (< i length)\n (writeDouble wtr (aget a i))\n (recur (inc i))))))\n\n(defn writeBooleanArray [wtr a]\n (let [length (count a)]\n (writeTag wtr \"boolean[]\" 2)\n (writeInt wtr length)\n (doseq [b a]\n (writeBoolean wtr b))))\n\n(defn writeLongArray [wtr arr]\n (let [length (alength arr)]\n (writeTag wtr \"long[]\" 2)\n (writeInt wtr length)\n (doseq [l arr] (writeInt wtr l))))\n\n(defn writeObjectArray [wtr arr]\n (let [length (alength arr)]\n (writeTag wtr \"Object[]\" 2)\n (writeInt wtr length)\n (doseq [o arr] (writeObject wtr o))))\n\n(defn class-sym\n \"Record types need a string so the name can survive munging. Is converted to\n symbol before serializing.\"\n [rec rec->tag]\n (let [name (get rec->tag (type rec))]\n (if (string? name)\n (symbol name)\n (throw (js/Error. \"writing records requires corresponding entry in *record->name*\")))))\n\n(defn writeRecord [w rec rec->tag]\n (writeTag w \"record\" 2)\n (writeObject w (class-sym rec rec->tag) true)\n (writeTag w \"map\" 1)\n (beginClosedList w)\n (doseq [[field value] rec]\n (writeObject w field true)\n (writeObject w value))\n (endList w))\n\n(defn write-bigint\n [^FressianWriter wrt n]\n (writeTag wrt \"bigint\" 1)\n (writeBytes wrt (bn/bigint->bytes n)))\n\n(defn writeBigInt64\n \"written as normal ints where unsafe numbers would be read back as longs\"\n [w ^js/BigInt n]\n (assert (bn/bigint? n))\n (if (<= js/Number.MIN_SAFE_INTEGER n js/Number.MAX_SAFE_INTEGER)\n (internalWriteInt w (js/Number n))\n (let [s (bn/bit-switch n)\n raw (.-raw-out w)]\n (writeCode w codes/INT)\n (rawOut/writeRawByte raw (js/Number (bit-and (bn/>> n (js* \"56n\")) (js* \"0xFFn\"))))\n (rawOut/writeRawByte raw (js/Number (bit-and (bn/>> n (js* \"48n\")) (js* \"0xFFn\"))))\n (rawOut/writeRawByte raw (js/Number (bit-and (bn/>> n (js* \"40n\")) (js* \"0xFFn\"))))\n (rawOut/writeRawByte raw (js/Number (bit-and (bn/>> n (js* \"32n\")) (js* \"0xFFn\"))))\n (rawOut/writeRawByte raw (js/Number (bit-and (bn/>> n (js* \"24n\")) (js* \"0xFFn\"))))\n (rawOut/writeRawByte raw (js/Number (bit-and (bn/>> n (js* \"16n\")) (js* \"0xFFn\"))))\n (rawOut/writeRawByte raw (js/Number (bit-and (bn/>> n (js* \"8n\")) (js* \"0xFFn\"))))\n (rawOut/writeRawByte raw (js/Number (bit-and n (js* \"0xFFn\")))))))\n\n(defn writeBigInt64Array [w arr]\n (assert (instance? js/BigInt64Array arr))\n (writeTag w \"long[]\" 2)\n (writeInt w (alength arr))\n (doseq [bn arr]\n (writeBigInt64 w bn)))\n\n(defn writeChar\n [^FressianWriter wrt s]\n (assert (string? s))\n (assert (== 1 (alength s)))\n (writeTag wrt \"char\" 1)\n (writeInt wrt (.charCodeAt s 0)))\n\n(def ^{:doc \"@suppress {checkRegExp}\"}\n default-write-handlers\n (table/from-array #js[\n js/Number writeNumber\n js/String writeString\n js/Boolean writeBoolean\n js/Array writeList\n js/Date writeInst\n js/RegExp writeRegex\n js/Int8Array writeByteArray\n js/Uint8Array writeByteArray\n js/Int32Array writeIntArray\n js/Float32Array writeFloatArray\n js/Float64Array writeDoubleArray\n js/BigInt64Array writeBigInt64Array\n js/BigInt write-bigint\n goog.Uri writeUri\n nil writeNull\n cljs.core/UUID writeUUID\n cljs.core/PersistentHashMap writeMap\n cljs.core/PersistentArrayMap writeMap\n cljs.core/ObjMap writeMap\n cljs.core/MapEntry writeList\n cljs.core/PersistentVector writeList\n cljs.core/EmptyList writeList\n cljs.core/List writeList\n cljs.core/ChunkedSeq writeList\n cljs.core/PersistentHashSet writeSet\n cljs.core/Keyword #(writeNamed \"key\" %1 %2)\n cljs.core/Symbol #(writeNamed \"sym\" %1 %2)\n \"boolean[]\" writeBooleanArray\n \"long[]\" writeLongArray\n \"Object[]\" writeObjectArray\n \"char\" writeChar]))\n\n(defn build-inheritance-lookup [handlers]\n (let [fns (filter fn? (.keys handlers))]\n (fn [o]\n (loop [fns fns]\n (when (seq fns)\n (let [f (first fns)]\n (if (instance? f o)\n (.?get handlers f)\n (recur (rest fns)))))))))\n\n(defn build-handler-lookup\n [user-handlers rec->tag]\n (let [handlers (if (empty? user-handlers) ; TODO table check to allow user supplied subset\n default-write-handlers\n (.add-handlers (table/from-table default-write-handlers) user-handlers))\n inh-lookup (build-inheritance-lookup handlers)] ;;TODO delay / build this lazily/if needed,\n (fn [tag obj]\n (if (some? tag)\n (.?get handlers tag)\n (if (record? obj)\n (or (.?get handlers (type obj))\n (if-let [custom-writer (.?get handlers \"record\")]\n (fn [wrt rec]\n (custom-writer wrt rec rec->tag))\n (fn [wrt rec]\n (writeRecord wrt rec rec->tag))))\n (if (object? obj)\n (fn [wrt obj]\n (when goog.DEBUG\n (js/console.warn \"js->clj used to write javascript object into fressian!\"))\n (writeMap wrt (js->clj obj)))\n (or (.?get handlers (type obj))\n (inh-lookup obj))))))))\n\n(defn ^boolean valid-handler-key?\n \"singular or coll of constructors and string tags\"\n [k]\n (if (coll? k)\n (every? #(or (fn? %) (string? %)) k)\n (or (fn? k) (string? k))))\n\n(defn valid-user-handlers?\n [uh]\n (and (map? uh)\n (every? fn? (vals uh))\n (every? valid-handler-key? (keys uh))))\n\n(defn valid-record->name?\n \"each key should be record ctor\"\n [m]\n (and (map? m)\n (every? fn? (keys m))\n (every? string? (vals m))))\n\n(defn normalize-handlers\n \"Normalize type->tag->writer (a la data.fressian) to flat type->writer\"\n [user-handlers]\n (reduce-kv (fn [acc type tag-writer-map]\n (if (map? tag-writer-map)\n (assoc acc type (val (first tag-writer-map)))\n (assoc acc type tag-writer-map)))\n {}\n user-handlers))\n\n(defn writer\n \"Create a writer that combines userHandlers with the normal type handlers\n built into Fressian.\"\n [out & {:keys [handlers record->name checksum? offset] :as opts}]\n (let [handlers (some-> handlers normalize-handlers)]\n (when handlers (assert (valid-user-handlers? handlers) \"invalid write handler shape\"))\n (when record->name (assert (valid-record->name? record->name)))\n (let [lookup-fn (build-handler-lookup handlers record->name)\n checksum? (if (some? checksum?) checksum? true)\n raw-out (rawOut/raw-output out {:offset (or offset 0) :checksum? checksum?})\n priorityCache nil ;added when needed\n structCache nil]\n (FressianWriter. out raw-out priorityCache structCache lookup-fn))))\n"],"x_google_ignoreList":[0]}
|
package/geheimnis.aes.js
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
var $CLJS = require("./cljs_env");
|
|
2
|
+
var $jscomp = $CLJS.$jscomp;
|
|
3
|
+
var COMPILED = false;
|
|
4
|
+
require("./cljs.core.js");
|
|
5
|
+
require("./hasch.core.js");
|
|
6
|
+
var environ=$CLJS.environ || ($CLJS.environ = {});
|
|
7
|
+
var fress=$CLJS.fress || ($CLJS.fress = {});
|
|
8
|
+
var datahike=$CLJS.datahike || ($CLJS.datahike = {});
|
|
9
|
+
var clojure=$CLJS.clojure || ($CLJS.clojure = {});
|
|
10
|
+
var hasch=$CLJS.hasch || ($CLJS.hasch = {});
|
|
11
|
+
var tailrecursion=$CLJS.tailrecursion || ($CLJS.tailrecursion = {});
|
|
12
|
+
var superv=$CLJS.superv || ($CLJS.superv = {});
|
|
13
|
+
var geheimnis=$CLJS.geheimnis || ($CLJS.geheimnis = {});
|
|
14
|
+
var is=$CLJS.is || ($CLJS.is = {});
|
|
15
|
+
var cljs=$CLJS.cljs || ($CLJS.cljs = {});
|
|
16
|
+
var cljs_node_io=$CLJS.cljs_node_io || ($CLJS.cljs_node_io = {});
|
|
17
|
+
var goog=$CLJS.goog || ($CLJS.goog = {});
|
|
18
|
+
var konserve=$CLJS.konserve || ($CLJS.konserve = {});
|
|
19
|
+
var datalog=$CLJS.datalog || ($CLJS.datalog = {});
|
|
20
|
+
var spec_tools=$CLJS.spec_tools || ($CLJS.spec_tools = {});
|
|
21
|
+
var taoensso=$CLJS.taoensso || ($CLJS.taoensso = {});
|
|
22
|
+
var incognito=$CLJS.incognito || ($CLJS.incognito = {});
|
|
23
|
+
var medley=$CLJS.medley || ($CLJS.medley = {});
|
|
24
|
+
var me=$CLJS.me || ($CLJS.me = {});
|
|
25
|
+
|
|
26
|
+
$CLJS.SHADOW_ENV.setLoaded("geheimnis.aes.js");
|
|
27
|
+
|
|
28
|
+
goog.provide('geheimnis.aes');
|
|
29
|
+
geheimnis.aes.byte_array = cljs.core.clj__GT_js;
|
|
30
|
+
/**
|
|
31
|
+
* Encrypts with AES/CBC/PKCS{5/7}Padding by hashing a 256 bit key out
|
|
32
|
+
* of key. Key can be any Clojure value, but should provide enough
|
|
33
|
+
* secret entropy!
|
|
34
|
+
*
|
|
35
|
+
* You can provide an alternate initial vector of unsigned(!) bytes of size 16 for CBC.
|
|
36
|
+
*/
|
|
37
|
+
geheimnis.aes.encrypt = (function geheimnis$aes$encrypt(var_args){
|
|
38
|
+
var args__5732__auto__ = [];
|
|
39
|
+
var len__5726__auto___49386 = arguments.length;
|
|
40
|
+
var i__5727__auto___49387 = (0);
|
|
41
|
+
while(true){
|
|
42
|
+
if((i__5727__auto___49387 < len__5726__auto___49386)){
|
|
43
|
+
args__5732__auto__.push((arguments[i__5727__auto___49387]));
|
|
44
|
+
|
|
45
|
+
var G__49388 = (i__5727__auto___49387 + (1));
|
|
46
|
+
i__5727__auto___49387 = G__49388;
|
|
47
|
+
continue;
|
|
48
|
+
} else {
|
|
49
|
+
}
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
var argseq__5733__auto__ = ((((2) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((2)),(0),null)):null);
|
|
54
|
+
return geheimnis.aes.encrypt.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5733__auto__);
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
(geheimnis.aes.encrypt.cljs$core$IFn$_invoke$arity$variadic = (function (key,m,p__49350){
|
|
58
|
+
var map__49351 = p__49350;
|
|
59
|
+
var map__49351__$1 = cljs.core.__destructure_map(map__49351);
|
|
60
|
+
var iv = cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__49351__$1,new cljs.core.Keyword(null,"iv","iv",-1550102132),new cljs.core.PersistentVector(null, 16, 5, cljs.core.PersistentVector.EMPTY_NODE, [(6),(224),(71),(170),(241),(204),(115),(21),(30),(8),(46),(223),(106),(207),(55),(42)], null));
|
|
61
|
+
var cipher = (new goog.crypt.Aes((function (){var G__49352 = cljs.core.take.cljs$core$IFn$_invoke$arity$2((32),hasch.core.edn_hash.cljs$core$IFn$_invoke$arity$1(key));
|
|
62
|
+
return (geheimnis.aes.byte_array.cljs$core$IFn$_invoke$arity$1 ? geheimnis.aes.byte_array.cljs$core$IFn$_invoke$arity$1(G__49352) : geheimnis.aes.byte_array.call(null, G__49352));
|
|
63
|
+
})()));
|
|
64
|
+
var cbc = (new goog.crypt.Cbc(cipher));
|
|
65
|
+
var pkcs7 = (new goog.crypt.Pkcs7());
|
|
66
|
+
var padded = pkcs7.encode((16),m);
|
|
67
|
+
return cbc.encrypt(padded,(geheimnis.aes.byte_array.cljs$core$IFn$_invoke$arity$1 ? geheimnis.aes.byte_array.cljs$core$IFn$_invoke$arity$1(iv) : geheimnis.aes.byte_array.call(null, iv)));
|
|
68
|
+
}));
|
|
69
|
+
|
|
70
|
+
(geheimnis.aes.encrypt.cljs$lang$maxFixedArity = (2));
|
|
71
|
+
|
|
72
|
+
/** @this {Function} */
|
|
73
|
+
(geheimnis.aes.encrypt.cljs$lang$applyTo = (function (seq49337){
|
|
74
|
+
var G__49338 = cljs.core.first(seq49337);
|
|
75
|
+
var seq49337__$1 = cljs.core.next(seq49337);
|
|
76
|
+
var G__49339 = cljs.core.first(seq49337__$1);
|
|
77
|
+
var seq49337__$2 = cljs.core.next(seq49337__$1);
|
|
78
|
+
var self__5711__auto__ = this;
|
|
79
|
+
return self__5711__auto__.cljs$core$IFn$_invoke$arity$variadic(G__49338,G__49339,seq49337__$2);
|
|
80
|
+
}));
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Decrypts with AES/CBC/PKCS{5/7}Padding by hashing a 256 bit key out of key.
|
|
84
|
+
*
|
|
85
|
+
* You can provide an alternate initial vector of unsigned(!) bytes of size 16 for CBC.
|
|
86
|
+
*/
|
|
87
|
+
geheimnis.aes.decrypt = (function geheimnis$aes$decrypt(var_args){
|
|
88
|
+
var args__5732__auto__ = [];
|
|
89
|
+
var len__5726__auto___49393 = arguments.length;
|
|
90
|
+
var i__5727__auto___49394 = (0);
|
|
91
|
+
while(true){
|
|
92
|
+
if((i__5727__auto___49394 < len__5726__auto___49393)){
|
|
93
|
+
args__5732__auto__.push((arguments[i__5727__auto___49394]));
|
|
94
|
+
|
|
95
|
+
var G__49395 = (i__5727__auto___49394 + (1));
|
|
96
|
+
i__5727__auto___49394 = G__49395;
|
|
97
|
+
continue;
|
|
98
|
+
} else {
|
|
99
|
+
}
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
var argseq__5733__auto__ = ((((2) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((2)),(0),null)):null);
|
|
104
|
+
return geheimnis.aes.decrypt.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5733__auto__);
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
(geheimnis.aes.decrypt.cljs$core$IFn$_invoke$arity$variadic = (function (key,e,p__49370){
|
|
108
|
+
var map__49374 = p__49370;
|
|
109
|
+
var map__49374__$1 = cljs.core.__destructure_map(map__49374);
|
|
110
|
+
var iv = cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__49374__$1,new cljs.core.Keyword(null,"iv","iv",-1550102132),new cljs.core.PersistentVector(null, 16, 5, cljs.core.PersistentVector.EMPTY_NODE, [(6),(224),(71),(170),(241),(204),(115),(21),(30),(8),(46),(223),(106),(207),(55),(42)], null));
|
|
111
|
+
var cipher = (new goog.crypt.Aes((function (){var G__49375 = cljs.core.take.cljs$core$IFn$_invoke$arity$2((32),hasch.core.edn_hash.cljs$core$IFn$_invoke$arity$1(key));
|
|
112
|
+
return (geheimnis.aes.byte_array.cljs$core$IFn$_invoke$arity$1 ? geheimnis.aes.byte_array.cljs$core$IFn$_invoke$arity$1(G__49375) : geheimnis.aes.byte_array.call(null, G__49375));
|
|
113
|
+
})()));
|
|
114
|
+
var cbc = (new goog.crypt.Cbc(cipher));
|
|
115
|
+
var pkcs7 = (new goog.crypt.Pkcs7());
|
|
116
|
+
return pkcs7.decode((16),cbc.decrypt(e,(geheimnis.aes.byte_array.cljs$core$IFn$_invoke$arity$1 ? geheimnis.aes.byte_array.cljs$core$IFn$_invoke$arity$1(iv) : geheimnis.aes.byte_array.call(null, iv))));
|
|
117
|
+
}));
|
|
118
|
+
|
|
119
|
+
(geheimnis.aes.decrypt.cljs$lang$maxFixedArity = (2));
|
|
120
|
+
|
|
121
|
+
/** @this {Function} */
|
|
122
|
+
(geheimnis.aes.decrypt.cljs$lang$applyTo = (function (seq49360){
|
|
123
|
+
var G__49361 = cljs.core.first(seq49360);
|
|
124
|
+
var seq49360__$1 = cljs.core.next(seq49360);
|
|
125
|
+
var G__49362 = cljs.core.first(seq49360__$1);
|
|
126
|
+
var seq49360__$2 = cljs.core.next(seq49360__$1);
|
|
127
|
+
var self__5711__auto__ = this;
|
|
128
|
+
return self__5711__auto__.cljs$core$IFn$_invoke$arity$variadic(G__49361,G__49362,seq49360__$2);
|
|
129
|
+
}));
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
//# sourceMappingURL=geheimnis.aes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["geheimnis/aes.cljc"],"mappings":"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","names":["geheimnis.aes/byte-array","cljs.core/clj->js","var_args","args__5732__auto__","len__5726__auto__","i__5727__auto__","argseq__5733__auto__","cljs.core/IndexedSeq","geheimnis.aes/encrypt","p__49350","map__49351","cljs.core/--destructure-map","cljs.core.get","seq49337","G__49338","cljs.core/first","cljs.core/next","G__49339","self__5711__auto__","key","m","iv","cipher","js/goog.crypt.Aes","G__49352","cljs.core.take","hasch.core.edn_hash","cbc","js/goog.crypt.Cbc","pkcs7","js/goog.crypt.Pkcs7","padded","geheimnis.aes/decrypt","p__49370","map__49374","seq49360","G__49361","G__49362","e","G__49375"],"sourcesContent":["(ns geheimnis.aes\n \"Namespace for symmetric AES encryption.\"\n (:require [hasch.core :refer [edn-hash]]\n #?@(:cljs [[goog.crypt.Aes]\n [goog.crypt.Cbc]\n [goog.crypt]\n [goog.crypt.Pkcs7]]))\n\n #?(:clj (:import [javax.crypto Cipher]\n [javax.crypto.spec SecretKeySpec]\n [javax.crypto.spec IvParameterSpec])))\n\n\n#?(:cljs (def byte-array clj->js))\n\n(defn encrypt\n \"Encrypts with AES/CBC/PKCS{5/7}Padding by hashing a 256 bit key out\n of key. Key can be any Clojure value, but should provide enough\n secret entropy!\n\n You can provide an alternate initial vector of unsigned(!) bytes of size 16 for CBC.\"\n [key m & {:keys [iv] :or {iv [6 224 71 170 241 204 115 21 30 8 46 223 106 207 55 42]}}]\n #?(:clj\n (let [iv (IvParameterSpec. (byte-array (mapv #(if (> % 127) (- % 256) %) iv)))\n spec (SecretKeySpec. (byte-array (take 32 (edn-hash key))) \"AES\")\n cipher (Cipher/getInstance \"AES/CBC/PKCS5Padding\")]\n (.init cipher Cipher/ENCRYPT_MODE spec iv)\n (.doFinal cipher m))\n :cljs (let [cipher (goog.crypt.Aes. (byte-array (take 32 (edn-hash key))))\n cbc (goog.crypt.Cbc. cipher)\n pkcs7 (goog.crypt.Pkcs7.)\n padded (.encode pkcs7 16 m)]\n (.encrypt cbc padded (byte-array iv)))))\n\n\n(defn decrypt\n \"Decrypts with AES/CBC/PKCS{5/7}Padding by hashing a 256 bit key out of key.\n\n You can provide an alternate initial vector of unsigned(!) bytes of size 16 for CBC.\"\n [key e & {:keys [iv] :or {iv [6 224 71 170 241 204 115 21 30 8 46 223 106 207 55 42]}}]\n #?(:clj\n (let [iv (IvParameterSpec. (byte-array (mapv #(if (> % 127) (- % 256) %) iv)))\n spec (SecretKeySpec. (byte-array (take 32 (edn-hash key))) \"AES\")\n cipher (Cipher/getInstance \"AES/CBC/PKCS5Padding\")]\n (.init cipher Cipher/DECRYPT_MODE spec iv)\n (.doFinal cipher e))\n :cljs\n (let [cipher (goog.crypt.Aes. (byte-array (take 32 (edn-hash key))))\n cbc (goog.crypt.Cbc. cipher)\n pkcs7 (goog.crypt.Pkcs7.)]\n (.decode pkcs7 16 (.decrypt cbc e (byte-array iv))))))\n\n(comment\n (decrypt \"foo\" (encrypt \"foo\" (byte-array (repeat 10 7))))\n\n (encrypt \"foo\" (byte-array (repeat 10 7)))\n\n (decrypt \"foo\" (byte-array (map #(if (neg? %) (+ % 256) %)\n [-70 -83 -75 9 -46 -97 70 -89 -124 80 -99 -15 109 -57 66 -108])))\n\n (vec (decrypt \"foo\" (byte-array (mapv #(if (> % 127) (- % 256) %)\n [6 224 71 170 241 204 115 21 30 8 46 223 106 207 55 42]))))\n\n\n ;; cljs\n (vec (decrypt \"foo\" (byte-array (mapv #(if (> % 127) (- % 256) %)\n [162 154 180 196 57 250 139 34 205 89 66 113 0 72 14 101]))))\n ;; clj\n (vec (encrypt \"foo\" (byte-array (repeat 16 7))))\n\n (decrypt \"foo\" (encrypt \"foo\" (clj->js (repeat 16 7))))\n\n (.log js/console (decrypt \"foo\" (encrypt \"foo\" (clj->js (repeat 16 7)))))\n\n (String. (decrypt \"foo\" (encrypt \"foo\" (.getBytes \"barsssssssssssssssssssssssssssssssssss\"\n \"UTF-8\")))\n \"UTF-8\"))\n"],"x_google_ignoreList":[0]}
|
package/hasch.base64.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
var $CLJS = require("./cljs_env");
|
|
2
|
+
var $jscomp = $CLJS.$jscomp;
|
|
3
|
+
var COMPILED = false;
|
|
4
|
+
require("./cljs.core.js");
|
|
5
|
+
require("./cljs.reader.js");
|
|
6
|
+
var environ=$CLJS.environ || ($CLJS.environ = {});
|
|
7
|
+
var fress=$CLJS.fress || ($CLJS.fress = {});
|
|
8
|
+
var datahike=$CLJS.datahike || ($CLJS.datahike = {});
|
|
9
|
+
var clojure=$CLJS.clojure || ($CLJS.clojure = {});
|
|
10
|
+
var hasch=$CLJS.hasch || ($CLJS.hasch = {});
|
|
11
|
+
var tailrecursion=$CLJS.tailrecursion || ($CLJS.tailrecursion = {});
|
|
12
|
+
var superv=$CLJS.superv || ($CLJS.superv = {});
|
|
13
|
+
var geheimnis=$CLJS.geheimnis || ($CLJS.geheimnis = {});
|
|
14
|
+
var is=$CLJS.is || ($CLJS.is = {});
|
|
15
|
+
var cljs=$CLJS.cljs || ($CLJS.cljs = {});
|
|
16
|
+
var cljs_node_io=$CLJS.cljs_node_io || ($CLJS.cljs_node_io = {});
|
|
17
|
+
var goog=$CLJS.goog || ($CLJS.goog = {});
|
|
18
|
+
var konserve=$CLJS.konserve || ($CLJS.konserve = {});
|
|
19
|
+
var datalog=$CLJS.datalog || ($CLJS.datalog = {});
|
|
20
|
+
var spec_tools=$CLJS.spec_tools || ($CLJS.spec_tools = {});
|
|
21
|
+
var taoensso=$CLJS.taoensso || ($CLJS.taoensso = {});
|
|
22
|
+
var incognito=$CLJS.incognito || ($CLJS.incognito = {});
|
|
23
|
+
var medley=$CLJS.medley || ($CLJS.medley = {});
|
|
24
|
+
var me=$CLJS.me || ($CLJS.me = {});
|
|
25
|
+
|
|
26
|
+
$CLJS.SHADOW_ENV.setLoaded("hasch.base64.js");
|
|
27
|
+
|
|
28
|
+
goog.provide('hasch.base64');
|
|
29
|
+
/**
|
|
30
|
+
* Returns a base64 encoded String.
|
|
31
|
+
*/
|
|
32
|
+
hasch.base64.encode = (function hasch$base64$encode(byte_arr){
|
|
33
|
+
return goog.crypt.base64.encodeByteArray(byte_arr);
|
|
34
|
+
});
|
|
35
|
+
/**
|
|
36
|
+
* Returns a byte-array for encoded String.
|
|
37
|
+
*/
|
|
38
|
+
hasch.base64.decode = (function hasch$base64$decode(base64){
|
|
39
|
+
return goog.crypt.base64.decodeStringToByteArray(base64);
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=hasch.base64.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["hasch/base64.cljc"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;;;sBAAA,tBAAMA,oDAEHC;AAFH,AAMW,OAACC,kCAAkCD;;AAE9C;;;sBAAA,tBAAME,oDAEKC;AAFX,AAIW,OAACC,0CAA0CD","names":["hasch.base64/encode","byte-arr","js/goog.crypt.base64.encodeByteArray","hasch.base64/decode","base64","js/goog.crypt.base64.decodeStringToByteArray"],"sourcesContent":["(ns hasch.base64\n #?(:cljs (:require [goog.crypt.base64]\n [cljs.reader :as r]))\n #?(:clj (:import (java.util Base64))))\n\n(defn encode\n \"Returns a base64 encoded String.\"\n [byte-arr]\n #?(:clj (String. (.encode (Base64/getEncoder)\n ^bytes byte-arr)\n \"UTF-8\")\n :cljs (goog.crypt.base64.encodeByteArray byte-arr)))\n\n(defn decode\n \"Returns a byte-array for encoded String.\"\n [^String base64]\n #?(:clj (.decode (Base64/getDecoder) base64)\n :cljs (goog.crypt.base64.decodeStringToByteArray base64)))\n"],"x_google_ignoreList":[0]}
|
package/hasch.benc.js
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
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("hasch.benc.js");
|
|
26
|
+
|
|
27
|
+
goog.provide('hasch.benc');
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @interface
|
|
31
|
+
*/
|
|
32
|
+
hasch.benc.PHashCoercion = function(){};
|
|
33
|
+
|
|
34
|
+
var hasch$benc$PHashCoercion$_coerce$dyn_26003 = (function (this$,md_create_fn,write_handlers){
|
|
35
|
+
var x__5350__auto__ = (((this$ == null))?null:this$);
|
|
36
|
+
var m__5351__auto__ = (hasch.benc._coerce[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(this$,md_create_fn,write_handlers) : m__5351__auto__.call(null, this$,md_create_fn,write_handlers));
|
|
39
|
+
} else {
|
|
40
|
+
var m__5349__auto__ = (hasch.benc._coerce["_"]);
|
|
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(this$,md_create_fn,write_handlers) : m__5349__auto__.call(null, this$,md_create_fn,write_handlers));
|
|
43
|
+
} else {
|
|
44
|
+
throw cljs.core.missing_protocol("PHashCoercion.-coerce",this$);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
hasch.benc._coerce = (function hasch$benc$_coerce(this$,md_create_fn,write_handlers){
|
|
49
|
+
if((((!((this$ == null)))) && ((!((this$.hasch$benc$PHashCoercion$_coerce$arity$3 == null)))))){
|
|
50
|
+
return this$.hasch$benc$PHashCoercion$_coerce$arity$3(this$,md_create_fn,write_handlers);
|
|
51
|
+
} else {
|
|
52
|
+
return hasch$benc$PHashCoercion$_coerce$dyn_26003(this$,md_create_fn,write_handlers);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
hasch.benc.magics = cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"binary","binary",-1802232288),new cljs.core.Keyword(null,"inst","inst",645962501),new cljs.core.Keyword(null,"number","number",1570378438),new cljs.core.Keyword(null,"symbol","symbol",-1038572696),new cljs.core.Keyword(null,"string","string",-1989541586),new cljs.core.Keyword(null,"vector","vector",1902966158),new cljs.core.Keyword(null,"keyword","keyword",811389747),new cljs.core.Keyword(null,"nil","nil",99600501),new cljs.core.Keyword(null,"literal","literal",1664775605),new cljs.core.Keyword(null,"uuid","uuid",-2145095719),new cljs.core.Keyword(null,"seq","seq",-1817803783),new cljs.core.Keyword(null,"set","set",304602554),new cljs.core.Keyword(null,"boolean","boolean",-1919418404),new cljs.core.Keyword(null,"map","map",1371690461)],[(13),(6),(2),(4),(3),(9),(5),(0),(12),(7),(8),(11),(1),(10)]);
|
|
57
|
+
hasch.benc.split_size = (1024);
|
|
58
|
+
hasch.benc.max_entropy_byte_count = (32);
|
|
59
|
+
hasch.benc.byte_array = (function hasch$benc$byte_array(len){
|
|
60
|
+
return cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(len,(0)));
|
|
61
|
+
});
|
|
62
|
+
hasch.benc.digest = (function hasch$benc$digest(bytes_or_seq_of_bytes,md_create_fn){
|
|
63
|
+
var md = (md_create_fn.cljs$core$IFn$_invoke$arity$0 ? md_create_fn.cljs$core$IFn$_invoke$arity$0() : md_create_fn.call(null, ));
|
|
64
|
+
if(cljs.core.seq_QMARK_(bytes_or_seq_of_bytes)){
|
|
65
|
+
var seq__25980_26013 = cljs.core.seq(bytes_or_seq_of_bytes);
|
|
66
|
+
var chunk__25981_26014 = null;
|
|
67
|
+
var count__25982_26015 = (0);
|
|
68
|
+
var i__25983_26016 = (0);
|
|
69
|
+
while(true){
|
|
70
|
+
if((i__25983_26016 < count__25982_26015)){
|
|
71
|
+
var bs_26017 = chunk__25981_26014.cljs$core$IIndexed$_nth$arity$2(null, i__25983_26016);
|
|
72
|
+
md.update(bs_26017);
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
var G__26018 = seq__25980_26013;
|
|
76
|
+
var G__26019 = chunk__25981_26014;
|
|
77
|
+
var G__26020 = count__25982_26015;
|
|
78
|
+
var G__26021 = (i__25983_26016 + (1));
|
|
79
|
+
seq__25980_26013 = G__26018;
|
|
80
|
+
chunk__25981_26014 = G__26019;
|
|
81
|
+
count__25982_26015 = G__26020;
|
|
82
|
+
i__25983_26016 = G__26021;
|
|
83
|
+
continue;
|
|
84
|
+
} else {
|
|
85
|
+
var temp__5804__auto___26022 = cljs.core.seq(seq__25980_26013);
|
|
86
|
+
if(temp__5804__auto___26022){
|
|
87
|
+
var seq__25980_26023__$1 = temp__5804__auto___26022;
|
|
88
|
+
if(cljs.core.chunked_seq_QMARK_(seq__25980_26023__$1)){
|
|
89
|
+
var c__5525__auto___26024 = cljs.core.chunk_first(seq__25980_26023__$1);
|
|
90
|
+
var G__26025 = cljs.core.chunk_rest(seq__25980_26023__$1);
|
|
91
|
+
var G__26026 = c__5525__auto___26024;
|
|
92
|
+
var G__26027 = cljs.core.count(c__5525__auto___26024);
|
|
93
|
+
var G__26028 = (0);
|
|
94
|
+
seq__25980_26013 = G__26025;
|
|
95
|
+
chunk__25981_26014 = G__26026;
|
|
96
|
+
count__25982_26015 = G__26027;
|
|
97
|
+
i__25983_26016 = G__26028;
|
|
98
|
+
continue;
|
|
99
|
+
} else {
|
|
100
|
+
var bs_26029 = cljs.core.first(seq__25980_26023__$1);
|
|
101
|
+
md.update(bs_26029);
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
var G__26030 = cljs.core.next(seq__25980_26023__$1);
|
|
105
|
+
var G__26031 = null;
|
|
106
|
+
var G__26032 = (0);
|
|
107
|
+
var G__26033 = (0);
|
|
108
|
+
seq__25980_26013 = G__26030;
|
|
109
|
+
chunk__25981_26014 = G__26031;
|
|
110
|
+
count__25982_26015 = G__26032;
|
|
111
|
+
i__25983_26016 = G__26033;
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
} else {
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
} else {
|
|
120
|
+
md.update(bytes_or_seq_of_bytes);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
return md.digest();
|
|
124
|
+
});
|
|
125
|
+
hasch.benc.coerce_seq = (function hasch$benc$coerce_seq(seq,md_create_fn,write_handlers){
|
|
126
|
+
var seq_md = (md_create_fn.cljs$core$IFn$_invoke$arity$0 ? md_create_fn.cljs$core$IFn$_invoke$arity$0() : md_create_fn.call(null, ));
|
|
127
|
+
var s_26034 = seq;
|
|
128
|
+
while(true){
|
|
129
|
+
var vec__26000_26035 = s_26034;
|
|
130
|
+
var seq__26001_26036 = cljs.core.seq(vec__26000_26035);
|
|
131
|
+
var first__26002_26037 = cljs.core.first(seq__26001_26036);
|
|
132
|
+
var seq__26001_26038__$1 = cljs.core.next(seq__26001_26036);
|
|
133
|
+
var f_26039 = first__26002_26037;
|
|
134
|
+
var r_26040 = seq__26001_26038__$1;
|
|
135
|
+
seq_md.update(hasch.benc._coerce(f_26039,md_create_fn,write_handlers));
|
|
136
|
+
|
|
137
|
+
if(cljs.core.empty_QMARK_(r_26040)){
|
|
138
|
+
} else {
|
|
139
|
+
var G__26041 = cljs.core.rest(s_26034);
|
|
140
|
+
s_26034 = G__26041;
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
break;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
return seq_md.digest();
|
|
147
|
+
});
|
|
148
|
+
/**
|
|
149
|
+
* Commutatively coerces elements of collection, seq entries must already be crypto hashes
|
|
150
|
+
* to avoid collisions in XOR. Takes at maximum 32 bytes into account.
|
|
151
|
+
*/
|
|
152
|
+
hasch.benc.xor_hashes = (function hasch$benc$xor_hashes(seq){
|
|
153
|
+
var len = (function (){var x__5090__auto__ = cljs.core.count(cljs.core.first(seq));
|
|
154
|
+
var y__5091__auto__ = hasch.benc.max_entropy_byte_count;
|
|
155
|
+
return ((x__5090__auto__ < y__5091__auto__) ? x__5090__auto__ : y__5091__auto__);
|
|
156
|
+
})();
|
|
157
|
+
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (acc,elem){
|
|
158
|
+
var i_26042 = (0);
|
|
159
|
+
while(true){
|
|
160
|
+
if((i_26042 < len)){
|
|
161
|
+
(acc[i_26042] = ((acc[i_26042]) ^ (elem[i_26042])));
|
|
162
|
+
|
|
163
|
+
var G__26043 = (i_26042 + (1));
|
|
164
|
+
i_26042 = G__26043;
|
|
165
|
+
continue;
|
|
166
|
+
} else {
|
|
167
|
+
}
|
|
168
|
+
break;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
return acc;
|
|
172
|
+
}),hasch.benc.byte_array(len),seq);
|
|
173
|
+
});
|
|
174
|
+
hasch.benc.encode_safe = (function hasch$benc$encode_safe(a,md_create_fn){
|
|
175
|
+
if((cljs.core.count(a) < hasch.benc.split_size)){
|
|
176
|
+
var len = cljs.core.long$(a.length);
|
|
177
|
+
var ea = hasch.benc.byte_array(len);
|
|
178
|
+
var i_26044 = (0);
|
|
179
|
+
while(true){
|
|
180
|
+
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(i_26044,len)){
|
|
181
|
+
} else {
|
|
182
|
+
var e_26045 = (a[i_26044]);
|
|
183
|
+
if((((e_26045 > (0))) && ((e_26045 < (30))))){
|
|
184
|
+
(ea[i_26044] = (1));
|
|
185
|
+
} else {
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
var G__26046 = (i_26044 + (1));
|
|
189
|
+
i_26044 = G__26046;
|
|
190
|
+
continue;
|
|
191
|
+
}
|
|
192
|
+
break;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
return a.concat(ea);
|
|
196
|
+
} else {
|
|
197
|
+
return hasch.benc.digest(a,md_create_fn);
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
|
|
201
|
+
//# sourceMappingURL=hasch.benc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["hasch/benc.cljc"],"mappings":"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","names":["hasch$benc$PHashCoercion$_coerce$dyn","x__5350__auto__","m__5351__auto__","hasch.benc/-coerce","goog/typeOf","m__5349__auto__","cljs.core/missing-protocol","hasch.benc/PHashCoercion","this","md-create-fn","write-handlers","hasch.benc/magics","hasch.benc/split-size","hasch.benc/max-entropy-byte-count","hasch.benc/byte-array","len","cljs.core.into_array","cljs.core.repeat","hasch.benc/digest","bytes-or-seq-of-bytes","md","cljs.core/seq?","seq__25980","cljs.core/seq","chunk__25981","count__25982","i__25983","temp__5804__auto__","cljs.core/chunked-seq?","c__5525__auto__","cljs.core/chunk-first","cljs.core/chunk-rest","cljs.core/count","cljs.core/first","cljs.core/next","bs","hasch.benc/coerce-seq","seq","seq-md","s","vec__26000","seq__26001","first__26002","f","r","cljs.core/empty?","cljs.core/rest","hasch.benc/xor-hashes","x__5090__auto__","y__5091__auto__","cljs.core.reduce","acc","elem","i","hasch.benc/encode-safe","a","cljs.core/long","ea","cljs.core._EQ_","e"],"sourcesContent":["(ns hasch.benc\n \"Binary encoding of EDN values.\"\n #?@(:clj [(:import java.security.MessageDigest\n java.io.ByteArrayOutputStream)]))\n\n#?(:clj (set! *warn-on-reflection* true))\n\n(defprotocol PHashCoercion\n (-coerce [this md-create-fn write-handlers]))\n\n;; changes break hashes!\n(def magics {:nil (byte 0)\n :boolean (byte 1)\n :number (byte 2)\n :string (byte 3)\n :symbol (byte 4)\n :keyword (byte 5)\n :inst (byte 6)\n :uuid (byte 7)\n :seq (byte 8)\n :vector (byte 9)\n :map (byte 10)\n :set (byte 11)\n :literal (byte 12)\n :binary (byte 13)})\n\n(def split-size 1024)\n\n(def max-entropy-byte-count 32)\n\n#?(:cljs (defn- byte-array [len] (into-array (repeat len 0))))\n\n(defn ^bytes digest\n [bytes-or-seq-of-bytes md-create-fn]\n (let [^MessageDigest md (md-create-fn)]\n (if (seq? bytes-or-seq-of-bytes)\n (doseq [^bytes bs bytes-or-seq-of-bytes]\n (.update md bs))\n (.update md ^bytes bytes-or-seq-of-bytes))\n (.digest md)))\n\n(defn ^bytes coerce-seq [seq md-create-fn write-handlers]\n (let [^MessageDigest seq-md (md-create-fn)]\n (loop [s seq]\n (let [[f & r] s]\n (.update seq-md ^bytes (-coerce f md-create-fn write-handlers))\n (when-not (empty? r)\n (recur (rest s)))))\n (.digest seq-md)))\n\n(defn ^bytes xor-hashes\n \"Commutatively coerces elements of collection, seq entries must already be crypto hashes\n to avoid collisions in XOR. Takes at maximum 32 bytes into account.\"\n [seq]\n (let [len (min (count ^bytes (first seq)) max-entropy-byte-count)]\n (reduce (fn [^bytes acc ^bytes elem]\n (loop [i 0]\n (when (< i len)\n (aset acc i (byte (bit-xor (aget acc i) (aget elem i))))\n (recur (inc i))))\n acc)\n (byte-array len)\n seq)))\n\n(defn ^bytes encode-safe [^bytes a md-create-fn]\n (if (< (count a) split-size)\n (let [len (long (alength a))\n ea (byte-array len)]\n (loop [i 0]\n (when-not (= i len)\n (let [e (aget a i)]\n (when (and (> e (byte 0))\n (< e (byte 30)))\n (aset ea i (byte 1))))\n (recur (inc i))))\n #?(:clj (let [out (ByteArrayOutputStream.)]\n (.write out a)\n (.write out ea)\n (.toByteArray out))\n :cljs (.concat a ea)))\n (digest a md-create-fn)))\n"],"x_google_ignoreList":[0]}
|