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,1925 @@
|
|
|
1
|
+
var $CLJS = require("./cljs_env");
|
|
2
|
+
var $jscomp = $CLJS.$jscomp;
|
|
3
|
+
var COMPILED = false;
|
|
4
|
+
require("./cljs.core.js");
|
|
5
|
+
require("./spec_tools.impl.js");
|
|
6
|
+
require("./spec_tools.parse.js");
|
|
7
|
+
require("./spec_tools.form.js");
|
|
8
|
+
require("./clojure.set.js");
|
|
9
|
+
require("./spec_tools.transform.js");
|
|
10
|
+
require("./cljs.spec.alpha.js");
|
|
11
|
+
require("./cljs.reader.js");
|
|
12
|
+
require("./cljs.spec.gen.alpha.js");
|
|
13
|
+
var environ=$CLJS.environ || ($CLJS.environ = {});
|
|
14
|
+
var fress=$CLJS.fress || ($CLJS.fress = {});
|
|
15
|
+
var datahike=$CLJS.datahike || ($CLJS.datahike = {});
|
|
16
|
+
var clojure=$CLJS.clojure || ($CLJS.clojure = {});
|
|
17
|
+
var hasch=$CLJS.hasch || ($CLJS.hasch = {});
|
|
18
|
+
var tailrecursion=$CLJS.tailrecursion || ($CLJS.tailrecursion = {});
|
|
19
|
+
var superv=$CLJS.superv || ($CLJS.superv = {});
|
|
20
|
+
var geheimnis=$CLJS.geheimnis || ($CLJS.geheimnis = {});
|
|
21
|
+
var is=$CLJS.is || ($CLJS.is = {});
|
|
22
|
+
var cljs=$CLJS.cljs || ($CLJS.cljs = {});
|
|
23
|
+
var cljs_node_io=$CLJS.cljs_node_io || ($CLJS.cljs_node_io = {});
|
|
24
|
+
var goog=$CLJS.goog || ($CLJS.goog = {});
|
|
25
|
+
var konserve=$CLJS.konserve || ($CLJS.konserve = {});
|
|
26
|
+
var datalog=$CLJS.datalog || ($CLJS.datalog = {});
|
|
27
|
+
var spec_tools=$CLJS.spec_tools || ($CLJS.spec_tools = {});
|
|
28
|
+
var taoensso=$CLJS.taoensso || ($CLJS.taoensso = {});
|
|
29
|
+
var incognito=$CLJS.incognito || ($CLJS.incognito = {});
|
|
30
|
+
var medley=$CLJS.medley || ($CLJS.medley = {});
|
|
31
|
+
var me=$CLJS.me || ($CLJS.me = {});
|
|
32
|
+
|
|
33
|
+
$CLJS.SHADOW_ENV.setLoaded("spec_tools.core.js");
|
|
34
|
+
|
|
35
|
+
goog.provide('spec_tools.core');
|
|
36
|
+
spec_tools.core.registry = (function spec_tools$core$registry(var_args){
|
|
37
|
+
var G__127011 = arguments.length;
|
|
38
|
+
switch (G__127011) {
|
|
39
|
+
case 0:
|
|
40
|
+
return spec_tools.core.registry.cljs$core$IFn$_invoke$arity$0();
|
|
41
|
+
|
|
42
|
+
break;
|
|
43
|
+
case 1:
|
|
44
|
+
return spec_tools.core.registry.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
|
|
45
|
+
|
|
46
|
+
break;
|
|
47
|
+
default:
|
|
48
|
+
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
|
|
49
|
+
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
(spec_tools.core.registry.cljs$core$IFn$_invoke$arity$0 = (function (){
|
|
54
|
+
return cljs.spec.alpha.registry();
|
|
55
|
+
}));
|
|
56
|
+
|
|
57
|
+
(spec_tools.core.registry.cljs$core$IFn$_invoke$arity$1 = (function (re){
|
|
58
|
+
return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__127009_SHARP_){
|
|
59
|
+
return cljs.core.re_matches(re,cljs.core.subs.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(p1__127009_SHARP_)),(1)));
|
|
60
|
+
}),cljs.spec.alpha.registry()));
|
|
61
|
+
}));
|
|
62
|
+
|
|
63
|
+
(spec_tools.core.registry.cljs$lang$maxFixedArity = 1);
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Finds recursively a spec implementation from the registry
|
|
67
|
+
*/
|
|
68
|
+
spec_tools.core.get_spec = (function spec_tools$core$get_spec(name){
|
|
69
|
+
var temp__5802__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.registry(),name);
|
|
70
|
+
if(cljs.core.truth_(temp__5802__auto__)){
|
|
71
|
+
var spec = temp__5802__auto__;
|
|
72
|
+
if((spec instanceof cljs.core.Keyword)){
|
|
73
|
+
return (spec_tools.core.get_spec.cljs$core$IFn$_invoke$arity$1 ? spec_tools.core.get_spec.cljs$core$IFn$_invoke$arity$1(spec) : spec_tools.core.get_spec.call(null, spec));
|
|
74
|
+
} else {
|
|
75
|
+
return spec;
|
|
76
|
+
}
|
|
77
|
+
} else {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
/**
|
|
82
|
+
* Returns a spec from a spec name or spec. Throws exception
|
|
83
|
+
* if no spec was found.
|
|
84
|
+
*/
|
|
85
|
+
spec_tools.core.coerce_spec = (function spec_tools$core$coerce_spec(name_or_spec){
|
|
86
|
+
var or__5002__auto__ = (function (){var and__5000__auto__ = (spec_tools.core.spec_QMARK_.cljs$core$IFn$_invoke$arity$1 ? spec_tools.core.spec_QMARK_.cljs$core$IFn$_invoke$arity$1(name_or_spec) : spec_tools.core.spec_QMARK_.call(null, name_or_spec));
|
|
87
|
+
if(cljs.core.truth_(and__5000__auto__)){
|
|
88
|
+
return name_or_spec;
|
|
89
|
+
} else {
|
|
90
|
+
return and__5000__auto__;
|
|
91
|
+
}
|
|
92
|
+
})();
|
|
93
|
+
if(cljs.core.truth_(or__5002__auto__)){
|
|
94
|
+
return or__5002__auto__;
|
|
95
|
+
} else {
|
|
96
|
+
var or__5002__auto____$1 = spec_tools.core.get_spec(name_or_spec);
|
|
97
|
+
if(cljs.core.truth_(or__5002__auto____$1)){
|
|
98
|
+
return or__5002__auto____$1;
|
|
99
|
+
} else {
|
|
100
|
+
throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(["can't coerce to spec: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(name_or_spec)].join(''),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"name-or-spec","name-or-spec",-1287260145),name_or_spec], null));
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
/**
|
|
105
|
+
* Writes specs into a string that can be read by the reader.
|
|
106
|
+
* TODO: Should optionally write the related Registry entries.
|
|
107
|
+
*/
|
|
108
|
+
spec_tools.core.serialize = (function spec_tools$core$serialize(spec){
|
|
109
|
+
return cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.alpha.form(spec)], 0));
|
|
110
|
+
});
|
|
111
|
+
/**
|
|
112
|
+
* Reads specs from a string.
|
|
113
|
+
* TODO: Should optionally read the related Registry entries.
|
|
114
|
+
*/
|
|
115
|
+
spec_tools.core.deserialize = (function spec_tools$core$deserialize(s){
|
|
116
|
+
return cljs.reader.read_string.cljs$core$IFn$_invoke$arity$1(s);
|
|
117
|
+
});
|
|
118
|
+
spec_tools.core._STAR_dynamic_conforming_STAR_ = null;
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* @constructor
|
|
122
|
+
* @implements {cljs.core.IRecord}
|
|
123
|
+
* @implements {cljs.core.IKVReduce}
|
|
124
|
+
* @implements {cljs.core.IEquiv}
|
|
125
|
+
* @implements {cljs.core.IHash}
|
|
126
|
+
* @implements {cljs.core.ICollection}
|
|
127
|
+
* @implements {cljs.core.ICounted}
|
|
128
|
+
* @implements {cljs.core.ISeqable}
|
|
129
|
+
* @implements {cljs.core.IMeta}
|
|
130
|
+
* @implements {cljs.core.ICloneable}
|
|
131
|
+
* @implements {cljs.core.IPrintWithWriter}
|
|
132
|
+
* @implements {cljs.core.IIterable}
|
|
133
|
+
* @implements {cljs.core.IWithMeta}
|
|
134
|
+
* @implements {cljs.core.IAssociative}
|
|
135
|
+
* @implements {cljs.core.IMap}
|
|
136
|
+
* @implements {cljs.core.ILookup}
|
|
137
|
+
*/
|
|
138
|
+
spec_tools.core.DynamicConforming = (function (transformer,encode_QMARK_,spec_transformed,__meta,__extmap,__hash){
|
|
139
|
+
this.transformer = transformer;
|
|
140
|
+
this.encode_QMARK_ = encode_QMARK_;
|
|
141
|
+
this.spec_transformed = spec_transformed;
|
|
142
|
+
this.__meta = __meta;
|
|
143
|
+
this.__extmap = __extmap;
|
|
144
|
+
this.__hash = __hash;
|
|
145
|
+
this.cljs$lang$protocol_mask$partition0$ = 2230716170;
|
|
146
|
+
this.cljs$lang$protocol_mask$partition1$ = 139264;
|
|
147
|
+
});
|
|
148
|
+
(spec_tools.core.DynamicConforming.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (this__5300__auto__,k__5301__auto__){
|
|
149
|
+
var self__ = this;
|
|
150
|
+
var this__5300__auto____$1 = this;
|
|
151
|
+
return this__5300__auto____$1.cljs$core$ILookup$_lookup$arity$3(null, k__5301__auto__,null);
|
|
152
|
+
}));
|
|
153
|
+
|
|
154
|
+
(spec_tools.core.DynamicConforming.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (this__5302__auto__,k127029,else__5303__auto__){
|
|
155
|
+
var self__ = this;
|
|
156
|
+
var this__5302__auto____$1 = this;
|
|
157
|
+
var G__127036 = k127029;
|
|
158
|
+
var G__127036__$1 = (((G__127036 instanceof cljs.core.Keyword))?G__127036.fqn:null);
|
|
159
|
+
switch (G__127036__$1) {
|
|
160
|
+
case "transformer":
|
|
161
|
+
return self__.transformer;
|
|
162
|
+
|
|
163
|
+
break;
|
|
164
|
+
case "encode?":
|
|
165
|
+
return self__.encode_QMARK_;
|
|
166
|
+
|
|
167
|
+
break;
|
|
168
|
+
case "spec-transformed":
|
|
169
|
+
return self__.spec_transformed;
|
|
170
|
+
|
|
171
|
+
break;
|
|
172
|
+
default:
|
|
173
|
+
return cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k127029,else__5303__auto__);
|
|
174
|
+
|
|
175
|
+
}
|
|
176
|
+
}));
|
|
177
|
+
|
|
178
|
+
(spec_tools.core.DynamicConforming.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 = (function (this__5320__auto__,f__5321__auto__,init__5322__auto__){
|
|
179
|
+
var self__ = this;
|
|
180
|
+
var this__5320__auto____$1 = this;
|
|
181
|
+
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5323__auto__,p__127039){
|
|
182
|
+
var vec__127041 = p__127039;
|
|
183
|
+
var k__5324__auto__ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__127041,(0),null);
|
|
184
|
+
var v__5325__auto__ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__127041,(1),null);
|
|
185
|
+
return (f__5321__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5321__auto__.cljs$core$IFn$_invoke$arity$3(ret__5323__auto__,k__5324__auto__,v__5325__auto__) : f__5321__auto__.call(null, ret__5323__auto__,k__5324__auto__,v__5325__auto__));
|
|
186
|
+
}),init__5322__auto__,this__5320__auto____$1);
|
|
187
|
+
}));
|
|
188
|
+
|
|
189
|
+
(spec_tools.core.DynamicConforming.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (this__5315__auto__,writer__5316__auto__,opts__5317__auto__){
|
|
190
|
+
var self__ = this;
|
|
191
|
+
var this__5315__auto____$1 = this;
|
|
192
|
+
var pr_pair__5318__auto__ = (function (keyval__5319__auto__){
|
|
193
|
+
return cljs.core.pr_sequential_writer(writer__5316__auto__,cljs.core.pr_writer,""," ","",opts__5317__auto__,keyval__5319__auto__);
|
|
194
|
+
});
|
|
195
|
+
return cljs.core.pr_sequential_writer(writer__5316__auto__,pr_pair__5318__auto__,"#spec-tools.core.DynamicConforming{",", ","}",opts__5317__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"transformer","transformer",-1493470620),self__.transformer],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"encode?","encode?",-640109139),self__.encode_QMARK_],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"spec-transformed","spec-transformed",-1459322320),self__.spec_transformed],null))], null),self__.__extmap));
|
|
196
|
+
}));
|
|
197
|
+
|
|
198
|
+
(spec_tools.core.DynamicConforming.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (G__127028){
|
|
199
|
+
var self__ = this;
|
|
200
|
+
var G__127028__$1 = this;
|
|
201
|
+
return (new cljs.core.RecordIter((0),G__127028__$1,3,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"transformer","transformer",-1493470620),new cljs.core.Keyword(null,"encode?","encode?",-640109139),new cljs.core.Keyword(null,"spec-transformed","spec-transformed",-1459322320)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));
|
|
202
|
+
}));
|
|
203
|
+
|
|
204
|
+
(spec_tools.core.DynamicConforming.prototype.cljs$core$IMeta$_meta$arity$1 = (function (this__5298__auto__){
|
|
205
|
+
var self__ = this;
|
|
206
|
+
var this__5298__auto____$1 = this;
|
|
207
|
+
return self__.__meta;
|
|
208
|
+
}));
|
|
209
|
+
|
|
210
|
+
(spec_tools.core.DynamicConforming.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (this__5295__auto__){
|
|
211
|
+
var self__ = this;
|
|
212
|
+
var this__5295__auto____$1 = this;
|
|
213
|
+
return (new spec_tools.core.DynamicConforming(self__.transformer,self__.encode_QMARK_,self__.spec_transformed,self__.__meta,self__.__extmap,self__.__hash));
|
|
214
|
+
}));
|
|
215
|
+
|
|
216
|
+
(spec_tools.core.DynamicConforming.prototype.cljs$core$ICounted$_count$arity$1 = (function (this__5304__auto__){
|
|
217
|
+
var self__ = this;
|
|
218
|
+
var this__5304__auto____$1 = this;
|
|
219
|
+
return (3 + cljs.core.count(self__.__extmap));
|
|
220
|
+
}));
|
|
221
|
+
|
|
222
|
+
(spec_tools.core.DynamicConforming.prototype.cljs$core$IHash$_hash$arity$1 = (function (this__5296__auto__){
|
|
223
|
+
var self__ = this;
|
|
224
|
+
var this__5296__auto____$1 = this;
|
|
225
|
+
var h__5111__auto__ = self__.__hash;
|
|
226
|
+
if((!((h__5111__auto__ == null)))){
|
|
227
|
+
return h__5111__auto__;
|
|
228
|
+
} else {
|
|
229
|
+
var h__5111__auto____$1 = (function (coll__5297__auto__){
|
|
230
|
+
return (-2112817358 ^ cljs.core.hash_unordered_coll(coll__5297__auto__));
|
|
231
|
+
})(this__5296__auto____$1);
|
|
232
|
+
(self__.__hash = h__5111__auto____$1);
|
|
233
|
+
|
|
234
|
+
return h__5111__auto____$1;
|
|
235
|
+
}
|
|
236
|
+
}));
|
|
237
|
+
|
|
238
|
+
(spec_tools.core.DynamicConforming.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (this127030,other127031){
|
|
239
|
+
var self__ = this;
|
|
240
|
+
var this127030__$1 = this;
|
|
241
|
+
return (((!((other127031 == null)))) && ((((this127030__$1.constructor === other127031.constructor)) && (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this127030__$1.transformer,other127031.transformer)) && (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this127030__$1.encode_QMARK_,other127031.encode_QMARK_)) && (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this127030__$1.spec_transformed,other127031.spec_transformed)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this127030__$1.__extmap,other127031.__extmap)))))))))));
|
|
242
|
+
}));
|
|
243
|
+
|
|
244
|
+
(spec_tools.core.DynamicConforming.prototype.cljs$core$IMap$_dissoc$arity$2 = (function (this__5310__auto__,k__5311__auto__){
|
|
245
|
+
var self__ = this;
|
|
246
|
+
var this__5310__auto____$1 = this;
|
|
247
|
+
if(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"transformer","transformer",-1493470620),null,new cljs.core.Keyword(null,"encode?","encode?",-640109139),null,new cljs.core.Keyword(null,"spec-transformed","spec-transformed",-1459322320),null], null), null),k__5311__auto__)){
|
|
248
|
+
return cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5310__auto____$1),self__.__meta),k__5311__auto__);
|
|
249
|
+
} else {
|
|
250
|
+
return (new spec_tools.core.DynamicConforming(self__.transformer,self__.encode_QMARK_,self__.spec_transformed,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5311__auto__)),null));
|
|
251
|
+
}
|
|
252
|
+
}));
|
|
253
|
+
|
|
254
|
+
(spec_tools.core.DynamicConforming.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 = (function (this__5307__auto__,k127029){
|
|
255
|
+
var self__ = this;
|
|
256
|
+
var this__5307__auto____$1 = this;
|
|
257
|
+
var G__127053 = k127029;
|
|
258
|
+
var G__127053__$1 = (((G__127053 instanceof cljs.core.Keyword))?G__127053.fqn:null);
|
|
259
|
+
switch (G__127053__$1) {
|
|
260
|
+
case "transformer":
|
|
261
|
+
case "encode?":
|
|
262
|
+
case "spec-transformed":
|
|
263
|
+
return true;
|
|
264
|
+
|
|
265
|
+
break;
|
|
266
|
+
default:
|
|
267
|
+
return cljs.core.contains_QMARK_(self__.__extmap,k127029);
|
|
268
|
+
|
|
269
|
+
}
|
|
270
|
+
}));
|
|
271
|
+
|
|
272
|
+
(spec_tools.core.DynamicConforming.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (this__5308__auto__,k__5309__auto__,G__127028){
|
|
273
|
+
var self__ = this;
|
|
274
|
+
var this__5308__auto____$1 = this;
|
|
275
|
+
var pred__127054 = cljs.core.keyword_identical_QMARK_;
|
|
276
|
+
var expr__127055 = k__5309__auto__;
|
|
277
|
+
if(cljs.core.truth_((pred__127054.cljs$core$IFn$_invoke$arity$2 ? pred__127054.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"transformer","transformer",-1493470620),expr__127055) : pred__127054.call(null, new cljs.core.Keyword(null,"transformer","transformer",-1493470620),expr__127055)))){
|
|
278
|
+
return (new spec_tools.core.DynamicConforming(G__127028,self__.encode_QMARK_,self__.spec_transformed,self__.__meta,self__.__extmap,null));
|
|
279
|
+
} else {
|
|
280
|
+
if(cljs.core.truth_((pred__127054.cljs$core$IFn$_invoke$arity$2 ? pred__127054.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"encode?","encode?",-640109139),expr__127055) : pred__127054.call(null, new cljs.core.Keyword(null,"encode?","encode?",-640109139),expr__127055)))){
|
|
281
|
+
return (new spec_tools.core.DynamicConforming(self__.transformer,G__127028,self__.spec_transformed,self__.__meta,self__.__extmap,null));
|
|
282
|
+
} else {
|
|
283
|
+
if(cljs.core.truth_((pred__127054.cljs$core$IFn$_invoke$arity$2 ? pred__127054.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"spec-transformed","spec-transformed",-1459322320),expr__127055) : pred__127054.call(null, new cljs.core.Keyword(null,"spec-transformed","spec-transformed",-1459322320),expr__127055)))){
|
|
284
|
+
return (new spec_tools.core.DynamicConforming(self__.transformer,self__.encode_QMARK_,G__127028,self__.__meta,self__.__extmap,null));
|
|
285
|
+
} else {
|
|
286
|
+
return (new spec_tools.core.DynamicConforming(self__.transformer,self__.encode_QMARK_,self__.spec_transformed,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5309__auto__,G__127028),null));
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}));
|
|
291
|
+
|
|
292
|
+
(spec_tools.core.DynamicConforming.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (this__5313__auto__){
|
|
293
|
+
var self__ = this;
|
|
294
|
+
var this__5313__auto____$1 = this;
|
|
295
|
+
return cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,"transformer","transformer",-1493470620),self__.transformer,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,"encode?","encode?",-640109139),self__.encode_QMARK_,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,"spec-transformed","spec-transformed",-1459322320),self__.spec_transformed,null))], null),self__.__extmap));
|
|
296
|
+
}));
|
|
297
|
+
|
|
298
|
+
(spec_tools.core.DynamicConforming.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (this__5299__auto__,G__127028){
|
|
299
|
+
var self__ = this;
|
|
300
|
+
var this__5299__auto____$1 = this;
|
|
301
|
+
return (new spec_tools.core.DynamicConforming(self__.transformer,self__.encode_QMARK_,self__.spec_transformed,G__127028,self__.__extmap,self__.__hash));
|
|
302
|
+
}));
|
|
303
|
+
|
|
304
|
+
(spec_tools.core.DynamicConforming.prototype.cljs$core$ICollection$_conj$arity$2 = (function (this__5305__auto__,entry__5306__auto__){
|
|
305
|
+
var self__ = this;
|
|
306
|
+
var this__5305__auto____$1 = this;
|
|
307
|
+
if(cljs.core.vector_QMARK_(entry__5306__auto__)){
|
|
308
|
+
return this__5305__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null, cljs.core._nth(entry__5306__auto__,(0)),cljs.core._nth(entry__5306__auto__,(1)));
|
|
309
|
+
} else {
|
|
310
|
+
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5305__auto____$1,entry__5306__auto__);
|
|
311
|
+
}
|
|
312
|
+
}));
|
|
313
|
+
|
|
314
|
+
(spec_tools.core.DynamicConforming.getBasis = (function (){
|
|
315
|
+
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"transformer","transformer",147060907,null),new cljs.core.Symbol(null,"encode?","encode?",1000422388,null),new cljs.core.Symbol(null,"spec-transformed","spec-transformed",181209207,null)], null);
|
|
316
|
+
}));
|
|
317
|
+
|
|
318
|
+
(spec_tools.core.DynamicConforming.cljs$lang$type = true);
|
|
319
|
+
|
|
320
|
+
(spec_tools.core.DynamicConforming.cljs$lang$ctorPrSeq = (function (this__5346__auto__){
|
|
321
|
+
return (new cljs.core.List(null,"spec-tools.core/DynamicConforming",null,(1),null));
|
|
322
|
+
}));
|
|
323
|
+
|
|
324
|
+
(spec_tools.core.DynamicConforming.cljs$lang$ctorPrWriter = (function (this__5346__auto__,writer__5347__auto__){
|
|
325
|
+
return cljs.core._write(writer__5347__auto__,"spec-tools.core/DynamicConforming");
|
|
326
|
+
}));
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* Positional factory function for spec-tools.core/DynamicConforming.
|
|
330
|
+
*/
|
|
331
|
+
spec_tools.core.__GT_DynamicConforming = (function spec_tools$core$__GT_DynamicConforming(transformer,encode_QMARK_,spec_transformed){
|
|
332
|
+
return (new spec_tools.core.DynamicConforming(transformer,encode_QMARK_,spec_transformed,null,null,null));
|
|
333
|
+
});
|
|
334
|
+
|
|
335
|
+
/**
|
|
336
|
+
* Factory function for spec-tools.core/DynamicConforming, taking a map of keywords to field values.
|
|
337
|
+
*/
|
|
338
|
+
spec_tools.core.map__GT_DynamicConforming = (function spec_tools$core$map__GT_DynamicConforming(G__127032){
|
|
339
|
+
var extmap__5342__auto__ = (function (){var G__127062 = cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__127032,new cljs.core.Keyword(null,"transformer","transformer",-1493470620),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"encode?","encode?",-640109139),new cljs.core.Keyword(null,"spec-transformed","spec-transformed",-1459322320)], 0));
|
|
340
|
+
if(cljs.core.record_QMARK_(G__127032)){
|
|
341
|
+
return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__127062);
|
|
342
|
+
} else {
|
|
343
|
+
return G__127062;
|
|
344
|
+
}
|
|
345
|
+
})();
|
|
346
|
+
return (new spec_tools.core.DynamicConforming(new cljs.core.Keyword(null,"transformer","transformer",-1493470620).cljs$core$IFn$_invoke$arity$1(G__127032),new cljs.core.Keyword(null,"encode?","encode?",-640109139).cljs$core$IFn$_invoke$arity$1(G__127032),new cljs.core.Keyword(null,"spec-transformed","spec-transformed",-1459322320).cljs$core$IFn$_invoke$arity$1(G__127032),null,cljs.core.not_empty(extmap__5342__auto__),null));
|
|
347
|
+
});
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
/**
|
|
351
|
+
* @interface
|
|
352
|
+
*/
|
|
353
|
+
spec_tools.core.Coercion = function(){};
|
|
354
|
+
|
|
355
|
+
var spec_tools$core$Coercion$_coerce$dyn_127352 = (function (this$,value,transformer,options){
|
|
356
|
+
var x__5350__auto__ = (((this$ == null))?null:this$);
|
|
357
|
+
var m__5351__auto__ = (spec_tools.core._coerce[goog.typeOf(x__5350__auto__)]);
|
|
358
|
+
if((!((m__5351__auto__ == null)))){
|
|
359
|
+
return (m__5351__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$4(this$,value,transformer,options) : m__5351__auto__.call(null, this$,value,transformer,options));
|
|
360
|
+
} else {
|
|
361
|
+
var m__5349__auto__ = (spec_tools.core._coerce["_"]);
|
|
362
|
+
if((!((m__5349__auto__ == null)))){
|
|
363
|
+
return (m__5349__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$4(this$,value,transformer,options) : m__5349__auto__.call(null, this$,value,transformer,options));
|
|
364
|
+
} else {
|
|
365
|
+
throw cljs.core.missing_protocol("Coercion.-coerce",this$);
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
});
|
|
369
|
+
spec_tools.core._coerce = (function spec_tools$core$_coerce(this$,value,transformer,options){
|
|
370
|
+
if((((!((this$ == null)))) && ((!((this$.spec_tools$core$Coercion$_coerce$arity$4 == null)))))){
|
|
371
|
+
return this$.spec_tools$core$Coercion$_coerce$arity$4(this$,value,transformer,options);
|
|
372
|
+
} else {
|
|
373
|
+
return spec_tools$core$Coercion$_coerce$dyn_127352(this$,value,transformer,options);
|
|
374
|
+
}
|
|
375
|
+
});
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
/**
|
|
379
|
+
* @interface
|
|
380
|
+
*/
|
|
381
|
+
spec_tools.core.Transformer = function(){};
|
|
382
|
+
|
|
383
|
+
var spec_tools$core$Transformer$_name$dyn_127353 = (function (this$){
|
|
384
|
+
var x__5350__auto__ = (((this$ == null))?null:this$);
|
|
385
|
+
var m__5351__auto__ = (spec_tools.core._name[goog.typeOf(x__5350__auto__)]);
|
|
386
|
+
if((!((m__5351__auto__ == null)))){
|
|
387
|
+
return (m__5351__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5351__auto__.call(null, this$));
|
|
388
|
+
} else {
|
|
389
|
+
var m__5349__auto__ = (spec_tools.core._name["_"]);
|
|
390
|
+
if((!((m__5349__auto__ == null)))){
|
|
391
|
+
return (m__5349__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5349__auto__.call(null, this$));
|
|
392
|
+
} else {
|
|
393
|
+
throw cljs.core.missing_protocol("Transformer.-name",this$);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
});
|
|
397
|
+
spec_tools.core._name = (function spec_tools$core$_name(this$){
|
|
398
|
+
if((((!((this$ == null)))) && ((!((this$.spec_tools$core$Transformer$_name$arity$1 == null)))))){
|
|
399
|
+
return this$.spec_tools$core$Transformer$_name$arity$1(this$);
|
|
400
|
+
} else {
|
|
401
|
+
return spec_tools$core$Transformer$_name$dyn_127353(this$);
|
|
402
|
+
}
|
|
403
|
+
});
|
|
404
|
+
|
|
405
|
+
var spec_tools$core$Transformer$_options$dyn_127354 = (function (this$){
|
|
406
|
+
var x__5350__auto__ = (((this$ == null))?null:this$);
|
|
407
|
+
var m__5351__auto__ = (spec_tools.core._options[goog.typeOf(x__5350__auto__)]);
|
|
408
|
+
if((!((m__5351__auto__ == null)))){
|
|
409
|
+
return (m__5351__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5351__auto__.call(null, this$));
|
|
410
|
+
} else {
|
|
411
|
+
var m__5349__auto__ = (spec_tools.core._options["_"]);
|
|
412
|
+
if((!((m__5349__auto__ == null)))){
|
|
413
|
+
return (m__5349__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5349__auto__.call(null, this$));
|
|
414
|
+
} else {
|
|
415
|
+
throw cljs.core.missing_protocol("Transformer.-options",this$);
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
});
|
|
419
|
+
spec_tools.core._options = (function spec_tools$core$_options(this$){
|
|
420
|
+
if((((!((this$ == null)))) && ((!((this$.spec_tools$core$Transformer$_options$arity$1 == null)))))){
|
|
421
|
+
return this$.spec_tools$core$Transformer$_options$arity$1(this$);
|
|
422
|
+
} else {
|
|
423
|
+
return spec_tools$core$Transformer$_options$dyn_127354(this$);
|
|
424
|
+
}
|
|
425
|
+
});
|
|
426
|
+
|
|
427
|
+
var spec_tools$core$Transformer$_encoder$dyn_127355 = (function (this$,spec,value){
|
|
428
|
+
var x__5350__auto__ = (((this$ == null))?null:this$);
|
|
429
|
+
var m__5351__auto__ = (spec_tools.core._encoder[goog.typeOf(x__5350__auto__)]);
|
|
430
|
+
if((!((m__5351__auto__ == null)))){
|
|
431
|
+
return (m__5351__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$3(this$,spec,value) : m__5351__auto__.call(null, this$,spec,value));
|
|
432
|
+
} else {
|
|
433
|
+
var m__5349__auto__ = (spec_tools.core._encoder["_"]);
|
|
434
|
+
if((!((m__5349__auto__ == null)))){
|
|
435
|
+
return (m__5349__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$3(this$,spec,value) : m__5349__auto__.call(null, this$,spec,value));
|
|
436
|
+
} else {
|
|
437
|
+
throw cljs.core.missing_protocol("Transformer.-encoder",this$);
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
});
|
|
441
|
+
spec_tools.core._encoder = (function spec_tools$core$_encoder(this$,spec,value){
|
|
442
|
+
if((((!((this$ == null)))) && ((!((this$.spec_tools$core$Transformer$_encoder$arity$3 == null)))))){
|
|
443
|
+
return this$.spec_tools$core$Transformer$_encoder$arity$3(this$,spec,value);
|
|
444
|
+
} else {
|
|
445
|
+
return spec_tools$core$Transformer$_encoder$dyn_127355(this$,spec,value);
|
|
446
|
+
}
|
|
447
|
+
});
|
|
448
|
+
|
|
449
|
+
var spec_tools$core$Transformer$_decoder$dyn_127356 = (function (this$,spec,value){
|
|
450
|
+
var x__5350__auto__ = (((this$ == null))?null:this$);
|
|
451
|
+
var m__5351__auto__ = (spec_tools.core._decoder[goog.typeOf(x__5350__auto__)]);
|
|
452
|
+
if((!((m__5351__auto__ == null)))){
|
|
453
|
+
return (m__5351__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5351__auto__.cljs$core$IFn$_invoke$arity$3(this$,spec,value) : m__5351__auto__.call(null, this$,spec,value));
|
|
454
|
+
} else {
|
|
455
|
+
var m__5349__auto__ = (spec_tools.core._decoder["_"]);
|
|
456
|
+
if((!((m__5349__auto__ == null)))){
|
|
457
|
+
return (m__5349__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5349__auto__.cljs$core$IFn$_invoke$arity$3(this$,spec,value) : m__5349__auto__.call(null, this$,spec,value));
|
|
458
|
+
} else {
|
|
459
|
+
throw cljs.core.missing_protocol("Transformer.-decoder",this$);
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
});
|
|
463
|
+
spec_tools.core._decoder = (function spec_tools$core$_decoder(this$,spec,value){
|
|
464
|
+
if((((!((this$ == null)))) && ((!((this$.spec_tools$core$Transformer$_decoder$arity$3 == null)))))){
|
|
465
|
+
return this$.spec_tools$core$Transformer$_decoder$arity$3(this$,spec,value);
|
|
466
|
+
} else {
|
|
467
|
+
return spec_tools$core$Transformer$_decoder$dyn_127356(this$,spec,value);
|
|
468
|
+
}
|
|
469
|
+
});
|
|
470
|
+
|
|
471
|
+
|
|
472
|
+
/**
|
|
473
|
+
* @constructor
|
|
474
|
+
* @implements {cljs.core.IMeta}
|
|
475
|
+
* @implements {spec_tools.core.Transformer}
|
|
476
|
+
* @implements {cljs.core.IWithMeta}
|
|
477
|
+
*/
|
|
478
|
+
spec_tools.core.t_spec_tools$core127098 = (function (options,encoders,decoders,map__127090,default_decoder,transformer_name,encode_key,decode_key,__GT_opts,default_encoder,options_or_transformers,meta127099){
|
|
479
|
+
this.options = options;
|
|
480
|
+
this.encoders = encoders;
|
|
481
|
+
this.decoders = decoders;
|
|
482
|
+
this.map__127090 = map__127090;
|
|
483
|
+
this.default_decoder = default_decoder;
|
|
484
|
+
this.transformer_name = transformer_name;
|
|
485
|
+
this.encode_key = encode_key;
|
|
486
|
+
this.decode_key = decode_key;
|
|
487
|
+
this.__GT_opts = __GT_opts;
|
|
488
|
+
this.default_encoder = default_encoder;
|
|
489
|
+
this.options_or_transformers = options_or_transformers;
|
|
490
|
+
this.meta127099 = meta127099;
|
|
491
|
+
this.cljs$lang$protocol_mask$partition0$ = 393216;
|
|
492
|
+
this.cljs$lang$protocol_mask$partition1$ = 0;
|
|
493
|
+
});
|
|
494
|
+
(spec_tools.core.t_spec_tools$core127098.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_127100,meta127099__$1){
|
|
495
|
+
var self__ = this;
|
|
496
|
+
var _127100__$1 = this;
|
|
497
|
+
return (new spec_tools.core.t_spec_tools$core127098(self__.options,self__.encoders,self__.decoders,self__.map__127090,self__.default_decoder,self__.transformer_name,self__.encode_key,self__.decode_key,self__.__GT_opts,self__.default_encoder,self__.options_or_transformers,meta127099__$1));
|
|
498
|
+
}));
|
|
499
|
+
|
|
500
|
+
(spec_tools.core.t_spec_tools$core127098.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_127100){
|
|
501
|
+
var self__ = this;
|
|
502
|
+
var _127100__$1 = this;
|
|
503
|
+
return self__.meta127099;
|
|
504
|
+
}));
|
|
505
|
+
|
|
506
|
+
(spec_tools.core.t_spec_tools$core127098.prototype.spec_tools$core$Transformer$ = cljs.core.PROTOCOL_SENTINEL);
|
|
507
|
+
|
|
508
|
+
(spec_tools.core.t_spec_tools$core127098.prototype.spec_tools$core$Transformer$_name$arity$1 = (function (_){
|
|
509
|
+
var self__ = this;
|
|
510
|
+
var ___$1 = this;
|
|
511
|
+
return self__.transformer_name;
|
|
512
|
+
}));
|
|
513
|
+
|
|
514
|
+
(spec_tools.core.t_spec_tools$core127098.prototype.spec_tools$core$Transformer$_options$arity$1 = (function (_){
|
|
515
|
+
var self__ = this;
|
|
516
|
+
var ___$1 = this;
|
|
517
|
+
return self__.options;
|
|
518
|
+
}));
|
|
519
|
+
|
|
520
|
+
(spec_tools.core.t_spec_tools$core127098.prototype.spec_tools$core$Transformer$_encoder$arity$3 = (function (_,spec,___$1){
|
|
521
|
+
var self__ = this;
|
|
522
|
+
var ___$2 = this;
|
|
523
|
+
var or__5002__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(spec,self__.encode_key);
|
|
524
|
+
if(cljs.core.truth_(or__5002__auto__)){
|
|
525
|
+
return or__5002__auto__;
|
|
526
|
+
} else {
|
|
527
|
+
var or__5002__auto____$1 = (function (){var temp__5804__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(self__.encoders,spec_tools.parse.type_dispatch_value(new cljs.core.Keyword(null,"type","type",1174270348).cljs$core$IFn$_invoke$arity$1(spec)));
|
|
528
|
+
if(cljs.core.truth_(temp__5804__auto__)){
|
|
529
|
+
var e = temp__5804__auto__;
|
|
530
|
+
return (function (this$,x){
|
|
531
|
+
var _STAR_dynamic_conforming_STAR__orig_val__127102 = spec_tools.core._STAR_dynamic_conforming_STAR_;
|
|
532
|
+
var _STAR_dynamic_conforming_STAR__temp_val__127103 = spec_tools.core.__GT_DynamicConforming(null,false,null);
|
|
533
|
+
(spec_tools.core._STAR_dynamic_conforming_STAR_ = _STAR_dynamic_conforming_STAR__temp_val__127103);
|
|
534
|
+
|
|
535
|
+
try{return (e.cljs$core$IFn$_invoke$arity$2 ? e.cljs$core$IFn$_invoke$arity$2(this$,x) : e.call(null, this$,x));
|
|
536
|
+
}finally {(spec_tools.core._STAR_dynamic_conforming_STAR_ = _STAR_dynamic_conforming_STAR__orig_val__127102);
|
|
537
|
+
}});
|
|
538
|
+
} else {
|
|
539
|
+
return null;
|
|
540
|
+
}
|
|
541
|
+
})();
|
|
542
|
+
if(cljs.core.truth_(or__5002__auto____$1)){
|
|
543
|
+
return or__5002__auto____$1;
|
|
544
|
+
} else {
|
|
545
|
+
return self__.default_encoder;
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
}));
|
|
549
|
+
|
|
550
|
+
(spec_tools.core.t_spec_tools$core127098.prototype.spec_tools$core$Transformer$_decoder$arity$3 = (function (_,spec,___$1){
|
|
551
|
+
var self__ = this;
|
|
552
|
+
var ___$2 = this;
|
|
553
|
+
var or__5002__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(spec,self__.decode_key);
|
|
554
|
+
if(cljs.core.truth_(or__5002__auto__)){
|
|
555
|
+
return or__5002__auto__;
|
|
556
|
+
} else {
|
|
557
|
+
var or__5002__auto____$1 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(self__.decoders,spec_tools.parse.type_dispatch_value(new cljs.core.Keyword(null,"type","type",1174270348).cljs$core$IFn$_invoke$arity$1(spec)));
|
|
558
|
+
if(cljs.core.truth_(or__5002__auto____$1)){
|
|
559
|
+
return or__5002__auto____$1;
|
|
560
|
+
} else {
|
|
561
|
+
return self__.default_decoder;
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
}));
|
|
565
|
+
|
|
566
|
+
(spec_tools.core.t_spec_tools$core127098.getBasis = (function (){
|
|
567
|
+
return new cljs.core.PersistentVector(null, 12, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"options","options",1740170016,null),new cljs.core.Symbol(null,"encoders","encoders",1528808619,null),new cljs.core.Symbol(null,"decoders","decoders",-1521617525,null),new cljs.core.Symbol(null,"map__127090","map__127090",494030767,null),new cljs.core.Symbol(null,"default-decoder","default-decoder",-1846078608,null),new cljs.core.Symbol(null,"transformer-name","transformer-name",1500736595,null),new cljs.core.Symbol(null,"encode-key","encode-key",61285653,null),new cljs.core.Symbol(null,"decode-key","decode-key",-1250072619,null),new cljs.core.Symbol(null,"->opts","->opts",-1799002948,null),new cljs.core.Symbol(null,"default-encoder","default-encoder",1758072734,null),new cljs.core.Symbol(null,"options-or-transformers","options-or-transformers",878001150,null),new cljs.core.Symbol(null,"meta127099","meta127099",-1240662394,null)], null);
|
|
568
|
+
}));
|
|
569
|
+
|
|
570
|
+
(spec_tools.core.t_spec_tools$core127098.cljs$lang$type = true);
|
|
571
|
+
|
|
572
|
+
(spec_tools.core.t_spec_tools$core127098.cljs$lang$ctorStr = "spec-tools.core/t_spec_tools$core127098");
|
|
573
|
+
|
|
574
|
+
(spec_tools.core.t_spec_tools$core127098.cljs$lang$ctorPrWriter = (function (this__5287__auto__,writer__5288__auto__,opt__5289__auto__){
|
|
575
|
+
return cljs.core._write(writer__5288__auto__,"spec-tools.core/t_spec_tools$core127098");
|
|
576
|
+
}));
|
|
577
|
+
|
|
578
|
+
/**
|
|
579
|
+
* Positional factory function for spec-tools.core/t_spec_tools$core127098.
|
|
580
|
+
*/
|
|
581
|
+
spec_tools.core.__GT_t_spec_tools$core127098 = (function spec_tools$core$__GT_t_spec_tools$core127098(options,encoders,decoders,map__127090,default_decoder,transformer_name,encode_key,decode_key,__GT_opts,default_encoder,options_or_transformers,meta127099){
|
|
582
|
+
return (new spec_tools.core.t_spec_tools$core127098(options,encoders,decoders,map__127090,default_decoder,transformer_name,encode_key,decode_key,__GT_opts,default_encoder,options_or_transformers,meta127099));
|
|
583
|
+
});
|
|
584
|
+
|
|
585
|
+
|
|
586
|
+
/**
|
|
587
|
+
* Returns a Transformer instance out of options map or Transformer instances.
|
|
588
|
+
* Available options:
|
|
589
|
+
*
|
|
590
|
+
* | Key | Description
|
|
591
|
+
* |--------------------|-----------------
|
|
592
|
+
* | `:name` | Name of the transformer
|
|
593
|
+
* | `:encoders` | Map of type `type -> transform`
|
|
594
|
+
* | `:decoders` | Map of type `type -> transform`
|
|
595
|
+
* | `:default-encoder` | Default `transform` for encoding
|
|
596
|
+
* | `:default-decoder` | Default `transform` for decoding
|
|
597
|
+
*
|
|
598
|
+
* Example of a JSON type-transformer:
|
|
599
|
+
*
|
|
600
|
+
* ```clojure
|
|
601
|
+
* (require '[spec-tools.core :as st])
|
|
602
|
+
* (require '[spec-tools.transform :as stt])
|
|
603
|
+
*
|
|
604
|
+
* (def json-transformer
|
|
605
|
+
* (type-transformer
|
|
606
|
+
* {:name :json
|
|
607
|
+
* :decoders stt/json-type-decoders
|
|
608
|
+
* :encoders stt/json-type-encoders
|
|
609
|
+
* :default-encoder stt/any->any}))
|
|
610
|
+
* ```
|
|
611
|
+
*
|
|
612
|
+
* Composed Strict JSON Transformer:
|
|
613
|
+
*
|
|
614
|
+
* ```clojure
|
|
615
|
+
* (def strict-json-transformer
|
|
616
|
+
* (st/type-transformer
|
|
617
|
+
* st/json-transformer
|
|
618
|
+
* st/strip-extra-keys-transformer
|
|
619
|
+
* st/strip-extra-values-transformer))
|
|
620
|
+
* ```
|
|
621
|
+
*/
|
|
622
|
+
spec_tools.core.type_transformer = (function spec_tools$core$type_transformer(var_args){
|
|
623
|
+
var args__5732__auto__ = [];
|
|
624
|
+
var len__5726__auto___127361 = arguments.length;
|
|
625
|
+
var i__5727__auto___127362 = (0);
|
|
626
|
+
while(true){
|
|
627
|
+
if((i__5727__auto___127362 < len__5726__auto___127361)){
|
|
628
|
+
args__5732__auto__.push((arguments[i__5727__auto___127362]));
|
|
629
|
+
|
|
630
|
+
var G__127363 = (i__5727__auto___127362 + (1));
|
|
631
|
+
i__5727__auto___127362 = G__127363;
|
|
632
|
+
continue;
|
|
633
|
+
} else {
|
|
634
|
+
}
|
|
635
|
+
break;
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
var argseq__5733__auto__ = ((((0) < args__5732__auto__.length))?(new cljs.core.IndexedSeq(args__5732__auto__.slice((0)),(0),null)):null);
|
|
639
|
+
return spec_tools.core.type_transformer.cljs$core$IFn$_invoke$arity$variadic(argseq__5733__auto__);
|
|
640
|
+
});
|
|
641
|
+
|
|
642
|
+
(spec_tools.core.type_transformer.cljs$core$IFn$_invoke$arity$variadic = (function (options_or_transformers){
|
|
643
|
+
var __GT_opts = (function (p1__127083_SHARP_){
|
|
644
|
+
if((((!((p1__127083_SHARP_ == null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL === p1__127083_SHARP_.spec_tools$core$Transformer$))))?true:(((!p1__127083_SHARP_.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(spec_tools.core.Transformer,p1__127083_SHARP_):false)):cljs.core.native_satisfies_QMARK_(spec_tools.core.Transformer,p1__127083_SHARP_))){
|
|
645
|
+
return spec_tools.core._options(p1__127083_SHARP_);
|
|
646
|
+
} else {
|
|
647
|
+
return p1__127083_SHARP_;
|
|
648
|
+
}
|
|
649
|
+
});
|
|
650
|
+
var map__127090 = cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(spec_tools.impl.deep_merge,null,cljs.core.map.cljs$core$IFn$_invoke$arity$2(__GT_opts,options_or_transformers));
|
|
651
|
+
var map__127090__$1 = cljs.core.__destructure_map(map__127090);
|
|
652
|
+
var options = map__127090__$1;
|
|
653
|
+
var transformer_name = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127090__$1,new cljs.core.Keyword(null,"name","name",1843675177));
|
|
654
|
+
var encoders = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127090__$1,new cljs.core.Keyword(null,"encoders","encoders",-111722908));
|
|
655
|
+
var decoders = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127090__$1,new cljs.core.Keyword(null,"decoders","decoders",1132818244));
|
|
656
|
+
var default_encoder = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127090__$1,new cljs.core.Keyword(null,"default-encoder","default-encoder",117541207));
|
|
657
|
+
var default_decoder = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127090__$1,new cljs.core.Keyword(null,"default-decoder","default-decoder",808357161));
|
|
658
|
+
var encode_key = (function (){var G__127092 = transformer_name;
|
|
659
|
+
var G__127092__$1 = (((G__127092 == null))?null:cljs.core.name(G__127092));
|
|
660
|
+
var G__127092__$2 = (((G__127092__$1 == null))?null:["encode/",G__127092__$1].join(''));
|
|
661
|
+
if((G__127092__$2 == null)){
|
|
662
|
+
return null;
|
|
663
|
+
} else {
|
|
664
|
+
return cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(G__127092__$2);
|
|
665
|
+
}
|
|
666
|
+
})();
|
|
667
|
+
var decode_key = (function (){var G__127095 = transformer_name;
|
|
668
|
+
var G__127095__$1 = (((G__127095 == null))?null:cljs.core.name(G__127095));
|
|
669
|
+
var G__127095__$2 = (((G__127095__$1 == null))?null:["decode/",G__127095__$1].join(''));
|
|
670
|
+
if((G__127095__$2 == null)){
|
|
671
|
+
return null;
|
|
672
|
+
} else {
|
|
673
|
+
return cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(G__127095__$2);
|
|
674
|
+
}
|
|
675
|
+
})();
|
|
676
|
+
return (new spec_tools.core.t_spec_tools$core127098(options,encoders,decoders,map__127090__$1,default_decoder,transformer_name,encode_key,decode_key,__GT_opts,default_encoder,options_or_transformers,cljs.core.PersistentArrayMap.EMPTY));
|
|
677
|
+
}));
|
|
678
|
+
|
|
679
|
+
(spec_tools.core.type_transformer.cljs$lang$maxFixedArity = (0));
|
|
680
|
+
|
|
681
|
+
/** @this {Function} */
|
|
682
|
+
(spec_tools.core.type_transformer.cljs$lang$applyTo = (function (seq127086){
|
|
683
|
+
var self__5712__auto__ = this;
|
|
684
|
+
return self__5712__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq127086));
|
|
685
|
+
}));
|
|
686
|
+
|
|
687
|
+
/**
|
|
688
|
+
* Transformer that transforms data between JSON and EDN.
|
|
689
|
+
*/
|
|
690
|
+
spec_tools.core.json_transformer = spec_tools.core.type_transformer.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"json","json",1279968570),new cljs.core.Keyword(null,"decoders","decoders",1132818244),spec_tools.transform.json_type_decoders,new cljs.core.Keyword(null,"encoders","encoders",-111722908),spec_tools.transform.json_type_encoders,new cljs.core.Keyword(null,"default-encoder","default-encoder",117541207),spec_tools.transform.any__GT_any], null)], 0));
|
|
691
|
+
/**
|
|
692
|
+
* Transformer that transforms data between Strings and EDN.
|
|
693
|
+
*/
|
|
694
|
+
spec_tools.core.string_transformer = spec_tools.core.type_transformer.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"string","string",-1989541586),new cljs.core.Keyword(null,"decoders","decoders",1132818244),spec_tools.transform.string_type_decoders,new cljs.core.Keyword(null,"encoders","encoders",-111722908),spec_tools.transform.string_type_encoders,new cljs.core.Keyword(null,"default-encoder","default-encoder",117541207),spec_tools.transform.any__GT_any], null)], 0));
|
|
695
|
+
/**
|
|
696
|
+
* Transformer that drop extra keys from `s/keys` specs.
|
|
697
|
+
*/
|
|
698
|
+
spec_tools.core.strip_extra_keys_transformer = spec_tools.core.type_transformer.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword("spec-tools.core","strip-extra-keys","spec-tools.core/strip-extra-keys",-1640458075),new cljs.core.Keyword(null,"decoders","decoders",1132818244),spec_tools.transform.strip_extra_keys_type_decoders], null)], 0));
|
|
699
|
+
/**
|
|
700
|
+
* Transformer that drop extra values from `s/tuple` specs.
|
|
701
|
+
*/
|
|
702
|
+
spec_tools.core.strip_extra_values_transformer = spec_tools.core.type_transformer.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword("spec-tools.core","strip-extra-values","spec-tools.core/strip-extra-values",368120531),new cljs.core.Keyword(null,"decoders","decoders",1132818244),spec_tools.transform.strip_extra_values_type_decoders], null)], 0));
|
|
703
|
+
/**
|
|
704
|
+
* Transformer that fails on extra keys in `s/keys` specs.
|
|
705
|
+
*/
|
|
706
|
+
spec_tools.core.fail_on_extra_keys_transformer = spec_tools.core.type_transformer.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword("spec-tools.core","fail-on-extra-keys","spec-tools.core/fail-on-extra-keys",-434971052),new cljs.core.Keyword(null,"decoders","decoders",1132818244),spec_tools.transform.fail_on_extra_keys_type_decoders], null)], 0));
|
|
707
|
+
/**
|
|
708
|
+
* Like `clojure.core.alpha/explain` but supports transformers
|
|
709
|
+
*/
|
|
710
|
+
spec_tools.core.explain = (function spec_tools$core$explain(var_args){
|
|
711
|
+
var G__127109 = arguments.length;
|
|
712
|
+
switch (G__127109) {
|
|
713
|
+
case 2:
|
|
714
|
+
return spec_tools.core.explain.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
|
|
715
|
+
|
|
716
|
+
break;
|
|
717
|
+
case 3:
|
|
718
|
+
return spec_tools.core.explain.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
|
|
719
|
+
|
|
720
|
+
break;
|
|
721
|
+
default:
|
|
722
|
+
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
|
|
723
|
+
|
|
724
|
+
}
|
|
725
|
+
});
|
|
726
|
+
|
|
727
|
+
(spec_tools.core.explain.cljs$core$IFn$_invoke$arity$2 = (function (spec,value){
|
|
728
|
+
return spec_tools.core.explain.cljs$core$IFn$_invoke$arity$3(spec,value,null);
|
|
729
|
+
}));
|
|
730
|
+
|
|
731
|
+
(spec_tools.core.explain.cljs$core$IFn$_invoke$arity$3 = (function (spec,value,transformer){
|
|
732
|
+
var _STAR_dynamic_conforming_STAR__orig_val__127110 = spec_tools.core._STAR_dynamic_conforming_STAR_;
|
|
733
|
+
var _STAR_dynamic_conforming_STAR__temp_val__127111 = spec_tools.core.__GT_DynamicConforming(transformer,false,null);
|
|
734
|
+
(spec_tools.core._STAR_dynamic_conforming_STAR_ = _STAR_dynamic_conforming_STAR__temp_val__127111);
|
|
735
|
+
|
|
736
|
+
try{return cljs.spec.alpha.explain((spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1 ? spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1(spec) : spec_tools.core.into_spec.call(null, spec)),value);
|
|
737
|
+
}finally {(spec_tools.core._STAR_dynamic_conforming_STAR_ = _STAR_dynamic_conforming_STAR__orig_val__127110);
|
|
738
|
+
}}));
|
|
739
|
+
|
|
740
|
+
(spec_tools.core.explain.cljs$lang$maxFixedArity = 3);
|
|
741
|
+
|
|
742
|
+
/**
|
|
743
|
+
* Like `clojure.core.alpha/explain-data` but supports transformers
|
|
744
|
+
*/
|
|
745
|
+
spec_tools.core.explain_data = (function spec_tools$core$explain_data(var_args){
|
|
746
|
+
var G__127113 = arguments.length;
|
|
747
|
+
switch (G__127113) {
|
|
748
|
+
case 2:
|
|
749
|
+
return spec_tools.core.explain_data.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
|
|
750
|
+
|
|
751
|
+
break;
|
|
752
|
+
case 3:
|
|
753
|
+
return spec_tools.core.explain_data.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
|
|
754
|
+
|
|
755
|
+
break;
|
|
756
|
+
default:
|
|
757
|
+
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
|
|
758
|
+
|
|
759
|
+
}
|
|
760
|
+
});
|
|
761
|
+
|
|
762
|
+
(spec_tools.core.explain_data.cljs$core$IFn$_invoke$arity$2 = (function (spec,value){
|
|
763
|
+
return spec_tools.core.explain_data.cljs$core$IFn$_invoke$arity$3(spec,value,null);
|
|
764
|
+
}));
|
|
765
|
+
|
|
766
|
+
(spec_tools.core.explain_data.cljs$core$IFn$_invoke$arity$3 = (function (spec,value,transformer){
|
|
767
|
+
var _STAR_dynamic_conforming_STAR__orig_val__127114 = spec_tools.core._STAR_dynamic_conforming_STAR_;
|
|
768
|
+
var _STAR_dynamic_conforming_STAR__temp_val__127115 = spec_tools.core.__GT_DynamicConforming(transformer,false,null);
|
|
769
|
+
(spec_tools.core._STAR_dynamic_conforming_STAR_ = _STAR_dynamic_conforming_STAR__temp_val__127115);
|
|
770
|
+
|
|
771
|
+
try{return cljs.spec.alpha.explain_data((spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1 ? spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1(spec) : spec_tools.core.into_spec.call(null, spec)),value);
|
|
772
|
+
}finally {(spec_tools.core._STAR_dynamic_conforming_STAR_ = _STAR_dynamic_conforming_STAR__orig_val__127114);
|
|
773
|
+
}}));
|
|
774
|
+
|
|
775
|
+
(spec_tools.core.explain_data.cljs$lang$maxFixedArity = 3);
|
|
776
|
+
|
|
777
|
+
/**
|
|
778
|
+
* Given a spec and a value, returns the possibly destructured value
|
|
779
|
+
* or ::s/invalid
|
|
780
|
+
*/
|
|
781
|
+
spec_tools.core.conform = (function spec_tools$core$conform(var_args){
|
|
782
|
+
var G__127118 = arguments.length;
|
|
783
|
+
switch (G__127118) {
|
|
784
|
+
case 2:
|
|
785
|
+
return spec_tools.core.conform.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
|
|
786
|
+
|
|
787
|
+
break;
|
|
788
|
+
case 3:
|
|
789
|
+
return spec_tools.core.conform.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
|
|
790
|
+
|
|
791
|
+
break;
|
|
792
|
+
default:
|
|
793
|
+
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
|
|
794
|
+
|
|
795
|
+
}
|
|
796
|
+
});
|
|
797
|
+
|
|
798
|
+
(spec_tools.core.conform.cljs$core$IFn$_invoke$arity$2 = (function (spec,value){
|
|
799
|
+
return spec_tools.core.conform.cljs$core$IFn$_invoke$arity$3(spec,value,null);
|
|
800
|
+
}));
|
|
801
|
+
|
|
802
|
+
(spec_tools.core.conform.cljs$core$IFn$_invoke$arity$3 = (function (spec,value,transformer){
|
|
803
|
+
var _STAR_dynamic_conforming_STAR__orig_val__127119 = spec_tools.core._STAR_dynamic_conforming_STAR_;
|
|
804
|
+
var _STAR_dynamic_conforming_STAR__temp_val__127120 = spec_tools.core.__GT_DynamicConforming(transformer,false,null);
|
|
805
|
+
(spec_tools.core._STAR_dynamic_conforming_STAR_ = _STAR_dynamic_conforming_STAR__temp_val__127120);
|
|
806
|
+
|
|
807
|
+
try{return cljs.spec.alpha.conform((spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1 ? spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1(spec) : spec_tools.core.into_spec.call(null, spec)),value);
|
|
808
|
+
}finally {(spec_tools.core._STAR_dynamic_conforming_STAR_ = _STAR_dynamic_conforming_STAR__orig_val__127119);
|
|
809
|
+
}}));
|
|
810
|
+
|
|
811
|
+
(spec_tools.core.conform.cljs$lang$maxFixedArity = 3);
|
|
812
|
+
|
|
813
|
+
/**
|
|
814
|
+
* Given a spec and a value, returns the possibly destructured value
|
|
815
|
+
* or fails with ex-info with :type of ::conform. ex-data also contains
|
|
816
|
+
* :problems, :spec and :value. call s/unform on the result to get the
|
|
817
|
+
* actual conformed value.
|
|
818
|
+
*/
|
|
819
|
+
spec_tools.core.conform_BANG_ = (function spec_tools$core$conform_BANG_(var_args){
|
|
820
|
+
var G__127123 = arguments.length;
|
|
821
|
+
switch (G__127123) {
|
|
822
|
+
case 2:
|
|
823
|
+
return spec_tools.core.conform_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
|
|
824
|
+
|
|
825
|
+
break;
|
|
826
|
+
case 3:
|
|
827
|
+
return spec_tools.core.conform_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
|
|
828
|
+
|
|
829
|
+
break;
|
|
830
|
+
default:
|
|
831
|
+
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
|
|
832
|
+
|
|
833
|
+
}
|
|
834
|
+
});
|
|
835
|
+
|
|
836
|
+
(spec_tools.core.conform_BANG_.cljs$core$IFn$_invoke$arity$2 = (function (spec,value){
|
|
837
|
+
return spec_tools.core.conform_BANG_.cljs$core$IFn$_invoke$arity$3(spec,value,null);
|
|
838
|
+
}));
|
|
839
|
+
|
|
840
|
+
(spec_tools.core.conform_BANG_.cljs$core$IFn$_invoke$arity$3 = (function (spec,value,transformer){
|
|
841
|
+
var _STAR_dynamic_conforming_STAR__orig_val__127124 = spec_tools.core._STAR_dynamic_conforming_STAR_;
|
|
842
|
+
var _STAR_dynamic_conforming_STAR__temp_val__127125 = spec_tools.core.__GT_DynamicConforming(transformer,false,null);
|
|
843
|
+
(spec_tools.core._STAR_dynamic_conforming_STAR_ = _STAR_dynamic_conforming_STAR__temp_val__127125);
|
|
844
|
+
|
|
845
|
+
try{var spec_SINGLEQUOTE_ = (spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1 ? spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1(spec) : spec_tools.core.into_spec.call(null, spec));
|
|
846
|
+
var conformed = cljs.spec.alpha.conform(spec_SINGLEQUOTE_,value);
|
|
847
|
+
if((!(cljs.spec.alpha.invalid_QMARK_(conformed)))){
|
|
848
|
+
return conformed;
|
|
849
|
+
} else {
|
|
850
|
+
var problems = cljs.spec.alpha.explain_data(spec_SINGLEQUOTE_,value);
|
|
851
|
+
var data = new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword("spec-tools.core","conform","spec-tools.core/conform",-97557480),new cljs.core.Keyword(null,"problems","problems",2097327077),new cljs.core.Keyword("cljs.spec.alpha","problems","cljs.spec.alpha/problems",447400814).cljs$core$IFn$_invoke$arity$1(problems),new cljs.core.Keyword(null,"spec","spec",347520401),spec,new cljs.core.Keyword(null,"value","value",305978217),value], null);
|
|
852
|
+
throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(["Spec conform error: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(data)].join(''),data);
|
|
853
|
+
}
|
|
854
|
+
}finally {(spec_tools.core._STAR_dynamic_conforming_STAR_ = _STAR_dynamic_conforming_STAR__orig_val__127124);
|
|
855
|
+
}}));
|
|
856
|
+
|
|
857
|
+
(spec_tools.core.conform_BANG_.cljs$lang$maxFixedArity = 3);
|
|
858
|
+
|
|
859
|
+
/**
|
|
860
|
+
* Coerces the value using a [[Transformer]]. Returns original value for
|
|
861
|
+
* those parts of the value that can't be trasformed.
|
|
862
|
+
*/
|
|
863
|
+
spec_tools.core.coerce = (function spec_tools$core$coerce(var_args){
|
|
864
|
+
var G__127127 = arguments.length;
|
|
865
|
+
switch (G__127127) {
|
|
866
|
+
case 3:
|
|
867
|
+
return spec_tools.core.coerce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
|
|
868
|
+
|
|
869
|
+
break;
|
|
870
|
+
case 4:
|
|
871
|
+
return spec_tools.core.coerce.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
|
|
872
|
+
|
|
873
|
+
break;
|
|
874
|
+
default:
|
|
875
|
+
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
|
|
876
|
+
|
|
877
|
+
}
|
|
878
|
+
});
|
|
879
|
+
|
|
880
|
+
(spec_tools.core.coerce.cljs$core$IFn$_invoke$arity$3 = (function (spec,value,transformer){
|
|
881
|
+
return spec_tools.core.coerce.cljs$core$IFn$_invoke$arity$4(spec,value,transformer,null);
|
|
882
|
+
}));
|
|
883
|
+
|
|
884
|
+
(spec_tools.core.coerce.cljs$core$IFn$_invoke$arity$4 = (function (spec,value,transformer,options){
|
|
885
|
+
return spec_tools.core._coerce((spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1 ? spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1(spec) : spec_tools.core.into_spec.call(null, spec)),value,transformer,options);
|
|
886
|
+
}));
|
|
887
|
+
|
|
888
|
+
(spec_tools.core.coerce.cljs$lang$maxFixedArity = 4);
|
|
889
|
+
|
|
890
|
+
/**
|
|
891
|
+
* Decodes a value using a [[Transformer]] from external format to a value
|
|
892
|
+
* defined by the spec. First, calls [[coerce]] and returns the value if it's
|
|
893
|
+
* valid - otherwise, calls [[conform]] & [[unform]]. You can also provide a
|
|
894
|
+
* spec to validate the decoded value after transformation. Returns `::s/invalid`
|
|
895
|
+
* if the value can't be decoded to conform the spec.
|
|
896
|
+
*/
|
|
897
|
+
spec_tools.core.decode = (function spec_tools$core$decode(var_args){
|
|
898
|
+
var G__127130 = arguments.length;
|
|
899
|
+
switch (G__127130) {
|
|
900
|
+
case 2:
|
|
901
|
+
return spec_tools.core.decode.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
|
|
902
|
+
|
|
903
|
+
break;
|
|
904
|
+
case 3:
|
|
905
|
+
return spec_tools.core.decode.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
|
|
906
|
+
|
|
907
|
+
break;
|
|
908
|
+
case 4:
|
|
909
|
+
return spec_tools.core.decode.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
|
|
910
|
+
|
|
911
|
+
break;
|
|
912
|
+
default:
|
|
913
|
+
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
|
|
914
|
+
|
|
915
|
+
}
|
|
916
|
+
});
|
|
917
|
+
|
|
918
|
+
(spec_tools.core.decode.cljs$core$IFn$_invoke$arity$2 = (function (spec,value){
|
|
919
|
+
return spec_tools.core.decode.cljs$core$IFn$_invoke$arity$3(spec,value,null);
|
|
920
|
+
}));
|
|
921
|
+
|
|
922
|
+
(spec_tools.core.decode.cljs$core$IFn$_invoke$arity$3 = (function (spec,value,transformer){
|
|
923
|
+
return spec_tools.core.decode.cljs$core$IFn$_invoke$arity$4(spec,value,transformer,null);
|
|
924
|
+
}));
|
|
925
|
+
|
|
926
|
+
(spec_tools.core.decode.cljs$core$IFn$_invoke$arity$4 = (function (spec,value,transformer,spec_transformed){
|
|
927
|
+
var spec__$1 = (spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1 ? spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1(spec) : spec_tools.core.into_spec.call(null, spec));
|
|
928
|
+
var coerced = spec_tools.core.coerce.cljs$core$IFn$_invoke$arity$3(spec__$1,value,transformer);
|
|
929
|
+
if(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(spec__$1,coerced)){
|
|
930
|
+
return coerced;
|
|
931
|
+
} else {
|
|
932
|
+
var _STAR_dynamic_conforming_STAR__orig_val__127132 = spec_tools.core._STAR_dynamic_conforming_STAR_;
|
|
933
|
+
var _STAR_dynamic_conforming_STAR__temp_val__127133 = spec_tools.core.__GT_DynamicConforming(transformer,false,spec_transformed);
|
|
934
|
+
(spec_tools.core._STAR_dynamic_conforming_STAR_ = _STAR_dynamic_conforming_STAR__temp_val__127133);
|
|
935
|
+
|
|
936
|
+
try{var conformed = cljs.spec.alpha.conform(spec__$1,value);
|
|
937
|
+
if(cljs.spec.alpha.invalid_QMARK_(conformed)){
|
|
938
|
+
return conformed;
|
|
939
|
+
} else {
|
|
940
|
+
if(cljs.core.truth_(spec_transformed)){
|
|
941
|
+
return cljs.spec.alpha.unform(spec_transformed,conformed);
|
|
942
|
+
} else {
|
|
943
|
+
return cljs.spec.alpha.unform(spec__$1,conformed);
|
|
944
|
+
}
|
|
945
|
+
}
|
|
946
|
+
}finally {(spec_tools.core._STAR_dynamic_conforming_STAR_ = _STAR_dynamic_conforming_STAR__orig_val__127132);
|
|
947
|
+
}}
|
|
948
|
+
}));
|
|
949
|
+
|
|
950
|
+
(spec_tools.core.decode.cljs$lang$maxFixedArity = 4);
|
|
951
|
+
|
|
952
|
+
/**
|
|
953
|
+
* Transforms a value (using a [[Transformer]]) from external
|
|
954
|
+
* format into a value defined by the spec. You can also provide a
|
|
955
|
+
* spec to validate the encoded value after transformation.
|
|
956
|
+
* On error, returns `::s/invalid`.
|
|
957
|
+
*/
|
|
958
|
+
spec_tools.core.encode = (function spec_tools$core$encode(var_args){
|
|
959
|
+
var G__127135 = arguments.length;
|
|
960
|
+
switch (G__127135) {
|
|
961
|
+
case 3:
|
|
962
|
+
return spec_tools.core.encode.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
|
|
963
|
+
|
|
964
|
+
break;
|
|
965
|
+
case 4:
|
|
966
|
+
return spec_tools.core.encode.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
|
|
967
|
+
|
|
968
|
+
break;
|
|
969
|
+
default:
|
|
970
|
+
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
|
|
971
|
+
|
|
972
|
+
}
|
|
973
|
+
});
|
|
974
|
+
|
|
975
|
+
(spec_tools.core.encode.cljs$core$IFn$_invoke$arity$3 = (function (spec,value,transformer){
|
|
976
|
+
return spec_tools.core.encode.cljs$core$IFn$_invoke$arity$4(spec,value,transformer,null);
|
|
977
|
+
}));
|
|
978
|
+
|
|
979
|
+
(spec_tools.core.encode.cljs$core$IFn$_invoke$arity$4 = (function (spec,value,transformer,spec_transformed){
|
|
980
|
+
var _STAR_dynamic_conforming_STAR__orig_val__127137 = spec_tools.core._STAR_dynamic_conforming_STAR_;
|
|
981
|
+
var _STAR_dynamic_conforming_STAR__temp_val__127138 = spec_tools.core.__GT_DynamicConforming(transformer,true,spec_transformed);
|
|
982
|
+
(spec_tools.core._STAR_dynamic_conforming_STAR_ = _STAR_dynamic_conforming_STAR__temp_val__127138);
|
|
983
|
+
|
|
984
|
+
try{var spec__$1 = (spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1 ? spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1(spec) : spec_tools.core.into_spec.call(null, spec));
|
|
985
|
+
var conformed = cljs.spec.alpha.conform(spec__$1,value);
|
|
986
|
+
if(cljs.spec.alpha.invalid_QMARK_(conformed)){
|
|
987
|
+
return conformed;
|
|
988
|
+
} else {
|
|
989
|
+
if(cljs.core.truth_(spec_transformed)){
|
|
990
|
+
return cljs.spec.alpha.unform(spec_transformed,conformed);
|
|
991
|
+
} else {
|
|
992
|
+
return cljs.spec.alpha.unform(spec__$1,conformed);
|
|
993
|
+
}
|
|
994
|
+
}
|
|
995
|
+
}finally {(spec_tools.core._STAR_dynamic_conforming_STAR_ = _STAR_dynamic_conforming_STAR__orig_val__127137);
|
|
996
|
+
}}));
|
|
997
|
+
|
|
998
|
+
(spec_tools.core.encode.cljs$lang$maxFixedArity = 4);
|
|
999
|
+
|
|
1000
|
+
/**
|
|
1001
|
+
* Best effort to drop recursively all extra keys out of a keys spec value.
|
|
1002
|
+
*/
|
|
1003
|
+
spec_tools.core.select_spec = (function spec_tools$core$select_spec(spec,value){
|
|
1004
|
+
return spec_tools.core.coerce.cljs$core$IFn$_invoke$arity$3(spec,value,spec_tools.core.strip_extra_keys_transformer);
|
|
1005
|
+
});
|
|
1006
|
+
if((typeof spec_tools !== 'undefined') && (typeof spec_tools.core !== 'undefined') && (typeof spec_tools.core.walk !== 'undefined')){
|
|
1007
|
+
} else {
|
|
1008
|
+
spec_tools.core.walk = (function (){var method_table__5599__auto__ = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);
|
|
1009
|
+
var prefer_table__5600__auto__ = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);
|
|
1010
|
+
var method_cache__5601__auto__ = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);
|
|
1011
|
+
var cached_hierarchy__5602__auto__ = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);
|
|
1012
|
+
var hierarchy__5603__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"default","default",-1987822328),new cljs.core.Keyword("spec-tools.core","default","spec-tools.core/default",501246940)], null),new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),(function (){var fexpr__127140 = cljs.core.get_global_hierarchy;
|
|
1013
|
+
return (fexpr__127140.cljs$core$IFn$_invoke$arity$0 ? fexpr__127140.cljs$core$IFn$_invoke$arity$0() : fexpr__127140.call(null, ));
|
|
1014
|
+
})());
|
|
1015
|
+
return (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2("spec-tools.core","walk"),(function (p__127141,_,___$1,___$2){
|
|
1016
|
+
var map__127142 = p__127141;
|
|
1017
|
+
var map__127142__$1 = cljs.core.__destructure_map(map__127142);
|
|
1018
|
+
var type = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127142__$1,new cljs.core.Keyword(null,"type","type",1174270348));
|
|
1019
|
+
return spec_tools.parse.type_dispatch_value(type);
|
|
1020
|
+
}),new cljs.core.Keyword("spec-tools.core","default","spec-tools.core/default",501246940),hierarchy__5603__auto__,method_table__5599__auto__,prefer_table__5600__auto__,method_cache__5601__auto__,cached_hierarchy__5602__auto__));
|
|
1021
|
+
})();
|
|
1022
|
+
}
|
|
1023
|
+
spec_tools.core.walk.cljs$core$IMultiFn$_add_method$arity$3(null, new cljs.core.Keyword("spec-tools.core","default","spec-tools.core/default",501246940),(function (spec,value,accept,options){
|
|
1024
|
+
if(cljs.core.truth_((function (){var and__5000__auto__ = (spec_tools.core.spec_QMARK_.cljs$core$IFn$_invoke$arity$1 ? spec_tools.core.spec_QMARK_.cljs$core$IFn$_invoke$arity$1(spec) : spec_tools.core.spec_QMARK_.call(null, spec));
|
|
1025
|
+
if(cljs.core.truth_(and__5000__auto__)){
|
|
1026
|
+
return cljs.core.not(new cljs.core.Keyword(null,"skip?","skip?",1467795012).cljs$core$IFn$_invoke$arity$1(options));
|
|
1027
|
+
} else {
|
|
1028
|
+
return and__5000__auto__;
|
|
1029
|
+
}
|
|
1030
|
+
})())){
|
|
1031
|
+
var G__127144 = spec;
|
|
1032
|
+
var G__127145 = value;
|
|
1033
|
+
var G__127146 = cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(options,new cljs.core.Keyword(null,"skip?","skip?",1467795012),true);
|
|
1034
|
+
return (accept.cljs$core$IFn$_invoke$arity$3 ? accept.cljs$core$IFn$_invoke$arity$3(G__127144,G__127145,G__127146) : accept.call(null, G__127144,G__127145,G__127146));
|
|
1035
|
+
} else {
|
|
1036
|
+
return value;
|
|
1037
|
+
}
|
|
1038
|
+
}));
|
|
1039
|
+
spec_tools.core.walk.cljs$core$IMultiFn$_add_method$arity$3(null, new cljs.core.Keyword(null,"or","or",235744169),(function (p__127147,value,accept,options){
|
|
1040
|
+
var map__127148 = p__127147;
|
|
1041
|
+
var map__127148__$1 = cljs.core.__destructure_map(map__127148);
|
|
1042
|
+
var items = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127148__$1,new cljs.core.Keyword("spec-tools.parse","items","spec-tools.parse/items",1255627600));
|
|
1043
|
+
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,item){
|
|
1044
|
+
var transformed = (accept.cljs$core$IFn$_invoke$arity$3 ? accept.cljs$core$IFn$_invoke$arity$3(item,v,options) : accept.call(null, item,v,options));
|
|
1045
|
+
var valid_QMARK_ = (function (){var G__127153 = item;
|
|
1046
|
+
var G__127153__$1 = (((G__127153 == null))?null:new cljs.core.Keyword(null,"spec","spec",347520401).cljs$core$IFn$_invoke$arity$1(G__127153));
|
|
1047
|
+
if((G__127153__$1 == null)){
|
|
1048
|
+
return null;
|
|
1049
|
+
} else {
|
|
1050
|
+
return cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(G__127153__$1,transformed);
|
|
1051
|
+
}
|
|
1052
|
+
})();
|
|
1053
|
+
if(cljs.core.truth_(valid_QMARK_)){
|
|
1054
|
+
return cljs.core.reduced(transformed);
|
|
1055
|
+
} else {
|
|
1056
|
+
return transformed;
|
|
1057
|
+
}
|
|
1058
|
+
}),value,items);
|
|
1059
|
+
}));
|
|
1060
|
+
spec_tools.core.walk.cljs$core$IMultiFn$_add_method$arity$3(null, new cljs.core.Keyword(null,"and","and",-971899817),(function (p__127154,value,accept,options){
|
|
1061
|
+
var map__127155 = p__127154;
|
|
1062
|
+
var map__127155__$1 = cljs.core.__destructure_map(map__127155);
|
|
1063
|
+
var items = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127155__$1,new cljs.core.Keyword("spec-tools.parse","items","spec-tools.parse/items",1255627600));
|
|
1064
|
+
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,item){
|
|
1065
|
+
var transformed = (accept.cljs$core$IFn$_invoke$arity$3 ? accept.cljs$core$IFn$_invoke$arity$3(item,v,options) : accept.call(null, item,v,options));
|
|
1066
|
+
return transformed;
|
|
1067
|
+
}),value,items);
|
|
1068
|
+
}));
|
|
1069
|
+
spec_tools.core.walk.cljs$core$IMultiFn$_add_method$arity$3(null, new cljs.core.Keyword(null,"nilable","nilable",1842307102),(function (p__127158,value,accept,options){
|
|
1070
|
+
var map__127159 = p__127158;
|
|
1071
|
+
var map__127159__$1 = cljs.core.__destructure_map(map__127159);
|
|
1072
|
+
var item = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127159__$1,new cljs.core.Keyword("spec-tools.parse","item","spec-tools.parse/item",-565704128));
|
|
1073
|
+
return (accept.cljs$core$IFn$_invoke$arity$3 ? accept.cljs$core$IFn$_invoke$arity$3(item,value,options) : accept.call(null, item,value,options));
|
|
1074
|
+
}));
|
|
1075
|
+
spec_tools.core.walk.cljs$core$IMultiFn$_add_method$arity$3(null, new cljs.core.Keyword(null,"vector","vector",1902966158),(function (p__127160,value,accept,options){
|
|
1076
|
+
var map__127161 = p__127160;
|
|
1077
|
+
var map__127161__$1 = cljs.core.__destructure_map(map__127161);
|
|
1078
|
+
var item = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127161__$1,new cljs.core.Keyword("spec-tools.parse","item","spec-tools.parse/item",-565704128));
|
|
1079
|
+
if(cljs.core.sequential_QMARK_(value)){
|
|
1080
|
+
var f = ((cljs.core.seq_QMARK_(value))?cljs.core.reverse:cljs.core.identity);
|
|
1081
|
+
var G__127162 = cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.empty(value),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (v){
|
|
1082
|
+
return (accept.cljs$core$IFn$_invoke$arity$3 ? accept.cljs$core$IFn$_invoke$arity$3(item,v,options) : accept.call(null, item,v,options));
|
|
1083
|
+
}),value));
|
|
1084
|
+
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__127162) : f.call(null, G__127162));
|
|
1085
|
+
} else {
|
|
1086
|
+
return value;
|
|
1087
|
+
}
|
|
1088
|
+
}));
|
|
1089
|
+
spec_tools.core.walk.cljs$core$IMultiFn$_add_method$arity$3(null, new cljs.core.Keyword(null,"tuple","tuple",-472667284),(function (p__127164,value,accept,options){
|
|
1090
|
+
var map__127165 = p__127164;
|
|
1091
|
+
var map__127165__$1 = cljs.core.__destructure_map(map__127165);
|
|
1092
|
+
var items = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127165__$1,new cljs.core.Keyword("spec-tools.parse","items","spec-tools.parse/items",1255627600));
|
|
1093
|
+
if(cljs.core.sequential_QMARK_(value)){
|
|
1094
|
+
return cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.empty(value),cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$1(cljs.core.vector),cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p__127166){
|
|
1095
|
+
var vec__127167 = p__127166;
|
|
1096
|
+
var i = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__127167,(0),null);
|
|
1097
|
+
var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__127167,(1),null);
|
|
1098
|
+
if((i < cljs.core.count(items))){
|
|
1099
|
+
var G__127170 = cljs.core.nth.cljs$core$IFn$_invoke$arity$2(items,i);
|
|
1100
|
+
if((G__127170 == null)){
|
|
1101
|
+
return null;
|
|
1102
|
+
} else {
|
|
1103
|
+
return (accept.cljs$core$IFn$_invoke$arity$3 ? accept.cljs$core$IFn$_invoke$arity$3(G__127170,v,options) : accept.call(null, G__127170,v,options));
|
|
1104
|
+
}
|
|
1105
|
+
} else {
|
|
1106
|
+
return v;
|
|
1107
|
+
}
|
|
1108
|
+
}))),value);
|
|
1109
|
+
} else {
|
|
1110
|
+
return value;
|
|
1111
|
+
}
|
|
1112
|
+
}));
|
|
1113
|
+
spec_tools.core.walk.cljs$core$IMultiFn$_add_method$arity$3(null, new cljs.core.Keyword(null,"set","set",304602554),(function (p__127171,value,accept,options){
|
|
1114
|
+
var map__127172 = p__127171;
|
|
1115
|
+
var map__127172__$1 = cljs.core.__destructure_map(map__127172);
|
|
1116
|
+
var item = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127172__$1,new cljs.core.Keyword("spec-tools.parse","item","spec-tools.parse/item",-565704128));
|
|
1117
|
+
if(((cljs.core.set_QMARK_(value)) || (cljs.core.sequential_QMARK_(value)))){
|
|
1118
|
+
return cljs.core.set(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (v){
|
|
1119
|
+
return (accept.cljs$core$IFn$_invoke$arity$3 ? accept.cljs$core$IFn$_invoke$arity$3(item,v,options) : accept.call(null, item,v,options));
|
|
1120
|
+
}),value));
|
|
1121
|
+
} else {
|
|
1122
|
+
return value;
|
|
1123
|
+
}
|
|
1124
|
+
}));
|
|
1125
|
+
spec_tools.core.walk.cljs$core$IMultiFn$_add_method$arity$3(null, new cljs.core.Keyword(null,"map","map",1371690461),(function (p__127173,value,accept,options){
|
|
1126
|
+
var map__127174 = p__127173;
|
|
1127
|
+
var map__127174__$1 = cljs.core.__destructure_map(map__127174);
|
|
1128
|
+
var key__GT_spec = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127174__$1,new cljs.core.Keyword("spec-tools.parse","key->spec","spec-tools.parse/key->spec",1347735257));
|
|
1129
|
+
if(cljs.core.map_QMARK_(value)){
|
|
1130
|
+
return cljs.core.reduce_kv((function (acc,k,v){
|
|
1131
|
+
var spec = ((cljs.core.qualified_keyword_QMARK_(k))?cljs.spec.alpha.get_spec(k):cljs.spec.alpha.get_spec(cljs.core.get.cljs$core$IFn$_invoke$arity$2(key__GT_spec,k)));
|
|
1132
|
+
var value__$1 = (cljs.core.truth_(spec)?(accept.cljs$core$IFn$_invoke$arity$3 ? accept.cljs$core$IFn$_invoke$arity$3(spec,v,options) : accept.call(null, spec,v,options)):v);
|
|
1133
|
+
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(acc,k,value__$1);
|
|
1134
|
+
}),value,value);
|
|
1135
|
+
} else {
|
|
1136
|
+
return value;
|
|
1137
|
+
}
|
|
1138
|
+
}));
|
|
1139
|
+
spec_tools.core.walk.cljs$core$IMultiFn$_add_method$arity$3(null, new cljs.core.Keyword(null,"map-of","map-of",1189682355),(function (p__127175,data,accept,options){
|
|
1140
|
+
var map__127176 = p__127175;
|
|
1141
|
+
var map__127176__$1 = cljs.core.__destructure_map(map__127176);
|
|
1142
|
+
var key = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127176__$1,new cljs.core.Keyword("spec-tools.parse","key","spec-tools.parse/key",-753897253));
|
|
1143
|
+
var value = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127176__$1,new cljs.core.Keyword("spec-tools.parse","value","spec-tools.parse/value",-492706501));
|
|
1144
|
+
if(cljs.core.map_QMARK_(data)){
|
|
1145
|
+
return cljs.core.reduce_kv((function (acc,k,v){
|
|
1146
|
+
var k_SINGLEQUOTE_ = (accept.cljs$core$IFn$_invoke$arity$3 ? accept.cljs$core$IFn$_invoke$arity$3(key,k,options) : accept.call(null, key,k,options));
|
|
1147
|
+
var v_SINGLEQUOTE_ = (accept.cljs$core$IFn$_invoke$arity$3 ? accept.cljs$core$IFn$_invoke$arity$3(value,v,options) : accept.call(null, value,v,options));
|
|
1148
|
+
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(acc,k_SINGLEQUOTE_,v_SINGLEQUOTE_);
|
|
1149
|
+
}),cljs.core.empty(data),data);
|
|
1150
|
+
} else {
|
|
1151
|
+
return data;
|
|
1152
|
+
}
|
|
1153
|
+
}));
|
|
1154
|
+
spec_tools.core.walk.cljs$core$IMultiFn$_add_method$arity$3(null, new cljs.core.Keyword(null,"multi-spec","multi-spec",1274719724),(function (p__127178,data,accept,options){
|
|
1155
|
+
var map__127179 = p__127178;
|
|
1156
|
+
var map__127179__$1 = cljs.core.__destructure_map(map__127179);
|
|
1157
|
+
var key = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127179__$1,new cljs.core.Keyword("spec-tools.parse","key","spec-tools.parse/key",-753897253));
|
|
1158
|
+
var dispatch = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127179__$1,new cljs.core.Keyword("spec-tools.parse","dispatch","spec-tools.parse/dispatch",1593226563));
|
|
1159
|
+
var dispatch_key = (function (p1__127177_SHARP_){
|
|
1160
|
+
var or__5002__auto__ = (key.cljs$core$IFn$_invoke$arity$1 ? key.cljs$core$IFn$_invoke$arity$1(p1__127177_SHARP_) : key.call(null, p1__127177_SHARP_));
|
|
1161
|
+
if(cljs.core.truth_(or__5002__auto__)){
|
|
1162
|
+
return or__5002__auto__;
|
|
1163
|
+
} else {
|
|
1164
|
+
var fexpr__127180 = cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(cljs.core.name(key));
|
|
1165
|
+
return (fexpr__127180.cljs$core$IFn$_invoke$arity$1 ? fexpr__127180.cljs$core$IFn$_invoke$arity$1(p1__127177_SHARP_) : fexpr__127180.call(null, p1__127177_SHARP_));
|
|
1166
|
+
}
|
|
1167
|
+
})(data);
|
|
1168
|
+
var dispatch_spec = (function (){var or__5002__auto__ = (dispatch.cljs$core$IFn$_invoke$arity$1 ? dispatch.cljs$core$IFn$_invoke$arity$1(dispatch_key) : dispatch.call(null, dispatch_key));
|
|
1169
|
+
if(cljs.core.truth_(or__5002__auto__)){
|
|
1170
|
+
return or__5002__auto__;
|
|
1171
|
+
} else {
|
|
1172
|
+
var G__127181 = cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(dispatch_key);
|
|
1173
|
+
return (dispatch.cljs$core$IFn$_invoke$arity$1 ? dispatch.cljs$core$IFn$_invoke$arity$1(G__127181) : dispatch.call(null, G__127181));
|
|
1174
|
+
}
|
|
1175
|
+
})();
|
|
1176
|
+
return spec_tools.core.walk.cljs$core$IFn$_invoke$arity$4(spec_tools.parse.parse_spec.cljs$core$IFn$_invoke$arity$1(dispatch_spec),data,accept,options);
|
|
1177
|
+
}));
|
|
1178
|
+
spec_tools.core.extra_spec_map = (function spec_tools$core$extra_spec_map(data){
|
|
1179
|
+
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (acc,p__127184){
|
|
1180
|
+
var vec__127185 = p__127184;
|
|
1181
|
+
var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__127185,(0),null);
|
|
1182
|
+
var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__127185,(1),null);
|
|
1183
|
+
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2("spec-tools.parse",cljs.core.namespace(k))){
|
|
1184
|
+
return acc;
|
|
1185
|
+
} else {
|
|
1186
|
+
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(acc,k,v);
|
|
1187
|
+
}
|
|
1188
|
+
}),cljs.core.PersistentArrayMap.EMPTY,cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(data,new cljs.core.Keyword(null,"form","form",-1624062471),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"spec","spec",347520401)], 0)));
|
|
1189
|
+
});
|
|
1190
|
+
spec_tools.core.fail_on_invoke = (function spec_tools$core$fail_on_invoke(spec){
|
|
1191
|
+
throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(["Can't invoke spec with a non-function predicate: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(spec)].join(''),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"spec","spec",347520401),spec], null));
|
|
1192
|
+
});
|
|
1193
|
+
spec_tools.core.leaf_QMARK_ = (function spec_tools$core$leaf_QMARK_(spec){
|
|
1194
|
+
return new cljs.core.Keyword(null,"leaf?","leaf?",445442965).cljs$core$IFn$_invoke$arity$1((spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1 ? spec_tools.core.into_spec.cljs$core$IFn$_invoke$arity$1(spec) : spec_tools.core.into_spec.call(null, spec)));
|
|
1195
|
+
});
|
|
1196
|
+
/**
|
|
1197
|
+
* Dynamic conforming can't walk over composite specs like s/and & s/or.
|
|
1198
|
+
* So, we'll use the first type. Examples:
|
|
1199
|
+
*
|
|
1200
|
+
* `[:and [:int :string]]` -> `:int`
|
|
1201
|
+
* `[:or [:string :keyword]]` -> `:string`
|
|
1202
|
+
*/
|
|
1203
|
+
spec_tools.core.decompose_spec_type = (function spec_tools$core$decompose_spec_type(spec){
|
|
1204
|
+
var type = new cljs.core.Keyword(null,"type","type",1174270348).cljs$core$IFn$_invoke$arity$1(spec);
|
|
1205
|
+
if(cljs.core.sequential_QMARK_(type)){
|
|
1206
|
+
return cljs.core.update.cljs$core$IFn$_invoke$arity$3(spec,new cljs.core.Keyword(null,"type","type",1174270348),cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.first,cljs.core.second));
|
|
1207
|
+
} else {
|
|
1208
|
+
return spec;
|
|
1209
|
+
}
|
|
1210
|
+
});
|
|
1211
|
+
|
|
1212
|
+
/**
|
|
1213
|
+
* @constructor
|
|
1214
|
+
* @implements {cljs.core.IRecord}
|
|
1215
|
+
* @implements {cljs.spec.alpha.Spec}
|
|
1216
|
+
* @implements {cljs.core.IKVReduce}
|
|
1217
|
+
* @implements {cljs.core.IEquiv}
|
|
1218
|
+
* @implements {cljs.core.IHash}
|
|
1219
|
+
* @implements {cljs.core.IFn}
|
|
1220
|
+
* @implements {cljs.core.ICollection}
|
|
1221
|
+
* @implements {cljs.core.ICounted}
|
|
1222
|
+
* @implements {cljs.core.ISeqable}
|
|
1223
|
+
* @implements {cljs.core.IMeta}
|
|
1224
|
+
* @implements {cljs.core.ICloneable}
|
|
1225
|
+
* @implements {cljs.core.IPrintWithWriter}
|
|
1226
|
+
* @implements {cljs.core.IIterable}
|
|
1227
|
+
* @implements {spec_tools.core.Coercion}
|
|
1228
|
+
* @implements {cljs.core.IWithMeta}
|
|
1229
|
+
* @implements {cljs.core.IAssociative}
|
|
1230
|
+
* @implements {cljs.core.IMap}
|
|
1231
|
+
* @implements {cljs.core.ILookup}
|
|
1232
|
+
*/
|
|
1233
|
+
spec_tools.core.Spec = (function (spec,form,type,__meta,__extmap,__hash){
|
|
1234
|
+
this.spec = spec;
|
|
1235
|
+
this.form = form;
|
|
1236
|
+
this.type = type;
|
|
1237
|
+
this.__meta = __meta;
|
|
1238
|
+
this.__extmap = __extmap;
|
|
1239
|
+
this.__hash = __hash;
|
|
1240
|
+
this.cljs$lang$protocol_mask$partition0$ = 2230716171;
|
|
1241
|
+
this.cljs$lang$protocol_mask$partition1$ = 139264;
|
|
1242
|
+
});
|
|
1243
|
+
(spec_tools.core.Spec.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (this__5300__auto__,k__5301__auto__){
|
|
1244
|
+
var self__ = this;
|
|
1245
|
+
var this__5300__auto____$1 = this;
|
|
1246
|
+
return this__5300__auto____$1.cljs$core$ILookup$_lookup$arity$3(null, k__5301__auto__,null);
|
|
1247
|
+
}));
|
|
1248
|
+
|
|
1249
|
+
(spec_tools.core.Spec.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (this__5302__auto__,k127194,else__5303__auto__){
|
|
1250
|
+
var self__ = this;
|
|
1251
|
+
var this__5302__auto____$1 = this;
|
|
1252
|
+
var G__127203 = k127194;
|
|
1253
|
+
var G__127203__$1 = (((G__127203 instanceof cljs.core.Keyword))?G__127203.fqn:null);
|
|
1254
|
+
switch (G__127203__$1) {
|
|
1255
|
+
case "spec":
|
|
1256
|
+
return self__.spec;
|
|
1257
|
+
|
|
1258
|
+
break;
|
|
1259
|
+
case "form":
|
|
1260
|
+
return self__.form;
|
|
1261
|
+
|
|
1262
|
+
break;
|
|
1263
|
+
case "type":
|
|
1264
|
+
return self__.type;
|
|
1265
|
+
|
|
1266
|
+
break;
|
|
1267
|
+
default:
|
|
1268
|
+
return cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k127194,else__5303__auto__);
|
|
1269
|
+
|
|
1270
|
+
}
|
|
1271
|
+
}));
|
|
1272
|
+
|
|
1273
|
+
(spec_tools.core.Spec.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 = (function (this__5320__auto__,f__5321__auto__,init__5322__auto__){
|
|
1274
|
+
var self__ = this;
|
|
1275
|
+
var this__5320__auto____$1 = this;
|
|
1276
|
+
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5323__auto__,p__127226){
|
|
1277
|
+
var vec__127229 = p__127226;
|
|
1278
|
+
var k__5324__auto__ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__127229,(0),null);
|
|
1279
|
+
var v__5325__auto__ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__127229,(1),null);
|
|
1280
|
+
return (f__5321__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5321__auto__.cljs$core$IFn$_invoke$arity$3(ret__5323__auto__,k__5324__auto__,v__5325__auto__) : f__5321__auto__.call(null, ret__5323__auto__,k__5324__auto__,v__5325__auto__));
|
|
1281
|
+
}),init__5322__auto__,this__5320__auto____$1);
|
|
1282
|
+
}));
|
|
1283
|
+
|
|
1284
|
+
(spec_tools.core.Spec.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (this__5315__auto__,writer__5316__auto__,opts__5317__auto__){
|
|
1285
|
+
var self__ = this;
|
|
1286
|
+
var this__5315__auto____$1 = this;
|
|
1287
|
+
var pr_pair__5318__auto__ = (function (keyval__5319__auto__){
|
|
1288
|
+
return cljs.core.pr_sequential_writer(writer__5316__auto__,cljs.core.pr_writer,""," ","",opts__5317__auto__,keyval__5319__auto__);
|
|
1289
|
+
});
|
|
1290
|
+
return cljs.core.pr_sequential_writer(writer__5316__auto__,pr_pair__5318__auto__,"#spec-tools.core.Spec{",", ","}",opts__5317__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"spec","spec",347520401),self__.spec],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"form","form",-1624062471),self__.form],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"type","type",1174270348),self__.type],null))], null),self__.__extmap));
|
|
1291
|
+
}));
|
|
1292
|
+
|
|
1293
|
+
(spec_tools.core.Spec.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (G__127193){
|
|
1294
|
+
var self__ = this;
|
|
1295
|
+
var G__127193__$1 = this;
|
|
1296
|
+
return (new cljs.core.RecordIter((0),G__127193__$1,3,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"spec","spec",347520401),new cljs.core.Keyword(null,"form","form",-1624062471),new cljs.core.Keyword(null,"type","type",1174270348)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));
|
|
1297
|
+
}));
|
|
1298
|
+
|
|
1299
|
+
(spec_tools.core.Spec.prototype.cljs$core$IMeta$_meta$arity$1 = (function (this__5298__auto__){
|
|
1300
|
+
var self__ = this;
|
|
1301
|
+
var this__5298__auto____$1 = this;
|
|
1302
|
+
return self__.__meta;
|
|
1303
|
+
}));
|
|
1304
|
+
|
|
1305
|
+
(spec_tools.core.Spec.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (this__5295__auto__){
|
|
1306
|
+
var self__ = this;
|
|
1307
|
+
var this__5295__auto____$1 = this;
|
|
1308
|
+
return (new spec_tools.core.Spec(self__.spec,self__.form,self__.type,self__.__meta,self__.__extmap,self__.__hash));
|
|
1309
|
+
}));
|
|
1310
|
+
|
|
1311
|
+
(spec_tools.core.Spec.prototype.cljs$core$ICounted$_count$arity$1 = (function (this__5304__auto__){
|
|
1312
|
+
var self__ = this;
|
|
1313
|
+
var this__5304__auto____$1 = this;
|
|
1314
|
+
return (3 + cljs.core.count(self__.__extmap));
|
|
1315
|
+
}));
|
|
1316
|
+
|
|
1317
|
+
(spec_tools.core.Spec.prototype.cljs$core$IHash$_hash$arity$1 = (function (this__5296__auto__){
|
|
1318
|
+
var self__ = this;
|
|
1319
|
+
var this__5296__auto____$1 = this;
|
|
1320
|
+
var h__5111__auto__ = self__.__hash;
|
|
1321
|
+
if((!((h__5111__auto__ == null)))){
|
|
1322
|
+
return h__5111__auto__;
|
|
1323
|
+
} else {
|
|
1324
|
+
var h__5111__auto____$1 = (function (coll__5297__auto__){
|
|
1325
|
+
return (344961240 ^ cljs.core.hash_unordered_coll(coll__5297__auto__));
|
|
1326
|
+
})(this__5296__auto____$1);
|
|
1327
|
+
(self__.__hash = h__5111__auto____$1);
|
|
1328
|
+
|
|
1329
|
+
return h__5111__auto____$1;
|
|
1330
|
+
}
|
|
1331
|
+
}));
|
|
1332
|
+
|
|
1333
|
+
(spec_tools.core.Spec.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (this127195,other127196){
|
|
1334
|
+
var self__ = this;
|
|
1335
|
+
var this127195__$1 = this;
|
|
1336
|
+
return (((!((other127196 == null)))) && ((((this127195__$1.constructor === other127196.constructor)) && (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this127195__$1.spec,other127196.spec)) && (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this127195__$1.form,other127196.form)) && (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this127195__$1.type,other127196.type)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this127195__$1.__extmap,other127196.__extmap)))))))))));
|
|
1337
|
+
}));
|
|
1338
|
+
|
|
1339
|
+
(spec_tools.core.Spec.prototype.cljs$spec$alpha$Spec$ = cljs.core.PROTOCOL_SENTINEL);
|
|
1340
|
+
|
|
1341
|
+
(spec_tools.core.Spec.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 = (function (this$,x){
|
|
1342
|
+
var self__ = this;
|
|
1343
|
+
var this$__$1 = this;
|
|
1344
|
+
var map__127273 = spec_tools.core._STAR_dynamic_conforming_STAR_;
|
|
1345
|
+
var map__127273__$1 = cljs.core.__destructure_map(map__127273);
|
|
1346
|
+
var transformer = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127273__$1,new cljs.core.Keyword(null,"transformer","transformer",-1493470620));
|
|
1347
|
+
var encode_QMARK_ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127273__$1,new cljs.core.Keyword(null,"encode?","encode?",-640109139));
|
|
1348
|
+
var spec_transformed = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127273__$1,new cljs.core.Keyword(null,"spec-transformed","spec-transformed",-1459322320));
|
|
1349
|
+
var temp__5802__auto__ = (cljs.core.truth_(transformer)?(function (){var G__127278 = transformer;
|
|
1350
|
+
var G__127279 = spec_tools.core.decompose_spec_type(this$__$1);
|
|
1351
|
+
var G__127280 = x;
|
|
1352
|
+
var fexpr__127277 = (cljs.core.truth_(encode_QMARK_)?spec_tools.core._encoder:spec_tools.core._decoder);
|
|
1353
|
+
return (fexpr__127277.cljs$core$IFn$_invoke$arity$3 ? fexpr__127277.cljs$core$IFn$_invoke$arity$3(G__127278,G__127279,G__127280) : fexpr__127277.call(null, G__127278,G__127279,G__127280));
|
|
1354
|
+
})():null);
|
|
1355
|
+
if(cljs.core.truth_(temp__5802__auto__)){
|
|
1356
|
+
var transform = temp__5802__auto__;
|
|
1357
|
+
var transformed = (transform.cljs$core$IFn$_invoke$arity$2 ? transform.cljs$core$IFn$_invoke$arity$2(this$__$1,x) : transform.call(null, this$__$1,x));
|
|
1358
|
+
var or__5002__auto__ = (function (){var and__5000__auto__ = cljs.spec.alpha.invalid_QMARK_(transformed);
|
|
1359
|
+
if(and__5000__auto__){
|
|
1360
|
+
return transformed;
|
|
1361
|
+
} else {
|
|
1362
|
+
return and__5000__auto__;
|
|
1363
|
+
}
|
|
1364
|
+
})();
|
|
1365
|
+
if(cljs.core.truth_(or__5002__auto__)){
|
|
1366
|
+
return or__5002__auto__;
|
|
1367
|
+
} else {
|
|
1368
|
+
var conformed = (cljs.core.truth_(spec_transformed)?(function (){var _STAR_dynamic_conforming_STAR__orig_val__127284 = spec_tools.core._STAR_dynamic_conforming_STAR_;
|
|
1369
|
+
var _STAR_dynamic_conforming_STAR__temp_val__127285 = spec_tools.core.__GT_DynamicConforming(null,encode_QMARK_,null);
|
|
1370
|
+
(spec_tools.core._STAR_dynamic_conforming_STAR_ = _STAR_dynamic_conforming_STAR__temp_val__127285);
|
|
1371
|
+
|
|
1372
|
+
try{return cljs.spec.alpha.conform(spec_transformed,transformed);
|
|
1373
|
+
}finally {(spec_tools.core._STAR_dynamic_conforming_STAR_ = _STAR_dynamic_conforming_STAR__orig_val__127284);
|
|
1374
|
+
}})():cljs.spec.alpha.conform(self__.spec,transformed));
|
|
1375
|
+
var or__5002__auto____$1 = (function (){var and__5000__auto__ = spec_transformed;
|
|
1376
|
+
if(cljs.core.truth_(and__5000__auto__)){
|
|
1377
|
+
return conformed;
|
|
1378
|
+
} else {
|
|
1379
|
+
return and__5000__auto__;
|
|
1380
|
+
}
|
|
1381
|
+
})();
|
|
1382
|
+
if(cljs.core.truth_(or__5002__auto____$1)){
|
|
1383
|
+
return or__5002__auto____$1;
|
|
1384
|
+
} else {
|
|
1385
|
+
var or__5002__auto____$2 = (function (){var and__5000__auto__ = encode_QMARK_;
|
|
1386
|
+
if(cljs.core.truth_(and__5000__auto__)){
|
|
1387
|
+
var and__5000__auto____$1 = cljs.spec.alpha.invalid_QMARK_(conformed);
|
|
1388
|
+
if(and__5000__auto____$1){
|
|
1389
|
+
var and__5000__auto____$2 = spec_tools.core.leaf_QMARK_(this$__$1);
|
|
1390
|
+
if(cljs.core.truth_(and__5000__auto____$2)){
|
|
1391
|
+
return transformed;
|
|
1392
|
+
} else {
|
|
1393
|
+
return and__5000__auto____$2;
|
|
1394
|
+
}
|
|
1395
|
+
} else {
|
|
1396
|
+
return and__5000__auto____$1;
|
|
1397
|
+
}
|
|
1398
|
+
} else {
|
|
1399
|
+
return and__5000__auto__;
|
|
1400
|
+
}
|
|
1401
|
+
})();
|
|
1402
|
+
if(cljs.core.truth_(or__5002__auto____$2)){
|
|
1403
|
+
return or__5002__auto____$2;
|
|
1404
|
+
} else {
|
|
1405
|
+
return conformed;
|
|
1406
|
+
}
|
|
1407
|
+
}
|
|
1408
|
+
}
|
|
1409
|
+
} else {
|
|
1410
|
+
return cljs.spec.alpha.conform(self__.spec,x);
|
|
1411
|
+
}
|
|
1412
|
+
}));
|
|
1413
|
+
|
|
1414
|
+
(spec_tools.core.Spec.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 = (function (_,x){
|
|
1415
|
+
var self__ = this;
|
|
1416
|
+
var ___$1 = this;
|
|
1417
|
+
return cljs.spec.alpha.unform(self__.spec,x);
|
|
1418
|
+
}));
|
|
1419
|
+
|
|
1420
|
+
(spec_tools.core.Spec.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 = (function (this$,path,via,in$,x){
|
|
1421
|
+
var self__ = this;
|
|
1422
|
+
var this$__$1 = this;
|
|
1423
|
+
var problems = (cljs.core.truth_((function (){var or__5002__auto__ = cljs.spec.alpha.spec_QMARK_(self__.spec);
|
|
1424
|
+
if(cljs.core.truth_(or__5002__auto__)){
|
|
1425
|
+
return or__5002__auto__;
|
|
1426
|
+
} else {
|
|
1427
|
+
return cljs.spec.alpha.regex_QMARK_(self__.spec);
|
|
1428
|
+
}
|
|
1429
|
+
})())?(function (){var conformed = this$__$1.cljs$spec$alpha$Spec$conform_STAR_$arity$2(null, x);
|
|
1430
|
+
var vec__127295 = ((cljs.spec.alpha.invalid_QMARK_(conformed))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.alpha.invalid_QMARK_(spec_tools.core.conform.cljs$core$IFn$_invoke$arity$2(this$__$1,x)),x], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,cljs.spec.alpha.unform(self__.spec,conformed)], null));
|
|
1431
|
+
var explain_QMARK_ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__127295,(0),null);
|
|
1432
|
+
var val = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__127295,(1),null);
|
|
1433
|
+
if(cljs.core.truth_(explain_QMARK_)){
|
|
1434
|
+
return cljs.spec.alpha.explain_STAR_(cljs.spec.alpha.specize_STAR_(self__.spec),path,via,in$,val);
|
|
1435
|
+
} else {
|
|
1436
|
+
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"path","path",-188191168),path,new cljs.core.Keyword(null,"pred","pred",1927423397),self__.form,new cljs.core.Keyword(null,"val","val",128701612),val,new cljs.core.Keyword(null,"via","via",-1904457336),via,new cljs.core.Keyword(null,"in","in",-1531184865),in$], null)], null);
|
|
1437
|
+
}
|
|
1438
|
+
})():((cljs.spec.alpha.invalid_QMARK_(this$__$1.cljs$spec$alpha$Spec$conform_STAR_$arity$2(null, x)))?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"path","path",-188191168),path,new cljs.core.Keyword(null,"pred","pred",1927423397),self__.form,new cljs.core.Keyword(null,"val","val",128701612),x,new cljs.core.Keyword(null,"via","via",-1904457336),via,new cljs.core.Keyword(null,"in","in",-1531184865),in$], null)], null):null));
|
|
1439
|
+
var spec_reason = new cljs.core.Keyword(null,"reason","reason",-2070751759).cljs$core$IFn$_invoke$arity$1(this$__$1);
|
|
1440
|
+
var with_reason = (function (problem){
|
|
1441
|
+
var G__127302 = problem;
|
|
1442
|
+
if(cljs.core.truth_(spec_reason)){
|
|
1443
|
+
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__127302,new cljs.core.Keyword(null,"reason","reason",-2070751759),spec_reason);
|
|
1444
|
+
} else {
|
|
1445
|
+
return G__127302;
|
|
1446
|
+
}
|
|
1447
|
+
});
|
|
1448
|
+
if(cljs.core.truth_(problems)){
|
|
1449
|
+
return cljs.core.map.cljs$core$IFn$_invoke$arity$2(with_reason,problems);
|
|
1450
|
+
} else {
|
|
1451
|
+
return null;
|
|
1452
|
+
}
|
|
1453
|
+
}));
|
|
1454
|
+
|
|
1455
|
+
(spec_tools.core.Spec.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 = (function (this$,overrides,path,rmap){
|
|
1456
|
+
var self__ = this;
|
|
1457
|
+
var this$__$1 = this;
|
|
1458
|
+
var temp__5802__auto__ = new cljs.core.Keyword(null,"gen","gen",142575302).cljs$core$IFn$_invoke$arity$1(this$__$1);
|
|
1459
|
+
if(cljs.core.truth_(temp__5802__auto__)){
|
|
1460
|
+
var gen = temp__5802__auto__;
|
|
1461
|
+
return (gen.cljs$core$IFn$_invoke$arity$0 ? gen.cljs$core$IFn$_invoke$arity$0() : gen.call(null, ));
|
|
1462
|
+
} else {
|
|
1463
|
+
var or__5002__auto__ = cljs.spec.gen.alpha.gen_for_pred(self__.spec);
|
|
1464
|
+
if(cljs.core.truth_(or__5002__auto__)){
|
|
1465
|
+
return or__5002__auto__;
|
|
1466
|
+
} else {
|
|
1467
|
+
return cljs.spec.alpha.gen_STAR_((function (){var or__5002__auto____$1 = cljs.spec.alpha.spec_QMARK_(self__.spec);
|
|
1468
|
+
if(cljs.core.truth_(or__5002__auto____$1)){
|
|
1469
|
+
return or__5002__auto____$1;
|
|
1470
|
+
} else {
|
|
1471
|
+
return cljs.spec.alpha.specize_STAR_(self__.spec);
|
|
1472
|
+
}
|
|
1473
|
+
})(),overrides,path,rmap);
|
|
1474
|
+
}
|
|
1475
|
+
}
|
|
1476
|
+
}));
|
|
1477
|
+
|
|
1478
|
+
(spec_tools.core.Spec.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 = (function (this$,gfn){
|
|
1479
|
+
var self__ = this;
|
|
1480
|
+
var this$__$1 = this;
|
|
1481
|
+
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(this$__$1,new cljs.core.Keyword(null,"gen","gen",142575302),gfn);
|
|
1482
|
+
}));
|
|
1483
|
+
|
|
1484
|
+
(spec_tools.core.Spec.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 = (function (this$){
|
|
1485
|
+
var self__ = this;
|
|
1486
|
+
var this$__$1 = this;
|
|
1487
|
+
var data = cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"spec","spec",347520401),self__.form], null),spec_tools.core.extra_spec_map(this$__$1)], 0));
|
|
1488
|
+
return 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("spec-tools.core","spec","spec-tools.core/spec",-497332036,null),null,(1),null)),(new cljs.core.List(null,data,null,(1),null)))));
|
|
1489
|
+
}));
|
|
1490
|
+
|
|
1491
|
+
(spec_tools.core.Spec.prototype.cljs$core$IMap$_dissoc$arity$2 = (function (this__5310__auto__,k__5311__auto__){
|
|
1492
|
+
var self__ = this;
|
|
1493
|
+
var this__5310__auto____$1 = this;
|
|
1494
|
+
if(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"type","type",1174270348),null,new cljs.core.Keyword(null,"spec","spec",347520401),null,new cljs.core.Keyword(null,"form","form",-1624062471),null], null), null),k__5311__auto__)){
|
|
1495
|
+
return cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5310__auto____$1),self__.__meta),k__5311__auto__);
|
|
1496
|
+
} else {
|
|
1497
|
+
return (new spec_tools.core.Spec(self__.spec,self__.form,self__.type,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5311__auto__)),null));
|
|
1498
|
+
}
|
|
1499
|
+
}));
|
|
1500
|
+
|
|
1501
|
+
(spec_tools.core.Spec.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 = (function (this__5307__auto__,k127194){
|
|
1502
|
+
var self__ = this;
|
|
1503
|
+
var this__5307__auto____$1 = this;
|
|
1504
|
+
var G__127308 = k127194;
|
|
1505
|
+
var G__127308__$1 = (((G__127308 instanceof cljs.core.Keyword))?G__127308.fqn:null);
|
|
1506
|
+
switch (G__127308__$1) {
|
|
1507
|
+
case "spec":
|
|
1508
|
+
case "form":
|
|
1509
|
+
case "type":
|
|
1510
|
+
return true;
|
|
1511
|
+
|
|
1512
|
+
break;
|
|
1513
|
+
default:
|
|
1514
|
+
return cljs.core.contains_QMARK_(self__.__extmap,k127194);
|
|
1515
|
+
|
|
1516
|
+
}
|
|
1517
|
+
}));
|
|
1518
|
+
|
|
1519
|
+
(spec_tools.core.Spec.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (this__5308__auto__,k__5309__auto__,G__127193){
|
|
1520
|
+
var self__ = this;
|
|
1521
|
+
var this__5308__auto____$1 = this;
|
|
1522
|
+
var pred__127309 = cljs.core.keyword_identical_QMARK_;
|
|
1523
|
+
var expr__127310 = k__5309__auto__;
|
|
1524
|
+
if(cljs.core.truth_((pred__127309.cljs$core$IFn$_invoke$arity$2 ? pred__127309.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"spec","spec",347520401),expr__127310) : pred__127309.call(null, new cljs.core.Keyword(null,"spec","spec",347520401),expr__127310)))){
|
|
1525
|
+
return (new spec_tools.core.Spec(G__127193,self__.form,self__.type,self__.__meta,self__.__extmap,null));
|
|
1526
|
+
} else {
|
|
1527
|
+
if(cljs.core.truth_((pred__127309.cljs$core$IFn$_invoke$arity$2 ? pred__127309.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"form","form",-1624062471),expr__127310) : pred__127309.call(null, new cljs.core.Keyword(null,"form","form",-1624062471),expr__127310)))){
|
|
1528
|
+
return (new spec_tools.core.Spec(self__.spec,G__127193,self__.type,self__.__meta,self__.__extmap,null));
|
|
1529
|
+
} else {
|
|
1530
|
+
if(cljs.core.truth_((pred__127309.cljs$core$IFn$_invoke$arity$2 ? pred__127309.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"type","type",1174270348),expr__127310) : pred__127309.call(null, new cljs.core.Keyword(null,"type","type",1174270348),expr__127310)))){
|
|
1531
|
+
return (new spec_tools.core.Spec(self__.spec,self__.form,G__127193,self__.__meta,self__.__extmap,null));
|
|
1532
|
+
} else {
|
|
1533
|
+
return (new spec_tools.core.Spec(self__.spec,self__.form,self__.type,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5309__auto__,G__127193),null));
|
|
1534
|
+
}
|
|
1535
|
+
}
|
|
1536
|
+
}
|
|
1537
|
+
}));
|
|
1538
|
+
|
|
1539
|
+
(spec_tools.core.Spec.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (this__5313__auto__){
|
|
1540
|
+
var self__ = this;
|
|
1541
|
+
var this__5313__auto____$1 = this;
|
|
1542
|
+
return cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,"spec","spec",347520401),self__.spec,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,"form","form",-1624062471),self__.form,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,"type","type",1174270348),self__.type,null))], null),self__.__extmap));
|
|
1543
|
+
}));
|
|
1544
|
+
|
|
1545
|
+
(spec_tools.core.Spec.prototype.spec_tools$core$Coercion$ = cljs.core.PROTOCOL_SENTINEL);
|
|
1546
|
+
|
|
1547
|
+
(spec_tools.core.Spec.prototype.spec_tools$core$Coercion$_coerce$arity$4 = (function (this$,value,transformer,options){
|
|
1548
|
+
var self__ = this;
|
|
1549
|
+
var this$__$1 = this;
|
|
1550
|
+
var specify = (function (x){
|
|
1551
|
+
while(true){
|
|
1552
|
+
if((x instanceof cljs.core.Keyword)){
|
|
1553
|
+
var G__127393 = cljs.spec.alpha.get_spec(x);
|
|
1554
|
+
x = G__127393;
|
|
1555
|
+
continue;
|
|
1556
|
+
} else {
|
|
1557
|
+
if(cljs.core.truth_((spec_tools.core.spec_QMARK_.cljs$core$IFn$_invoke$arity$1 ? spec_tools.core.spec_QMARK_.cljs$core$IFn$_invoke$arity$1(x) : spec_tools.core.spec_QMARK_.call(null, x)))){
|
|
1558
|
+
return x;
|
|
1559
|
+
} else {
|
|
1560
|
+
if(cljs.core.truth_(cljs.spec.alpha.spec_QMARK_(x))){
|
|
1561
|
+
var G__127312 = new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"spec","spec",347520401),x], null);
|
|
1562
|
+
return (spec_tools.core.create_spec.cljs$core$IFn$_invoke$arity$1 ? spec_tools.core.create_spec.cljs$core$IFn$_invoke$arity$1(G__127312) : spec_tools.core.create_spec.call(null, G__127312));
|
|
1563
|
+
} else {
|
|
1564
|
+
if(cljs.core.map_QMARK_(x)){
|
|
1565
|
+
if(cljs.core.qualified_keyword_QMARK_(new cljs.core.Keyword(null,"spec","spec",347520401).cljs$core$IFn$_invoke$arity$1(x))){
|
|
1566
|
+
var G__127394 = cljs.spec.alpha.get_spec(new cljs.core.Keyword(null,"spec","spec",347520401).cljs$core$IFn$_invoke$arity$1(x));
|
|
1567
|
+
x = G__127394;
|
|
1568
|
+
continue;
|
|
1569
|
+
} else {
|
|
1570
|
+
var G__127313 = cljs.core.update.cljs$core$IFn$_invoke$arity$3(x,new cljs.core.Keyword(null,"spec","spec",347520401),cljs.core.fnil.cljs$core$IFn$_invoke$arity$2(cljs.core.identity,cljs.core.any_QMARK_));
|
|
1571
|
+
return (spec_tools.core.create_spec.cljs$core$IFn$_invoke$arity$1 ? spec_tools.core.create_spec.cljs$core$IFn$_invoke$arity$1(G__127313) : spec_tools.core.create_spec.call(null, G__127313));
|
|
1572
|
+
}
|
|
1573
|
+
} else {
|
|
1574
|
+
return null;
|
|
1575
|
+
}
|
|
1576
|
+
}
|
|
1577
|
+
}
|
|
1578
|
+
}
|
|
1579
|
+
break;
|
|
1580
|
+
}
|
|
1581
|
+
});
|
|
1582
|
+
var transformed = (function (){var temp__5802__auto__ = (cljs.core.truth_((function (){var and__5000__auto__ = transformer;
|
|
1583
|
+
if(cljs.core.truth_(and__5000__auto__)){
|
|
1584
|
+
return cljs.core.not(new cljs.core.Keyword(null,"skip?","skip?",1467795012).cljs$core$IFn$_invoke$arity$1(options));
|
|
1585
|
+
} else {
|
|
1586
|
+
return and__5000__auto__;
|
|
1587
|
+
}
|
|
1588
|
+
})())?spec_tools.core._decoder(transformer,this$__$1,value):null);
|
|
1589
|
+
if(cljs.core.truth_(temp__5802__auto__)){
|
|
1590
|
+
var transform = temp__5802__auto__;
|
|
1591
|
+
return (transform.cljs$core$IFn$_invoke$arity$2 ? transform.cljs$core$IFn$_invoke$arity$2(this$__$1,value) : transform.call(null, this$__$1,value));
|
|
1592
|
+
} else {
|
|
1593
|
+
return value;
|
|
1594
|
+
}
|
|
1595
|
+
})();
|
|
1596
|
+
return spec_tools.core.walk.cljs$core$IFn$_invoke$arity$4(this$__$1,transformed,(function (p1__127190_SHARP_,p2__127191_SHARP_,p3__127192_SHARP_){
|
|
1597
|
+
return spec_tools.core.coerce.cljs$core$IFn$_invoke$arity$4(specify(p1__127190_SHARP_),p2__127191_SHARP_,transformer,p3__127192_SHARP_);
|
|
1598
|
+
}),options);
|
|
1599
|
+
}));
|
|
1600
|
+
|
|
1601
|
+
(spec_tools.core.Spec.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (this__5299__auto__,G__127193){
|
|
1602
|
+
var self__ = this;
|
|
1603
|
+
var this__5299__auto____$1 = this;
|
|
1604
|
+
return (new spec_tools.core.Spec(self__.spec,self__.form,self__.type,G__127193,self__.__extmap,self__.__hash));
|
|
1605
|
+
}));
|
|
1606
|
+
|
|
1607
|
+
(spec_tools.core.Spec.prototype.cljs$core$ICollection$_conj$arity$2 = (function (this__5305__auto__,entry__5306__auto__){
|
|
1608
|
+
var self__ = this;
|
|
1609
|
+
var this__5305__auto____$1 = this;
|
|
1610
|
+
if(cljs.core.vector_QMARK_(entry__5306__auto__)){
|
|
1611
|
+
return this__5305__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null, cljs.core._nth(entry__5306__auto__,(0)),cljs.core._nth(entry__5306__auto__,(1)));
|
|
1612
|
+
} else {
|
|
1613
|
+
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5305__auto____$1,entry__5306__auto__);
|
|
1614
|
+
}
|
|
1615
|
+
}));
|
|
1616
|
+
|
|
1617
|
+
(spec_tools.core.Spec.prototype.call = (function (unused__11820__auto__){
|
|
1618
|
+
var self__ = this;
|
|
1619
|
+
var self__ = this;
|
|
1620
|
+
var G__127314 = (arguments.length - (1));
|
|
1621
|
+
switch (G__127314) {
|
|
1622
|
+
case (1):
|
|
1623
|
+
return self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));
|
|
1624
|
+
|
|
1625
|
+
break;
|
|
1626
|
+
default:
|
|
1627
|
+
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join('')));
|
|
1628
|
+
|
|
1629
|
+
}
|
|
1630
|
+
}));
|
|
1631
|
+
|
|
1632
|
+
(spec_tools.core.Spec.prototype.apply = (function (self__,args127202){
|
|
1633
|
+
var self__ = this;
|
|
1634
|
+
var self____$1 = this;
|
|
1635
|
+
return self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args127202)));
|
|
1636
|
+
}));
|
|
1637
|
+
|
|
1638
|
+
(spec_tools.core.Spec.prototype.cljs$core$IFn$_invoke$arity$1 = (function (x){
|
|
1639
|
+
var self__ = this;
|
|
1640
|
+
var this$ = this;
|
|
1641
|
+
if(cljs.core.ifn_QMARK_(self__.spec)){
|
|
1642
|
+
return (self__.spec.cljs$core$IFn$_invoke$arity$1 ? self__.spec.cljs$core$IFn$_invoke$arity$1(x) : self__.spec.call(null, x));
|
|
1643
|
+
} else {
|
|
1644
|
+
return spec_tools.core.fail_on_invoke(this$);
|
|
1645
|
+
}
|
|
1646
|
+
}));
|
|
1647
|
+
|
|
1648
|
+
(spec_tools.core.Spec.getBasis = (function (){
|
|
1649
|
+
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"spec","spec",1988051928,null),new cljs.core.Symbol(null,"form","form",16469056,null),new cljs.core.Symbol(null,"type","type",-1480165421,null)], null);
|
|
1650
|
+
}));
|
|
1651
|
+
|
|
1652
|
+
(spec_tools.core.Spec.cljs$lang$type = true);
|
|
1653
|
+
|
|
1654
|
+
(spec_tools.core.Spec.cljs$lang$ctorPrSeq = (function (this__5346__auto__){
|
|
1655
|
+
return (new cljs.core.List(null,"spec-tools.core/Spec",null,(1),null));
|
|
1656
|
+
}));
|
|
1657
|
+
|
|
1658
|
+
(spec_tools.core.Spec.cljs$lang$ctorPrWriter = (function (this__5346__auto__,writer__5347__auto__){
|
|
1659
|
+
return cljs.core._write(writer__5347__auto__,"spec-tools.core/Spec");
|
|
1660
|
+
}));
|
|
1661
|
+
|
|
1662
|
+
/**
|
|
1663
|
+
* Positional factory function for spec-tools.core/Spec.
|
|
1664
|
+
*/
|
|
1665
|
+
spec_tools.core.__GT_Spec = (function spec_tools$core$__GT_Spec(spec,form,type){
|
|
1666
|
+
return (new spec_tools.core.Spec(spec,form,type,null,null,null));
|
|
1667
|
+
});
|
|
1668
|
+
|
|
1669
|
+
/**
|
|
1670
|
+
* Factory function for spec-tools.core/Spec, taking a map of keywords to field values.
|
|
1671
|
+
*/
|
|
1672
|
+
spec_tools.core.map__GT_Spec = (function spec_tools$core$map__GT_Spec(G__127201){
|
|
1673
|
+
var extmap__5342__auto__ = (function (){var G__127315 = cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__127201,new cljs.core.Keyword(null,"spec","spec",347520401),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"form","form",-1624062471),new cljs.core.Keyword(null,"type","type",1174270348)], 0));
|
|
1674
|
+
if(cljs.core.record_QMARK_(G__127201)){
|
|
1675
|
+
return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__127315);
|
|
1676
|
+
} else {
|
|
1677
|
+
return G__127315;
|
|
1678
|
+
}
|
|
1679
|
+
})();
|
|
1680
|
+
return (new spec_tools.core.Spec(new cljs.core.Keyword(null,"spec","spec",347520401).cljs$core$IFn$_invoke$arity$1(G__127201),new cljs.core.Keyword(null,"form","form",-1624062471).cljs$core$IFn$_invoke$arity$1(G__127201),new cljs.core.Keyword(null,"type","type",1174270348).cljs$core$IFn$_invoke$arity$1(G__127201),null,cljs.core.not_empty(extmap__5342__auto__),null));
|
|
1681
|
+
});
|
|
1682
|
+
|
|
1683
|
+
spec_tools.core.spec_QMARK_ = (function spec_tools$core$spec_QMARK_(x){
|
|
1684
|
+
if((x instanceof spec_tools.core.Spec)){
|
|
1685
|
+
return x;
|
|
1686
|
+
} else {
|
|
1687
|
+
return null;
|
|
1688
|
+
}
|
|
1689
|
+
});
|
|
1690
|
+
/**
|
|
1691
|
+
* Returns a spec name. Like the private clojure.spec.alpha/spec-name
|
|
1692
|
+
*/
|
|
1693
|
+
spec_tools.core.spec_name = (function spec_tools$core$spec_name(spec){
|
|
1694
|
+
if(cljs.core.ident_QMARK_(spec)){
|
|
1695
|
+
return spec;
|
|
1696
|
+
} else {
|
|
1697
|
+
if(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(spec))){
|
|
1698
|
+
return new cljs.core.Keyword("cljs.spec.alpha","name","cljs.spec.alpha/name",205233570).cljs$core$IFn$_invoke$arity$1(spec);
|
|
1699
|
+
} else {
|
|
1700
|
+
if(cljs.core.truth_((function (){var and__5000__auto__ = spec_tools.core.spec_QMARK_(spec);
|
|
1701
|
+
if(cljs.core.truth_(and__5000__auto__)){
|
|
1702
|
+
return new cljs.core.Keyword(null,"name","name",1843675177).cljs$core$IFn$_invoke$arity$1(spec);
|
|
1703
|
+
} else {
|
|
1704
|
+
return and__5000__auto__;
|
|
1705
|
+
}
|
|
1706
|
+
})())){
|
|
1707
|
+
return new cljs.core.Keyword(null,"name","name",1843675177).cljs$core$IFn$_invoke$arity$1(spec);
|
|
1708
|
+
} else {
|
|
1709
|
+
if((((!((spec == null))))?(((((spec.cljs$lang$protocol_mask$partition0$ & (131072))) || ((cljs.core.PROTOCOL_SENTINEL === spec.cljs$core$IMeta$))))?true:false):false)){
|
|
1710
|
+
return new cljs.core.Keyword("cljs.spec.alpha","name","cljs.spec.alpha/name",205233570).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(spec));
|
|
1711
|
+
} else {
|
|
1712
|
+
return null;
|
|
1713
|
+
|
|
1714
|
+
}
|
|
1715
|
+
}
|
|
1716
|
+
}
|
|
1717
|
+
}
|
|
1718
|
+
});
|
|
1719
|
+
/**
|
|
1720
|
+
* Returns a spec description.
|
|
1721
|
+
*/
|
|
1722
|
+
spec_tools.core.spec_description = (function spec_tools$core$spec_description(spec){
|
|
1723
|
+
if(cljs.core.truth_(spec_tools.core.spec_QMARK_(spec))){
|
|
1724
|
+
return new cljs.core.Keyword(null,"description","description",-1428560544).cljs$core$IFn$_invoke$arity$1(spec);
|
|
1725
|
+
} else {
|
|
1726
|
+
return null;
|
|
1727
|
+
}
|
|
1728
|
+
});
|
|
1729
|
+
/**
|
|
1730
|
+
* Creates a Spec instance from a map containing the following keys:
|
|
1731
|
+
*
|
|
1732
|
+
* :spec the wrapped spec predicate (default to `any?`)
|
|
1733
|
+
* :form source code of the spec predicate, if :spec is a spec,
|
|
1734
|
+
* :form is read with `s/form` out of it. For non-spec
|
|
1735
|
+
* preds, spec-tools.form/resolve-form is called, if still
|
|
1736
|
+
* not available, spec-creation will fail.
|
|
1737
|
+
* :type optional type for the spec. if not set, will be auto-
|
|
1738
|
+
* resolved via spec-tools.parse/parse-spec (optional)
|
|
1739
|
+
* :reason reason to be added to problems with s/explain (optional)
|
|
1740
|
+
* :gen generator function for the spec (optional)
|
|
1741
|
+
* :name name of the spec (optional)
|
|
1742
|
+
* :description description of the spec (optional)
|
|
1743
|
+
* :xx/yy any qualified keys can be added (optional)
|
|
1744
|
+
*/
|
|
1745
|
+
spec_tools.core.create_spec = (function spec_tools$core$create_spec(p__127321){
|
|
1746
|
+
var map__127322 = p__127321;
|
|
1747
|
+
var map__127322__$1 = cljs.core.__destructure_map(map__127322);
|
|
1748
|
+
var m = map__127322__$1;
|
|
1749
|
+
var spec = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127322__$1,new cljs.core.Keyword(null,"spec","spec",347520401));
|
|
1750
|
+
var type = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127322__$1,new cljs.core.Keyword(null,"type","type",1174270348));
|
|
1751
|
+
var form = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__127322__$1,new cljs.core.Keyword(null,"form","form",-1624062471));
|
|
1752
|
+
if(cljs.core.qualified_keyword_QMARK_(spec)){
|
|
1753
|
+
if(cljs.core.truth_(spec_tools.core.get_spec(spec))){
|
|
1754
|
+
} else {
|
|
1755
|
+
throw (new Error(["Assert failed: ",[" Unable to resolve spec: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(spec)].join(''),"\n","(get-spec spec)"].join('')));
|
|
1756
|
+
}
|
|
1757
|
+
} else {
|
|
1758
|
+
}
|
|
1759
|
+
|
|
1760
|
+
var spec__$1 = (function (){var or__5002__auto__ = spec;
|
|
1761
|
+
if(cljs.core.truth_(or__5002__auto__)){
|
|
1762
|
+
return or__5002__auto__;
|
|
1763
|
+
} else {
|
|
1764
|
+
return cljs.core.any_QMARK_;
|
|
1765
|
+
}
|
|
1766
|
+
})();
|
|
1767
|
+
var spec__$2 = ((cljs.core.qualified_keyword_QMARK_(spec__$1))?spec_tools.core.get_spec(spec__$1):(((spec__$1 instanceof cljs.core.Symbol))?spec_tools.form.resolve_form.cljs$core$IFn$_invoke$arity$1(spec__$1):spec__$1
|
|
1768
|
+
));
|
|
1769
|
+
var form__$1 = (function (){var or__5002__auto__ = ((cljs.core.qualified_keyword_QMARK_(form))?cljs.spec.alpha.form(form):null);
|
|
1770
|
+
if(cljs.core.truth_(or__5002__auto__)){
|
|
1771
|
+
return or__5002__auto__;
|
|
1772
|
+
} else {
|
|
1773
|
+
var or__5002__auto____$1 = form;
|
|
1774
|
+
if(cljs.core.truth_(or__5002__auto____$1)){
|
|
1775
|
+
return or__5002__auto____$1;
|
|
1776
|
+
} else {
|
|
1777
|
+
var or__5002__auto____$2 = (function (){var form__$1 = cljs.spec.alpha.form(spec__$2);
|
|
1778
|
+
if((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(form__$1,new cljs.core.Keyword("cljs.spec.alpha","unknown","cljs.spec.alpha/unknown",651034818))))){
|
|
1779
|
+
return form__$1;
|
|
1780
|
+
} else {
|
|
1781
|
+
return null;
|
|
1782
|
+
}
|
|
1783
|
+
})();
|
|
1784
|
+
if(cljs.core.truth_(or__5002__auto____$2)){
|
|
1785
|
+
return or__5002__auto____$2;
|
|
1786
|
+
} else {
|
|
1787
|
+
var or__5002__auto____$3 = spec_tools.form.resolve_form.cljs$core$IFn$_invoke$arity$1(spec__$2);
|
|
1788
|
+
if(cljs.core.truth_(or__5002__auto____$3)){
|
|
1789
|
+
return or__5002__auto____$3;
|
|
1790
|
+
} else {
|
|
1791
|
+
return new cljs.core.Keyword("cljs.spec.alpha","unknown","cljs.spec.alpha/unknown",651034818);
|
|
1792
|
+
}
|
|
1793
|
+
}
|
|
1794
|
+
}
|
|
1795
|
+
}
|
|
1796
|
+
})();
|
|
1797
|
+
var info = spec_tools.parse.parse_spec.cljs$core$IFn$_invoke$arity$1(form__$1);
|
|
1798
|
+
var type__$1 = ((cljs.core.contains_QMARK_(m,new cljs.core.Keyword(null,"type","type",1174270348)))?type:new cljs.core.Keyword(null,"type","type",1174270348).cljs$core$IFn$_invoke$arity$1(info));
|
|
1799
|
+
var name = new cljs.core.Keyword("cljs.spec.alpha","name","cljs.spec.alpha/name",205233570).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(spec__$2));
|
|
1800
|
+
var record = spec_tools.core.map__GT_Spec(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([m,info,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"spec","spec",347520401),spec__$2,new cljs.core.Keyword(null,"form","form",-1624062471),form__$1,new cljs.core.Keyword(null,"type","type",1174270348),type__$1,new cljs.core.Keyword(null,"leaf?","leaf?",445442965),spec_tools.parse.leaf_type_QMARK_(type__$1)], null)], 0)));
|
|
1801
|
+
var G__127323 = record;
|
|
1802
|
+
if(cljs.core.truth_(name)){
|
|
1803
|
+
return cljs.core.with_meta(G__127323,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword("cljs.spec.alpha","name","cljs.spec.alpha/name",205233570),name], null));
|
|
1804
|
+
} else {
|
|
1805
|
+
return G__127323;
|
|
1806
|
+
}
|
|
1807
|
+
});
|
|
1808
|
+
spec_tools.core.into_spec = (function spec_tools$core$into_spec(x){
|
|
1809
|
+
while(true){
|
|
1810
|
+
if(cljs.core.truth_(spec_tools.core.spec_QMARK_(x))){
|
|
1811
|
+
return x;
|
|
1812
|
+
} else {
|
|
1813
|
+
if((x instanceof cljs.core.Keyword)){
|
|
1814
|
+
var G__127404 = cljs.spec.alpha.get_spec(x);
|
|
1815
|
+
x = G__127404;
|
|
1816
|
+
continue;
|
|
1817
|
+
} else {
|
|
1818
|
+
return spec_tools.core.create_spec(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"spec","spec",347520401),x], null));
|
|
1819
|
+
|
|
1820
|
+
}
|
|
1821
|
+
}
|
|
1822
|
+
break;
|
|
1823
|
+
}
|
|
1824
|
+
});
|
|
1825
|
+
spec_tools.core.map_spec_keys = (function spec_tools$core$map_spec_keys(spec){
|
|
1826
|
+
var spec__$1 = (function (){var or__5002__auto__ = ((cljs.core.qualified_keyword_QMARK_(spec))?cljs.spec.alpha.form(spec):null);
|
|
1827
|
+
if(cljs.core.truth_(or__5002__auto__)){
|
|
1828
|
+
return or__5002__auto__;
|
|
1829
|
+
} else {
|
|
1830
|
+
return spec;
|
|
1831
|
+
}
|
|
1832
|
+
})();
|
|
1833
|
+
var info = spec_tools.parse.parse_spec.cljs$core$IFn$_invoke$arity$1(spec__$1);
|
|
1834
|
+
return cljs.core.select_keys(info,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("spec-tools.parse","keys","spec-tools.parse/keys",1331815460),new cljs.core.Keyword("spec-tools.parse","keys-req","spec-tools.parse/keys-req",-1559250753),new cljs.core.Keyword("spec-tools.parse","keys-opt","spec-tools.parse/keys-opt",-1090203455)], null));
|
|
1835
|
+
});
|
|
1836
|
+
|
|
1837
|
+
/**
|
|
1838
|
+
* @constructor
|
|
1839
|
+
* @implements {cljs.spec.alpha.Spec}
|
|
1840
|
+
* @implements {cljs.core.IMeta}
|
|
1841
|
+
* @implements {cljs.core.IWithMeta}
|
|
1842
|
+
*/
|
|
1843
|
+
spec_tools.core.t_spec_tools$core127333 = (function (forms,spec_form,merge_spec,form_keys,meta127334){
|
|
1844
|
+
this.forms = forms;
|
|
1845
|
+
this.spec_form = spec_form;
|
|
1846
|
+
this.merge_spec = merge_spec;
|
|
1847
|
+
this.form_keys = form_keys;
|
|
1848
|
+
this.meta127334 = meta127334;
|
|
1849
|
+
this.cljs$lang$protocol_mask$partition0$ = 393216;
|
|
1850
|
+
this.cljs$lang$protocol_mask$partition1$ = 0;
|
|
1851
|
+
});
|
|
1852
|
+
(spec_tools.core.t_spec_tools$core127333.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_127335,meta127334__$1){
|
|
1853
|
+
var self__ = this;
|
|
1854
|
+
var _127335__$1 = this;
|
|
1855
|
+
return (new spec_tools.core.t_spec_tools$core127333(self__.forms,self__.spec_form,self__.merge_spec,self__.form_keys,meta127334__$1));
|
|
1856
|
+
}));
|
|
1857
|
+
|
|
1858
|
+
(spec_tools.core.t_spec_tools$core127333.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_127335){
|
|
1859
|
+
var self__ = this;
|
|
1860
|
+
var _127335__$1 = this;
|
|
1861
|
+
return self__.meta127334;
|
|
1862
|
+
}));
|
|
1863
|
+
|
|
1864
|
+
(spec_tools.core.t_spec_tools$core127333.prototype.cljs$spec$alpha$Spec$ = cljs.core.PROTOCOL_SENTINEL);
|
|
1865
|
+
|
|
1866
|
+
(spec_tools.core.t_spec_tools$core127333.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 = (function (_,x){
|
|
1867
|
+
var self__ = this;
|
|
1868
|
+
var ___$1 = this;
|
|
1869
|
+
var conformed_vals = cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__127329_SHARP_){
|
|
1870
|
+
return cljs.spec.alpha.conform(p1__127329_SHARP_,x);
|
|
1871
|
+
}),self__.forms);
|
|
1872
|
+
if(cljs.core.truth_(cljs.core.some(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119),null], null), null),conformed_vals))){
|
|
1873
|
+
return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119);
|
|
1874
|
+
} else {
|
|
1875
|
+
return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.merge,x,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__127331_SHARP_,p2__127332_SHARP_){
|
|
1876
|
+
return cljs.core.select_keys(p1__127331_SHARP_,p2__127332_SHARP_);
|
|
1877
|
+
}),conformed_vals,cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword("spec-tools.parse","keys","spec-tools.parse/keys",1331815460),self__.form_keys)));
|
|
1878
|
+
}
|
|
1879
|
+
}));
|
|
1880
|
+
|
|
1881
|
+
(spec_tools.core.t_spec_tools$core127333.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 = (function (_,x){
|
|
1882
|
+
var self__ = this;
|
|
1883
|
+
var ___$1 = this;
|
|
1884
|
+
return cljs.spec.alpha.unform_STAR_(self__.merge_spec,x);
|
|
1885
|
+
}));
|
|
1886
|
+
|
|
1887
|
+
(spec_tools.core.t_spec_tools$core127333.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 = (function (_,path,via,in$,x){
|
|
1888
|
+
var self__ = this;
|
|
1889
|
+
var ___$1 = this;
|
|
1890
|
+
return cljs.spec.alpha.explain_STAR_(self__.merge_spec,path,via,in$,x);
|
|
1891
|
+
}));
|
|
1892
|
+
|
|
1893
|
+
(spec_tools.core.t_spec_tools$core127333.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 = (function (_,overrides,path,rmap){
|
|
1894
|
+
var self__ = this;
|
|
1895
|
+
var ___$1 = this;
|
|
1896
|
+
return cljs.spec.alpha.gen_STAR_(self__.merge_spec,overrides,path,rmap);
|
|
1897
|
+
}));
|
|
1898
|
+
|
|
1899
|
+
(spec_tools.core.t_spec_tools$core127333.getBasis = (function (){
|
|
1900
|
+
return new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"forms","forms",-608443419,null),new cljs.core.Symbol(null,"spec-form","spec-form",-871386429,null),new cljs.core.Symbol(null,"merge-spec","merge-spec",-1220518501,null),new cljs.core.Symbol(null,"form-keys","form-keys",1839414472,null),new cljs.core.Symbol(null,"meta127334","meta127334",1994587403,null)], null);
|
|
1901
|
+
}));
|
|
1902
|
+
|
|
1903
|
+
(spec_tools.core.t_spec_tools$core127333.cljs$lang$type = true);
|
|
1904
|
+
|
|
1905
|
+
(spec_tools.core.t_spec_tools$core127333.cljs$lang$ctorStr = "spec-tools.core/t_spec_tools$core127333");
|
|
1906
|
+
|
|
1907
|
+
(spec_tools.core.t_spec_tools$core127333.cljs$lang$ctorPrWriter = (function (this__5287__auto__,writer__5288__auto__,opt__5289__auto__){
|
|
1908
|
+
return cljs.core._write(writer__5288__auto__,"spec-tools.core/t_spec_tools$core127333");
|
|
1909
|
+
}));
|
|
1910
|
+
|
|
1911
|
+
/**
|
|
1912
|
+
* Positional factory function for spec-tools.core/t_spec_tools$core127333.
|
|
1913
|
+
*/
|
|
1914
|
+
spec_tools.core.__GT_t_spec_tools$core127333 = (function spec_tools$core$__GT_t_spec_tools$core127333(forms,spec_form,merge_spec,form_keys,meta127334){
|
|
1915
|
+
return (new spec_tools.core.t_spec_tools$core127333(forms,spec_form,merge_spec,form_keys,meta127334));
|
|
1916
|
+
});
|
|
1917
|
+
|
|
1918
|
+
|
|
1919
|
+
spec_tools.core.merge_impl = (function spec_tools$core$merge_impl(forms,spec_form,merge_spec){
|
|
1920
|
+
var form_keys = cljs.core.map.cljs$core$IFn$_invoke$arity$2(spec_tools.core.map_spec_keys,forms);
|
|
1921
|
+
var spec = (new spec_tools.core.t_spec_tools$core127333(forms,spec_form,merge_spec,form_keys,cljs.core.PersistentArrayMap.EMPTY));
|
|
1922
|
+
return spec_tools.core.create_spec(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"spec","spec",347520401),spec,new cljs.core.Keyword(null,"form","form",-1624062471),spec_form,new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"map","map",1371690461)], null),cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.merge_with,clojure.set.union,form_keys)], 0)));
|
|
1923
|
+
});
|
|
1924
|
+
|
|
1925
|
+
//# sourceMappingURL=spec_tools.core.js.map
|