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,362 @@
|
|
|
1
|
+
var $CLJS = require("./cljs_env");
|
|
2
|
+
var $jscomp = $CLJS.$jscomp;
|
|
3
|
+
var COMPILED = false;
|
|
4
|
+
require("./cljs.core.js");
|
|
5
|
+
require("./cljs.analyzer.api.js");
|
|
6
|
+
require("./cljs.spec.alpha.js");
|
|
7
|
+
require("./spec_tools.form.js");
|
|
8
|
+
require("./clojure.walk.js");
|
|
9
|
+
var environ=$CLJS.environ || ($CLJS.environ = {});
|
|
10
|
+
var fress=$CLJS.fress || ($CLJS.fress = {});
|
|
11
|
+
var datahike=$CLJS.datahike || ($CLJS.datahike = {});
|
|
12
|
+
var clojure=$CLJS.clojure || ($CLJS.clojure = {});
|
|
13
|
+
var hasch=$CLJS.hasch || ($CLJS.hasch = {});
|
|
14
|
+
var tailrecursion=$CLJS.tailrecursion || ($CLJS.tailrecursion = {});
|
|
15
|
+
var superv=$CLJS.superv || ($CLJS.superv = {});
|
|
16
|
+
var geheimnis=$CLJS.geheimnis || ($CLJS.geheimnis = {});
|
|
17
|
+
var is=$CLJS.is || ($CLJS.is = {});
|
|
18
|
+
var cljs=$CLJS.cljs || ($CLJS.cljs = {});
|
|
19
|
+
var cljs_node_io=$CLJS.cljs_node_io || ($CLJS.cljs_node_io = {});
|
|
20
|
+
var goog=$CLJS.goog || ($CLJS.goog = {});
|
|
21
|
+
var konserve=$CLJS.konserve || ($CLJS.konserve = {});
|
|
22
|
+
var datalog=$CLJS.datalog || ($CLJS.datalog = {});
|
|
23
|
+
var spec_tools=$CLJS.spec_tools || ($CLJS.spec_tools = {});
|
|
24
|
+
var taoensso=$CLJS.taoensso || ($CLJS.taoensso = {});
|
|
25
|
+
var incognito=$CLJS.incognito || ($CLJS.incognito = {});
|
|
26
|
+
var medley=$CLJS.medley || ($CLJS.medley = {});
|
|
27
|
+
var me=$CLJS.me || ($CLJS.me = {});
|
|
28
|
+
|
|
29
|
+
$CLJS.SHADOW_ENV.setLoaded("spec_tools.impl.js");
|
|
30
|
+
|
|
31
|
+
goog.provide('spec_tools.impl');
|
|
32
|
+
spec_tools.impl.cljs_sym = (function spec_tools$impl$cljs_sym(x){
|
|
33
|
+
if(cljs.core.map_QMARK_(x)){
|
|
34
|
+
return new cljs.core.Keyword(null,"name","name",1843675177).cljs$core$IFn$_invoke$arity$1(x);
|
|
35
|
+
} else {
|
|
36
|
+
return x;
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
spec_tools.impl.clj_sym = (function spec_tools$impl$clj_sym(x){
|
|
40
|
+
if(cljs.core.var_QMARK_(x)){
|
|
41
|
+
var v = x;
|
|
42
|
+
return cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(v.ns().name()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(v.sym()));
|
|
43
|
+
} else {
|
|
44
|
+
return x;
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
spec_tools.impl.__GT_sym = (function spec_tools$impl$__GT_sym(x){
|
|
48
|
+
return spec_tools.impl.cljs_sym(x);
|
|
49
|
+
});
|
|
50
|
+
spec_tools.impl.unfn = (function spec_tools$impl$unfn(cljs_QMARK_,expr){
|
|
51
|
+
if(((cljs.core.seq_QMARK_(expr)) && ((((cljs.core.first(expr) instanceof cljs.core.Symbol)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2("fn*",cljs.core.name(cljs.core.first(expr)))))))){
|
|
52
|
+
var vec__125291 = cljs.core.rest(expr);
|
|
53
|
+
var seq__125292 = cljs.core.seq(vec__125291);
|
|
54
|
+
var first__125293 = cljs.core.first(seq__125292);
|
|
55
|
+
var seq__125292__$1 = cljs.core.next(seq__125292);
|
|
56
|
+
var vec__125294 = first__125293;
|
|
57
|
+
var s = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__125294,(0),null);
|
|
58
|
+
var form = seq__125292__$1;
|
|
59
|
+
return cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(clojure.walk.postwalk_replace(cljs.core.PersistentArrayMap.createAsIfByAssoc([s,new cljs.core.Symbol(null,"%","%",-950237169,null)]),form),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(cljs.core.truth_(cljs_QMARK_)?new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null):new cljs.core.Symbol("clojure.core","fn","clojure.core/fn",-980152636,null))], 0));
|
|
60
|
+
} else {
|
|
61
|
+
return expr;
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
spec_tools.impl.polish = (function spec_tools$impl$polish(x){
|
|
65
|
+
if(cljs.core.seq_QMARK_(x)){
|
|
66
|
+
return cljs.core.flatten(cljs.core.keep.cljs$core$IFn$_invoke$arity$2(spec_tools.impl.polish,x));
|
|
67
|
+
} else {
|
|
68
|
+
if((x instanceof cljs.core.Symbol)){
|
|
69
|
+
return null;
|
|
70
|
+
} else {
|
|
71
|
+
return x;
|
|
72
|
+
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
spec_tools.impl.polish_un = (function spec_tools$impl$polish_un(x){
|
|
77
|
+
var G__125321 = x;
|
|
78
|
+
var G__125321__$1 = (((G__125321 == null))?null:spec_tools.impl.polish(G__125321));
|
|
79
|
+
var G__125321__$2 = (((G__125321__$1 == null))?null:cljs.core.name(G__125321__$1));
|
|
80
|
+
if((G__125321__$2 == null)){
|
|
81
|
+
return null;
|
|
82
|
+
} else {
|
|
83
|
+
return cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(G__125321__$2);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
spec_tools.impl.un_key = (function spec_tools$impl$un_key(x){
|
|
87
|
+
var G__125334 = x;
|
|
88
|
+
var G__125334__$1 = (((G__125334 == null))?null:cljs.core.name(G__125334));
|
|
89
|
+
if((G__125334__$1 == null)){
|
|
90
|
+
return null;
|
|
91
|
+
} else {
|
|
92
|
+
return cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(G__125334__$1);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
spec_tools.impl.with_key__GT_spec = (function spec_tools$impl$with_key__GT_spec(p__125344){
|
|
96
|
+
var map__125345 = p__125344;
|
|
97
|
+
var map__125345__$1 = cljs.core.__destructure_map(map__125345);
|
|
98
|
+
var data = map__125345__$1;
|
|
99
|
+
var req = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__125345__$1,new cljs.core.Keyword(null,"req","req",-326448303));
|
|
100
|
+
var req_un = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__125345__$1,new cljs.core.Keyword(null,"req-un","req-un",1074571008));
|
|
101
|
+
var opt = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__125345__$1,new cljs.core.Keyword(null,"opt","opt",-794706369));
|
|
102
|
+
var opt_un = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__125345__$1,new cljs.core.Keyword(null,"opt-un","opt-un",883442496));
|
|
103
|
+
var key__GT_spec = cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.juxt.cljs$core$IFn$_invoke$arity$2(cljs.core.identity,cljs.core.identity),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(opt,req)));
|
|
104
|
+
var un_key__GT_spec = cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.juxt.cljs$core$IFn$_invoke$arity$2(spec_tools.impl.un_key,cljs.core.identity),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(opt_un,req_un)));
|
|
105
|
+
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(data,new cljs.core.Keyword(null,"key->spec","key->spec",1088543019),cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([key__GT_spec,un_key__GT_spec], 0)));
|
|
106
|
+
});
|
|
107
|
+
spec_tools.impl.with_real_keys = (function spec_tools$impl$with_real_keys(p__125361){
|
|
108
|
+
var map__125364 = p__125361;
|
|
109
|
+
var map__125364__$1 = cljs.core.__destructure_map(map__125364);
|
|
110
|
+
var data = map__125364__$1;
|
|
111
|
+
var req_un = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__125364__$1,new cljs.core.Keyword(null,"req-un","req-un",1074571008));
|
|
112
|
+
var opt_un = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__125364__$1,new cljs.core.Keyword(null,"opt-un","opt-un",883442496));
|
|
113
|
+
var G__125366 = data;
|
|
114
|
+
var G__125366__$1 = (cljs.core.truth_(req_un)?cljs.core.update.cljs$core$IFn$_invoke$arity$3(G__125366,new cljs.core.Keyword(null,"req-un","req-un",1074571008),cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.core.mapv,spec_tools.impl.un_key)):G__125366);
|
|
115
|
+
if(cljs.core.truth_(opt_un)){
|
|
116
|
+
return cljs.core.update.cljs$core$IFn$_invoke$arity$3(G__125366__$1,new cljs.core.Keyword(null,"opt-un","opt-un",883442496),cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.core.mapv,spec_tools.impl.un_key));
|
|
117
|
+
} else {
|
|
118
|
+
return G__125366__$1;
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
spec_tools.impl.parse_keys = (function spec_tools$impl$parse_keys(form){
|
|
122
|
+
var m = (function (){var G__125405 = form;
|
|
123
|
+
var G__125405__$1 = (((G__125405 == null))?null:cljs.core.rest(G__125405));
|
|
124
|
+
if((G__125405__$1 == null)){
|
|
125
|
+
return null;
|
|
126
|
+
} else {
|
|
127
|
+
return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,G__125405__$1);
|
|
128
|
+
}
|
|
129
|
+
})();
|
|
130
|
+
var G__125407 = m;
|
|
131
|
+
var G__125407__$1 = (cljs.core.truth_(new cljs.core.Keyword(null,"req","req",-326448303).cljs$core$IFn$_invoke$arity$1(m))?cljs.core.update.cljs$core$IFn$_invoke$arity$3(G__125407,new cljs.core.Keyword(null,"req","req",-326448303),(function (p1__125378_SHARP_){
|
|
132
|
+
return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.keep.cljs$core$IFn$_invoke$arity$2(spec_tools.impl.polish,cljs.core.flatten(p1__125378_SHARP_)));
|
|
133
|
+
})):G__125407);
|
|
134
|
+
var G__125407__$2 = (cljs.core.truth_(new cljs.core.Keyword(null,"req-un","req-un",1074571008).cljs$core$IFn$_invoke$arity$1(m))?cljs.core.update.cljs$core$IFn$_invoke$arity$3(G__125407__$1,new cljs.core.Keyword(null,"req-un","req-un",1074571008),(function (p1__125388_SHARP_){
|
|
135
|
+
return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.keep.cljs$core$IFn$_invoke$arity$2(spec_tools.impl.polish,cljs.core.flatten(p1__125388_SHARP_)));
|
|
136
|
+
})):G__125407__$1);
|
|
137
|
+
var G__125407__$3 = (cljs.core.truth_(new cljs.core.Keyword(null,"opt-un","opt-un",883442496).cljs$core$IFn$_invoke$arity$1(m))?cljs.core.update.cljs$core$IFn$_invoke$arity$3(G__125407__$2,new cljs.core.Keyword(null,"opt-un","opt-un",883442496),(function (p1__125389_SHARP_){
|
|
138
|
+
return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.keep.cljs$core$IFn$_invoke$arity$2(spec_tools.impl.polish,p1__125389_SHARP_));
|
|
139
|
+
})):G__125407__$2);
|
|
140
|
+
return spec_tools.impl.with_real_keys(spec_tools.impl.with_key__GT_spec(G__125407__$3));
|
|
141
|
+
|
|
142
|
+
});
|
|
143
|
+
spec_tools.impl.extract_keys = (function spec_tools$impl$extract_keys(form){
|
|
144
|
+
var map__125410 = (function (){var G__125411 = form;
|
|
145
|
+
var G__125411__$1 = (((G__125411 == null))?null:cljs.core.rest(G__125411));
|
|
146
|
+
if((G__125411__$1 == null)){
|
|
147
|
+
return null;
|
|
148
|
+
} else {
|
|
149
|
+
return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,G__125411__$1);
|
|
150
|
+
}
|
|
151
|
+
})();
|
|
152
|
+
var map__125410__$1 = cljs.core.__destructure_map(map__125410);
|
|
153
|
+
var req = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__125410__$1,new cljs.core.Keyword(null,"req","req",-326448303));
|
|
154
|
+
var opt = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__125410__$1,new cljs.core.Keyword(null,"opt","opt",-794706369));
|
|
155
|
+
var req_un = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__125410__$1,new cljs.core.Keyword(null,"req-un","req-un",1074571008));
|
|
156
|
+
var opt_un = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__125410__$1,new cljs.core.Keyword(null,"opt-un","opt-un",883442496));
|
|
157
|
+
return cljs.core.flatten(cljs.core.map.cljs$core$IFn$_invoke$arity$2(spec_tools.impl.polish,cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(req,opt,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([req_un,opt_un], 0))));
|
|
158
|
+
});
|
|
159
|
+
spec_tools.impl.extract_pred_and_info = (function spec_tools$impl$extract_pred_and_info(x){
|
|
160
|
+
if(cljs.core.map_QMARK_(x)){
|
|
161
|
+
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"spec","spec",347520401).cljs$core$IFn$_invoke$arity$1(x),cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(x,new cljs.core.Keyword(null,"spec","spec",347520401))], null);
|
|
162
|
+
} else {
|
|
163
|
+
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,cljs.core.PersistentArrayMap.EMPTY], null);
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
spec_tools.impl.strip_fn_if_needed = (function spec_tools$impl$strip_fn_if_needed(form){
|
|
167
|
+
var head = cljs.core.first(form);
|
|
168
|
+
if(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(form),(3))) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(head,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null))))){
|
|
169
|
+
return cljs.core.nth.cljs$core$IFn$_invoke$arity$2(form,(2));
|
|
170
|
+
} else {
|
|
171
|
+
return form;
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
spec_tools.impl.normalize_symbol = (function spec_tools$impl$normalize_symbol(kw){
|
|
175
|
+
var G__125421 = (function (){var and__5000__auto__ = (kw instanceof cljs.core.Symbol);
|
|
176
|
+
if(and__5000__auto__){
|
|
177
|
+
return cljs.core.namespace(kw);
|
|
178
|
+
} else {
|
|
179
|
+
return and__5000__auto__;
|
|
180
|
+
}
|
|
181
|
+
})();
|
|
182
|
+
switch (G__125421) {
|
|
183
|
+
case "spec-tools.spec":
|
|
184
|
+
return cljs.core.symbol.cljs$core$IFn$_invoke$arity$2("clojure.core",cljs.core.name(kw));
|
|
185
|
+
|
|
186
|
+
break;
|
|
187
|
+
case "cljs.core":
|
|
188
|
+
return cljs.core.symbol.cljs$core$IFn$_invoke$arity$2("clojure.core",cljs.core.name(kw));
|
|
189
|
+
|
|
190
|
+
break;
|
|
191
|
+
case "cljs.spec.alpha":
|
|
192
|
+
return cljs.core.symbol.cljs$core$IFn$_invoke$arity$2("clojure.spec.alpha",cljs.core.name(kw));
|
|
193
|
+
|
|
194
|
+
break;
|
|
195
|
+
default:
|
|
196
|
+
return kw;
|
|
197
|
+
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
spec_tools.impl.extract_form = (function spec_tools$impl$extract_form(spec){
|
|
201
|
+
if(cljs.core.seq_QMARK_(spec)){
|
|
202
|
+
return spec;
|
|
203
|
+
} else {
|
|
204
|
+
return cljs.spec.alpha.form(spec);
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
spec_tools.impl.qualified_name = (function spec_tools$impl$qualified_name(key){
|
|
208
|
+
if((key instanceof cljs.core.Keyword)){
|
|
209
|
+
var temp__5802__auto__ = cljs.core.namespace(key);
|
|
210
|
+
if(cljs.core.truth_(temp__5802__auto__)){
|
|
211
|
+
var nn = temp__5802__auto__;
|
|
212
|
+
return [nn,"/",cljs.core.name(key)].join('');
|
|
213
|
+
} else {
|
|
214
|
+
return cljs.core.name(key);
|
|
215
|
+
}
|
|
216
|
+
} else {
|
|
217
|
+
return key;
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
spec_tools.impl.nilable_spec_QMARK_ = (function spec_tools$impl$nilable_spec_QMARK_(spec){
|
|
221
|
+
var form = (function (){var and__5000__auto__ = spec;
|
|
222
|
+
if(cljs.core.truth_(and__5000__auto__)){
|
|
223
|
+
return cljs.spec.alpha.form(spec);
|
|
224
|
+
} else {
|
|
225
|
+
return and__5000__auto__;
|
|
226
|
+
}
|
|
227
|
+
})();
|
|
228
|
+
return cljs.core.boolean$(((cljs.core.seq_QMARK_(form))?(function (){var G__125429 = form;
|
|
229
|
+
var G__125429__$1 = (((G__125429 == null))?null:cljs.core.seq(G__125429));
|
|
230
|
+
var G__125429__$2 = (((G__125429__$1 == null))?null:cljs.core.first(G__125429__$1));
|
|
231
|
+
if((G__125429__$2 == null)){
|
|
232
|
+
return null;
|
|
233
|
+
} else {
|
|
234
|
+
var fexpr__125431 = new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Symbol("cljs.spec.alpha","nilable","cljs.spec.alpha/nilable",1628308748,null),null,new cljs.core.Symbol("clojure.spec.alpha","nilable","clojure.spec.alpha/nilable",-1718644550,null),null], null), null);
|
|
235
|
+
return (fexpr__125431.cljs$core$IFn$_invoke$arity$1 ? fexpr__125431.cljs$core$IFn$_invoke$arity$1(G__125429__$2) : fexpr__125431.call(null, G__125429__$2));
|
|
236
|
+
}
|
|
237
|
+
})():null));
|
|
238
|
+
});
|
|
239
|
+
/**
|
|
240
|
+
* Unwrap [x] to x. Asserts that coll has exactly one element.
|
|
241
|
+
*/
|
|
242
|
+
spec_tools.impl.unwrap = (function spec_tools$impl$unwrap(coll){
|
|
243
|
+
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),cljs.core.count(coll))){
|
|
244
|
+
} else {
|
|
245
|
+
throw (new Error("Assert failed: (= 1 (count coll))"));
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
return cljs.core.first(coll);
|
|
249
|
+
});
|
|
250
|
+
spec_tools.impl.deep_merge = (function spec_tools$impl$deep_merge(var_args){
|
|
251
|
+
var args__5732__auto__ = [];
|
|
252
|
+
var len__5726__auto___125474 = arguments.length;
|
|
253
|
+
var i__5727__auto___125475 = (0);
|
|
254
|
+
while(true){
|
|
255
|
+
if((i__5727__auto___125475 < len__5726__auto___125474)){
|
|
256
|
+
args__5732__auto__.push((arguments[i__5727__auto___125475]));
|
|
257
|
+
|
|
258
|
+
var G__125476 = (i__5727__auto___125475 + (1));
|
|
259
|
+
i__5727__auto___125475 = G__125476;
|
|
260
|
+
continue;
|
|
261
|
+
} else {
|
|
262
|
+
}
|
|
263
|
+
break;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
267
|
+
return spec_tools.impl.deep_merge.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
268
|
+
});
|
|
269
|
+
|
|
270
|
+
(spec_tools.impl.deep_merge.cljs$core$IFn$_invoke$arity$variadic = (function (values){
|
|
271
|
+
if(cljs.core.every_QMARK_(cljs.core.map_QMARK_,values)){
|
|
272
|
+
return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.merge_with,spec_tools.impl.deep_merge,values);
|
|
273
|
+
} else {
|
|
274
|
+
if(cljs.core.every_QMARK_(cljs.core.coll_QMARK_,values)){
|
|
275
|
+
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(cljs.core.into,values);
|
|
276
|
+
} else {
|
|
277
|
+
return cljs.core.last(values);
|
|
278
|
+
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}));
|
|
282
|
+
|
|
283
|
+
(spec_tools.impl.deep_merge.cljs$lang$maxFixedArity = (0));
|
|
284
|
+
|
|
285
|
+
/** @this {Function} */
|
|
286
|
+
(spec_tools.impl.deep_merge.cljs$lang$applyTo = (function (seq125435){
|
|
287
|
+
var self__5712__auto__ = this;
|
|
288
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq125435));
|
|
289
|
+
}));
|
|
290
|
+
|
|
291
|
+
spec_tools.impl.unlift_keys = (function spec_tools$impl$unlift_keys(data,ns_name){
|
|
292
|
+
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (acc,p__125442){
|
|
293
|
+
var vec__125443 = p__125442;
|
|
294
|
+
var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__125443,(0),null);
|
|
295
|
+
var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__125443,(1),null);
|
|
296
|
+
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ns_name,cljs.core.namespace(k))){
|
|
297
|
+
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(acc,cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(cljs.core.name(k)),v);
|
|
298
|
+
} else {
|
|
299
|
+
return acc;
|
|
300
|
+
}
|
|
301
|
+
}),cljs.core.PersistentArrayMap.EMPTY,data);
|
|
302
|
+
});
|
|
303
|
+
spec_tools.impl.register_spec_BANG_ = (function spec_tools$impl$register_spec_BANG_(k,s){
|
|
304
|
+
return cljs.spec.alpha.def_impl(k,cljs.spec.alpha.form(s),s);
|
|
305
|
+
});
|
|
306
|
+
spec_tools.impl.coll_of_spec = (function spec_tools$impl$coll_of_spec(pred,type){
|
|
307
|
+
var form = spec_tools.form.resolve_form.cljs$core$IFn$_invoke$arity$1(pred);
|
|
308
|
+
var cpred = ((cljs.core.set_QMARK_(type))?cljs.core.set_QMARK_:cljs.core.vector_QMARK_);
|
|
309
|
+
return cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4(form,pred,new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"into","into",-150836029),type,new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),true,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.spec.alpha","coll-of","cljs.spec.alpha/coll-of",1019430407,null),null,(1),null)),(new cljs.core.List(null,form,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,"into","into",-150836029),null,(1),null)),(new cljs.core.List(null,type,null,(1),null))], 0)))),new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),cpred,new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null], null),null);
|
|
310
|
+
});
|
|
311
|
+
spec_tools.impl.map_of_spec = (function spec_tools$impl$map_of_spec(kpred,vpred){
|
|
312
|
+
var forms = cljs.core.map.cljs$core$IFn$_invoke$arity$2(spec_tools.form.resolve_form,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [kpred,vpred], null));
|
|
313
|
+
var tuple = cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$2(forms,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [kpred,vpred], null));
|
|
314
|
+
return cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.spec.alpha","tuple","cljs.spec.alpha/tuple",-415901908,null),null,(1),null)),forms))),tuple,new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,"into","into",-150836029),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"conform-keys","conform-keys",-1800041814),true,new cljs.core.Keyword("cljs.spec.alpha","kfn","cljs.spec.alpha/kfn",672643897),(function (_,v){
|
|
315
|
+
return cljs.core.nth.cljs$core$IFn$_invoke$arity$2(v,(0));
|
|
316
|
+
}),new cljs.core.Keyword("cljs.spec.alpha","conform-all","cljs.spec.alpha/conform-all",45201917),true,new cljs.core.Keyword("cljs.spec.alpha","describe","cljs.spec.alpha/describe",1883026911),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.spec.alpha","map-of","cljs.spec.alpha/map-of",153715093,null),null,(1),null)),forms,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,"conform-keys","conform-keys",-1800041814),null,(1),null)),(new cljs.core.List(null,true,null,(1),null))], 0)))),new cljs.core.Keyword("cljs.spec.alpha","cpred","cljs.spec.alpha/cpred",-693471218),cljs.core.map_QMARK_,new cljs.core.Keyword("cljs.spec.alpha","kind-form","cljs.spec.alpha/kind-form",-1047104697),null], null),null);
|
|
317
|
+
});
|
|
318
|
+
spec_tools.impl.keys_spec = (function spec_tools$impl$keys_spec(p__125452){
|
|
319
|
+
var map__125453 = p__125452;
|
|
320
|
+
var map__125453__$1 = cljs.core.__destructure_map(map__125453);
|
|
321
|
+
var req = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__125453__$1,new cljs.core.Keyword(null,"req","req",-326448303));
|
|
322
|
+
var opt = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__125453__$1,new cljs.core.Keyword(null,"opt","opt",-794706369));
|
|
323
|
+
var req_un = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__125453__$1,new cljs.core.Keyword(null,"req-un","req-un",1074571008));
|
|
324
|
+
var opt_un = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__125453__$1,new cljs.core.Keyword(null,"opt-un","opt-un",883442496));
|
|
325
|
+
var req_specs = cljs.core.flatten(cljs.core.map.cljs$core$IFn$_invoke$arity$2(spec_tools.impl.polish,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(req,req_un)));
|
|
326
|
+
var opt_specs = cljs.core.flatten(cljs.core.map.cljs$core$IFn$_invoke$arity$2(spec_tools.impl.polish,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(opt,opt_un)));
|
|
327
|
+
var req_keys = cljs.core.flatten(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$2(spec_tools.impl.polish,req),cljs.core.map.cljs$core$IFn$_invoke$arity$2(spec_tools.impl.polish_un,req_un)));
|
|
328
|
+
var opt_keys = cljs.core.flatten(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$2(spec_tools.impl.polish,opt),cljs.core.map.cljs$core$IFn$_invoke$arity$2(spec_tools.impl.polish_un,opt_un)));
|
|
329
|
+
var pred_exprs = cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (p1__125450_SHARP_){
|
|
330
|
+
return cljs.core.map_QMARK_(p1__125450_SHARP_);
|
|
331
|
+
})], null),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (x){
|
|
332
|
+
return (function (p1__125451_SHARP_){
|
|
333
|
+
return cljs.core.contains_QMARK_(p1__125451_SHARP_,x);
|
|
334
|
+
});
|
|
335
|
+
}),req_keys));
|
|
336
|
+
var pred_forms = cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(null,"%","%",-950237169,null),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","map?","cljs.core/map?",-1390345523,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"%","%",-950237169,null),null,(1),null))))),null,(1),null))], 0))))], null),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (k){
|
|
337
|
+
return cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(null,"%","%",-950237169,null),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","contains?","cljs.core/contains?",-976526835,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"%","%",-950237169,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,k,null,(1),null))], 0)))),null,(1),null))], 0))));
|
|
338
|
+
}),req_keys));
|
|
339
|
+
var keys_pred = (function (x){
|
|
340
|
+
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (_,p){
|
|
341
|
+
var or__5002__auto__ = (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null, x));
|
|
342
|
+
if(cljs.core.truth_(or__5002__auto__)){
|
|
343
|
+
return or__5002__auto__;
|
|
344
|
+
} else {
|
|
345
|
+
return cljs.core.reduced(false);
|
|
346
|
+
}
|
|
347
|
+
}),true,pred_exprs);
|
|
348
|
+
});
|
|
349
|
+
return cljs.spec.alpha.map_spec_impl(cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"req-un","req-un",1074571008),new cljs.core.Keyword(null,"opt-un","opt-un",883442496),new cljs.core.Keyword(null,"pred-exprs","pred-exprs",1792271395),new cljs.core.Keyword(null,"keys-pred","keys-pred",858984739),new cljs.core.Keyword(null,"opt-keys","opt-keys",1262688261),new cljs.core.Keyword(null,"req-specs","req-specs",553962313),new cljs.core.Keyword(null,"req","req",-326448303),new cljs.core.Keyword(null,"req-keys","req-keys",514319221),new cljs.core.Keyword(null,"opt-specs","opt-specs",-384905450),new cljs.core.Keyword(null,"pred-forms","pred-forms",172611832),new cljs.core.Keyword(null,"opt","opt",-794706369)],[req_un,opt_un,pred_exprs,keys_pred,opt_keys,req_specs,req,req_keys,opt_specs,pred_forms,opt]));
|
|
350
|
+
});
|
|
351
|
+
spec_tools.impl.nilable_spec = (function spec_tools$impl$nilable_spec(pred){
|
|
352
|
+
var form = spec_tools.form.resolve_form.cljs$core$IFn$_invoke$arity$1(pred);
|
|
353
|
+
return cljs.spec.alpha.nilable_impl(form,pred,null);
|
|
354
|
+
});
|
|
355
|
+
spec_tools.impl.or_spec = (function spec_tools$impl$or_spec(v){
|
|
356
|
+
var ks = cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(cljs.core.first,v);
|
|
357
|
+
var preds = cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(cljs.core.second,v);
|
|
358
|
+
var forms = cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(spec_tools.form.resolve_form,preds);
|
|
359
|
+
return cljs.spec.alpha.or_spec_impl(ks,forms,preds,null);
|
|
360
|
+
});
|
|
361
|
+
|
|
362
|
+
//# sourceMappingURL=spec_tools.impl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["spec_tools/impl.cljc"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,2BAAA,3BAAOA,8DAAUC;AAAjB,AACE,GAAI,AAACC,qBAAKD;AACR,OAAA,mFAAOA;;AACPA;;;AAEJ,0BAAA,1BAAOE,4DAASF;AAAhB,AACE,GAAI,AAACG,qBAAKH;AACR,IAAWI,IAAEJ;AAAb,AACE,OAACK,+CAAO,4CAAK,AAAO,AAAKD,eACjB,4CAAK,AAAMA;;AACrBJ;;;AAEJ,2BAAA,3BAAMM,8DAAON;AAAb,AAEW,OAACD,yBAASC;;AAErB,uBAAA,vBAAOO,sDAAMC,YAAMC;AAAnB,AACE,GAAI,kCAAA,hCAAkB,AAACC,qBAAKD,aACN,kCAAAE,jCAAS,AAACC,gBAAMH,wCAChB,6CAAA,7CAACI,mDAAQ,AAACC,eAAK,AAACF,gBAAMH;AAC1C,IAAAM,cAAmB,AAACS,eAAKf;IAAzBO,cAAA,AAAAC,cAAAF;IAAAG,gBAAA,AAAAN,gBAAAI;IAAAA,kBAAA,AAAAG,eAAAH;IAAAI,cAAAF;QAAA,AAAAG,4CAAAD,YAAA,IAAA,hEAAQE;WAARN,PAAaO;AAAb,AACE,sMAAA,AAAA,/LAACE,oDAAK,8BAAA,kDAAA,AAAA,hFAACC,8EAAuBJ,uDAAMC,sMAAW,+BAAA,AAAA,uEAAA,AAAA,pFAAIf;;AACrDC;;;AAMJ,yBAAA,zBAAMkB,0DAAQ3B;AAAd,AACE,GACE,AAACU,qBAAKV;AAAG,OAAC4B,kBAAQ,AAACC,6CAAKF,uBAAO3B;;AADjC,GAEE,cAAAW,bAASX;AAFX;;AAAA,AAGQA;;;;;AAEV,4BAAA,5BAAM8B,gEAAW9B;AAAjB,AACE,IAAA+B,YAAQ/B;IAAR+B,gBAAA,EAAA,CAAAA,aAAA,OAAA,KAAA,uBAAAA,vBAAUJ;IAAVI,gBAAA,EAAA,CAAAA,iBAAA,OAAA,KAAA,eAAAA,fAAiBjB;AAAjB,AAAA,GAAA,CAAAiB,iBAAA;AAAA;;AAAA,uDAAAA,hDAAsBC;;;AAExB,yBAAA,zBAAMC,0DAAQjC;AAAd,AACE,IAAAkC,YAAQlC;IAARkC,gBAAA,EAAA,CAAAA,aAAA,OAAA,KAAA,eAAAA,fAAUpB;AAAV,AAAA,GAAA,CAAAoB,iBAAA;AAAA;;AAAA,uDAAAA,hDAAeF;;;AAEjB,oCAAA,4CAAAG,hFAAMI;AAAN,AAAA,IAAAH,cAAAD;IAAAC,kBAAA,AAAAC,4BAAAD;WAAAA,PAAyDQ;UAAzD,AAAAN,4CAAAF,gBAAA,lEAA8BI;aAA9B,AAAAF,4CAAAF,gBAAA,rEAAkCK;UAAlC,AAAAH,4CAAAF,gBAAA,lEAAyCM;aAAzC,AAAAJ,4CAAAF,gBAAA,rEAA6CO;AAA7C,AACE,IAAME,+NAAe,AAACC,+CAAOJ,IAAIF,nLAAK,AAACO,4CAAI,AAACC,6CAAKC,mBAASA,5LAAW,6CAAA,7CAACC;IAChEC,sOAAkB,AAACL,+CAAOH,OAAOF,1LAAQ,AAACM,4CAAI,AAACC,6CAAKf,uBAAOgB,hMAAW,6CAAA,7CAACC;AAD7E,AAEE,0DAAA,nDAACE,8CAAMR,oEAAgB,AAACS,uGAAMR,aAAUM;;AAE5C,iCAAA,yCAAAG,1EAAME;AAAN,AAAA,IAAAD,cAAAD;IAAAC,kBAAA,AAAAlB,4BAAAkB;WAAAA,PAAiDX;aAAjD,AAAAN,4CAAAiB,gBAAA,rEAA8Bd;aAA9B,AAAAH,4CAAAiB,gBAAA,rEAAqCZ;AAArC,AACE,IAAAc,YAAQb;IAARa,gBAAA,oOAAAA,lNACQhB,QAAO,+CAAAgB,UAAA,zDAACC,kHAAe,AAACC,gDAAQC,eAAK3B;AAD7C,AAAA,oBAEQU;AAAO,sDAAAc,cAAA,7DAACC,qHAAe,AAACC,gDAAQC,eAAK3B;;AAF7CwB;;;AAIF,6BAAA,7BAAMI,kEAAYtC;AAAlB,AACE,IAAMuC,IAAE,iBAAAC,YAASxC;IAATwC,gBAAA,EAAA,CAAAA,aAAA,OAAA,KAAc,eAAAA,fAACvC;AAAf,AAAA,GAAA,CAAAuC,iBAAA;AAAA;;AAAqB,wEAAAA,jEAACC,8CAAMC;;;AAApC,AACE,IAAAC,YAAQJ;IAARI,gBAAA,kBACQ,AAAA,iFAAMJ,IAAG,+CAAAI,UAAA,mDAAA,WAAAC,vHAACT;AAAD,yJAAqB9B,pEAAQ,oEAAA,kBAAAuC,tFAACtC,6CAAKF,lIAAQ,oDAAA,7CAACuB;IAD7DgB;IAAAA,gBAAA,kBAEQ,AAAA,uFAASJ,IAAG,+CAAAI,cAAA,yDAAA,WAAAE,jIAACV;AAAD,yJAAwB9B,pEAAQ,oEAAA,kBAAAwC,tFAACvC,6CAAKF,lIAAQ,oDAAA,7CAACuB;IAFnEgB;IAAAA,gBAAA,kBAGQ,AAAA,sFAASJ,IAAG,+CAAAI,cAAA,wDAAA,WAAAG,hIAACX;AAAD,qFAAwB,oEAAAW,pEAACxC,6CAAKF,lIAAQ,oDAAA,7CAACuB;IAH3DgB;AAAA,AAAA,AAIa,sCAAA,kCAAAA,lCAAI3B,/BAAeiB;;;AAEpC,+BAAA,/BAAMc,sEAAc/C;AAApB,AACE,IAAAgD,cAAsC,iBAAAC,YAASjD;IAATiD,gBAAA,EAAA,CAAAA,aAAA,OAAA,KAAc,eAAAA,fAAChD;AAAf,AAAA,GAAA,CAAAgD,iBAAA;AAAA;;AAAqB,wEAAAA,jEAACR,8CAAMC;;;IAAlEM,kBAAA,AAAAlC,4BAAAkC;UAAA,AAAAjC,4CAAAiC,gBAAA,lEAAc/B;UAAd,AAAAF,4CAAAiC,gBAAA,lEAAkB7B;aAAlB,AAAAJ,4CAAAiC,gBAAA,rEAAsB9B;aAAtB,AAAAH,4CAAAiC,gBAAA,rEAA6B5B;AAA7B,AACE,OAACf,kBAAQ,AAACmB,4CAAIpB,uBAAO,AAACmB,sDAAON,IAAIE,sDAAID,OAAOE;;AAsBhD,wCAAA,xCAAM8B,wFAAuBzE;AAA7B,AACE,GAAI,AAACC,qBAAKD;AAAV,0FACG,AAAA,kFAAOA,GAAG,iDAAA,jDAAC0E,+CAAO1E;;AADrB,4FAAA,FAEGA;;;AAEL,qCAAA,rCAAM2E,kFAAoBpD;AAA1B,AACE,IAAMqD,OAAK,AAAChE,gBAAMW;AAAlB,AAGE,GAAI,EAAK,mEAAA,nEAACV,6CAAE,AAACgE,gBAAMtD,gBAAS,kDAAA,AAAA,lDAACV,6CAAE+D;AAC7B,wDAAA,jDAACvD,4CAAIE;;AACLA;;;AAEN,mCAAA,nCAAMuD,8EAAkBC;AAAxB,AACE,IAAAC,YAAM,iBAAAC,oBAAK,eAAAtE,dAASoE;AAAd,AAAA,GAAAE;AAAkB,OAACC,oBAAUH;;AAA7BE;;;AAAN,AAAA,QAAAD;KAAA;AACoB,sDAAA,/CAAC3E,8DAAsB,AAACS,eAAKiE;;;KADjD;AAEc,sDAAA,/CAAC1E,8DAAsB,AAACS,eAAKiE;;;KAF3C;AAGoB,sDAAA,/CAAC1E,oEAA4B,AAACS,eAAKiE;;;;AACrDA;;;;AAEJ,+BAAA,/BAAMI,sEAAcC;AAApB,AACE,GAAI,AAAC1E,qBAAK0E;AAAMA;;AAAK,OAACC,qBAAOD;;;AAE/B,iCAAA,jCAAME,0EAAgBC;AAAtB,AACE,GAAI,gBAAAC,fAAUD;AACZ,IAAAE,qBAAY,AAACP,oBAAUK;AAAvB,AAAA,oBAAAE;AAAA,SAAAA,LAASC;AAAT,AACE,WAAA,HAAKA,OAAO,AAAC5E,eAAKyE;;AAClB,OAACzE,eAAKyE;;;AACRA;;;AAEJ,sCAAA,tCAAMI,oFAAeP;AAArB,AACE,IAAM7D,OAAK,iBAAA0D,oBAAKG;AAAL,AAAA,oBAAAH;AAAU,OAACI,qBAAOD;;AAAlBH;;;AAAX,AACE,OAACW,mBACC,EAAI,AAAClF,qBAAKa,OACR,iBAAAsE,YAAQtE;IAARsE,gBAAA,EAAA,CAAAA,aAAA,OAAA,KAAA,cAAAA,dACQ5E;IADR4E,gBAAA,EAAA,CAAAA,iBAAA,OAAA,KAAA,gBAAAA,hBAEQjF;AAFR,AAAA,GAAA,CAAAiF,iBAAA;AAAA;;AAAA,IAAAC,gBAAA,iFAAA,AAAA,iGAAA,AAAA;AAAA,AAAA,QAAAA,8CAAAA,4CAAAD,iBAAAC,yBAAAD;;KADF;;AAON;;;yBAAA,zBAAMG,0DAEHC;AAFH,AAAA,GAGS,6CAAA,7CAACpF,iDAAI,AAACgE,gBAAMoB;AAHrB;AAAA,AAAA,MAAA,KAAAF,MAAA;;;AAIE,OAACnF,gBAAMqF;;AAET,AAAA,6BAAA,qCAAAC,lEAAMM;AAAN,AAAA,IAAAL,qBAAA;AAAA,AAAA,IAAAC,2BAAA,AAAA;AAAA,AAAA,IAAAC,yBAAA;;AAAA,AAAA,GAAA,CAAAA,yBAAAD;AAAA,AAAA,AAAAD,wBAAA,CAAA,UAAAE;;AAAA,gBAAA,CAAAA,yBAAA;;;;AAAA;;;;AAAA,IAAAC,uBAAA,EAAA,CAAA,MAAA,AAAAH,4BAAA,AAAA,KAAAI,qBAAA,AAAAJ,yBAAA,KAAA,IAAA,OAAA;AAAA,AAAA,OAAAK,gEAAAF;;;AAAA,AAAA,CAAA,kEAAA,lEAAME,6EAAcG;AAApB,AACE,GACE,AAACC,uBAAO3G,qBAAK0G;AACb,OAAC3C,8CAAM6C,qBAAWL,2BAAWG;;AAF/B,GAIE,AAACC,uBAAOE,sBAAMH;AACd,OAACI,+CAAOC,eAAKL;;AALf,AAQE,OAACM,eAAKN;;;;;;AATV,CAAA,qDAAA,rDAAMH;;AAAN;AAAA,CAAA,+CAAA,WAAAC,1DAAMD;AAAN,AAAA,IAAAE,qBAAA;AAAA,AAAA,OAAAA,wDAAA,AAAAzF,cAAAwF;;;AAAA,AAWA,8BAAA,9BAAMS,oEAAatE,KAAKuE;AAAxB,AACE,OAACJ,+CACC,eAAAK,JAAKE;AAAL,AAAA,IAAAD,cAAAD;QAAA,AAAA/F,4CAAAgG,YAAA,IAAA,hEAAUE;QAAV,AAAAlG,4CAAAgG,YAAA,IAAA,hEAAYjH;AAAZ,AACE,GAAI,AAACS,6CAAEsG,QAAQ,AAACjC,oBAAUqC;AACxB,OAACnE,8CAAMkE,IAAI,AAACtF,gDAAQ,AAAClB,eAAKyG,IAAInH;;AAC9BkH;;GAJN,mCAKK1E;;AAMP,sCAAA,tCAAM4E,oFAAgBD,EAAEjG;AAAxB,AACE,OAACmG,yBAAWF,EAAE,AAAClC,qBAAO/D,GAAGA;;AAM3B,+BAAA,/BAAMoG,sEAAcC,KAAKC;AAAzB,AACE,IAAMrG,OAAK,AAACsG,2DAAkBF;IACxBG,QAAM,EAAI,AAACC,qBAAKH,OAAMG,qBAAKC;AADjC,AAEE,0EAAA,2CAAA,0DAAA,8FAAA,KAAA,0FAAA,AAAAC,iDAAA,AAAAhH,cAAA,AAAA6B,sDAAA,KAAAoF,eAAA,KAAA,AAAA,4FAAA,KAAA,IAAA,OAAA,KAAAA,eAAA,UAAA,KAAA,IAAA,yDAAA,KAAAA,eAAA,KAAA,qDAAA,KAAA,IAAA,OAAA,KAAAA,eAAA,UAAA,KAAA,IAAA,eAAA,0FAAA,0GAAA,vhCAACC,yDACC5G,KACAoG,qGACOC,qdAEoBrG,8LAAYqG,iHAC5BE,mGACI,AAAA;;AAGrB,8BAAA,9BAAMM,oEAAaC,MAAMC;AAAzB,AACE,IAAMC,QAAM,yEAAA,zEAACxF,4CAAI8E,gHAAmBQ,MAAMC;IACpCE,QAAM,+DAAA,/DAACC,yDAAaF,yFAAOF,MAAMC;AADvC,AAEE,gEAAA,AAAAL,iDAAA,AAAAhH,cAAA,AAAA6B,+CAAA,KAAAoF,eAAA,KAAA,AAAA,wFAAA,KAAA,IAAA,sBAAA,2CAAA,qDAAA,mCAAA,sEAAA,KAAA,rgBAACC,wSACaI,SACZC,mSAGS,WAAKE,EAAEtI;AAAP,AAAU,qDAAA,9CAACiB,4CAAIjB;GAL1B,8FAAA,KAAA,0FAAA,AAAA6H,iDAAA,AAAAhH,cAAA,AAAA6B,sDAAA,KAAAoF,eAAA,KAAA,AAAA,yFAAA,KAAA,IAAA,+DAAA,KAAAA,eAAA,KAAA,sEAAA,KAAA,IAAA,OAAA,KAAAA,eAAA,KAAA,KAAA,KAAA,IAAA,eAAA,yGAAA,0GAAA,hbAO6BK,iTAChBtI,kHACI,AAAA;;AAGrB,4BAAA,oCAAA0I,hEAAME;AAAN,AAAA,IAAAD,cAAAD;IAAAC,kBAAA,AAAAvG,4BAAAuG;UAAA,AAAAtG,4CAAAsG,gBAAA,lEAAyBpG;UAAzB,AAAAF,4CAAAsG,gBAAA,lEAA6BlG;aAA7B,AAAAJ,4CAAAsG,gBAAA,rEAAiCnG;aAAjC,AAAAH,4CAAAsG,gBAAA,rEAAwCjG;AAAxC,AACE,IAAMmG,YAAU,AAAClH,kBAAQ,AAACmB,4CAAIpB,uBAAO,AAACmB,+CAAON,IAAIC;IAC3CsG,YAAU,AAACnH,kBAAQ,AAACmB,4CAAIpB,uBAAO,AAACmB,+CAAOJ,IAAIC;IAC3CqG,WAAS,AAACpH,kBAAQ,AAACkB,+CAAO,AAACC,4CAAIpB,uBAAOa,KAAK,AAACO,4CAAIjB,0BAAUW;IAC1DwG,WAAS,AAACrH,kBAAQ,AAACkB,+CAAO,AAACC,4CAAIpB,uBAAOe,KAAK,AAACK,4CAAIjB,0BAAUa;IAC1DuG,aAAW,+CAAA,mFAAA,WAAAC,7IAACrG;AAAD,AACI,4BAAAqG,rBAAClJ;WACH,AAAC8C,4CAAI,WAAK/C;AAAL,AAAA,kBAAAoJ;AAAA,AAAS,iCAAAA,1BAACC,4CAAYrJ;;GAAIgJ;IAC5CM,aAAW,+CAAA,mFAAA,AAAArB,iDAAA,AAAAhH,cAAA,AAAA6B,sDAAA,KAAAoF,eAAA,KAAA,AAAA,uEAAA,KAAA,IAAA,OAAA,KAAAA,eAAA,KAAA,AAAAqB,cAAA,AAAAtB,iDAAA,AAAAhH,cAAA,AAAA6B,+CAAA,KAAAoF,eAAA,KAAA,AAAA,mDAAA,KAAA,IAAA,WAAA,KAAA,IAAA,yDAAA,KAAAA,eAAA,KAAA,AAAAD,iDAAA,AAAAhH,cAAA,AAAA6B,+CAAA,KAAAoF,eAAA,KAAA,AAAA,2EAAA,KAAA,IAAA,OAAA,KAAAA,eAAA,KAAA,AAAA,mDAAA,KAAA,IAAA,UAAA,KAAA,IAAA,jgCAACpF,whCAEC,AAACC,4CAAI,WAAKwE;AAAL,AAAA,OAAAU,iDAAA,AAAAhH,cAAA,AAAA6B,sDAAA,KAAAoF,eAAA,KAAA,AAAA,uEAAA,KAAA,IAAA,OAAA,KAAAA,eAAA,KAAA,AAAAqB,cAAA,AAAAtB,iDAAA,AAAAhH,cAAA,AAAA6B,+CAAA,KAAAoF,eAAA,KAAA,AAAA,mDAAA,KAAA,IAAA,WAAA,KAAA,IAAA,yDAAA,KAAAA,eAAA,KAAA,AAAAD,iDAAA,AAAAhH,cAAA,AAAA6B,sDAAA,KAAAoF,eAAA,KAAA,AAAA,oFAAA,KAAA,IAAA,OAAA,KAAAA,eAAA,KAAA,AAAA,mDAAA,KAAA,IAAA,yDAAA,KAAAA,eAAA,OAAA,KAAA,IAAA,eAAA,KAAA,IAAA,nCAAmCX;GAAKyB;IAC1DQ,YAAU,WAAKxJ;AAAL,AACE,OAAC+G,+CACC,WAAK2B,EAAEe;AAAP,AACE,IAAAC,mBAAiB,CAACD,kCAAAA,qCAAAA,LAAEzJ,kBAAAA;AAApB,AAAA,oBAAA0J;AAAAA;;AAAuB,yBAAA,lBAACC;;GAF5B,KAIET;;AAfpB,AAiBE,qCAAA,wCAAA,yDAAA,wDAAA,iEAAA,8DAAA,6DAAA,8DAAA,mDAAA,4DAAA,+DAAA,gEAAA,/pBAACU,otBACUnH,OACAE,OACIuG,WACDM,UACDP,SACCH,UACNtG,IACKwG,SACCD,UACCO,WACP5G;;AAEZ,+BAAA,/BAAMmH,sEAAclC;AAApB,AACE,IAAMpG,OAAK,AAACsG,2DAAkBF;AAA9B,AACE,8CAAA,vCAACmC,6BAAevI,KAAKoG;;AAEzB,0BAAA,1BAAMoC,4DAAS3J;AAAf,AACE,IAAM4J,KAAG,AAACC,6CAAKrJ,gBAAMR;IACf8J,QAAM,AAACD,6CAAKE,iBAAO/J;IACnBmI,QAAM,AAAC0B,6CAAKpC,6BAAkBqC;AAFpC,AAGE,mDAAA,5CAACE,6BAAeJ,GAAGzB,MAAM2B","names":["spec-tools.impl/cljs-sym","x","cljs.core/map?","spec-tools.impl/clj-sym","cljs.core/var?","v","cljs.core.symbol","spec-tools.impl/->sym","spec-tools.impl/unfn","cljs?","expr","cljs.core/seq?","cljs.core/Symbol","cljs.core/first","cljs.core._EQ_","cljs.core/name","vec__125291","seq__125292","cljs.core/seq","first__125293","cljs.core/next","vec__125294","cljs.core.nth","s","form","cljs.core/rest","cljs.core.conj","clojure.walk/postwalk-replace","spec-tools.impl/polish","cljs.core/flatten","cljs.core.keep","spec-tools.impl/polish-un","G__125321","cljs.core.keyword","spec-tools.impl/un-key","G__125334","p__125344","map__125345","cljs.core/--destructure-map","cljs.core.get","spec-tools.impl/with-key->spec","req","req-un","opt","opt-un","data","key->spec","cljs.core.concat","cljs.core.map","cljs.core.juxt","cljs.core/identity","cljs.core.into","un-key->spec","cljs.core.assoc","cljs.core.merge","p__125361","map__125364","spec-tools.impl/with-real-keys","G__125366","cljs.core.update","cljs.core.partial","cljs.core/mapv","spec-tools.impl/parse-keys","m","G__125405","cljs.core.apply","cljs.core/hash-map","G__125407","p1__125378#","p1__125388#","p1__125389#","spec-tools.impl/extract-keys","map__125410","G__125411","spec-tools.impl/extract-pred-and-info","cljs.core.dissoc","spec-tools.impl/strip-fn-if-needed","head","cljs.core/count","spec-tools.impl/normalize-symbol","kw","G__125421","and__5000__auto__","cljs.core/namespace","spec-tools.impl/extract-form","spec","cljs.spec.alpha/form","spec-tools.impl/qualified-name","key","cljs.core/Keyword","temp__5802__auto__","nn","spec-tools.impl/nilable-spec?","cljs.core/boolean","G__125429","fexpr__125431","js/Error","spec-tools.impl/unwrap","coll","var_args","args__5732__auto__","len__5726__auto__","i__5727__auto__","argseq__5733__auto__","cljs.core/IndexedSeq","spec-tools.impl/deep-merge","seq125435","self__5712__auto__","values","cljs.core/every?","cljs.core/merge-with","cljs.core/coll?","cljs.core.reduce","cljs.core/into","cljs.core/last","spec-tools.impl/unlift-keys","ns-name","p__125442","vec__125443","acc","k","spec-tools.impl/register-spec!","cljs.spec.alpha/def-impl","spec-tools.impl/coll-of-spec","pred","type","spec-tools.form/resolve-form","cpred","cljs.core/set?","cljs.core/vector?","cljs.core.sequence","cljs.core/List","cljs.spec.alpha.every_impl","spec-tools.impl/map-of-spec","kpred","vpred","forms","tuple","cljs.spec.alpha.tuple_impl","_","p__125452","map__125453","spec-tools.impl/keys-spec","req-specs","opt-specs","req-keys","opt-keys","pred-exprs","p1__125450#","p1__125451#","cljs.core/contains?","pred-forms","cljs.core/vec","keys-pred","p","or__5002__auto__","cljs.core/reduced","cljs.spec.alpha/map-spec-impl","spec-tools.impl/nilable-spec","cljs.spec.alpha/nilable-impl","spec-tools.impl/or-spec","ks","cljs.core.mapv","preds","cljs.core/second","cljs.spec.alpha/or-spec-impl"],"sourcesContent":["(ns spec-tools.impl\n (:refer-clojure :exclude [resolve])\n #?(:cljs (:require-macros [spec-tools.impl :refer [resolve]]))\n (:require\n #?(:cljs [cljs.analyzer.api])\n [clojure.spec.alpha :as s]\n [spec-tools.form :as form]\n [clojure.walk :as walk])\n (:import\n #?@(:clj\n [(clojure.lang Var)])))\n\n#?(:clj\n (defn in-cljs? [env]\n (:ns env)))\n\n;; ClojureScript 1.9.655 and later have a resolve macro - maybe this can be\n;; eventually converted to use it.\n#?(:clj\n (defmacro resolve\n [env sym]\n `(if (in-cljs? ~env)\n ((clojure.core/resolve 'cljs.analyzer.api/resolve) ~env ~sym)\n (clojure.core/resolve ~env ~sym))))\n\n(defn- cljs-sym [x]\n (if (map? x)\n (:name x)\n x))\n\n(defn- clj-sym [x]\n (if (var? x)\n (let [^Var v x]\n (symbol (str (.name (.ns v)))\n (str (.sym v))))\n x))\n\n(defn ->sym [x]\n #?(:clj (clj-sym x)\n :cljs (cljs-sym x)))\n\n(defn- unfn [cljs? expr]\n (if (clojure.core/and (seq? expr)\n (symbol? (first expr))\n (= \"fn*\" (name (first expr))))\n (let [[[s] & form] (rest expr)]\n (conj (walk/postwalk-replace {s '%} form) '[%] (if cljs? 'cljs.core/fn 'clojure.core/fn)))\n expr))\n\n#?(:clj\n (defn cljs-resolve [env symbol]\n (clojure.core/or (->> symbol (resolve env) cljs-sym) symbol)))\n\n(defn polish [x]\n (cond\n (seq? x) (flatten (keep polish x))\n (symbol? x) nil\n :else x))\n\n(defn polish-un [x]\n (some-> x polish name keyword))\n\n(defn un-key [x]\n (some-> x name keyword))\n\n(defn with-key->spec [{:keys [req req-un opt opt-un] :as data}]\n (let [key->spec (->> (concat opt req) (map (juxt identity identity)) (into {}))\n un-key->spec (->> (concat opt-un req-un) (map (juxt un-key identity)) (into {}))]\n (assoc data :key->spec (merge key->spec un-key->spec))))\n\n(defn with-real-keys [{:keys [req-un opt-un] :as data}]\n (cond-> data\n req-un (update :req-un (partial mapv un-key))\n opt-un (update :opt-un (partial mapv un-key))))\n\n(defn parse-keys [form]\n (let [m (some->> form (rest) (apply hash-map))]\n (cond-> m\n (:req m) (update :req #(->> % flatten (keep polish) (into [])))\n (:req-un m) (update :req-un #(->> % flatten (keep polish) (into [])))\n (:opt-un m) (update :opt-un #(->> % (keep polish) (into [])))\n true (-> with-key->spec with-real-keys))))\n\n(defn extract-keys [form]\n (let [{:keys [req opt req-un opt-un]} (some->> form (rest) (apply hash-map))]\n (flatten (map polish (concat req opt req-un opt-un)))))\n\n#?(:clj\n (defn resolve-form [env pred]\n (let [cljs? (in-cljs? env)\n res (if cljs? (partial cljs-resolve env) clojure.core/resolve)]\n (->> pred\n (walk/postwalk\n (fn [x]\n (if (symbol? x)\n (let [y (res x)\n -var-get (fn [v] (if cljs? @v (var-get v)))\n sym-or-x (fn [v] (or (->sym v) x))]\n (cond\n (var? y) (if (s/get-spec (-var-get y))\n (-var-get y)\n (sym-or-x y))\n (some? y) (sym-or-x y)\n :else x))\n x)))\n (unfn cljs?)))))\n\n(defn extract-pred-and-info [x]\n (if (map? x)\n [(:spec x) (dissoc x :spec)]\n [x {}]))\n\n(defn strip-fn-if-needed [form]\n (let [head (first form)]\n ;; Deal with the form (clojure.core/fn [%] (foo ... %))\n ;; We should just use core.match...\n (if (and (= (count form) 3) (= head #?(:clj 'clojure.core/fn :cljs 'cljs.core/fn)))\n (nth form 2)\n form)))\n\n(defn normalize-symbol [kw]\n (case (and (symbol? kw) (namespace kw))\n \"spec-tools.spec\" (symbol \"clojure.core\" (name kw))\n \"cljs.core\" (symbol \"clojure.core\" (name kw))\n \"cljs.spec.alpha\" (symbol \"clojure.spec.alpha\" (name kw))\n kw))\n\n(defn extract-form [spec]\n (if (seq? spec) spec (s/form spec)))\n\n(defn qualified-name [key]\n (if (keyword? key)\n (if-let [nn (namespace key)]\n (str nn \"/\" (name key))\n (name key))\n key))\n\n(defn nilable-spec? [spec]\n (let [form (and spec (s/form spec))]\n (boolean\n (if (seq? form)\n (some-> form\n seq\n first\n #{'clojure.spec.alpha/nilable\n 'cljs.spec.alpha/nilable})))))\n\n(defn unwrap\n \"Unwrap [x] to x. Asserts that coll has exactly one element.\"\n [coll]\n {:pre [(= 1 (count coll))]}\n (first coll))\n\n(defn deep-merge [& values]\n (cond\n (every? map? values)\n (apply merge-with deep-merge values)\n\n (every? coll? values)\n (reduce into values)\n\n :else\n (last values)))\n\n(defn unlift-keys [data ns-name]\n (reduce\n (fn [acc [k v]]\n (if (= ns-name (namespace k))\n (assoc acc (keyword (name k)) v)\n acc))\n {} data))\n\n;;\n;; FIXME: using ^:skip-wiki functions from clojure.spec. might break.\n;;\n\n(defn register-spec! [k s]\n (s/def-impl k (s/form s) s))\n\n;;\n;; functional clojure.spec\n;;\n\n(defn coll-of-spec [pred type]\n (let [form (form/resolve-form pred)\n cpred (if (set? type) set? vector?)]\n (clojure.spec.alpha/every-impl\n form\n pred\n {:into type\n ::s/conform-all true\n ::s/describe `(s/coll-of ~form :into ~type),\n ::s/cpred cpred,\n ::s/kind-form (quote nil)}\n nil)))\n\n(defn map-of-spec [kpred vpred]\n (let [forms (map form/resolve-form [kpred vpred])\n tuple (s/tuple-impl forms [kpred vpred])]\n (clojure.spec.alpha/every-impl\n `(s/tuple ~@forms)\n tuple\n {:into {}\n :conform-keys true\n ::s/kfn (fn [_ v] (nth v 0))\n ::s/conform-all true\n ::s/describe `(s/map-of ~@forms :conform-keys true),\n ::s/cpred map?,\n ::s/kind-form (quote nil)}\n nil)))\n\n(defn keys-spec [{:keys [req opt req-un opt-un]}]\n (let [req-specs (flatten (map polish (concat req req-un)))\n opt-specs (flatten (map polish (concat opt opt-un)))\n req-keys (flatten (concat (map polish req) (map polish-un req-un)))\n opt-keys (flatten (concat (map polish opt) (map polish-un opt-un)))\n pred-exprs (concat\n [#(map? %)]\n (map (fn [x] #(contains? % x)) req-keys))\n pred-forms (concat\n [`(fn [~'%] (map? ~'%))]\n (map (fn [k] `(fn [~'%] (contains? ~'% ~k))) req-keys))\n keys-pred (fn [x]\n (reduce\n (fn [_ p]\n (clojure.core/or (p x) (reduced false)))\n true\n pred-exprs))]\n\n (s/map-spec-impl\n {:req-un req-un\n :opt-un opt-un\n :pred-exprs pred-exprs\n :keys-pred keys-pred\n :opt-keys opt-keys\n :req-specs req-specs\n :req req\n :req-keys req-keys\n :opt-specs opt-specs\n :pred-forms pred-forms\n :opt opt})))\n\n(defn nilable-spec [pred]\n (let [form (form/resolve-form pred)]\n (s/nilable-impl form pred nil)))\n\n(defn or-spec [v]\n (let [ks (mapv first v)\n preds (mapv second v)\n forms (mapv form/resolve-form preds)]\n (s/or-spec-impl ks forms preds nil)))\n"],"x_google_ignoreList":[0]}
|