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,330 @@
|
|
|
1
|
+
var $CLJS = require("./cljs_env");
|
|
2
|
+
var $jscomp = $CLJS.$jscomp;
|
|
3
|
+
var COMPILED = false;
|
|
4
|
+
require("./cljs.core.js");
|
|
5
|
+
require("./incognito.base.js");
|
|
6
|
+
require("./fress.api.js");
|
|
7
|
+
require("./fress.reader.js");
|
|
8
|
+
require("./fress.writer.js");
|
|
9
|
+
require("./fress.impl.buffer.js");
|
|
10
|
+
require("./fress.impl.raw_input.js");
|
|
11
|
+
var environ=$CLJS.environ || ($CLJS.environ = {});
|
|
12
|
+
var fress=$CLJS.fress || ($CLJS.fress = {});
|
|
13
|
+
var datahike=$CLJS.datahike || ($CLJS.datahike = {});
|
|
14
|
+
var clojure=$CLJS.clojure || ($CLJS.clojure = {});
|
|
15
|
+
var hasch=$CLJS.hasch || ($CLJS.hasch = {});
|
|
16
|
+
var tailrecursion=$CLJS.tailrecursion || ($CLJS.tailrecursion = {});
|
|
17
|
+
var superv=$CLJS.superv || ($CLJS.superv = {});
|
|
18
|
+
var geheimnis=$CLJS.geheimnis || ($CLJS.geheimnis = {});
|
|
19
|
+
var is=$CLJS.is || ($CLJS.is = {});
|
|
20
|
+
var cljs=$CLJS.cljs || ($CLJS.cljs = {});
|
|
21
|
+
var cljs_node_io=$CLJS.cljs_node_io || ($CLJS.cljs_node_io = {});
|
|
22
|
+
var goog=$CLJS.goog || ($CLJS.goog = {});
|
|
23
|
+
var konserve=$CLJS.konserve || ($CLJS.konserve = {});
|
|
24
|
+
var datalog=$CLJS.datalog || ($CLJS.datalog = {});
|
|
25
|
+
var spec_tools=$CLJS.spec_tools || ($CLJS.spec_tools = {});
|
|
26
|
+
var taoensso=$CLJS.taoensso || ($CLJS.taoensso = {});
|
|
27
|
+
var incognito=$CLJS.incognito || ($CLJS.incognito = {});
|
|
28
|
+
var medley=$CLJS.medley || ($CLJS.medley = {});
|
|
29
|
+
var me=$CLJS.me || ($CLJS.me = {});
|
|
30
|
+
|
|
31
|
+
$CLJS.SHADOW_ENV.setLoaded("incognito.fressian.js");
|
|
32
|
+
|
|
33
|
+
goog.provide('incognito.fressian');
|
|
34
|
+
incognito.fressian.record_writer = (function incognito$fressian$record_writer(write_handlers){
|
|
35
|
+
return (function (writer,rec){
|
|
36
|
+
var map__49771 = ((cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$2(cljs.core.type(rec),incognito.base.IncognitoTaggedLiteral))?cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,rec):incognito.base.incognito_writer(cljs.core.deref(write_handlers),rec));
|
|
37
|
+
var map__49771__$1 = cljs.core.__destructure_map(map__49771);
|
|
38
|
+
var r = map__49771__$1;
|
|
39
|
+
var tag = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__49771__$1,new cljs.core.Keyword(null,"tag","tag",-1290361223));
|
|
40
|
+
var value = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__49771__$1,new cljs.core.Keyword(null,"value","value",305978217));
|
|
41
|
+
var tag__$1 = cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(clojure.string.replace_first(cljs.core.str.cljs$core$IFn$_invoke$arity$1(tag),/\//,"."));
|
|
42
|
+
fress.api.write_tag(writer,"irecord",(2));
|
|
43
|
+
|
|
44
|
+
fress.writer.writeInt(writer,cljs.core.count(value));
|
|
45
|
+
|
|
46
|
+
fress.api.write_object.cljs$core$IFn$_invoke$arity$2(writer,tag__$1);
|
|
47
|
+
|
|
48
|
+
var seq__49776 = cljs.core.seq(value);
|
|
49
|
+
var chunk__49777 = null;
|
|
50
|
+
var count__49778 = (0);
|
|
51
|
+
var i__49779 = (0);
|
|
52
|
+
while(true){
|
|
53
|
+
if((i__49779 < count__49778)){
|
|
54
|
+
var e = chunk__49777.cljs$core$IIndexed$_nth$arity$2(null, i__49779);
|
|
55
|
+
fress.api.write_object.cljs$core$IFn$_invoke$arity$2(writer,e);
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
var G__49865 = seq__49776;
|
|
59
|
+
var G__49866 = chunk__49777;
|
|
60
|
+
var G__49867 = count__49778;
|
|
61
|
+
var G__49868 = (i__49779 + (1));
|
|
62
|
+
seq__49776 = G__49865;
|
|
63
|
+
chunk__49777 = G__49866;
|
|
64
|
+
count__49778 = G__49867;
|
|
65
|
+
i__49779 = G__49868;
|
|
66
|
+
continue;
|
|
67
|
+
} else {
|
|
68
|
+
var temp__5804__auto__ = cljs.core.seq(seq__49776);
|
|
69
|
+
if(temp__5804__auto__){
|
|
70
|
+
var seq__49776__$1 = temp__5804__auto__;
|
|
71
|
+
if(cljs.core.chunked_seq_QMARK_(seq__49776__$1)){
|
|
72
|
+
var c__5525__auto__ = cljs.core.chunk_first(seq__49776__$1);
|
|
73
|
+
var G__49869 = cljs.core.chunk_rest(seq__49776__$1);
|
|
74
|
+
var G__49870 = c__5525__auto__;
|
|
75
|
+
var G__49871 = cljs.core.count(c__5525__auto__);
|
|
76
|
+
var G__49872 = (0);
|
|
77
|
+
seq__49776 = G__49869;
|
|
78
|
+
chunk__49777 = G__49870;
|
|
79
|
+
count__49778 = G__49871;
|
|
80
|
+
i__49779 = G__49872;
|
|
81
|
+
continue;
|
|
82
|
+
} else {
|
|
83
|
+
var e = cljs.core.first(seq__49776__$1);
|
|
84
|
+
fress.api.write_object.cljs$core$IFn$_invoke$arity$2(writer,e);
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
var G__49873 = cljs.core.next(seq__49776__$1);
|
|
88
|
+
var G__49874 = null;
|
|
89
|
+
var G__49875 = (0);
|
|
90
|
+
var G__49876 = (0);
|
|
91
|
+
seq__49776 = G__49873;
|
|
92
|
+
chunk__49777 = G__49874;
|
|
93
|
+
count__49778 = G__49875;
|
|
94
|
+
i__49779 = G__49876;
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
} else {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
incognito.fressian.record_reader = (function incognito$fressian$record_reader(read_handlers){
|
|
106
|
+
return (function (reader,tag,component_count){
|
|
107
|
+
var len = fress.reader.readInt(reader);
|
|
108
|
+
var tag__$1 = fress.api.read_object(reader);
|
|
109
|
+
var val = cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.vec,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (_){
|
|
110
|
+
return fress.api.read_object(reader);
|
|
111
|
+
}),cljs.core.range.cljs$core$IFn$_invoke$arity$1(len))));
|
|
112
|
+
return incognito.base.incognito_reader(cljs.core.deref(read_handlers),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"tag","tag",-1290361223),tag__$1,new cljs.core.Keyword(null,"value","value",305978217),val], null));
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
incognito.fressian.plist_reader = (function incognito$fressian$plist_reader(reader,_,___$1){
|
|
116
|
+
var len = fress.reader.readInt(reader);
|
|
117
|
+
return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.List.EMPTY,cljs.core.reverse(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (___$2){
|
|
118
|
+
return fress.api.read_object(reader);
|
|
119
|
+
}),cljs.core.range.cljs$core$IFn$_invoke$arity$1(len))));
|
|
120
|
+
});
|
|
121
|
+
incognito.fressian.plist_writer = (function incognito$fressian$plist_writer(writer,plist){
|
|
122
|
+
fress.api.write_tag(writer,"plist",(2));
|
|
123
|
+
|
|
124
|
+
fress.writer.writeInt(writer,cljs.core.count(plist));
|
|
125
|
+
|
|
126
|
+
var seq__49799 = cljs.core.seq(plist);
|
|
127
|
+
var chunk__49800 = null;
|
|
128
|
+
var count__49801 = (0);
|
|
129
|
+
var i__49802 = (0);
|
|
130
|
+
while(true){
|
|
131
|
+
if((i__49802 < count__49801)){
|
|
132
|
+
var e = chunk__49800.cljs$core$IIndexed$_nth$arity$2(null, i__49802);
|
|
133
|
+
fress.api.write_object.cljs$core$IFn$_invoke$arity$2(writer,e);
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
var G__49883 = seq__49799;
|
|
137
|
+
var G__49884 = chunk__49800;
|
|
138
|
+
var G__49885 = count__49801;
|
|
139
|
+
var G__49886 = (i__49802 + (1));
|
|
140
|
+
seq__49799 = G__49883;
|
|
141
|
+
chunk__49800 = G__49884;
|
|
142
|
+
count__49801 = G__49885;
|
|
143
|
+
i__49802 = G__49886;
|
|
144
|
+
continue;
|
|
145
|
+
} else {
|
|
146
|
+
var temp__5804__auto__ = cljs.core.seq(seq__49799);
|
|
147
|
+
if(temp__5804__auto__){
|
|
148
|
+
var seq__49799__$1 = temp__5804__auto__;
|
|
149
|
+
if(cljs.core.chunked_seq_QMARK_(seq__49799__$1)){
|
|
150
|
+
var c__5525__auto__ = cljs.core.chunk_first(seq__49799__$1);
|
|
151
|
+
var G__49887 = cljs.core.chunk_rest(seq__49799__$1);
|
|
152
|
+
var G__49888 = c__5525__auto__;
|
|
153
|
+
var G__49889 = cljs.core.count(c__5525__auto__);
|
|
154
|
+
var G__49890 = (0);
|
|
155
|
+
seq__49799 = G__49887;
|
|
156
|
+
chunk__49800 = G__49888;
|
|
157
|
+
count__49801 = G__49889;
|
|
158
|
+
i__49802 = G__49890;
|
|
159
|
+
continue;
|
|
160
|
+
} else {
|
|
161
|
+
var e = cljs.core.first(seq__49799__$1);
|
|
162
|
+
fress.api.write_object.cljs$core$IFn$_invoke$arity$2(writer,e);
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
var G__49891 = cljs.core.next(seq__49799__$1);
|
|
166
|
+
var G__49892 = null;
|
|
167
|
+
var G__49893 = (0);
|
|
168
|
+
var G__49894 = (0);
|
|
169
|
+
seq__49799 = G__49891;
|
|
170
|
+
chunk__49800 = G__49892;
|
|
171
|
+
count__49801 = G__49893;
|
|
172
|
+
i__49802 = G__49894;
|
|
173
|
+
continue;
|
|
174
|
+
}
|
|
175
|
+
} else {
|
|
176
|
+
return null;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
break;
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
incognito.fressian.pvec_reader = (function incognito$fressian$pvec_reader(reader,_,___$1){
|
|
183
|
+
var len = fress.reader.readInt(reader);
|
|
184
|
+
return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (___$2){
|
|
185
|
+
return fress.api.read_object(reader);
|
|
186
|
+
}),cljs.core.range.cljs$core$IFn$_invoke$arity$1(len)));
|
|
187
|
+
});
|
|
188
|
+
incognito.fressian.pvec_writer = (function incognito$fressian$pvec_writer(writer,pvec){
|
|
189
|
+
fress.api.write_tag(writer,"pvec",(2));
|
|
190
|
+
|
|
191
|
+
fress.writer.writeInt(writer,cljs.core.count(pvec));
|
|
192
|
+
|
|
193
|
+
var seq__49816 = cljs.core.seq(pvec);
|
|
194
|
+
var chunk__49817 = null;
|
|
195
|
+
var count__49818 = (0);
|
|
196
|
+
var i__49819 = (0);
|
|
197
|
+
while(true){
|
|
198
|
+
if((i__49819 < count__49818)){
|
|
199
|
+
var e = chunk__49817.cljs$core$IIndexed$_nth$arity$2(null, i__49819);
|
|
200
|
+
fress.api.write_object.cljs$core$IFn$_invoke$arity$2(writer,e);
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
var G__49896 = seq__49816;
|
|
204
|
+
var G__49897 = chunk__49817;
|
|
205
|
+
var G__49898 = count__49818;
|
|
206
|
+
var G__49899 = (i__49819 + (1));
|
|
207
|
+
seq__49816 = G__49896;
|
|
208
|
+
chunk__49817 = G__49897;
|
|
209
|
+
count__49818 = G__49898;
|
|
210
|
+
i__49819 = G__49899;
|
|
211
|
+
continue;
|
|
212
|
+
} else {
|
|
213
|
+
var temp__5804__auto__ = cljs.core.seq(seq__49816);
|
|
214
|
+
if(temp__5804__auto__){
|
|
215
|
+
var seq__49816__$1 = temp__5804__auto__;
|
|
216
|
+
if(cljs.core.chunked_seq_QMARK_(seq__49816__$1)){
|
|
217
|
+
var c__5525__auto__ = cljs.core.chunk_first(seq__49816__$1);
|
|
218
|
+
var G__49900 = cljs.core.chunk_rest(seq__49816__$1);
|
|
219
|
+
var G__49901 = c__5525__auto__;
|
|
220
|
+
var G__49902 = cljs.core.count(c__5525__auto__);
|
|
221
|
+
var G__49903 = (0);
|
|
222
|
+
seq__49816 = G__49900;
|
|
223
|
+
chunk__49817 = G__49901;
|
|
224
|
+
count__49818 = G__49902;
|
|
225
|
+
i__49819 = G__49903;
|
|
226
|
+
continue;
|
|
227
|
+
} else {
|
|
228
|
+
var e = cljs.core.first(seq__49816__$1);
|
|
229
|
+
fress.api.write_object.cljs$core$IFn$_invoke$arity$2(writer,e);
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
var G__49906 = cljs.core.next(seq__49816__$1);
|
|
233
|
+
var G__49907 = null;
|
|
234
|
+
var G__49908 = (0);
|
|
235
|
+
var G__49909 = (0);
|
|
236
|
+
seq__49816 = G__49906;
|
|
237
|
+
chunk__49817 = G__49907;
|
|
238
|
+
count__49818 = G__49908;
|
|
239
|
+
i__49819 = G__49909;
|
|
240
|
+
continue;
|
|
241
|
+
}
|
|
242
|
+
} else {
|
|
243
|
+
return null;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
break;
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
incognito.fressian.set_reader = (function incognito$fressian$set_reader(reader,_,___$1){
|
|
250
|
+
var l = fress.api.read_object(reader);
|
|
251
|
+
return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashSet.EMPTY,l);
|
|
252
|
+
});
|
|
253
|
+
incognito.fressian.write_tree_map = (function incognito$fressian$write_tree_map(w,m){
|
|
254
|
+
fress.api.write_tag(w,"map",(1));
|
|
255
|
+
|
|
256
|
+
fress.writer.beginClosedList(w);
|
|
257
|
+
|
|
258
|
+
var seq__49831_49912 = cljs.core.seq(m);
|
|
259
|
+
var chunk__49833_49913 = null;
|
|
260
|
+
var count__49834_49914 = (0);
|
|
261
|
+
var i__49835_49915 = (0);
|
|
262
|
+
while(true){
|
|
263
|
+
if((i__49835_49915 < count__49834_49914)){
|
|
264
|
+
var vec__49847_49917 = chunk__49833_49913.cljs$core$IIndexed$_nth$arity$2(null, i__49835_49915);
|
|
265
|
+
var field_49918 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49847_49917,(0),null);
|
|
266
|
+
var value_49919 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49847_49917,(1),null);
|
|
267
|
+
fress.api.write_object.cljs$core$IFn$_invoke$arity$3(w,field_49918,true);
|
|
268
|
+
|
|
269
|
+
fress.api.write_object.cljs$core$IFn$_invoke$arity$2(w,value_49919);
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
var G__49920 = seq__49831_49912;
|
|
273
|
+
var G__49921 = chunk__49833_49913;
|
|
274
|
+
var G__49922 = count__49834_49914;
|
|
275
|
+
var G__49923 = (i__49835_49915 + (1));
|
|
276
|
+
seq__49831_49912 = G__49920;
|
|
277
|
+
chunk__49833_49913 = G__49921;
|
|
278
|
+
count__49834_49914 = G__49922;
|
|
279
|
+
i__49835_49915 = G__49923;
|
|
280
|
+
continue;
|
|
281
|
+
} else {
|
|
282
|
+
var temp__5804__auto___49924 = cljs.core.seq(seq__49831_49912);
|
|
283
|
+
if(temp__5804__auto___49924){
|
|
284
|
+
var seq__49831_49925__$1 = temp__5804__auto___49924;
|
|
285
|
+
if(cljs.core.chunked_seq_QMARK_(seq__49831_49925__$1)){
|
|
286
|
+
var c__5525__auto___49926 = cljs.core.chunk_first(seq__49831_49925__$1);
|
|
287
|
+
var G__49927 = cljs.core.chunk_rest(seq__49831_49925__$1);
|
|
288
|
+
var G__49928 = c__5525__auto___49926;
|
|
289
|
+
var G__49929 = cljs.core.count(c__5525__auto___49926);
|
|
290
|
+
var G__49930 = (0);
|
|
291
|
+
seq__49831_49912 = G__49927;
|
|
292
|
+
chunk__49833_49913 = G__49928;
|
|
293
|
+
count__49834_49914 = G__49929;
|
|
294
|
+
i__49835_49915 = G__49930;
|
|
295
|
+
continue;
|
|
296
|
+
} else {
|
|
297
|
+
var vec__49853_49931 = cljs.core.first(seq__49831_49925__$1);
|
|
298
|
+
var field_49932 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49853_49931,(0),null);
|
|
299
|
+
var value_49933 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49853_49931,(1),null);
|
|
300
|
+
fress.api.write_object.cljs$core$IFn$_invoke$arity$3(w,field_49932,true);
|
|
301
|
+
|
|
302
|
+
fress.api.write_object.cljs$core$IFn$_invoke$arity$2(w,value_49933);
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
var G__49934 = cljs.core.next(seq__49831_49925__$1);
|
|
306
|
+
var G__49935 = null;
|
|
307
|
+
var G__49936 = (0);
|
|
308
|
+
var G__49937 = (0);
|
|
309
|
+
seq__49831_49912 = G__49934;
|
|
310
|
+
chunk__49833_49913 = G__49935;
|
|
311
|
+
count__49834_49914 = G__49936;
|
|
312
|
+
i__49835_49915 = G__49937;
|
|
313
|
+
continue;
|
|
314
|
+
}
|
|
315
|
+
} else {
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
break;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
return fress.writer.endList(w);
|
|
322
|
+
});
|
|
323
|
+
incognito.fressian.incognito_read_handlers = (function incognito$fressian$incognito_read_handlers(read_handlers){
|
|
324
|
+
return new cljs.core.PersistentArrayMap(null, 4, ["plist",incognito.fressian.plist_reader,"pvec",incognito.fressian.pvec_reader,"set",incognito.fressian.set_reader,"irecord",incognito.fressian.record_reader(read_handlers)], null);
|
|
325
|
+
});
|
|
326
|
+
incognito.fressian.incognito_write_handlers = (function incognito$fressian$incognito_write_handlers(write_handlers){
|
|
327
|
+
return cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.List,incognito.fressian.plist_writer,cljs.core.EmptyList,incognito.fressian.plist_writer,cljs.core.PersistentTreeMap,incognito.fressian.write_tree_map,"record",incognito.fressian.record_writer(write_handlers),cljs.core.LazySeq,incognito.fressian.plist_writer,cljs.core.PersistentVector,incognito.fressian.pvec_writer]);
|
|
328
|
+
});
|
|
329
|
+
|
|
330
|
+
//# sourceMappingURL=incognito.fressian.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["incognito/fressian.cljs"],"mappings":"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","names":["incognito.fressian/record-writer","write-handlers","writer","rec","map__49771","cljs.core/--destructure-map","cljs.core.get","tag","value","r","cljs.core.isa_QMARK_","cljs.core/type","incognito.base/IncognitoTaggedLiteral","cljs.core.into","cljs.core/deref","incognito.base/incognito-writer","clojure.string/replace-first","cljs.core.symbol","fress.api/write-tag","fress.writer/writeInt","cljs.core/count","fress.api.write_object","seq__49776","cljs.core/seq","chunk__49777","count__49778","i__49779","temp__5804__auto__","cljs.core/chunked-seq?","c__5525__auto__","cljs.core/chunk-first","cljs.core/chunk-rest","cljs.core/first","cljs.core/next","e","incognito.fressian/record-reader","read-handlers","reader","component-count","len","fress.reader/readInt","fress.api/read-object","val","cljs.core.range","cljs.core.map","_","cljs.core/vec","incognito.base/incognito-reader","incognito.fressian/plist-reader","cljs.core/reverse","incognito.fressian/plist-writer","plist","seq__49799","chunk__49800","count__49801","i__49802","incognito.fressian/pvec-reader","incognito.fressian/pvec-writer","pvec","seq__49816","chunk__49817","count__49818","i__49819","incognito.fressian/set-reader","l","incognito.fressian/write-tree-map","w","m","fress.writer/beginClosedList","seq__49831","chunk__49833","count__49834","i__49835","vec__49847","cljs.core.nth","vec__49853","field","fress.writer/endList","incognito.fressian/incognito-read-handlers","incognito.fressian/incognito-write-handlers","cljs.core/List","cljs.core/EmptyList","cljs.core/PersistentTreeMap","cljs.core/LazySeq","cljs.core/PersistentVector"],"sourcesContent":["(ns incognito.fressian\n (:require [incognito.base :refer [incognito-reader incognito-writer IncognitoTaggedLiteral]]\n [fress.api :refer [read-object write-tag write-object]]\n [fress.reader :as r :refer [IFressianReader readInt]]\n [fress.writer :as w :refer [IFressianWriter writeInt beginClosedList endList class-sym]]\n [fress.impl.buffer :as buf]\n [fress.impl.raw-input :as rawIn]))\n\n;;add incognito record-writer-handlers\n(defn record-writer\n [write-handlers]\n (fn [writer rec]\n (let [{:keys [tag value] :as r} (if (isa? (type rec) incognito.base.IncognitoTaggedLiteral)\n (into {} rec)\n (incognito-writer @write-handlers rec))\n tag (-> tag\n str\n (clojure.string/replace-first #\"/\" \".\")\n symbol)]\n (write-tag writer \"irecord\" 2)\n (writeInt writer (count value))\n (write-object writer tag)\n (doseq [e value]\n (write-object writer e)))))\n\n;;add incognito irecord-read-handler\n(defn record-reader\n [read-handlers]\n (fn [reader tag component-count]\n (let [len (readInt reader)\n tag (read-object reader)\n val (->> (range len)\n (map (fn [_] (read-object reader)))\n (map vec)\n (into {}))]\n (incognito-reader @read-handlers\n {:tag tag :value val}))))\n\n(defn- plist-reader [reader _ _]\n (let [len (readInt reader)]\n (->> (range len)\n (map (fn [_] (read-object reader)))\n reverse\n (into '()))))\n\n(defn- plist-writer [writer plist]\n (write-tag writer \"plist\" 2)\n (writeInt writer (count plist))\n (doseq [e plist]\n (write-object writer e)))\n\n(defn- pvec-reader [reader _ _]\n (let [len (readInt reader)]\n (->> (range len)\n (map (fn [_] (read-object reader)))\n (into []))))\n\n(defn- pvec-writer [writer pvec]\n (write-tag writer \"pvec\" 2)\n (writeInt writer (count pvec))\n (doseq [e pvec]\n (write-object writer e)))\n\n(defn- set-reader [reader _ _]\n (let [^List l (read-object reader)]\n (into #{} l)))\n\n(defn- write-tree-map [w m]\n (write-tag w \"map\" 1)\n (beginClosedList w)\n (doseq [[field value] m]\n (write-object w field true)\n (write-object w value))\n (endList w))\n\n(defn incognito-read-handlers [read-handlers]\n {\"plist\" plist-reader\n \"pvec\" pvec-reader\n \"set\" set-reader\n \"irecord\" (record-reader read-handlers)})\n\n(defn incognito-write-handlers [write-handlers]\n {cljs.core/List plist-writer\n cljs.core/EmptyList plist-writer\n cljs.core/PersistentTreeMap write-tree-map\n \"record\" (record-writer write-handlers)\n cljs.core/LazySeq plist-writer\n cljs.core/PersistentVector pvec-writer})\n\n(comment\n\n (do\n (defrecord SomeRecord [f1 f2])\n (def rec (SomeRecord. [1 2 2] {:c \"213\"}))\n (def buf (fress.api/byte-stream))\n (def writer (fress.api/create-writer buf :handlers (incognito-write-handlers (atom {'incognito.fressian.SomeRecord (fn [foo] (println \"foos\") (assoc foo :c \"donkey\"))}))))\n (fress.api/write-object writer rec)\n (fress.api/read buf :handlers (incognito-read-handlers (atom {})))))\n"],"x_google_ignoreList":[0]}
|