@atomist/clj-editors
Version:
editor functions that use rewrite-clj and other important things from the clojurescript ecosystem
887 lines (785 loc) • 42.6 kB
JavaScript
// Compiled by ClojureScript 1.10.238 {:target :nodejs}
goog.provide('spec_tools.core');
goog.require('cljs.core');
goog.require('spec_tools.impl');
goog.require('spec_tools.parse');
goog.require('spec_tools.form');
goog.require('clojure.set');
goog.require('spec_tools.conform');
goog.require('cljs.spec.alpha');
goog.require('goog.date.UtcDateTime');
goog.require('cljs.reader');
goog.require('clojure.test.check.generators');
goog.require('cljs.spec.gen.alpha');
spec_tools.core.registry = (function spec_tools$core$registry(var_args){
var G__28144 = arguments.length;
switch (G__28144) {
case 0:
return spec_tools.core.registry.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return spec_tools.core.registry.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
spec_tools.core.registry.cljs$core$IFn$_invoke$arity$0 = (function (){
return cljs.spec.alpha.registry.call(null);
});
spec_tools.core.registry.cljs$core$IFn$_invoke$arity$1 = (function (re){
return cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.filter.call(null,(function (p1__28142_SHARP_){
return cljs.core.re_matches.call(null,re,cljs.core.subs.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,p1__28142_SHARP_))].join(''),(1)));
}),cljs.spec.alpha.registry.call(null)));
});
spec_tools.core.registry.cljs$lang$maxFixedArity = 1;
/**
* Finds recursively a spec implementation from the registry
*/
spec_tools.core.get_spec = (function spec_tools$core$get_spec(name){
var temp__5455__auto__ = cljs.core.get.call(null,cljs.spec.alpha.registry.call(null),name);
if(cljs.core.truth_(temp__5455__auto__)){
var spec = temp__5455__auto__;
if((spec instanceof cljs.core.Keyword)){
return spec_tools.core.get_spec.call(null,spec);
} else {
return spec;
}
} else {
return null;
}
});
/**
* Returns a spec from a spec name or spec. Throwns exception
* if no spec was found.
*/
spec_tools.core.coerce_spec = (function spec_tools$core$coerce_spec(name_or_spec){
var or__3922__auto__ = (function (){var and__3911__auto__ = spec_tools.core.spec_QMARK_.call(null,name_or_spec);
if(cljs.core.truth_(and__3911__auto__)){
return name_or_spec;
} else {
return and__3911__auto__;
}
})();
if(cljs.core.truth_(or__3922__auto__)){
return or__3922__auto__;
} else {
var or__3922__auto____$1 = spec_tools.core.get_spec.call(null,name_or_spec);
if(cljs.core.truth_(or__3922__auto____$1)){
return or__3922__auto____$1;
} else {
throw cljs.core.ex_info.call(null,["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));
}
}
});
/**
* Writes specs into a string that can be read by the reader.
* TODO: Should optionally write the realated Registry entries.
*/
spec_tools.core.serialize = (function spec_tools$core$serialize(spec){
return cljs.core.pr_str.call(null,cljs.spec.alpha.form.call(null,spec));
});
/**
* Reads specs from a string.
* TODO: Should optionally read the realated Registry entries.
*/
spec_tools.core.deserialize = (function spec_tools$core$deserialize(s){
return cljs.reader.read_string.call(null,s);
});
spec_tools.core._PLUS_invalid_PLUS_ = new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119);
spec_tools.core._PLUS_problems_PLUS_ = new cljs.core.Keyword("cljs.spec.alpha","problems","cljs.spec.alpha/problems",447400814);
spec_tools.core._STAR_conforming_STAR_ = null;
spec_tools.core.type_conforming = (function spec_tools$core$type_conforming(opts){
return (function (spec){
var type = new cljs.core.Keyword(null,"type","type",1174270348).cljs$core$IFn$_invoke$arity$1(spec);
return cljs.core.get.call(null,opts,type);
});
});
spec_tools.core.json_conforming = spec_tools.core.type_conforming.call(null,spec_tools.conform.json_type_conforming);
spec_tools.core.string_conforming = spec_tools.core.type_conforming.call(null,spec_tools.conform.string_type_conforming);
spec_tools.core.strip_extra_keys_conforming = spec_tools.core.type_conforming.call(null,spec_tools.conform.strip_extra_keys_type_conforming);
spec_tools.core.fail_on_extra_keys_conforming = spec_tools.core.type_conforming.call(null,spec_tools.conform.fail_on_extra_keys_type_conforming);
spec_tools.core.explain = (function spec_tools$core$explain(var_args){
var G__28147 = arguments.length;
switch (G__28147) {
case 2:
return spec_tools.core.explain.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return spec_tools.core.explain.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.core.explain.cljs$core$IFn$_invoke$arity$2 = (function (spec,value){
return spec_tools.core.explain.call(null,spec,value,null);
});
spec_tools.core.explain.cljs$core$IFn$_invoke$arity$3 = (function (spec,value,conforming){
var _STAR_conforming_STAR_28148 = spec_tools.core._STAR_conforming_STAR_;
spec_tools.core._STAR_conforming_STAR_ = conforming;
try{return cljs.spec.alpha.explain.call(null,spec,value);
}finally {spec_tools.core._STAR_conforming_STAR_ = _STAR_conforming_STAR_28148;
}});
spec_tools.core.explain.cljs$lang$maxFixedArity = 3;
spec_tools.core.explain_data = (function spec_tools$core$explain_data(var_args){
var G__28151 = arguments.length;
switch (G__28151) {
case 2:
return spec_tools.core.explain_data.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return spec_tools.core.explain_data.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.core.explain_data.cljs$core$IFn$_invoke$arity$2 = (function (spec,value){
return spec_tools.core.explain_data.call(null,spec,value,null);
});
spec_tools.core.explain_data.cljs$core$IFn$_invoke$arity$3 = (function (spec,value,conforming){
var _STAR_conforming_STAR_28152 = spec_tools.core._STAR_conforming_STAR_;
spec_tools.core._STAR_conforming_STAR_ = conforming;
try{return cljs.spec.alpha.explain_data.call(null,spec,value);
}finally {spec_tools.core._STAR_conforming_STAR_ = _STAR_conforming_STAR_28152;
}});
spec_tools.core.explain_data.cljs$lang$maxFixedArity = 3;
/**
* Given a spec and a value, returns the possibly destructured value
* or ::s/invalid
*/
spec_tools.core.conform = (function spec_tools$core$conform(var_args){
var G__28155 = arguments.length;
switch (G__28155) {
case 2:
return spec_tools.core.conform.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return spec_tools.core.conform.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.core.conform.cljs$core$IFn$_invoke$arity$2 = (function (spec,value){
return spec_tools.core.conform.call(null,spec,value,null);
});
spec_tools.core.conform.cljs$core$IFn$_invoke$arity$3 = (function (spec,value,conforming){
var _STAR_conforming_STAR_28156 = spec_tools.core._STAR_conforming_STAR_;
spec_tools.core._STAR_conforming_STAR_ = conforming;
try{return cljs.spec.alpha.conform.call(null,spec,value);
}finally {spec_tools.core._STAR_conforming_STAR_ = _STAR_conforming_STAR_28156;
}});
spec_tools.core.conform.cljs$lang$maxFixedArity = 3;
/**
* Given a spec and a value, returns the possibly destructured value
* or fails with ex-info with :type of ::conform. ex-data also contains
* :problems, :spec and :value. call s/unform on the result to get the
* actual conformed value.
*/
spec_tools.core.conform_BANG_ = (function spec_tools$core$conform_BANG_(var_args){
var G__28159 = arguments.length;
switch (G__28159) {
case 2:
return spec_tools.core.conform_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return spec_tools.core.conform_BANG_.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.core.conform_BANG_.cljs$core$IFn$_invoke$arity$2 = (function (spec,value){
return spec_tools.core.conform_BANG_.call(null,spec,value,null);
});
spec_tools.core.conform_BANG_.cljs$core$IFn$_invoke$arity$3 = (function (spec,value,conforming){
var _STAR_conforming_STAR_28160 = spec_tools.core._STAR_conforming_STAR_;
spec_tools.core._STAR_conforming_STAR_ = conforming;
try{var conformed = cljs.spec.alpha.conform.call(null,spec,value);
if(!(cljs.core._EQ_.call(null,conformed,spec_tools.core._PLUS_invalid_PLUS_))){
return conformed;
} else {
var problems = cljs.spec.alpha.explain_data.call(null,spec,value);
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),spec_tools.core._PLUS_problems_PLUS_.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);
throw cljs.core.ex_info.call(null,["Spec conform error: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(data)].join(''),data);
}
}finally {spec_tools.core._STAR_conforming_STAR_ = _STAR_conforming_STAR_28160;
}});
spec_tools.core.conform_BANG_.cljs$lang$maxFixedArity = 3;
spec_tools.core.select_spec = (function spec_tools$core$select_spec(spec,value){
return spec_tools.core.conform.call(null,spec,value,spec_tools.core.strip_extra_keys_conforming);
});
spec_tools.core.extra_spec_map = (function spec_tools$core$extra_spec_map(t){
return cljs.core.dissoc.call(null,t,new cljs.core.Keyword(null,"form","form",-1624062471),new cljs.core.Keyword(null,"spec","spec",347520401));
});
spec_tools.core.fail_on_invoke = (function spec_tools$core$fail_on_invoke(spec){
throw cljs.core.ex_info.call(null,["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));
});
/**
* @constructor
* @implements {cljs.core.IRecord}
* @implements {cljs.spec.alpha.Spec}
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.IFn}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ICloneable}
* @implements {cljs.core.IPrintWithWriter}
* @implements {cljs.core.IIterable}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IAssociative}
* @implements {cljs.core.IMap}
* @implements {cljs.core.ILookup}
*/
spec_tools.core.Spec = (function (spec,form,type,__meta,__extmap,__hash){
this.spec = spec;
this.form = form;
this.type = type;
this.__meta = __meta;
this.__extmap = __extmap;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 2229667595;
this.cljs$lang$protocol_mask$partition1$ = 139264;
});
spec_tools.core.Spec.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (this__4172__auto__,k__4173__auto__){
var self__ = this;
var this__4172__auto____$1 = this;
return this__4172__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__4173__auto__,null);
});
spec_tools.core.Spec.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (this__4174__auto__,k28163,else__4175__auto__){
var self__ = this;
var this__4174__auto____$1 = this;
var G__28168 = k28163;
var G__28168__$1 = (((G__28168 instanceof cljs.core.Keyword))?G__28168.fqn:null);
switch (G__28168__$1) {
case "spec":
return self__.spec;
break;
case "form":
return self__.form;
break;
case "type":
return self__.type;
break;
default:
return cljs.core.get.call(null,self__.__extmap,k28163,else__4175__auto__);
}
});
spec_tools.core.Spec.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (this__4186__auto__,writer__4187__auto__,opts__4188__auto__){
var self__ = this;
var this__4186__auto____$1 = this;
var pr_pair__4189__auto__ = ((function (this__4186__auto____$1){
return (function (keyval__4190__auto__){
return cljs.core.pr_sequential_writer.call(null,writer__4187__auto__,cljs.core.pr_writer,""," ","",opts__4188__auto__,keyval__4190__auto__);
});})(this__4186__auto____$1))
;
return cljs.core.pr_sequential_writer.call(null,writer__4187__auto__,pr_pair__4189__auto__,"#spec-tools.core.Spec{",", ","}",opts__4188__auto__,cljs.core.concat.call(null,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));
});
spec_tools.core.Spec.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (G__28162){
var self__ = this;
var G__28162__$1 = this;
return (new cljs.core.RecordIter((0),G__28162__$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.call(null,self__.__extmap):cljs.core.nil_iter.call(null))));
});
spec_tools.core.Spec.prototype.cljs$core$IMeta$_meta$arity$1 = (function (this__4170__auto__){
var self__ = this;
var this__4170__auto____$1 = this;
return self__.__meta;
});
spec_tools.core.Spec.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (this__4167__auto__){
var self__ = this;
var this__4167__auto____$1 = this;
return (new spec_tools.core.Spec(self__.spec,self__.form,self__.type,self__.__meta,self__.__extmap,self__.__hash));
});
spec_tools.core.Spec.prototype.cljs$core$ICounted$_count$arity$1 = (function (this__4176__auto__){
var self__ = this;
var this__4176__auto____$1 = this;
return (3 + cljs.core.count.call(null,self__.__extmap));
});
spec_tools.core.Spec.prototype.cljs$core$IHash$_hash$arity$1 = (function (this__4168__auto__){
var self__ = this;
var this__4168__auto____$1 = this;
var h__4030__auto__ = self__.__hash;
if(!((h__4030__auto__ == null))){
return h__4030__auto__;
} else {
var h__4030__auto____$1 = ((function (h__4030__auto__,this__4168__auto____$1){
return (function (coll__4169__auto__){
return (344961240 ^ cljs.core.hash_unordered_coll.call(null,coll__4169__auto__));
});})(h__4030__auto__,this__4168__auto____$1))
.call(null,this__4168__auto____$1);
self__.__hash = h__4030__auto____$1;
return h__4030__auto____$1;
}
});
spec_tools.core.Spec.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (this28164,other28165){
var self__ = this;
var this28164__$1 = this;
return ((!((other28165 == null))) && ((this28164__$1.constructor === other28165.constructor)) && (cljs.core._EQ_.call(null,this28164__$1.spec,other28165.spec)) && (cljs.core._EQ_.call(null,this28164__$1.form,other28165.form)) && (cljs.core._EQ_.call(null,this28164__$1.type,other28165.type)) && (cljs.core._EQ_.call(null,this28164__$1.__extmap,other28165.__extmap)));
});
spec_tools.core.Spec.prototype.cljs$spec$alpha$Spec$ = cljs.core.PROTOCOL_SENTINEL;
spec_tools.core.Spec.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 = (function (this$,x){
var self__ = this;
var this$__$1 = this;
var conforming = spec_tools.core._STAR_conforming_STAR_;
var temp__5455__auto__ = (cljs.core.truth_(conforming)?conforming.call(null,this$__$1):null);
if(cljs.core.truth_(temp__5455__auto__)){
var conform = temp__5455__auto__;
var conformed = conform.call(null,this$__$1,x);
var or__3922__auto__ = (function (){var and__3911__auto__ = cljs.core._EQ_.call(null,spec_tools.core._PLUS_invalid_PLUS_,conformed);
if(and__3911__auto__){
return conformed;
} else {
return and__3911__auto__;
}
})();
if(cljs.core.truth_(or__3922__auto__)){
return or__3922__auto__;
} else {
return cljs.spec.alpha.conform.call(null,self__.spec,conformed);
}
} else {
return cljs.spec.alpha.conform.call(null,self__.spec,x);
}
});
spec_tools.core.Spec.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 = (function (_,x){
var self__ = this;
var ___$1 = this;
return cljs.spec.alpha.unform.call(null,self__.spec,x);
});
spec_tools.core.Spec.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 = (function (this$,path,via,in$,x){
var self__ = this;
var this$__$1 = this;
var problems = (cljs.core.truth_((function (){var or__3922__auto__ = cljs.spec.alpha.spec_QMARK_.call(null,self__.spec);
if(cljs.core.truth_(or__3922__auto__)){
return or__3922__auto__;
} else {
return cljs.spec.alpha.regex_QMARK_.call(null,self__.spec);
}
})())?(function (){var conformed = this$__$1.cljs$spec$alpha$Spec$conform_STAR_$arity$2(null,x);
var vec__28169 = ((cljs.core._EQ_.call(null,conformed,spec_tools.core._PLUS_invalid_PLUS_))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core._EQ_.call(null,spec_tools.core.conform.call(null,this$__$1,x),spec_tools.core._PLUS_invalid_PLUS_),x], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,cljs.spec.alpha.unform.call(null,self__.spec,conformed)], null));
var explain_QMARK_ = cljs.core.nth.call(null,vec__28169,(0),null);
var val = cljs.core.nth.call(null,vec__28169,(1),null);
if(cljs.core.truth_(explain_QMARK_)){
return cljs.spec.alpha.explain_STAR_.call(null,cljs.spec.alpha.specize_STAR_.call(null,self__.spec),path,via,in$,val);
} else {
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);
}
})():((cljs.core._EQ_.call(null,spec_tools.core._PLUS_invalid_PLUS_,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));
var spec_reason = new cljs.core.Keyword(null,"reason","reason",-2070751759).cljs$core$IFn$_invoke$arity$1(this$__$1);
var with_reason = ((function (problems,spec_reason,this$__$1){
return (function (problem){
var G__28172 = problem;
if(cljs.core.truth_(spec_reason)){
return cljs.core.assoc.call(null,G__28172,new cljs.core.Keyword(null,"reason","reason",-2070751759),spec_reason);
} else {
return G__28172;
}
});})(problems,spec_reason,this$__$1))
;
if(cljs.core.truth_(problems)){
return cljs.core.map.call(null,with_reason,problems);
} else {
return null;
}
});
spec_tools.core.Spec.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 = (function (this$,overrides,path,rmap){
var self__ = this;
var this$__$1 = this;
var temp__5455__auto__ = new cljs.core.Keyword(null,"gen","gen",142575302).cljs$core$IFn$_invoke$arity$1(this$__$1);
if(cljs.core.truth_(temp__5455__auto__)){
var gen = temp__5455__auto__;
return gen.call(null);
} else {
var or__3922__auto__ = cljs.spec.gen.alpha.gen_for_pred.call(null,self__.spec);
if(cljs.core.truth_(or__3922__auto__)){
return or__3922__auto__;
} else {
return cljs.spec.alpha.gen_STAR_.call(null,self__.spec,overrides,path,rmap);
}
}
});
spec_tools.core.Spec.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 = (function (this$,gfn){
var self__ = this;
var this$__$1 = this;
return cljs.core.assoc.call(null,this$__$1,new cljs.core.Keyword(null,"gen","gen",142575302),gfn);
});
spec_tools.core.Spec.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 = (function (this$){
var self__ = this;
var this$__$1 = this;
var data = cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"spec","spec",347520401),self__.form], null),spec_tools.core.extra_spec_map.call(null,this$__$1));
return cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,(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)))));
});
spec_tools.core.Spec.prototype.cljs$core$IMap$_dissoc$arity$2 = (function (this__4181__auto__,k__4182__auto__){
var self__ = this;
var this__4181__auto____$1 = this;
if(cljs.core.contains_QMARK_.call(null,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__4182__auto__)){
return cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this__4181__auto____$1),self__.__meta),k__4182__auto__);
} else {
return (new spec_tools.core.Spec(self__.spec,self__.form,self__.type,self__.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,self__.__extmap,k__4182__auto__)),null));
}
});
spec_tools.core.Spec.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (this__4179__auto__,k__4180__auto__,G__28162){
var self__ = this;
var this__4179__auto____$1 = this;
var pred__28173 = cljs.core.keyword_identical_QMARK_;
var expr__28174 = k__4180__auto__;
if(cljs.core.truth_(pred__28173.call(null,new cljs.core.Keyword(null,"spec","spec",347520401),expr__28174))){
return (new spec_tools.core.Spec(G__28162,self__.form,self__.type,self__.__meta,self__.__extmap,null));
} else {
if(cljs.core.truth_(pred__28173.call(null,new cljs.core.Keyword(null,"form","form",-1624062471),expr__28174))){
return (new spec_tools.core.Spec(self__.spec,G__28162,self__.type,self__.__meta,self__.__extmap,null));
} else {
if(cljs.core.truth_(pred__28173.call(null,new cljs.core.Keyword(null,"type","type",1174270348),expr__28174))){
return (new spec_tools.core.Spec(self__.spec,self__.form,G__28162,self__.__meta,self__.__extmap,null));
} else {
return (new spec_tools.core.Spec(self__.spec,self__.form,self__.type,self__.__meta,cljs.core.assoc.call(null,self__.__extmap,k__4180__auto__,G__28162),null));
}
}
}
});
spec_tools.core.Spec.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (this__4184__auto__){
var self__ = this;
var this__4184__auto____$1 = this;
return cljs.core.seq.call(null,cljs.core.concat.call(null,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));
});
spec_tools.core.Spec.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (this__4171__auto__,G__28162){
var self__ = this;
var this__4171__auto____$1 = this;
return (new spec_tools.core.Spec(self__.spec,self__.form,self__.type,G__28162,self__.__extmap,self__.__hash));
});
spec_tools.core.Spec.prototype.cljs$core$ICollection$_conj$arity$2 = (function (this__4177__auto__,entry__4178__auto__){
var self__ = this;
var this__4177__auto____$1 = this;
if(cljs.core.vector_QMARK_.call(null,entry__4178__auto__)){
return this__4177__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,entry__4178__auto__,(0)),cljs.core._nth.call(null,entry__4178__auto__,(1)));
} else {
return cljs.core.reduce.call(null,cljs.core._conj,this__4177__auto____$1,entry__4178__auto__);
}
});
spec_tools.core.Spec.prototype.call = (function (self__,x){
var self__ = this;
var self____$1 = this;
var this$ = self____$1;
if(cljs.core.ifn_QMARK_.call(null,self__.spec)){
return self__.spec.call(null,x);
} else {
return spec_tools.core.fail_on_invoke.call(null,this$);
}
});
spec_tools.core.Spec.prototype.apply = (function (self__,args28167){
var self__ = this;
var self____$1 = this;
return self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone.call(null,args28167)));
});
spec_tools.core.Spec.prototype.cljs$core$IFn$_invoke$arity$1 = (function (x){
var self__ = this;
var this$ = this;
if(cljs.core.ifn_QMARK_.call(null,self__.spec)){
return self__.spec.call(null,x);
} else {
return spec_tools.core.fail_on_invoke.call(null,this$);
}
});
spec_tools.core.Spec.getBasis = (function (){
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);
});
spec_tools.core.Spec.cljs$lang$type = true;
spec_tools.core.Spec.cljs$lang$ctorPrSeq = (function (this__4208__auto__){
return (new cljs.core.List(null,"spec-tools.core/Spec",null,(1),null));
});
spec_tools.core.Spec.cljs$lang$ctorPrWriter = (function (this__4208__auto__,writer__4209__auto__){
return cljs.core._write.call(null,writer__4209__auto__,"spec-tools.core/Spec");
});
/**
* Positional factory function for spec-tools.core/Spec.
*/
spec_tools.core.__GT_Spec = (function spec_tools$core$__GT_Spec(spec,form,type){
return (new spec_tools.core.Spec(spec,form,type,null,null,null));
});
/**
* Factory function for spec-tools.core/Spec, taking a map of keywords to field values.
*/
spec_tools.core.map__GT_Spec = (function spec_tools$core$map__GT_Spec(G__28166){
return (new spec_tools.core.Spec(new cljs.core.Keyword(null,"spec","spec",347520401).cljs$core$IFn$_invoke$arity$1(G__28166),new cljs.core.Keyword(null,"form","form",-1624062471).cljs$core$IFn$_invoke$arity$1(G__28166),new cljs.core.Keyword(null,"type","type",1174270348).cljs$core$IFn$_invoke$arity$1(G__28166),null,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,G__28166,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));
});
spec_tools.core.spec_QMARK_ = (function spec_tools$core$spec_QMARK_(x){
if((x instanceof spec_tools.core.Spec)){
return x;
} else {
return null;
}
});
/**
* Returns a spec name. Like the private clojure.spec.alpha/spec-name
*/
spec_tools.core.spec_name = (function spec_tools$core$spec_name(spec){
if(cljs.core.ident_QMARK_.call(null,spec)){
return spec;
} else {
if(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_.call(null,spec))){
return new cljs.core.Keyword("cljs.spec.alpha","name","cljs.spec.alpha/name",205233570).cljs$core$IFn$_invoke$arity$1(spec);
} else {
if(cljs.core.truth_((function (){var and__3911__auto__ = spec_tools.core.spec_QMARK_.call(null,spec);
if(cljs.core.truth_(and__3911__auto__)){
return new cljs.core.Keyword(null,"name","name",1843675177).cljs$core$IFn$_invoke$arity$1(spec);
} else {
return and__3911__auto__;
}
})())){
return new cljs.core.Keyword(null,"name","name",1843675177).cljs$core$IFn$_invoke$arity$1(spec);
} else {
if(((!((spec == null)))?(((((spec.cljs$lang$protocol_mask$partition0$ & (131072))) || ((cljs.core.PROTOCOL_SENTINEL === spec.cljs$core$IMeta$))))?true:false):false)){
return new cljs.core.Keyword("cljs.spec.alpha","name","cljs.spec.alpha/name",205233570).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,spec));
} else {
return null;
}
}
}
}
});
/**
* Returns a spec description.
*/
spec_tools.core.spec_description = (function spec_tools$core$spec_description(spec){
if(cljs.core.truth_((function (){var and__3911__auto__ = spec_tools.core.spec_QMARK_.call(null,spec);
if(cljs.core.truth_(and__3911__auto__)){
return new cljs.core.Keyword(null,"description","description",-1428560544).cljs$core$IFn$_invoke$arity$1(spec);
} else {
return and__3911__auto__;
}
})())){
return new cljs.core.Keyword(null,"description","description",-1428560544).cljs$core$IFn$_invoke$arity$1(spec);
} else {
return null;
}
});
/**
* Creates a Spec intance from a map containing the following keys:
*
* :spec the wrapped spec predicate (mandatory)
* :form source code of the spec predicate, if :spec is a spec,
* :form is read with `s/form` out of it. For non-spec
* preds, spec-tools.forms/resolve-form is called, if still
* not available, spec-creation will fail.
* :type optional type for the spec. if not set, will be auto-
* resolved via spec-tools.forms/resolve-type (optional)
* :reason reason to be added to problems with s/explain (optional)
* :gen generator function for the spec (optional)
* :name name of the spec (optional)
* :description description of the spec (optional)
* :xx/yy any qualified keys can be added (optional)
*/
spec_tools.core.create_spec = (function spec_tools$core$create_spec(p__28178){
var map__28179 = p__28178;
var map__28179__$1 = ((((!((map__28179 == null)))?(((((map__28179.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28179.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28179):map__28179);
var m = map__28179__$1;
var spec = cljs.core.get.call(null,map__28179__$1,new cljs.core.Keyword(null,"spec","spec",347520401));
var type = cljs.core.get.call(null,map__28179__$1,new cljs.core.Keyword(null,"type","type",1174270348));
var form = cljs.core.get.call(null,map__28179__$1,new cljs.core.Keyword(null,"form","form",-1624062471));
if(cljs.core.truth_(spec)){
} else {
throw (new Error(["Assert failed: ","missing spec predicate","\n","spec"].join('')));
}
if(cljs.core.qualified_keyword_QMARK_.call(null,spec)){
if(cljs.core.truth_(spec_tools.core.get_spec.call(null,spec))){
} else {
throw (new Error(["Assert failed: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1([" Unable to resolve spec: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"spec","spec",347520401).cljs$core$IFn$_invoke$arity$1(m))].join('')),"\n","(get-spec spec)"].join('')));
}
} else {
}
var spec__$1 = ((cljs.core.qualified_keyword_QMARK_.call(null,spec))?spec_tools.core.get_spec.call(null,spec):spec);
var form__$1 = (function (){var or__3922__auto__ = ((cljs.core.qualified_keyword_QMARK_.call(null,form))?cljs.spec.alpha.form.call(null,form):null);
if(cljs.core.truth_(or__3922__auto__)){
return or__3922__auto__;
} else {
var or__3922__auto____$1 = form;
if(cljs.core.truth_(or__3922__auto____$1)){
return or__3922__auto____$1;
} else {
var or__3922__auto____$2 = (function (){var form__$1 = cljs.spec.alpha.form.call(null,spec__$1);
if(!(cljs.core._EQ_.call(null,form__$1,new cljs.core.Keyword("cljs.spec.alpha","unknown","cljs.spec.alpha/unknown",651034818)))){
return form__$1;
} else {
return null;
}
})();
if(cljs.core.truth_(or__3922__auto____$2)){
return or__3922__auto____$2;
} else {
var or__3922__auto____$3 = spec_tools.form.resolve_form.call(null,spec__$1);
if(cljs.core.truth_(or__3922__auto____$3)){
return or__3922__auto____$3;
} else {
return new cljs.core.Keyword("cljs.spec.alpha","unknown","cljs.spec.alpha/unknown",651034818);
}
}
}
}
})();
var info = spec_tools.parse.parse_spec.call(null,form__$1);
var type__$1 = ((cljs.core.contains_QMARK_.call(null,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));
var name = new cljs.core.Keyword("cljs.spec.alpha","name","cljs.spec.alpha/name",205233570).cljs$core$IFn$_invoke$arity$1(cljs.core.meta.call(null,spec__$1));
var record = spec_tools.core.map__GT_Spec.call(null,cljs.core.merge.call(null,m,info,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"spec","spec",347520401),spec__$1,new cljs.core.Keyword(null,"form","form",-1624062471),form__$1,new cljs.core.Keyword(null,"type","type",1174270348),type__$1], null)));
var G__28181 = record;
if(cljs.core.truth_(name)){
return cljs.core.with_meta.call(null,G__28181,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword("cljs.spec.alpha","name","cljs.spec.alpha/name",205233570),name], null));
} else {
return G__28181;
}
});
spec_tools.core.map_spec_keys = (function spec_tools$core$map_spec_keys(spec){
var spec__$1 = (function (){var or__3922__auto__ = ((cljs.core.qualified_keyword_QMARK_.call(null,spec))?cljs.spec.alpha.form.call(null,spec):null);
if(cljs.core.truth_(or__3922__auto__)){
return or__3922__auto__;
} else {
return spec;
}
})();
var info = spec_tools.parse.parse_spec.call(null,spec__$1);
return cljs.core.select_keys.call(null,info,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"keys","keys",1068423698),new cljs.core.Keyword("keys","req","keys/req",-320602811),new cljs.core.Keyword("keys","opt","keys/opt",-789566357)], null));
});
spec_tools.core.merge_impl = (function spec_tools$core$merge_impl(forms,spec_form,merge_spec){
var form_keys = cljs.core.map.call(null,spec_tools.core.map_spec_keys,forms);
var spec = (function (){
if(typeof spec_tools.core.t_spec_tools$core28187 !== 'undefined'){
} else {
/**
* @constructor
* @implements {cljs.spec.alpha.Spec}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
spec_tools.core.t_spec_tools$core28187 = (function (forms,spec_form,merge_spec,form_keys,meta28188){
this.forms = forms;
this.spec_form = spec_form;
this.merge_spec = merge_spec;
this.form_keys = form_keys;
this.meta28188 = meta28188;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
spec_tools.core.t_spec_tools$core28187.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = ((function (form_keys){
return (function (_28189,meta28188__$1){
var self__ = this;
var _28189__$1 = this;
return (new spec_tools.core.t_spec_tools$core28187(self__.forms,self__.spec_form,self__.merge_spec,self__.form_keys,meta28188__$1));
});})(form_keys))
;
spec_tools.core.t_spec_tools$core28187.prototype.cljs$core$IMeta$_meta$arity$1 = ((function (form_keys){
return (function (_28189){
var self__ = this;
var _28189__$1 = this;
return self__.meta28188;
});})(form_keys))
;
spec_tools.core.t_spec_tools$core28187.prototype.cljs$spec$alpha$Spec$ = cljs.core.PROTOCOL_SENTINEL;
spec_tools.core.t_spec_tools$core28187.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 = ((function (form_keys){
return (function (_,x){
var self__ = this;
var ___$1 = this;
var conformed_vals = cljs.core.map.call(null,((function (___$1,form_keys){
return (function (p1__28184_SHARP_){
return cljs.spec.alpha.conform.call(null,p1__28184_SHARP_,x);
});})(___$1,form_keys))
,self__.forms);
if(cljs.core.truth_(cljs.core.some.call(null,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))){
return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119);
} else {
return cljs.core.apply.call(null,cljs.core.merge,x,cljs.core.map.call(null,((function (conformed_vals,___$1,form_keys){
return (function (p1__28185_SHARP_,p2__28186_SHARP_){
return cljs.core.select_keys.call(null,p1__28185_SHARP_,p2__28186_SHARP_);
});})(conformed_vals,___$1,form_keys))
,conformed_vals,cljs.core.map.call(null,new cljs.core.Keyword(null,"keys","keys",1068423698),self__.form_keys)));
}
});})(form_keys))
;
spec_tools.core.t_spec_tools$core28187.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 = ((function (form_keys){
return (function (_,x){
var self__ = this;
var ___$1 = this;
return cljs.spec.alpha.unform_STAR_.call(null,self__.merge_spec,x);
});})(form_keys))
;
spec_tools.core.t_spec_tools$core28187.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 = ((function (form_keys){
return (function (_,path,via,in$,x){
var self__ = this;
var ___$1 = this;
return cljs.spec.alpha.explain_STAR_.call(null,self__.merge_spec,path,via,in$,x);
});})(form_keys))
;
spec_tools.core.t_spec_tools$core28187.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 = ((function (form_keys){
return (function (_,overrides,path,rmap){
var self__ = this;
var ___$1 = this;
return cljs.spec.alpha.gen_STAR_.call(null,self__.merge_spec,overrides,path,rmap);
});})(form_keys))
;
spec_tools.core.t_spec_tools$core28187.getBasis = ((function (form_keys){
return (function (){
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,"meta28188","meta28188",217035492,null)], null);
});})(form_keys))
;
spec_tools.core.t_spec_tools$core28187.cljs$lang$type = true;
spec_tools.core.t_spec_tools$core28187.cljs$lang$ctorStr = "spec-tools.core/t_spec_tools$core28187";
spec_tools.core.t_spec_tools$core28187.cljs$lang$ctorPrWriter = ((function (form_keys){
return (function (this__4161__auto__,writer__4162__auto__,opt__4163__auto__){
return cljs.core._write.call(null,writer__4162__auto__,"spec-tools.core/t_spec_tools$core28187");
});})(form_keys))
;
/**
* Positional factory function for spec-tools.core/t_spec_tools$core28187.
*/
spec_tools.core.__GT_t_spec_tools$core28187 = ((function (form_keys){
return (function spec_tools$core$merge_impl_$___GT_t_spec_tools$core28187(forms__$1,spec_form__$1,merge_spec__$1,form_keys__$1,meta28188){
return (new spec_tools.core.t_spec_tools$core28187(forms__$1,spec_form__$1,merge_spec__$1,form_keys__$1,meta28188));
});})(form_keys))
;
}
return (new spec_tools.core.t_spec_tools$core28187(forms,spec_form,merge_spec,form_keys,cljs.core.PersistentArrayMap.EMPTY));
})()
;
return spec_tools.core.create_spec.call(null,cljs.core.merge.call(null,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.call(null,cljs.core.merge_with,clojure.set.union,form_keys)));
});
var ret__4533__auto___28195 = (function (){
spec_tools.core.merge = (function spec_tools$core$merge(var_args){
var args__4502__auto__ = [];
var len__4499__auto___28196 = arguments.length;
var i__4500__auto___28197 = (0);
while(true){
if((i__4500__auto___28197 < len__4499__auto___28196)){
args__4502__auto__.push((arguments[i__4500__auto___28197]));
var G__28198 = (i__4500__auto___28197 + (1));
i__4500__auto___28197 = G__28198;
continue;
} else {
}
break;
}
var argseq__4503__auto__ = ((((2) < args__4502__auto__.length))?(new cljs.core.IndexedSeq(args__4502__auto__.slice((2)),(0),null)):null);
return spec_tools.core.merge.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__4503__auto__);
});
spec_tools.core.merge.cljs$core$IFn$_invoke$arity$variadic = (function (_AMPERSAND_form,_AMPERSAND_env,forms){
return cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,(new cljs.core.List(null,new cljs.core.Symbol("cljs.core","let","cljs.core/let",-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec.call(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,(new cljs.core.List(null,new cljs.core.Symbol(null,"merge-spec__28191__auto__","merge-spec__28191__auto__",1696163121,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,(new cljs.core.List(null,new cljs.core.Symbol("cljs.spec.alpha","merge","cljs.spec.alpha/merge",1420080689,null),null,(1),null)),forms))),null,(1),null)))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,(new cljs.core.List(null,new cljs.core.Symbol("spec-tools.core","merge-impl","spec-tools.core/merge-impl",508877265,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec.call(null,forms),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,(new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.call(null,cljs.core.seq.call(null,cljs.core.concat.call(null,(new cljs.core.List(null,new cljs.core.Symbol("spec-tools.core","merge","spec-tools.core/merge",2048449266,null),null,(1),null)),cljs.core.map.call(null,(function (p1__28190_SHARP_){
return spec_tools.impl.resolve_form.call(null,_AMPERSAND_env,p1__28190_SHARP_);
}),forms)))),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"merge-spec__28191__auto__","merge-spec__28191__auto__",1696163121,null),null,(1),null))))),null,(1),null)))));
});
spec_tools.core.merge.cljs$lang$maxFixedArity = (2);
/** @this {Function} */
spec_tools.core.merge.cljs$lang$applyTo = (function (seq28192){
var G__28193 = cljs.core.first.call(null,seq28192);
var seq28192__$1 = cljs.core.next.call(null,seq28192);
var G__28194 = cljs.core.first.call(null,seq28192__$1);
var seq28192__$2 = cljs.core.next.call(null,seq28192__$1);
var self__4486__auto__ = this;
return self__4486__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28193,G__28194,seq28192__$2);
});
return null;
})()
;
spec_tools.core.merge.cljs$lang$macro = true;
//# sourceMappingURL=core.js.map