@atomist/clj-editors
Version:
editor functions that use rewrite-clj and other important things from the clojurescript ecosystem
1,271 lines (1,153 loc) • 263 kB
JavaScript
// Compiled by ClojureScript 1.10.238 {:target :nodejs}
goog.provide('cljs.spec.alpha');
goog.require('cljs.core');
goog.require('goog.object');
goog.require('cljs.core');
goog.require('clojure.walk');
goog.require('cljs.spec.gen.alpha');
goog.require('clojure.string');
cljs.spec.alpha.MAX_INT = (9007199254740991);
/**
* A soft limit on how many times a branching spec (or/alt/* /opt-keys/multi-spec)
* can be recursed through during generation. After this a
* non-recursive branch will be chosen.
*/
cljs.spec.alpha._STAR_recursion_limit_STAR_ = (4);
/**
* The number of times an anonymous fn specified by fspec will be (generatively) tested during conform
*/
cljs.spec.alpha._STAR_fspec_iterations_STAR_ = (21);
/**
* The number of items validated in a collection spec'ed with 'every'
*/
cljs.spec.alpha._STAR_coll_check_limit_STAR_ = (101);
/**
* The number of errors reported by explain in a collection spec'ed with 'every'
*/
cljs.spec.alpha._STAR_coll_error_limit_STAR_ = (20);
/**
* @interface
*/
cljs.spec.alpha.Spec = function(){};
cljs.spec.alpha.conform_STAR_ = (function cljs$spec$alpha$conform_STAR_(spec,x){
if(((!((spec == null))) && (!((spec.cljs$spec$alpha$Spec$conform_STAR_$arity$2 == null))))){
return spec.cljs$spec$alpha$Spec$conform_STAR_$arity$2(spec,x);
} else {
var x__4211__auto__ = (((spec == null))?null:spec);
var m__4212__auto__ = (cljs.spec.alpha.conform_STAR_[goog.typeOf(x__4211__auto__)]);
if(!((m__4212__auto__ == null))){
return m__4212__auto__.call(null,spec,x);
} else {
var m__4212__auto____$1 = (cljs.spec.alpha.conform_STAR_["_"]);
if(!((m__4212__auto____$1 == null))){
return m__4212__auto____$1.call(null,spec,x);
} else {
throw cljs.core.missing_protocol.call(null,"Spec.conform*",spec);
}
}
}
});
cljs.spec.alpha.unform_STAR_ = (function cljs$spec$alpha$unform_STAR_(spec,y){
if(((!((spec == null))) && (!((spec.cljs$spec$alpha$Spec$unform_STAR_$arity$2 == null))))){
return spec.cljs$spec$alpha$Spec$unform_STAR_$arity$2(spec,y);
} else {
var x__4211__auto__ = (((spec == null))?null:spec);
var m__4212__auto__ = (cljs.spec.alpha.unform_STAR_[goog.typeOf(x__4211__auto__)]);
if(!((m__4212__auto__ == null))){
return m__4212__auto__.call(null,spec,y);
} else {
var m__4212__auto____$1 = (cljs.spec.alpha.unform_STAR_["_"]);
if(!((m__4212__auto____$1 == null))){
return m__4212__auto____$1.call(null,spec,y);
} else {
throw cljs.core.missing_protocol.call(null,"Spec.unform*",spec);
}
}
}
});
cljs.spec.alpha.explain_STAR_ = (function cljs$spec$alpha$explain_STAR_(spec,path,via,in$,x){
if(((!((spec == null))) && (!((spec.cljs$spec$alpha$Spec$explain_STAR_$arity$5 == null))))){
return spec.cljs$spec$alpha$Spec$explain_STAR_$arity$5(spec,path,via,in$,x);
} else {
var x__4211__auto__ = (((spec == null))?null:spec);
var m__4212__auto__ = (cljs.spec.alpha.explain_STAR_[goog.typeOf(x__4211__auto__)]);
if(!((m__4212__auto__ == null))){
return m__4212__auto__.call(null,spec,path,via,in$,x);
} else {
var m__4212__auto____$1 = (cljs.spec.alpha.explain_STAR_["_"]);
if(!((m__4212__auto____$1 == null))){
return m__4212__auto____$1.call(null,spec,path,via,in$,x);
} else {
throw cljs.core.missing_protocol.call(null,"Spec.explain*",spec);
}
}
}
});
cljs.spec.alpha.gen_STAR_ = (function cljs$spec$alpha$gen_STAR_(spec,overrides,path,rmap){
if(((!((spec == null))) && (!((spec.cljs$spec$alpha$Spec$gen_STAR_$arity$4 == null))))){
return spec.cljs$spec$alpha$Spec$gen_STAR_$arity$4(spec,overrides,path,rmap);
} else {
var x__4211__auto__ = (((spec == null))?null:spec);
var m__4212__auto__ = (cljs.spec.alpha.gen_STAR_[goog.typeOf(x__4211__auto__)]);
if(!((m__4212__auto__ == null))){
return m__4212__auto__.call(null,spec,overrides,path,rmap);
} else {
var m__4212__auto____$1 = (cljs.spec.alpha.gen_STAR_["_"]);
if(!((m__4212__auto____$1 == null))){
return m__4212__auto____$1.call(null,spec,overrides,path,rmap);
} else {
throw cljs.core.missing_protocol.call(null,"Spec.gen*",spec);
}
}
}
});
cljs.spec.alpha.with_gen_STAR_ = (function cljs$spec$alpha$with_gen_STAR_(spec,gfn){
if(((!((spec == null))) && (!((spec.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 == null))))){
return spec.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2(spec,gfn);
} else {
var x__4211__auto__ = (((spec == null))?null:spec);
var m__4212__auto__ = (cljs.spec.alpha.with_gen_STAR_[goog.typeOf(x__4211__auto__)]);
if(!((m__4212__auto__ == null))){
return m__4212__auto__.call(null,spec,gfn);
} else {
var m__4212__auto____$1 = (cljs.spec.alpha.with_gen_STAR_["_"]);
if(!((m__4212__auto____$1 == null))){
return m__4212__auto____$1.call(null,spec,gfn);
} else {
throw cljs.core.missing_protocol.call(null,"Spec.with-gen*",spec);
}
}
}
});
cljs.spec.alpha.describe_STAR_ = (function cljs$spec$alpha$describe_STAR_(spec){
if(((!((spec == null))) && (!((spec.cljs$spec$alpha$Spec$describe_STAR_$arity$1 == null))))){
return spec.cljs$spec$alpha$Spec$describe_STAR_$arity$1(spec);
} else {
var x__4211__auto__ = (((spec == null))?null:spec);
var m__4212__auto__ = (cljs.spec.alpha.describe_STAR_[goog.typeOf(x__4211__auto__)]);
if(!((m__4212__auto__ == null))){
return m__4212__auto__.call(null,spec);
} else {
var m__4212__auto____$1 = (cljs.spec.alpha.describe_STAR_["_"]);
if(!((m__4212__auto____$1 == null))){
return m__4212__auto____$1.call(null,spec);
} else {
throw cljs.core.missing_protocol.call(null,"Spec.describe*",spec);
}
}
}
});
if(typeof cljs.spec.alpha.registry_ref !== 'undefined'){
} else {
cljs.spec.alpha.registry_ref = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY);
}
cljs.spec.alpha.deep_resolve = (function cljs$spec$alpha$deep_resolve(reg,k){
var spec = k;
while(true){
if(cljs.core.ident_QMARK_.call(null,spec)){
var G__24791 = cljs.core.get.call(null,reg,spec);
spec = G__24791;
continue;
} else {
return spec;
}
break;
}
});
/**
* returns the spec/regex at end of alias chain starting with k, nil if not found, k if k not ident
*/
cljs.spec.alpha.reg_resolve = (function cljs$spec$alpha$reg_resolve(k){
if(cljs.core.ident_QMARK_.call(null,k)){
var reg = cljs.core.deref.call(null,cljs.spec.alpha.registry_ref);
var spec = cljs.core.get.call(null,reg,k);
if(!(cljs.core.ident_QMARK_.call(null,spec))){
return spec;
} else {
return cljs.spec.alpha.deep_resolve.call(null,reg,spec);
}
} else {
return k;
}
});
/**
* returns the spec/regex at end of alias chain starting with k, throws if not found, k if k not ident
*/
cljs.spec.alpha.reg_resolve_BANG_ = (function cljs$spec$alpha$reg_resolve_BANG_(k){
if(cljs.core.ident_QMARK_.call(null,k)){
var or__3922__auto__ = cljs.spec.alpha.reg_resolve.call(null,k);
if(cljs.core.truth_(or__3922__auto__)){
return or__3922__auto__;
} else {
throw (new Error(["Unable to resolve spec: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(k)].join('')));
}
} else {
return k;
}
});
/**
* returns x if x is a spec object, else logical false
*/
cljs.spec.alpha.spec_QMARK_ = (function cljs$spec$alpha$spec_QMARK_(x){
if(((!((x == null)))?((((false) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$spec$alpha$Spec$))))?true:false):false)){
return x;
} else {
return null;
}
});
/**
* returns x if x is a (cljs.spec.alpha) regex op, else logical false
*/
cljs.spec.alpha.regex_QMARK_ = (function cljs$spec$alpha$regex_QMARK_(x){
var and__3911__auto__ = new cljs.core.Keyword("cljs.spec.alpha","op","cljs.spec.alpha/op",-1269055252).cljs$core$IFn$_invoke$arity$1(x);
if(cljs.core.truth_(and__3911__auto__)){
return x;
} else {
return and__3911__auto__;
}
});
cljs.spec.alpha.with_name = (function cljs$spec$alpha$with_name(spec,name){
if(cljs.core.ident_QMARK_.call(null,spec)){
return spec;
} else {
if(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_.call(null,spec))){
return cljs.core.assoc.call(null,spec,new cljs.core.Keyword("cljs.spec.alpha","name","cljs.spec.alpha/name",205233570),name);
} else {
if(((!((spec == null)))?(((((spec.cljs$lang$protocol_mask$partition0$ & (131072))) || ((cljs.core.PROTOCOL_SENTINEL === spec.cljs$core$IMeta$))))?true:false):false)){
return cljs.core.with_meta.call(null,spec,cljs.core.assoc.call(null,cljs.core.meta.call(null,spec),new cljs.core.Keyword("cljs.spec.alpha","name","cljs.spec.alpha/name",205233570),name));
} else {
return null;
}
}
}
});
cljs.spec.alpha.spec_name = (function cljs$spec$alpha$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(((!((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;
}
}
}
});
/**
* spec-or-k must be a spec, regex or resolvable kw/sym, else returns nil.
*/
cljs.spec.alpha.maybe_spec = (function cljs$spec$alpha$maybe_spec(spec_or_k){
var s = (function (){var or__3922__auto__ = (function (){var and__3911__auto__ = cljs.core.ident_QMARK_.call(null,spec_or_k);
if(and__3911__auto__){
return cljs.spec.alpha.reg_resolve.call(null,spec_or_k);
} else {
return and__3911__auto__;
}
})();
if(cljs.core.truth_(or__3922__auto__)){
return or__3922__auto__;
} else {
var or__3922__auto____$1 = cljs.spec.alpha.spec_QMARK_.call(null,spec_or_k);
if(cljs.core.truth_(or__3922__auto____$1)){
return or__3922__auto____$1;
} else {
var or__3922__auto____$2 = cljs.spec.alpha.regex_QMARK_.call(null,spec_or_k);
if(cljs.core.truth_(or__3922__auto____$2)){
return or__3922__auto____$2;
} else {
return null;
}
}
}
})();
if(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_.call(null,s))){
return cljs.spec.alpha.with_name.call(null,cljs.spec.alpha.regex_spec_impl.call(null,s,null),cljs.spec.alpha.spec_name.call(null,s));
} else {
return s;
}
});
/**
* spec-or-k must be a spec, regex or kw/sym, else returns nil. Throws if unresolvable kw/sym
*/
cljs.spec.alpha.the_spec = (function cljs$spec$alpha$the_spec(spec_or_k){
var or__3922__auto__ = cljs.spec.alpha.maybe_spec.call(null,spec_or_k);
if(cljs.core.truth_(or__3922__auto__)){
return or__3922__auto__;
} else {
if(cljs.core.ident_QMARK_.call(null,spec_or_k)){
throw (new Error(["Unable to resolve spec: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(spec_or_k)].join('')));
} else {
return null;
}
}
});
/**
* @interface
*/
cljs.spec.alpha.Specize = function(){};
cljs.spec.alpha.specize_STAR_ = (function cljs$spec$alpha$specize_STAR_(var_args){
var G__24796 = arguments.length;
switch (G__24796) {
case 1:
return cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$1 = (function (_){
if(((!((_ == null))) && (!((_.cljs$spec$alpha$Specize$specize_STAR_$arity$1 == null))))){
return _.cljs$spec$alpha$Specize$specize_STAR_$arity$1(_);
} else {
var x__4211__auto__ = (((_ == null))?null:_);
var m__4212__auto__ = (cljs.spec.alpha.specize_STAR_[goog.typeOf(x__4211__auto__)]);
if(!((m__4212__auto__ == null))){
return m__4212__auto__.call(null,_);
} else {
var m__4212__auto____$1 = (cljs.spec.alpha.specize_STAR_["_"]);
if(!((m__4212__auto____$1 == null))){
return m__4212__auto____$1.call(null,_);
} else {
throw cljs.core.missing_protocol.call(null,"Specize.specize*",_);
}
}
}
});
cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$2 = (function (_,form){
if(((!((_ == null))) && (!((_.cljs$spec$alpha$Specize$specize_STAR_$arity$2 == null))))){
return _.cljs$spec$alpha$Specize$specize_STAR_$arity$2(_,form);
} else {
var x__4211__auto__ = (((_ == null))?null:_);
var m__4212__auto__ = (cljs.spec.alpha.specize_STAR_[goog.typeOf(x__4211__auto__)]);
if(!((m__4212__auto__ == null))){
return m__4212__auto__.call(null,_,form);
} else {
var m__4212__auto____$1 = (cljs.spec.alpha.specize_STAR_["_"]);
if(!((m__4212__auto____$1 == null))){
return m__4212__auto____$1.call(null,_,form);
} else {
throw cljs.core.missing_protocol.call(null,"Specize.specize*",_);
}
}
}
});
cljs.spec.alpha.specize_STAR_.cljs$lang$maxFixedArity = 2;
cljs.core.Keyword.prototype.cljs$spec$alpha$Specize$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.Keyword.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 = (function (k){
var k__$1 = this;
return cljs.spec.alpha.specize_STAR_.call(null,cljs.spec.alpha.reg_resolve_BANG_.call(null,k__$1));
});
cljs.core.Keyword.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 = (function (k,_){
var k__$1 = this;
return cljs.spec.alpha.specize_STAR_.call(null,cljs.spec.alpha.reg_resolve_BANG_.call(null,k__$1));
});
cljs.core.Symbol.prototype.cljs$spec$alpha$Specize$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.Symbol.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 = (function (s){
var s__$1 = this;
return cljs.spec.alpha.specize_STAR_.call(null,cljs.spec.alpha.reg_resolve_BANG_.call(null,s__$1));
});
cljs.core.Symbol.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 = (function (s,_){
var s__$1 = this;
return cljs.spec.alpha.specize_STAR_.call(null,cljs.spec.alpha.reg_resolve_BANG_.call(null,s__$1));
});
goog.object.set(cljs.spec.alpha.Specize,"_",true);
goog.object.set(cljs.spec.alpha.specize_STAR_,"_",(function() {
var G__24798 = null;
var G__24798__1 = (function (o){
return cljs.spec.alpha.spec_impl.call(null,new cljs.core.Keyword("cljs.spec.alpha","unknown","cljs.spec.alpha/unknown",651034818),o,null,null);
});
var G__24798__2 = (function (o,form){
return cljs.spec.alpha.spec_impl.call(null,form,o,null,null);
});
G__24798 = function(o,form){
switch(arguments.length){
case 1:
return G__24798__1.call(this,o);
case 2:
return G__24798__2.call(this,o,form);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__24798.cljs$core$IFn$_invoke$arity$1 = G__24798__1;
G__24798.cljs$core$IFn$_invoke$arity$2 = G__24798__2;
return G__24798;
})()
);
cljs.spec.alpha.specize = (function cljs$spec$alpha$specize(var_args){
var G__24800 = arguments.length;
switch (G__24800) {
case 1:
return cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1 = (function (s){
var or__3922__auto__ = cljs.spec.alpha.spec_QMARK_.call(null,s);
if(cljs.core.truth_(or__3922__auto__)){
return or__3922__auto__;
} else {
return cljs.spec.alpha.specize_STAR_.call(null,s);
}
});
cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2 = (function (s,form){
var or__3922__auto__ = cljs.spec.alpha.spec_QMARK_.call(null,s);
if(cljs.core.truth_(or__3922__auto__)){
return or__3922__auto__;
} else {
return cljs.spec.alpha.specize_STAR_.call(null,s,form);
}
});
cljs.spec.alpha.specize.cljs$lang$maxFixedArity = 2;
/**
* tests the validity of a conform return value
*/
cljs.spec.alpha.invalid_QMARK_ = (function cljs$spec$alpha$invalid_QMARK_(ret){
return cljs.core.keyword_identical_QMARK_.call(null,new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119),ret);
});
/**
* Given a spec and a value, returns :cljs.spec.alpha/invalid if value does
* not match spec, else the (possibly destructured) value.
*/
cljs.spec.alpha.conform = (function cljs$spec$alpha$conform(spec,x){
return cljs.spec.alpha.conform_STAR_.call(null,cljs.spec.alpha.specize.call(null,spec),x);
});
/**
* Given a spec and a value created by or compliant with a call to
* 'conform' with the same spec, returns a value with all conform
* destructuring undone.
*/
cljs.spec.alpha.unform = (function cljs$spec$alpha$unform(spec,x){
return cljs.spec.alpha.unform_STAR_.call(null,cljs.spec.alpha.specize.call(null,spec),x);
});
/**
* returns the spec as data
*/
cljs.spec.alpha.form = (function cljs$spec$alpha$form(spec){
return cljs.spec.alpha.describe_STAR_.call(null,cljs.spec.alpha.specize.call(null,spec));
});
cljs.spec.alpha.abbrev = (function cljs$spec$alpha$abbrev(form){
if(cljs.core.seq_QMARK_.call(null,form)){
return clojure.walk.postwalk.call(null,(function (form__$1){
if(cljs.core.truth_((function (){var and__3911__auto__ = (form__$1 instanceof cljs.core.Symbol);
if(and__3911__auto__){
return cljs.core.namespace.call(null,form__$1);
} else {
return and__3911__auto__;
}
})())){
return cljs.core.symbol.call(null,cljs.core.name.call(null,form__$1));
} else {
if(((cljs.core.seq_QMARK_.call(null,form__$1)) && (cljs.core._EQ_.call(null,new cljs.core.Symbol(null,"fn","fn",465265323,null),cljs.core.first.call(null,form__$1))) && (cljs.core._EQ_.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"%","%",-950237169,null)], null),cljs.core.second.call(null,form__$1))))){
return cljs.core.last.call(null,form__$1);
} else {
return form__$1;
}
}
}),form);
} else {
if(cljs.core.truth_((function (){var and__3911__auto__ = (form instanceof cljs.core.Symbol);
if(and__3911__auto__){
return cljs.core.namespace.call(null,form);
} else {
return and__3911__auto__;
}
})())){
return cljs.core.symbol.call(null,cljs.core.name.call(null,form));
} else {
return form;
}
}
});
/**
* returns an abbreviated description of the spec as data
*/
cljs.spec.alpha.describe = (function cljs$spec$alpha$describe(spec){
return cljs.spec.alpha.abbrev.call(null,cljs.spec.alpha.form.call(null,spec));
});
/**
* Takes a spec and a no-arg, generator-returning fn and returns a version of that spec that uses that generator
*/
cljs.spec.alpha.with_gen = (function cljs$spec$alpha$with_gen(spec,gen_fn){
var spec__$1 = cljs.spec.alpha.reg_resolve.call(null,spec);
if(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_.call(null,spec__$1))){
return cljs.core.assoc.call(null,spec__$1,new cljs.core.Keyword("cljs.spec.alpha","gfn","cljs.spec.alpha/gfn",-593120375),gen_fn);
} else {
return cljs.spec.alpha.with_gen_STAR_.call(null,cljs.spec.alpha.specize.call(null,spec__$1),gen_fn);
}
});
cljs.spec.alpha.explain_data_STAR_ = (function cljs$spec$alpha$explain_data_STAR_(spec,path,via,in$,x){
var temp__5457__auto__ = cljs.spec.alpha.explain_STAR_.call(null,cljs.spec.alpha.specize.call(null,spec),path,via,in$,x);
if(cljs.core.truth_(temp__5457__auto__)){
var probs = temp__5457__auto__;
if(cljs.core.empty_QMARK_.call(null,probs)){
return null;
} else {
return new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword("cljs.spec.alpha","problems","cljs.spec.alpha/problems",447400814),probs,new cljs.core.Keyword("cljs.spec.alpha","spec","cljs.spec.alpha/spec",1947137578),spec,new cljs.core.Keyword("cljs.spec.alpha","value","cljs.spec.alpha/value",1974786274),x], null);
}
} else {
return null;
}
});
/**
* Given a spec and a value x which ought to conform, returns nil if x
* conforms, else a map with at least the key ::problems whose value is
* a collection of problem-maps, where problem-map has at least :path :pred and :val
* keys describing the predicate and the value that failed at that
* path.
*/
cljs.spec.alpha.explain_data = (function cljs$spec$alpha$explain_data(spec,x){
return cljs.spec.alpha.explain_data_STAR_.call(null,spec,cljs.core.PersistentVector.EMPTY,(function (){var temp__5455__auto__ = cljs.spec.alpha.spec_name.call(null,spec);
if(cljs.core.truth_(temp__5455__auto__)){
var name = temp__5455__auto__;
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [name], null);
} else {
return cljs.core.PersistentVector.EMPTY;
}
})(),cljs.core.PersistentVector.EMPTY,x);
});
/**
* Default printer for explain-data. nil indicates a successful validation.
*/
cljs.spec.alpha.explain_printer = (function cljs$spec$alpha$explain_printer(ed){
if(cljs.core.truth_(ed)){
var problems = cljs.core.sort_by.call(null,(function (p1__24802_SHARP_){
return (- cljs.core.count.call(null,new cljs.core.Keyword(null,"path","path",-188191168).cljs$core$IFn$_invoke$arity$1(p1__24802_SHARP_)));
}),new cljs.core.Keyword("cljs.spec.alpha","problems","cljs.spec.alpha/problems",447400814).cljs$core$IFn$_invoke$arity$1(ed));
return cljs.core.print.call(null,(function (){var sb__4430__auto__ = (new goog.string.StringBuffer());
var _STAR_print_newline_STAR_24803_24843 = cljs.core._STAR_print_newline_STAR_;
var _STAR_print_fn_STAR_24804_24844 = cljs.core._STAR_print_fn_STAR_;
cljs.core._STAR_print_newline_STAR_ = true;
cljs.core._STAR_print_fn_STAR_ = ((function (_STAR_print_newline_STAR_24803_24843,_STAR_print_fn_STAR_24804_24844,sb__4430__auto__,problems){
return (function (x__4431__auto__){
return sb__4430__auto__.append(x__4431__auto__);
});})(_STAR_print_newline_STAR_24803_24843,_STAR_print_fn_STAR_24804_24844,sb__4430__auto__,problems))
;
try{var seq__24805_24845 = cljs.core.seq.call(null,problems);
var chunk__24806_24846 = null;
var count__24807_24847 = (0);
var i__24808_24848 = (0);
while(true){
if((i__24808_24848 < count__24807_24847)){
var map__24809_24849 = cljs.core._nth.call(null,chunk__24806_24846,i__24808_24848);
var map__24809_24850__$1 = ((((!((map__24809_24849 == null)))?(((((map__24809_24849.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__24809_24849.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__24809_24849):map__24809_24849);
var prob_24851 = map__24809_24850__$1;
var path_24852 = cljs.core.get.call(null,map__24809_24850__$1,new cljs.core.Keyword(null,"path","path",-188191168));
var pred_24853 = cljs.core.get.call(null,map__24809_24850__$1,new cljs.core.Keyword(null,"pred","pred",1927423397));
var val_24854 = cljs.core.get.call(null,map__24809_24850__$1,new cljs.core.Keyword(null,"val","val",128701612));
var reason_24855 = cljs.core.get.call(null,map__24809_24850__$1,new cljs.core.Keyword(null,"reason","reason",-2070751759));
var via_24856 = cljs.core.get.call(null,map__24809_24850__$1,new cljs.core.Keyword(null,"via","via",-1904457336));
var in_24857 = cljs.core.get.call(null,map__24809_24850__$1,new cljs.core.Keyword(null,"in","in",-1531184865));
if(cljs.core.empty_QMARK_.call(null,in_24857)){
} else {
cljs.core.print.call(null,"In:",cljs.core.pr_str.call(null,in_24857),"");
}
cljs.core.print.call(null,"val: ");
cljs.core.pr.call(null,val_24854);
cljs.core.print.call(null," fails");
if(cljs.core.empty_QMARK_.call(null,via_24856)){
} else {
cljs.core.print.call(null," spec:",cljs.core.pr_str.call(null,cljs.core.last.call(null,via_24856)));
}
if(cljs.core.empty_QMARK_.call(null,path_24852)){
} else {
cljs.core.print.call(null," at:",cljs.core.pr_str.call(null,path_24852));
}
cljs.core.print.call(null," predicate: ");
cljs.core.pr.call(null,cljs.spec.alpha.abbrev.call(null,pred_24853));
if(cljs.core.truth_(reason_24855)){
cljs.core.print.call(null,", ",reason_24855);
} else {
}
var seq__24811_24858 = cljs.core.seq.call(null,prob_24851);
var chunk__24812_24859 = null;
var count__24813_24860 = (0);
var i__24814_24861 = (0);
while(true){
if((i__24814_24861 < count__24813_24860)){
var vec__24815_24862 = cljs.core._nth.call(null,chunk__24812_24859,i__24814_24861);
var k_24863 = cljs.core.nth.call(null,vec__24815_24862,(0),null);
var v_24864 = cljs.core.nth.call(null,vec__24815_24862,(1),null);
if(cljs.core.truth_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"path","path",-188191168),null,new cljs.core.Keyword(null,"pred","pred",1927423397),null,new cljs.core.Keyword(null,"via","via",-1904457336),null,new cljs.core.Keyword(null,"val","val",128701612),null,new cljs.core.Keyword(null,"reason","reason",-2070751759),null,new cljs.core.Keyword(null,"in","in",-1531184865),null], null), null).call(null,k_24863))){
} else {
cljs.core.print.call(null,"\n\t",cljs.core.pr_str.call(null,k_24863)," ");
cljs.core.pr.call(null,v_24864);
}
var G__24865 = seq__24811_24858;
var G__24866 = chunk__24812_24859;
var G__24867 = count__24813_24860;
var G__24868 = (i__24814_24861 + (1));
seq__24811_24858 = G__24865;
chunk__24812_24859 = G__24866;
count__24813_24860 = G__24867;
i__24814_24861 = G__24868;
continue;
} else {
var temp__5457__auto___24869 = cljs.core.seq.call(null,seq__24811_24858);
if(temp__5457__auto___24869){
var seq__24811_24870__$1 = temp__5457__auto___24869;
if(cljs.core.chunked_seq_QMARK_.call(null,seq__24811_24870__$1)){
var c__4319__auto___24871 = cljs.core.chunk_first.call(null,seq__24811_24870__$1);
var G__24872 = cljs.core.chunk_rest.call(null,seq__24811_24870__$1);
var G__24873 = c__4319__auto___24871;
var G__24874 = cljs.core.count.call(null,c__4319__auto___24871);
var G__24875 = (0);
seq__24811_24858 = G__24872;
chunk__24812_24859 = G__24873;
count__24813_24860 = G__24874;
i__24814_24861 = G__24875;
continue;
} else {
var vec__24818_24876 = cljs.core.first.call(null,seq__24811_24870__$1);
var k_24877 = cljs.core.nth.call(null,vec__24818_24876,(0),null);
var v_24878 = cljs.core.nth.call(null,vec__24818_24876,(1),null);
if(cljs.core.truth_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"path","path",-188191168),null,new cljs.core.Keyword(null,"pred","pred",1927423397),null,new cljs.core.Keyword(null,"via","via",-1904457336),null,new cljs.core.Keyword(null,"val","val",128701612),null,new cljs.core.Keyword(null,"reason","reason",-2070751759),null,new cljs.core.Keyword(null,"in","in",-1531184865),null], null), null).call(null,k_24877))){
} else {
cljs.core.print.call(null,"\n\t",cljs.core.pr_str.call(null,k_24877)," ");
cljs.core.pr.call(null,v_24878);
}
var G__24879 = cljs.core.next.call(null,seq__24811_24870__$1);
var G__24880 = null;
var G__24881 = (0);
var G__24882 = (0);
seq__24811_24858 = G__24879;
chunk__24812_24859 = G__24880;
count__24813_24860 = G__24881;
i__24814_24861 = G__24882;
continue;
}
} else {
}
}
break;
}
cljs.core.newline.call(null);
var G__24883 = seq__24805_24845;
var G__24884 = chunk__24806_24846;
var G__24885 = count__24807_24847;
var G__24886 = (i__24808_24848 + (1));
seq__24805_24845 = G__24883;
chunk__24806_24846 = G__24884;
count__24807_24847 = G__24885;
i__24808_24848 = G__24886;
continue;
} else {
var temp__5457__auto___24887 = cljs.core.seq.call(null,seq__24805_24845);
if(temp__5457__auto___24887){
var seq__24805_24888__$1 = temp__5457__auto___24887;
if(cljs.core.chunked_seq_QMARK_.call(null,seq__24805_24888__$1)){
var c__4319__auto___24889 = cljs.core.chunk_first.call(null,seq__24805_24888__$1);
var G__24890 = cljs.core.chunk_rest.call(null,seq__24805_24888__$1);
var G__24891 = c__4319__auto___24889;
var G__24892 = cljs.core.count.call(null,c__4319__auto___24889);
var G__24893 = (0);
seq__24805_24845 = G__24890;
chunk__24806_24846 = G__24891;
count__24807_24847 = G__24892;
i__24808_24848 = G__24893;
continue;
} else {
var map__24821_24894 = cljs.core.first.call(null,seq__24805_24888__$1);
var map__24821_24895__$1 = ((((!((map__24821_24894 == null)))?(((((map__24821_24894.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__24821_24894.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__24821_24894):map__24821_24894);
var prob_24896 = map__24821_24895__$1;
var path_24897 = cljs.core.get.call(null,map__24821_24895__$1,new cljs.core.Keyword(null,"path","path",-188191168));
var pred_24898 = cljs.core.get.call(null,map__24821_24895__$1,new cljs.core.Keyword(null,"pred","pred",1927423397));
var val_24899 = cljs.core.get.call(null,map__24821_24895__$1,new cljs.core.Keyword(null,"val","val",128701612));
var reason_24900 = cljs.core.get.call(null,map__24821_24895__$1,new cljs.core.Keyword(null,"reason","reason",-2070751759));
var via_24901 = cljs.core.get.call(null,map__24821_24895__$1,new cljs.core.Keyword(null,"via","via",-1904457336));
var in_24902 = cljs.core.get.call(null,map__24821_24895__$1,new cljs.core.Keyword(null,"in","in",-1531184865));
if(cljs.core.empty_QMARK_.call(null,in_24902)){
} else {
cljs.core.print.call(null,"In:",cljs.core.pr_str.call(null,in_24902),"");
}
cljs.core.print.call(null,"val: ");
cljs.core.pr.call(null,val_24899);
cljs.core.print.call(null," fails");
if(cljs.core.empty_QMARK_.call(null,via_24901)){
} else {
cljs.core.print.call(null," spec:",cljs.core.pr_str.call(null,cljs.core.last.call(null,via_24901)));
}
if(cljs.core.empty_QMARK_.call(null,path_24897)){
} else {
cljs.core.print.call(null," at:",cljs.core.pr_str.call(null,path_24897));
}
cljs.core.print.call(null," predicate: ");
cljs.core.pr.call(null,cljs.spec.alpha.abbrev.call(null,pred_24898));
if(cljs.core.truth_(reason_24900)){
cljs.core.print.call(null,", ",reason_24900);
} else {
}
var seq__24823_24903 = cljs.core.seq.call(null,prob_24896);
var chunk__24824_24904 = null;
var count__24825_24905 = (0);
var i__24826_24906 = (0);
while(true){
if((i__24826_24906 < count__24825_24905)){
var vec__24827_24907 = cljs.core._nth.call(null,chunk__24824_24904,i__24826_24906);
var k_24908 = cljs.core.nth.call(null,vec__24827_24907,(0),null);
var v_24909 = cljs.core.nth.call(null,vec__24827_24907,(1),null);
if(cljs.core.truth_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"path","path",-188191168),null,new cljs.core.Keyword(null,"pred","pred",1927423397),null,new cljs.core.Keyword(null,"via","via",-1904457336),null,new cljs.core.Keyword(null,"val","val",128701612),null,new cljs.core.Keyword(null,"reason","reason",-2070751759),null,new cljs.core.Keyword(null,"in","in",-1531184865),null], null), null).call(null,k_24908))){
} else {
cljs.core.print.call(null,"\n\t",cljs.core.pr_str.call(null,k_24908)," ");
cljs.core.pr.call(null,v_24909);
}
var G__24910 = seq__24823_24903;
var G__24911 = chunk__24824_24904;
var G__24912 = count__24825_24905;
var G__24913 = (i__24826_24906 + (1));
seq__24823_24903 = G__24910;
chunk__24824_24904 = G__24911;
count__24825_24905 = G__24912;
i__24826_24906 = G__24913;
continue;
} else {
var temp__5457__auto___24914__$1 = cljs.core.seq.call(null,seq__24823_24903);
if(temp__5457__auto___24914__$1){
var seq__24823_24915__$1 = temp__5457__auto___24914__$1;
if(cljs.core.chunked_seq_QMARK_.call(null,seq__24823_24915__$1)){
var c__4319__auto___24916 = cljs.core.chunk_first.call(null,seq__24823_24915__$1);
var G__24917 = cljs.core.chunk_rest.call(null,seq__24823_24915__$1);
var G__24918 = c__4319__auto___24916;
var G__24919 = cljs.core.count.call(null,c__4319__auto___24916);
var G__24920 = (0);
seq__24823_24903 = G__24917;
chunk__24824_24904 = G__24918;
count__24825_24905 = G__24919;
i__24826_24906 = G__24920;
continue;
} else {
var vec__24830_24921 = cljs.core.first.call(null,seq__24823_24915__$1);
var k_24922 = cljs.core.nth.call(null,vec__24830_24921,(0),null);
var v_24923 = cljs.core.nth.call(null,vec__24830_24921,(1),null);
if(cljs.core.truth_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"path","path",-188191168),null,new cljs.core.Keyword(null,"pred","pred",1927423397),null,new cljs.core.Keyword(null,"via","via",-1904457336),null,new cljs.core.Keyword(null,"val","val",128701612),null,new cljs.core.Keyword(null,"reason","reason",-2070751759),null,new cljs.core.Keyword(null,"in","in",-1531184865),null], null), null).call(null,k_24922))){
} else {
cljs.core.print.call(null,"\n\t",cljs.core.pr_str.call(null,k_24922)," ");
cljs.core.pr.call(null,v_24923);
}
var G__24924 = cljs.core.next.call(null,seq__24823_24915__$1);
var G__24925 = null;
var G__24926 = (0);
var G__24927 = (0);
seq__24823_24903 = G__24924;
chunk__24824_24904 = G__24925;
count__24825_24905 = G__24926;
i__24826_24906 = G__24927;
continue;
}
} else {
}
}
break;
}
cljs.core.newline.call(null);
var G__24928 = cljs.core.next.call(null,seq__24805_24888__$1);
var G__24929 = null;
var G__24930 = (0);
var G__24931 = (0);
seq__24805_24845 = G__24928;
chunk__24806_24846 = G__24929;
count__24807_24847 = G__24930;
i__24808_24848 = G__24931;
continue;
}
} else {
}
}
break;
}
var seq__24833_24932 = cljs.core.seq.call(null,ed);
var chunk__24834_24933 = null;
var count__24835_24934 = (0);
var i__24836_24935 = (0);
while(true){
if((i__24836_24935 < count__24835_24934)){
var vec__24837_24936 = cljs.core._nth.call(null,chunk__24834_24933,i__24836_24935);
var k_24937 = cljs.core.nth.call(null,vec__24837_24936,(0),null);
var v_24938 = cljs.core.nth.call(null,vec__24837_24936,(1),null);
if(cljs.core.truth_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword("cljs.spec.alpha","problems","cljs.spec.alpha/problems",447400814),null], null), null).call(null,k_24937))){
} else {
cljs.core.print.call(null,cljs.core.pr_str.call(null,k_24937)," ");
cljs.core.pr.call(null,v_24938);
cljs.core.newline.call(null);
}
var G__24939 = seq__24833_24932;
var G__24940 = chunk__24834_24933;
var G__24941 = count__24835_24934;
var G__24942 = (i__24836_24935 + (1));
seq__24833_24932 = G__24939;
chunk__24834_24933 = G__24940;
count__24835_24934 = G__24941;
i__24836_24935 = G__24942;
continue;
} else {
var temp__5457__auto___24943 = cljs.core.seq.call(null,seq__24833_24932);
if(temp__5457__auto___24943){
var seq__24833_24944__$1 = temp__5457__auto___24943;
if(cljs.core.chunked_seq_QMARK_.call(null,seq__24833_24944__$1)){
var c__4319__auto___24945 = cljs.core.chunk_first.call(null,seq__24833_24944__$1);
var G__24946 = cljs.core.chunk_rest.call(null,seq__24833_24944__$1);
var G__24947 = c__4319__auto___24945;
var G__24948 = cljs.core.count.call(null,c__4319__auto___24945);
var G__24949 = (0);
seq__24833_24932 = G__24946;
chunk__24834_24933 = G__24947;
count__24835_24934 = G__24948;
i__24836_24935 = G__24949;
continue;
} else {
var vec__24840_24950 = cljs.core.first.call(null,seq__24833_24944__$1);
var k_24951 = cljs.core.nth.call(null,vec__24840_24950,(0),null);
var v_24952 = cljs.core.nth.call(null,vec__24840_24950,(1),null);
if(cljs.core.truth_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword("cljs.spec.alpha","problems","cljs.spec.alpha/problems",447400814),null], null), null).call(null,k_24951))){
} else {
cljs.core.print.call(null,cljs.core.pr_str.call(null,k_24951)," ");
cljs.core.pr.call(null,v_24952);
cljs.core.newline.call(null);
}
var G__24953 = cljs.core.next.call(null,seq__24833_24944__$1);
var G__24954 = null;
var G__24955 = (0);
var G__24956 = (0);
seq__24833_24932 = G__24953;
chunk__24834_24933 = G__24954;
count__24835_24934 = G__24955;
i__24836_24935 = G__24956;
continue;
}
} else {
}
}
break;
}
}finally {cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR_24804_24844;
cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR_24803_24843;
}
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__4430__auto__)].join('');
})());
} else {
return cljs.core.println.call(null,"Success!");
}
});
cljs.spec.alpha._STAR_explain_out_STAR_ = cljs.spec.alpha.explain_printer;
/**
* Prints explanation data (per 'explain-data') to *out* using the printer in *explain-out*,
* by default explain-printer.
*/
cljs.spec.alpha.explain_out = (function cljs$spec$alpha$explain_out(ed){
return cljs.spec.alpha._STAR_explain_out_STAR_.call(null,ed);
});
/**
* Given a spec and a value that fails to conform, prints an explanation to *out*.
*/
cljs.spec.alpha.explain = (function cljs$spec$alpha$explain(spec,x){
return cljs.spec.alpha.explain_out.call(null,cljs.spec.alpha.explain_data.call(null,spec,x));
});
/**
* Given a spec and a value that fails to conform, returns an explanation as a string.
*/
cljs.spec.alpha.explain_str = (function cljs$spec$alpha$explain_str(spec,x){
var sb__4430__auto__ = (new goog.string.StringBuffer());
var _STAR_print_newline_STAR_24957_24959 = cljs.core._STAR_print_newline_STAR_;
var _STAR_print_fn_STAR_24958_24960 = cljs.core._STAR_print_fn_STAR_;
cljs.core._STAR_print_newline_STAR_ = true;
cljs.core._STAR_print_fn_STAR_ = ((function (_STAR_print_newline_STAR_24957_24959,_STAR_print_fn_STAR_24958_24960,sb__4430__auto__){
return (function (x__4431__auto__){
return sb__4430__auto__.append(x__4431__auto__);
});})(_STAR_print_newline_STAR_24957_24959,_STAR_print_fn_STAR_24958_24960,sb__4430__auto__))
;
try{cljs.spec.alpha.explain.call(null,spec,x);
}finally {cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR_24958_24960;
cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR_24957_24959;
}
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__4430__auto__)].join('');
});
cljs.spec.alpha.gensub = (function cljs$spec$alpha$gensub(spec,overrides,path,rmap,form){
var spec__$1 = cljs.spec.alpha.specize.call(null,spec);
var temp__5455__auto__ = (function (){var or__3922__auto__ = (function (){var temp__5457__auto__ = (function (){var or__3922__auto__ = cljs.core.get.call(null,overrides,(function (){var or__3922__auto__ = cljs.spec.alpha.spec_name.call(null,spec__$1);
if(cljs.core.truth_(or__3922__auto__)){
return or__3922__auto__;
} else {
return spec__$1;
}
})());
if(cljs.core.truth_(or__3922__auto__)){
return or__3922__auto__;
} else {
return cljs.core.get.call(null,overrides,path);
}
})();
if(cljs.core.truth_(temp__5457__auto__)){
var gfn = temp__5457__auto__;
return gfn.call(null);
} else {
return null;
}
})();
if(cljs.core.truth_(or__3922__auto__)){
return or__3922__auto__;
} else {
return cljs.spec.alpha.gen_STAR_.call(null,spec__$1,overrides,path,rmap);
}
})();
if(cljs.core.truth_(temp__5455__auto__)){
var g = temp__5455__auto__;
return cljs.spec.gen.alpha.such_that.call(null,((function (g,temp__5455__auto__,spec__$1){
return (function (p1__24961_SHARP_){
return cljs.spec.alpha.valid_QMARK_.call(null,spec__$1,p1__24961_SHARP_);
});})(g,temp__5455__auto__,spec__$1))
,g,(100));
} else {
throw (new Error(["Unable to construct gen at: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(path)," for: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.spec.alpha.abbrev.call(null,form))].join('')));
}
});
/**
* Given a spec, returns the generator for it, or throws if none can
* be constructed. Optionally an overrides map can be provided which
* should map spec names or paths (vectors of keywords) to no-arg
* generator-creating fns. These will be used instead of the generators at those
* names/paths. Note that parent generator (in the spec or overrides
* map) will supersede those of any subtrees. A generator for a regex
* op must always return a sequential collection (i.e. a generator for
* s/? should return either an empty sequence/vector or a
* sequence/vector with one item in it)
*/
cljs.spec.alpha.gen = (function cljs$spec$alpha$gen(var_args){
var G__24963 = arguments.length;
switch (G__24963) {
case 1:
return cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$1 = (function (spec){
return cljs.spec.alpha.gen.call(null,spec,null);
});
cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2 = (function (spec,overrides){
return cljs.spec.alpha.gensub.call(null,spec,overrides,cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword("cljs.spec.alpha","recursion-limit","cljs.spec.alpha/recursion-limit",601284994),cljs.spec.alpha._STAR_recursion_limit_STAR_], null),spec);
});
cljs.spec.alpha.gen.cljs$lang$maxFixedArity = 2;
/**
* Do not call this directly, use 'def'
*/
cljs.spec.alpha.def_impl = (function cljs$spec$alpha$def_impl(k,form,spec){
if(cljs.core.truth_((function (){var and__3911__auto__ = cljs.core.ident_QMARK_.call(null,k);
if(and__3911__auto__){
return cljs.core.namespace.call(null,k);
} else {
return and__3911__auto__;
}
})())){
} else {
throw (new Error(["Assert failed: ","k must be namespaced keyword or resolveable symbol","\n","(c/and (ident? k) (namespace k))"].join('')));
}
var spec__$1 = (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 cljs.core.get.call(null,cljs.core.deref.call(null,cljs.spec.alpha.registry_ref),spec);
}
}
})())?spec:cljs.spec.alpha.spec_impl.call(null,form,spec,null,null));
cljs.core.swap_BANG_.call(null,cljs.spec.alpha.registry_ref,cljs.core.assoc,k,cljs.spec.alpha.with_name.call(null,spec__$1,k));
return k;
});
/**
* returns the registry map, prefer 'get-spec' to lookup a spec by name
*/
cljs.spec.alpha.registry = (function cljs$spec$alpha$registry(){
return cljs.core.deref.call(null,cljs.spec.alpha.registry_ref);
});
/**
* Returns a symbol from a symbol or var
*/
cljs.spec.alpha.__GT_sym = (function cljs$spec$alpha$__GT_sym(x){
if(cljs.core.var_QMARK_.call(null,x)){
return x.sym;
} else {
return x;
}
});
/**
* Returns spec registered for keyword/symbol/var k, or nil.
*/
cljs.spec.alpha.get_spec = (function cljs$spec$alpha$get_spec(k){
return cljs.core.get.call(null,cljs.spec.alpha.registry.call(null),(((k instanceof cljs.core.Keyword))?k:cljs.spec.alpha.__GT_sym.call(null,k)));
});
cljs.spec.alpha.macroexpand_check = (function cljs$spec$alpha$macroexpand_check(v,args){
var specs = cljs.spec.alpha.get_spec.call(null,v);
var temp__5457__auto__ = new cljs.core.Keyword(null,"args","args",1315556576).cljs$core$IFn$_invoke$arity$1(specs);
if(cljs.core.truth_(temp__5457__auto__)){
var arg_spec = temp__5457__auto__;
if(cljs.core.truth_(cljs.spec.alpha.invalid_QMARK_.call(null,cljs.spec.alpha.conform.call(null,arg_spec,args)))){
var ed = cljs.core.assoc.call(null,cljs.spec.alpha.explain_data_STAR_.call(null,arg_spec,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"args","args",1315556576)], null),(function (){var temp__5455__auto__ = cljs.spec.alpha.spec_name.call(null,arg_spec);
if(cljs.core.truth_(temp__5455__auto__)){
var name = temp__5455__auto__;
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [name], null);
} else {
return cljs.core.PersistentVector.EMPTY;
}
})(),cljs.core.PersistentVector.EMPTY,args),new cljs.core.Keyword("cljs.spec.alpha","args","cljs.spec.alpha/args",1870769783),args);
throw (new Error(["Call to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.spec.alpha.__GT_sym.call(null,v))," did not conform to spec:\n",cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var sb__4430__auto__ = (new goog.string.StringBuffer());
var _STAR_print_newline_STAR_24965_24967 = cljs.core._STAR_print_newline_STAR_;
var _STAR_print_fn_STAR_24966_24968 = cljs.core._STAR_print_fn_STAR_;
cljs.core._STAR_print_newline_STAR_ = true;
cljs.core._STAR_print_fn_STAR_ = ((function (_STAR_print_newline_STAR_24965_24967,_STAR_print_fn_STAR_24966_24968,sb__4430__auto__,ed,arg_spec,temp__5457__auto__,specs){
return (function (x__4431__auto__){
return sb__4430__auto__.append(x__4431__auto__);
});})(_STAR_print_newline_STAR_24965_24967,_STAR_print_fn_STAR_24966_24968,sb__4430__auto__,ed,arg_spec,temp__5457__auto__,specs))
;
try{cljs.spec.alpha.explain_out.call(null,ed);
}finally {cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR_24966_24968;
cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR_24965_24967;
}
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__4430__auto__)].join('');
})())].join('')));
} else {
return null;
}
} else {
return null;
}
});
cljs.spec.alpha.recur_limit_QMARK_ = (function cljs$spec$alpha$recur_limit_QMARK_(rmap,id,path,k){
return (((cljs.core.get.call(null,rmap,id) > new cljs.core.Keyword("cljs.spec.alpha","recursion-limit","cljs.spec.alpha/recursion-limit",601284994).cljs$core$IFn$_invoke$arity$1(rmap))) && (cljs.core.contains_QMARK_.call(null,cljs.core.set.call(null,path),k)));
});
cljs.spec.alpha.inck = (function cljs$spec$alpha$inck(m,k){
return cljs.core.assoc.call(null,m,k,((function (){var or__3922__auto__ = cljs.core.get.call(null,m,k);
if(cljs.core.truth_(or__3922__auto__)){
return or__3922__auto__;
} else {
return (0);
}
})() + (1)));
});
cljs.spec.alpha.dt = (function cljs$spec$alpha$dt(var_args){
var G__24970 = arguments.length;
switch (G__24970) {
case 3:
return cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3 = (function (pred,x,form){
return cljs.spec.alpha.dt.call(null,pred,x,form,null);
});
cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4 = (function (pred,x,form,cpred_QMARK_){
if(cljs.core.truth_(pred)){
var temp__5455__auto__ = cljs.spec.alpha.the_spec.call(null,pred);
if(cljs.core.truth_(temp__5455__auto__)){
var spec = temp__5455__auto__;
return cljs.spec.alpha.conform.call(null,spec,x);
} else {
if(cljs.core.ifn_QMARK_.call(null,pred)){
if(cljs.core.truth_(cpred_QMARK_)){
return pred.call(null,x);
} else {
if(cljs.core.truth_(pred.call(null,x))){
return x;
} else {
return new cljs.core.Keyword("cljs.spec.alpha","invalid","cljs.spec.alpha/invalid",-1220295119);
}
}
} else {
throw (new Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_str.call(null,form))," is not a fn, expected predicate fn"].join('')));
}
}
} else {
return x;
}
});
cljs.spec.alpha.dt.cljs$lang$maxFixedArity = 4;
/**
* Helper function that returns true when x is valid for spec.
*/
cljs.spec.alpha.valid_QMARK_ = (function cljs$spec$alpha$valid_QMARK_(var_args){
var G__24973 = arguments.length;
switch (G__24973) {
case 2:
return cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.spec.alpha.valid_QMARK_.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('')));
}
});
cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2 = (function (spec,x){
var spec__$1 = cljs.spec.alpha.specize.call(null,spec);
return cljs.core.not.call(null,cljs.spec.alpha.invalid_QMARK_.call(null,cljs.spec.alpha.conform_STAR_.call(null,spec__$1,x)));
});
cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$3 = (function (spec,x,form){
var spec__$1 = cljs.spec.alpha.specize.call(null,spec,form);
return cljs.core.not.call(null,cljs.spec.alpha.invalid_QMARK_.call(null,cljs.spec.alpha.conform_STAR_.call(null,spec__$1,x)));
});
cljs.spec.alpha.valid_QMARK_.cljs$lang$maxFixedArity = 3;
/**
* internal helper function that returns true when x is valid for spec.
*/
cljs.spec.alpha.pvalid_QMARK_ = (function cljs$spec$alpha$pvalid_QMARK_(var_args){
var G__24976 = arguments.length;
switch (G__24976) {
case 2:
return cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.spec.alpha.pvalid_QMARK_.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('')));
}
});
cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2 = (function (pred,x){
return cljs.core.not.call(null,cljs.spec.alpha.invalid_QMARK_.call(null,cljs.spec.alpha.dt.call(null,pred,x,new cljs.core.Keyword("cljs.spec.alpha","unknown","cljs.spec.alpha/unknown",651034818))));
});
cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$3 = (function (pred,x,form){
return cljs.core.not.call(null,cljs.spec.alpha.invalid_QMARK_.call(null,cljs.spec.alpha.dt.call(null,pred,x,form)));
});
cljs.spec.alpha.pvalid_QMARK_.cljs$lang$maxFixedArity = 3;
cljs.spec.alpha.explain_1 = (function cljs$spec$alpha$explain_1(form,pred,path,via,in$,v){
var pred__$1 = cljs.spec.alpha.maybe_spec.call(null,pred);
if(cljs.core.truth_(cljs.spec.alpha.spec_QMARK_.call(null,pred__$1))){
return cljs.spec.alpha.explain_STAR_.call(null,pred__$1,path,(function (){var temp__5455__auto__ = cljs.spec.alpha.spec_name.call(null,pred__$1);
if(cljs.core.truth_(temp__5455__auto__)){
var name = temp__5455__auto__;
return cljs.core.conj.call(null,via,name);
} else {
return via;
}
})(),in$,v);
} 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),form,new cljs.core.Keyword(null,"val","val",128701612),v,new cljs.core.Keyword(null,"via","via",-1904457336),via,new cljs.core.Keyword(null,"in","in",-1531184865),in$], null)], null);
}
});
/**
* Do not call this directly, use 'spec' with a map argument
*/
cljs.spec.alpha.map_spec_impl = (function cljs$spec$alpha$map_spec_impl(p__24981){
var map__24982 = p__24981;
var map__24982__$1 = ((((!((map__24982 == null)))?(((((map__24982.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__24982.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__24982):map__249