UNPKG

@atomist/clj-editors

Version:

editor functions that use rewrite-clj and other important things from the clojurescript ecosystem

333 lines (319 loc) 23.1 kB
// Compiled by ClojureScript 1.10.238 {:target :nodejs} goog.provide('spec_tools.visitor'); goog.require('cljs.core'); goog.require('cljs.spec.alpha'); goog.require('spec_tools.core'); goog.require('spec_tools.parse'); goog.require('spec_tools.impl'); goog.require('spec_tools.form'); spec_tools.visitor.spec_dispatch = (function spec_tools$visitor$spec_dispatch(spec,accept,options){ if(cljs.core.truth_((function (){var or__3922__auto__ = cljs.spec.alpha.spec_QMARK_.call(null,spec); if(cljs.core.truth_(or__3922__auto__)){ return or__3922__auto__; } else { var or__3922__auto____$1 = cljs.spec.alpha.regex_QMARK_.call(null,spec); if(cljs.core.truth_(or__3922__auto____$1)){ return or__3922__auto____$1; } else { return (spec instanceof cljs.core.Keyword); } } })())){ var form = cljs.spec.alpha.form.call(null,spec); if(cljs.core.not_EQ_.call(null,form,new cljs.core.Keyword("cljs.spec.alpha","unknown","cljs.spec.alpha/unknown",651034818))){ if(cljs.core.seq_QMARK_.call(null,form)){ return spec_tools.impl.normalize_symbol.call(null,cljs.core.first.call(null,form)); } else { return spec_tools.visitor.spec_dispatch.call(null,form,accept,options); } } else { return spec; } } else { if(cljs.core.set_QMARK_.call(null,spec)){ return new cljs.core.Keyword("spec-tools.visitor","set","spec-tools.visitor/set",1650075415); } else { if(cljs.core.seq_QMARK_.call(null,spec)){ return spec_tools.impl.normalize_symbol.call(null,cljs.core.first.call(null,spec_tools.impl.strip_fn_if_needed.call(null,spec))); } else { if((spec instanceof cljs.core.Symbol)){ return spec_tools.impl.normalize_symbol.call(null,spec); } else { return spec_tools.impl.normalize_symbol.call(null,spec_tools.form.resolve_form.call(null,spec)); } } } } }); if(typeof spec_tools.visitor.visit_spec !== 'undefined'){ } else { spec_tools.visitor.visit_spec = (function (){var method_table__4382__auto__ = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY); var prefer_table__4383__auto__ = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY); var method_cache__4384__auto__ = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY); var cached_hierarchy__4385__auto__ = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY); var hierarchy__4386__auto__ = cljs.core.get.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"default","default",-1987822328),new cljs.core.Keyword("spec-tools.visitor","default","spec-tools.visitor/default",49677361)], null),new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null)); return (new cljs.core.MultiFn(cljs.core.symbol.call(null,"spec-tools.visitor","visit-spec"),spec_tools.visitor.spec_dispatch,new cljs.core.Keyword("spec-tools.visitor","default","spec-tools.visitor/default",49677361),hierarchy__4386__auto__,method_table__4382__auto__,prefer_table__4383__auto__,method_cache__4384__auto__,cached_hierarchy__4385__auto__)); })(); } /** * Walk a spec definition. Takes 2-3 arguments, the spec and the accept * function, and optionally a options map, and returns the result of * calling the accept function. Options map can be used to pass in context- * specific information to to sub-visits & accepts. * * The accept function is called with 4 arguments: the dispatch term for the * spec (see below), the spec itself, vector with the results of * recursively walking the children of the spec and the options map. * * The dispatch term is one of the following * * if the spec is a function call: a fully qualified symbol for the function * with the following exceptions: * - cljs.core symbols are converted to clojure.core symbols * - cljs.spec.alpha symbols are converted to clojure.spec.alpha symbols * * if the spec is a set: :spec-tools.visitor/set * * otherwise: the spec itself */ spec_tools.visitor.visit = (function spec_tools$visitor$visit(var_args){ var G__28202 = arguments.length; switch (G__28202) { case 2: return spec_tools.visitor.visit.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)])); break; case 3: return spec_tools.visitor.visit.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)])); break; default: throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(''))); } }); spec_tools.visitor.visit.cljs$core$IFn$_invoke$arity$2 = (function (spec,accept){ return spec_tools.visitor.visit.call(null,spec,accept,null); }); spec_tools.visitor.visit.cljs$core$IFn$_invoke$arity$3 = (function (spec,accept,p__28203){ var map__28204 = p__28203; var map__28204__$1 = ((((!((map__28204 == null)))?(((((map__28204.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28204.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28204):map__28204); var options = map__28204__$1; var visited = cljs.core.get.call(null,map__28204__$1,new cljs.core.Keyword("spec-tools.visitor","visited","spec-tools.visitor/visited",820668632)); if(cljs.core.not.call(null,cljs.core.get.call(null,visited,spec))){ var options__$1 = (((spec instanceof cljs.core.Keyword))?cljs.core.update.call(null,options,new cljs.core.Keyword("spec-tools.visitor","visited","spec-tools.visitor/visited",820668632),cljs.core.fnil.call(null,cljs.core.conj,cljs.core.PersistentHashSet.EMPTY),spec):options); return spec_tools.visitor.visit_spec.call(null,spec,accept,options__$1); } else { return spec_tools.visitor.visit_spec.call(null,null,accept,options); } }); spec_tools.visitor.visit.cljs$lang$maxFixedArity = 3; cljs.core._add_method.call(null,spec_tools.visitor.visit_spec,new cljs.core.Keyword("spec-tools.visitor","set","spec-tools.visitor/set",1650075415),(function (spec,accept,options){ return accept.call(null,new cljs.core.Keyword("spec-tools.visitor","set","spec-tools.visitor/set",1650075415),spec,cljs.core.vec.call(null,(((spec instanceof cljs.core.Keyword))?spec_tools.impl.extract_form.call(null,spec):spec)),options); })); cljs.core._add_method.call(null,spec_tools.visitor.visit_spec,new cljs.core.Symbol("clojure.spec.alpha","keys","clojure.spec.alpha/keys",-90227326,null),(function (spec,accept,options){ var keys = spec_tools.impl.extract_keys.call(null,spec_tools.impl.extract_form.call(null,spec)); return accept.call(null,new cljs.core.Symbol("clojure.spec.alpha","keys","clojure.spec.alpha/keys",-90227326,null),spec,cljs.core.mapv.call(null,((function (keys){ return (function (p1__28207_SHARP_){ return spec_tools.visitor.visit.call(null,p1__28207_SHARP_,accept,options); });})(keys)) ,keys),options); })); cljs.core._add_method.call(null,spec_tools.visitor.visit_spec,new cljs.core.Symbol("clojure.spec.alpha","or","clojure.spec.alpha/or",434904251,null),(function (spec,accept,options){ var vec__28209 = spec_tools.impl.extract_form.call(null,spec); var seq__28210 = cljs.core.seq.call(null,vec__28209); var first__28211 = cljs.core.first.call(null,seq__28210); var seq__28210__$1 = cljs.core.next.call(null,seq__28210); var _ = first__28211; var map__28212 = seq__28210__$1; var map__28212__$1 = ((((!((map__28212 == null)))?(((((map__28212.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28212.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28212):map__28212); var inner_spec_map = map__28212__$1; return accept.call(null,new cljs.core.Symbol("clojure.spec.alpha","or","clojure.spec.alpha/or",434904251,null),spec,cljs.core.mapv.call(null,((function (vec__28209,seq__28210,first__28211,seq__28210__$1,_,map__28212,map__28212__$1,inner_spec_map){ return (function (p1__28208_SHARP_){ return spec_tools.visitor.visit.call(null,p1__28208_SHARP_,accept,options); });})(vec__28209,seq__28210,first__28211,seq__28210__$1,_,map__28212,map__28212__$1,inner_spec_map)) ,cljs.core.vals.call(null,inner_spec_map)),options); })); cljs.core._add_method.call(null,spec_tools.visitor.visit_spec,new cljs.core.Symbol("clojure.spec.alpha","and","clojure.spec.alpha/and",-843882543,null),(function (spec,accept,options){ var vec__28215 = spec_tools.impl.extract_form.call(null,spec); var seq__28216 = cljs.core.seq.call(null,vec__28215); var first__28217 = cljs.core.first.call(null,seq__28216); var seq__28216__$1 = cljs.core.next.call(null,seq__28216); var _ = first__28217; var inner_specs = seq__28216__$1; return accept.call(null,new cljs.core.Symbol("clojure.spec.alpha","and","clojure.spec.alpha/and",-843882543,null),spec,cljs.core.mapv.call(null,((function (vec__28215,seq__28216,first__28217,seq__28216__$1,_,inner_specs){ return (function (p1__28214_SHARP_){ return spec_tools.visitor.visit.call(null,p1__28214_SHARP_,accept,options); });})(vec__28215,seq__28216,first__28217,seq__28216__$1,_,inner_specs)) ,inner_specs),options); })); cljs.core._add_method.call(null,spec_tools.visitor.visit_spec,new cljs.core.Symbol("clojure.spec.alpha","merge","clojure.spec.alpha/merge",472136035,null),(function (spec,accept,options){ var vec__28219 = spec_tools.impl.extract_form.call(null,spec); var seq__28220 = cljs.core.seq.call(null,vec__28219); var first__28221 = cljs.core.first.call(null,seq__28220); var seq__28220__$1 = cljs.core.next.call(null,seq__28220); var _ = first__28221; var inner_specs = seq__28220__$1; return accept.call(null,new cljs.core.Symbol("clojure.spec.alpha","merge","clojure.spec.alpha/merge",472136035,null),spec,cljs.core.mapv.call(null,((function (vec__28219,seq__28220,first__28221,seq__28220__$1,_,inner_specs){ return (function (p1__28218_SHARP_){ return spec_tools.visitor.visit.call(null,p1__28218_SHARP_,accept,options); });})(vec__28219,seq__28220,first__28221,seq__28220__$1,_,inner_specs)) ,inner_specs),options); })); cljs.core._add_method.call(null,spec_tools.visitor.visit_spec,new cljs.core.Symbol("clojure.spec.alpha","every","clojure.spec.alpha/every",-1327408778,null),(function (spec,accept,options){ var vec__28222 = spec_tools.impl.extract_form.call(null,spec); var _ = cljs.core.nth.call(null,vec__28222,(0),null); var inner_spec = cljs.core.nth.call(null,vec__28222,(1),null); return accept.call(null,new cljs.core.Symbol("clojure.spec.alpha","every","clojure.spec.alpha/every",-1327408778,null),spec,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec_tools.visitor.visit.call(null,inner_spec,accept,options)], null),options); })); cljs.core._add_method.call(null,spec_tools.visitor.visit_spec,new cljs.core.Symbol("clojure.spec.alpha","every-kv","clojure.spec.alpha/every-kv",814515928,null),(function (spec,accept,options){ var vec__28226 = spec_tools.impl.extract_form.call(null,spec); var _ = cljs.core.nth.call(null,vec__28226,(0),null); var inner_spec1 = cljs.core.nth.call(null,vec__28226,(1),null); var inner_spec2 = cljs.core.nth.call(null,vec__28226,(2),null); return accept.call(null,new cljs.core.Symbol("clojure.spec.alpha","every-kv","clojure.spec.alpha/every-kv",814515928,null),spec,cljs.core.mapv.call(null,((function (vec__28226,_,inner_spec1,inner_spec2){ return (function (p1__28225_SHARP_){ return spec_tools.visitor.visit.call(null,p1__28225_SHARP_,accept,options); });})(vec__28226,_,inner_spec1,inner_spec2)) ,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [inner_spec1,inner_spec2], null)),options); })); cljs.core._add_method.call(null,spec_tools.visitor.visit_spec,new cljs.core.Symbol("clojure.spec.alpha","coll-of","clojure.spec.alpha/coll-of",-465249451,null),(function (spec,accept,options){ var form = spec_tools.impl.extract_form.call(null,spec); var pred = cljs.core.second.call(null,form); var map__28229 = spec_tools.parse.parse_spec.call(null,form); var map__28229__$1 = ((((!((map__28229 == null)))?(((((map__28229.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28229.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28229):map__28229); var type = cljs.core.get.call(null,map__28229__$1,new cljs.core.Keyword(null,"type","type",1174270348)); var dispatch = (function (){var G__28231 = type; var G__28231__$1 = (((G__28231 instanceof cljs.core.Keyword))?G__28231.fqn:null); switch (G__28231__$1) { case "map": return new cljs.core.Keyword("spec-tools.visitor","map-of","spec-tools.visitor/map-of",-972613908); break; case "set": return new cljs.core.Keyword("spec-tools.visitor","set-of","spec-tools.visitor/set-of",983982444); break; case "vector": return new cljs.core.Keyword("spec-tools.visitor","vector-of","spec-tools.visitor/vector-of",-1693991985); break; default: throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__28231__$1)].join(''))); } })(); return accept.call(null,dispatch,spec,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec_tools.visitor.visit.call(null,pred,accept,options)], null),options); })); cljs.core._add_method.call(null,spec_tools.visitor.visit_spec,new cljs.core.Symbol("clojure.spec.alpha","map-of","clojure.spec.alpha/map-of",2125010727,null),(function (spec,accept,options){ var vec__28234 = spec_tools.impl.extract_form.call(null,spec); var _ = cljs.core.nth.call(null,vec__28234,(0),null); var k = cljs.core.nth.call(null,vec__28234,(1),null); var v = cljs.core.nth.call(null,vec__28234,(2),null); return accept.call(null,new cljs.core.Keyword("spec-tools.visitor","map-of","spec-tools.visitor/map-of",-972613908),spec,cljs.core.mapv.call(null,((function (vec__28234,_,k,v){ return (function (p1__28233_SHARP_){ return spec_tools.visitor.visit.call(null,p1__28233_SHARP_,accept,options); });})(vec__28234,_,k,v)) ,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v], null)),options); })); cljs.core._add_method.call(null,spec_tools.visitor.visit_spec,new cljs.core.Symbol("clojure.spec.alpha","*","clojure.spec.alpha/*",-21649262,null),(function (spec,accept,options){ var vec__28237 = spec_tools.impl.extract_form.call(null,spec); var _ = cljs.core.nth.call(null,vec__28237,(0),null); var inner_spec = cljs.core.nth.call(null,vec__28237,(1),null); return accept.call(null,new cljs.core.Symbol("clojure.spec.alpha","*","clojure.spec.alpha/*",-21649262,null),spec,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec_tools.visitor.visit.call(null,inner_spec,accept,options)], null),options); })); cljs.core._add_method.call(null,spec_tools.visitor.visit_spec,new cljs.core.Symbol("clojure.spec.alpha","+","clojure.spec.alpha/+",96423191,null),(function (spec,accept,options){ var vec__28240 = spec_tools.impl.extract_form.call(null,spec); var _ = cljs.core.nth.call(null,vec__28240,(0),null); var inner_spec = cljs.core.nth.call(null,vec__28240,(1),null); return accept.call(null,new cljs.core.Symbol("clojure.spec.alpha","+","clojure.spec.alpha/+",96423191,null),spec,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec_tools.visitor.visit.call(null,inner_spec,accept,options)], null),options); })); cljs.core._add_method.call(null,spec_tools.visitor.visit_spec,new cljs.core.Symbol("clojure.spec.alpha","?","clojure.spec.alpha/?",-1775438615,null),(function (spec,accept,options){ var vec__28243 = spec_tools.impl.extract_form.call(null,spec); var _ = cljs.core.nth.call(null,vec__28243,(0),null); var inner_spec = cljs.core.nth.call(null,vec__28243,(1),null); return accept.call(null,new cljs.core.Symbol("clojure.spec.alpha","?","clojure.spec.alpha/?",-1775438615,null),spec,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec_tools.visitor.visit.call(null,inner_spec,accept,options)], null),options); })); cljs.core._add_method.call(null,spec_tools.visitor.visit_spec,new cljs.core.Symbol("clojure.spec.alpha","alt","clojure.spec.alpha/alt",-612316618,null),(function (spec,accept,options){ var vec__28247 = spec_tools.impl.extract_form.call(null,spec); var seq__28248 = cljs.core.seq.call(null,vec__28247); var first__28249 = cljs.core.first.call(null,seq__28248); var seq__28248__$1 = cljs.core.next.call(null,seq__28248); var _ = first__28249; var map__28250 = seq__28248__$1; var map__28250__$1 = ((((!((map__28250 == null)))?(((((map__28250.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28250.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28250):map__28250); var inner_spec_map = map__28250__$1; return accept.call(null,new cljs.core.Symbol("clojure.spec.alpha","alt","clojure.spec.alpha/alt",-612316618,null),spec,cljs.core.mapv.call(null,((function (vec__28247,seq__28248,first__28249,seq__28248__$1,_,map__28250,map__28250__$1,inner_spec_map){ return (function (p1__28246_SHARP_){ return spec_tools.visitor.visit.call(null,p1__28246_SHARP_,accept,options); });})(vec__28247,seq__28248,first__28249,seq__28248__$1,_,map__28250,map__28250__$1,inner_spec_map)) ,cljs.core.vals.call(null,inner_spec_map)),options); })); cljs.core._add_method.call(null,spec_tools.visitor.visit_spec,new cljs.core.Symbol("clojure.spec.alpha","cat","clojure.spec.alpha/cat",-523389547,null),(function (spec,accept,options){ var vec__28253 = spec_tools.impl.extract_form.call(null,spec); var seq__28254 = cljs.core.seq.call(null,vec__28253); var first__28255 = cljs.core.first.call(null,seq__28254); var seq__28254__$1 = cljs.core.next.call(null,seq__28254); var _ = first__28255; var map__28256 = seq__28254__$1; var map__28256__$1 = ((((!((map__28256 == null)))?(((((map__28256.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28256.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28256):map__28256); var inner_spec_map = map__28256__$1; return accept.call(null,new cljs.core.Symbol("clojure.spec.alpha","cat","clojure.spec.alpha/cat",-523389547,null),spec,cljs.core.mapv.call(null,((function (vec__28253,seq__28254,first__28255,seq__28254__$1,_,map__28256,map__28256__$1,inner_spec_map){ return (function (p1__28252_SHARP_){ return spec_tools.visitor.visit.call(null,p1__28252_SHARP_,accept,options); });})(vec__28253,seq__28254,first__28255,seq__28254__$1,_,map__28256,map__28256__$1,inner_spec_map)) ,cljs.core.vals.call(null,inner_spec_map)),options); })); cljs.core._add_method.call(null,spec_tools.visitor.visit_spec,new cljs.core.Symbol("clojure.spec.alpha","&","clojure.spec.alpha/&",704695533,null),(function (spec,accept,options){ var vec__28258 = spec_tools.impl.extract_form.call(null,spec); var _ = cljs.core.nth.call(null,vec__28258,(0),null); var inner_spec = cljs.core.nth.call(null,vec__28258,(1),null); return accept.call(null,new cljs.core.Symbol("clojure.spec.alpha","&","clojure.spec.alpha/&",704695533,null),spec,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec_tools.visitor.visit.call(null,inner_spec,accept,options)], null),options); })); cljs.core._add_method.call(null,spec_tools.visitor.visit_spec,new cljs.core.Symbol("clojure.spec.alpha","tuple","clojure.spec.alpha/tuple",800350846,null),(function (spec,accept,options){ var vec__28262 = spec_tools.impl.extract_form.call(null,spec); var seq__28263 = cljs.core.seq.call(null,vec__28262); var first__28264 = cljs.core.first.call(null,seq__28263); var seq__28263__$1 = cljs.core.next.call(null,seq__28263); var _ = first__28264; var inner_specs = seq__28263__$1; return accept.call(null,new cljs.core.Symbol("clojure.spec.alpha","tuple","clojure.spec.alpha/tuple",800350846,null),spec,cljs.core.mapv.call(null,((function (vec__28262,seq__28263,first__28264,seq__28263__$1,_,inner_specs){ return (function (p1__28261_SHARP_){ return spec_tools.visitor.visit.call(null,p1__28261_SHARP_,accept,options); });})(vec__28262,seq__28263,first__28264,seq__28263__$1,_,inner_specs)) ,inner_specs),options); })); cljs.core._add_method.call(null,spec_tools.visitor.visit_spec,new cljs.core.Symbol("clojure.spec.alpha","keys*","clojure.spec.alpha/keys*",-1790941751,null),(function (spec,accept,options){ var keys = spec_tools.impl.extract_keys.call(null,spec_tools.impl.extract_form.call(null,spec)); return accept.call(null,new cljs.core.Symbol("clojure.spec.alpha","keys*","clojure.spec.alpha/keys*",-1790941751,null),spec,cljs.core.mapv.call(null,((function (keys){ return (function (p1__28265_SHARP_){ return spec_tools.visitor.visit.call(null,p1__28265_SHARP_,accept,options); });})(keys)) ,keys),options); })); cljs.core._add_method.call(null,spec_tools.visitor.visit_spec,new cljs.core.Symbol("clojure.spec.alpha","nilable","clojure.spec.alpha/nilable",-1718644550,null),(function (spec,accept,options){ var vec__28266 = spec_tools.impl.extract_form.call(null,spec); var _ = cljs.core.nth.call(null,vec__28266,(0),null); var inner_spec = cljs.core.nth.call(null,vec__28266,(1),null); return accept.call(null,new cljs.core.Symbol("clojure.spec.alpha","nilable","clojure.spec.alpha/nilable",-1718644550,null),spec,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec_tools.visitor.visit.call(null,inner_spec,accept,options)], null),options); })); cljs.core._add_method.call(null,spec_tools.visitor.visit_spec,new cljs.core.Symbol("spec-tools.core","spec","spec-tools.core/spec",-497332036,null),(function (spec,accept,options){ var vec__28269 = spec_tools.impl.extract_form.call(null,spec); var _ = cljs.core.nth.call(null,vec__28269,(0),null); var map__28272 = cljs.core.nth.call(null,vec__28269,(1),null); var map__28272__$1 = ((((!((map__28272 == null)))?(((((map__28272.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28272.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28272):map__28272); var inner_spec = cljs.core.get.call(null,map__28272__$1,new cljs.core.Keyword(null,"spec","spec",347520401)); return accept.call(null,new cljs.core.Keyword("spec-tools.visitor","spec","spec-tools.visitor/spec",1770325200),spec,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec_tools.visitor.visit.call(null,inner_spec,accept,options)], null),options); })); cljs.core._add_method.call(null,spec_tools.visitor.visit_spec,new cljs.core.Keyword("spec-tools.visitor","default","spec-tools.visitor/default",49677361),(function (spec,accept,options){ return accept.call(null,spec_tools.visitor.spec_dispatch.call(null,spec,accept,options),spec,null,options); })); /** * a visitor that collects all registered specs. Returns * a map of spec-name => spec. */ spec_tools.visitor.spec_collector = (function spec_tools$visitor$spec_collector(){ var specs = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY); return ((function (specs){ return (function (_,spec,___$1,___$2){ var temp__5455__auto__ = cljs.spec.alpha.get_spec.call(null,spec); if(cljs.core.truth_(temp__5455__auto__)){ var s = temp__5455__auto__; return cljs.core.swap_BANG_.call(null,specs,cljs.core.assoc,spec,s); } else { return cljs.core.deref.call(null,specs); } }); ;})(specs)) }); //# sourceMappingURL=visitor.js.map