mini-program-cljs
Version:
1 lines • 85.4 kB
JSON
["^ ","~:output",["^ ","~:js","goog.provide('cljs.repl');\ngoog.require('cljs.core');\ngoog.require('cljs.spec.alpha');\ngoog.require('goog.string');\ngoog.require('goog.string.format');\ncljs.repl.print_doc = (function cljs$repl$print_doc(p__31632){\nvar map__31633 = p__31632;\nvar map__31633__$1 = (((((!((map__31633 == null))))?(((((map__31633.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__31633.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__31633):map__31633);\nvar m = map__31633__$1;\nvar n = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31633__$1,new cljs.core.Keyword(null,\"ns\",\"ns\",441598760));\nvar nm = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31633__$1,new cljs.core.Keyword(null,\"name\",\"name\",1843675177));\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\"-------------------------\"], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var or__4185__auto__ = new cljs.core.Keyword(null,\"spec\",\"spec\",347520401).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(or__4185__auto__)){\nreturn or__4185__auto__;\n} else {\nreturn [(function (){var temp__5735__auto__ = new cljs.core.Keyword(null,\"ns\",\"ns\",441598760).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(temp__5735__auto__)){\nvar ns = temp__5735__auto__;\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),\"/\"].join('');\n} else {\nreturn null;\n}\n})(),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\"name\",\"name\",1843675177).cljs$core$IFn$_invoke$arity$1(m))].join('');\n}\n})()], 0));\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\"protocol\",\"protocol\",652470118).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\"Protocol\"], 0));\n} else {\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\"forms\",\"forms\",2045992350).cljs$core$IFn$_invoke$arity$1(m))){\nvar seq__31639_31818 = cljs.core.seq(new cljs.core.Keyword(null,\"forms\",\"forms\",2045992350).cljs$core$IFn$_invoke$arity$1(m));\nvar chunk__31640_31819 = null;\nvar count__31641_31820 = (0);\nvar i__31642_31821 = (0);\nwhile(true){\nif((i__31642_31821 < count__31641_31820)){\nvar f_31822 = chunk__31640_31819.cljs$core$IIndexed$_nth$arity$2(null,i__31642_31821);\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\" \",f_31822], 0));\n\n\nvar G__31823 = seq__31639_31818;\nvar G__31824 = chunk__31640_31819;\nvar G__31825 = count__31641_31820;\nvar G__31826 = (i__31642_31821 + (1));\nseq__31639_31818 = G__31823;\nchunk__31640_31819 = G__31824;\ncount__31641_31820 = G__31825;\ni__31642_31821 = G__31826;\ncontinue;\n} else {\nvar temp__5735__auto___31827 = cljs.core.seq(seq__31639_31818);\nif(temp__5735__auto___31827){\nvar seq__31639_31832__$1 = temp__5735__auto___31827;\nif(cljs.core.chunked_seq_QMARK_(seq__31639_31832__$1)){\nvar c__4609__auto___31834 = cljs.core.chunk_first(seq__31639_31832__$1);\nvar G__31835 = cljs.core.chunk_rest(seq__31639_31832__$1);\nvar G__31836 = c__4609__auto___31834;\nvar G__31837 = cljs.core.count(c__4609__auto___31834);\nvar G__31838 = (0);\nseq__31639_31818 = G__31835;\nchunk__31640_31819 = G__31836;\ncount__31641_31820 = G__31837;\ni__31642_31821 = G__31838;\ncontinue;\n} else {\nvar f_31845 = cljs.core.first(seq__31639_31832__$1);\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\" \",f_31845], 0));\n\n\nvar G__31846 = cljs.core.next(seq__31639_31832__$1);\nvar G__31847 = null;\nvar G__31848 = (0);\nvar G__31849 = (0);\nseq__31639_31818 = G__31846;\nchunk__31640_31819 = G__31847;\ncount__31641_31820 = G__31848;\ni__31642_31821 = G__31849;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\"arglists\",\"arglists\",1661989754).cljs$core$IFn$_invoke$arity$1(m))){\nvar arglists_31853 = new cljs.core.Keyword(null,\"arglists\",\"arglists\",1661989754).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_((function (){var or__4185__auto__ = new cljs.core.Keyword(null,\"macro\",\"macro\",-867863404).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(or__4185__auto__)){\nreturn or__4185__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\"repl-special-function\",\"repl-special-function\",1262603725).cljs$core$IFn$_invoke$arity$1(m);\n}\n})())){\ncljs.core.prn.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([arglists_31853], 0));\n} else {\ncljs.core.prn.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\"quote\",\"quote\",1377916282,null),cljs.core.first(arglists_31853)))?cljs.core.second(arglists_31853):arglists_31853)], 0));\n}\n} else {\n}\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\"special-form\",\"special-form\",-1326536374).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\"Special Form\"], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\" \",new cljs.core.Keyword(null,\"doc\",\"doc\",1913296891).cljs$core$IFn$_invoke$arity$1(m)], 0));\n\nif(cljs.core.contains_QMARK_(m,new cljs.core.Keyword(null,\"url\",\"url\",276297046))){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\"url\",\"url\",276297046).cljs$core$IFn$_invoke$arity$1(m))){\nreturn cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\"\\n Please see http://clojure.org/\",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\"url\",\"url\",276297046).cljs$core$IFn$_invoke$arity$1(m))].join('')], 0));\n} else {\nreturn null;\n}\n} else {\nreturn cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\"\\n Please see http://clojure.org/special_forms#\",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\"name\",\"name\",1843675177).cljs$core$IFn$_invoke$arity$1(m))].join('')], 0));\n}\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\"macro\",\"macro\",-867863404).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\"Macro\"], 0));\n} else {\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\"spec\",\"spec\",347520401).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\"Spec\"], 0));\n} else {\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\"repl-special-function\",\"repl-special-function\",1262603725).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\"REPL Special Function\"], 0));\n} else {\n}\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\" \",new cljs.core.Keyword(null,\"doc\",\"doc\",1913296891).cljs$core$IFn$_invoke$arity$1(m)], 0));\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\"protocol\",\"protocol\",652470118).cljs$core$IFn$_invoke$arity$1(m))){\nvar seq__31652_31869 = cljs.core.seq(new cljs.core.Keyword(null,\"methods\",\"methods\",453930866).cljs$core$IFn$_invoke$arity$1(m));\nvar chunk__31653_31870 = null;\nvar count__31654_31871 = (0);\nvar i__31655_31872 = (0);\nwhile(true){\nif((i__31655_31872 < count__31654_31871)){\nvar vec__31695_31873 = chunk__31653_31870.cljs$core$IIndexed$_nth$arity$2(null,i__31655_31872);\nvar name_31874 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31695_31873,(0),null);\nvar map__31698_31875 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31695_31873,(1),null);\nvar map__31698_31876__$1 = (((((!((map__31698_31875 == null))))?(((((map__31698_31875.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__31698_31875.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__31698_31875):map__31698_31875);\nvar doc_31877 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31698_31876__$1,new cljs.core.Keyword(null,\"doc\",\"doc\",1913296891));\nvar arglists_31878 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31698_31876__$1,new cljs.core.Keyword(null,\"arglists\",\"arglists\",1661989754));\ncljs.core.println();\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\" \",name_31874], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\" \",arglists_31878], 0));\n\nif(cljs.core.truth_(doc_31877)){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\" \",doc_31877], 0));\n} else {\n}\n\n\nvar G__31879 = seq__31652_31869;\nvar G__31880 = chunk__31653_31870;\nvar G__31881 = count__31654_31871;\nvar G__31882 = (i__31655_31872 + (1));\nseq__31652_31869 = G__31879;\nchunk__31653_31870 = G__31880;\ncount__31654_31871 = G__31881;\ni__31655_31872 = G__31882;\ncontinue;\n} else {\nvar temp__5735__auto___31883 = cljs.core.seq(seq__31652_31869);\nif(temp__5735__auto___31883){\nvar seq__31652_31884__$1 = temp__5735__auto___31883;\nif(cljs.core.chunked_seq_QMARK_(seq__31652_31884__$1)){\nvar c__4609__auto___31885 = cljs.core.chunk_first(seq__31652_31884__$1);\nvar G__31886 = cljs.core.chunk_rest(seq__31652_31884__$1);\nvar G__31887 = c__4609__auto___31885;\nvar G__31888 = cljs.core.count(c__4609__auto___31885);\nvar G__31889 = (0);\nseq__31652_31869 = G__31886;\nchunk__31653_31870 = G__31887;\ncount__31654_31871 = G__31888;\ni__31655_31872 = G__31889;\ncontinue;\n} else {\nvar vec__31701_31890 = cljs.core.first(seq__31652_31884__$1);\nvar name_31891 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31701_31890,(0),null);\nvar map__31704_31892 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31701_31890,(1),null);\nvar map__31704_31893__$1 = (((((!((map__31704_31892 == null))))?(((((map__31704_31892.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__31704_31892.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__31704_31892):map__31704_31892);\nvar doc_31894 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31704_31893__$1,new cljs.core.Keyword(null,\"doc\",\"doc\",1913296891));\nvar arglists_31895 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31704_31893__$1,new cljs.core.Keyword(null,\"arglists\",\"arglists\",1661989754));\ncljs.core.println();\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\" \",name_31891], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\" \",arglists_31895], 0));\n\nif(cljs.core.truth_(doc_31894)){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\" \",doc_31894], 0));\n} else {\n}\n\n\nvar G__31901 = cljs.core.next(seq__31652_31884__$1);\nvar G__31902 = null;\nvar G__31903 = (0);\nvar G__31904 = (0);\nseq__31652_31869 = G__31901;\nchunk__31653_31870 = G__31902;\ncount__31654_31871 = G__31903;\ni__31655_31872 = G__31904;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nif(cljs.core.truth_(n)){\nvar temp__5735__auto__ = cljs.spec.alpha.get_spec(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.ns_name(n)),cljs.core.name(nm)));\nif(cljs.core.truth_(temp__5735__auto__)){\nvar fnspec = temp__5735__auto__;\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\"Spec\"], 0));\n\nvar seq__31707 = cljs.core.seq(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\"args\",\"args\",1315556576),new cljs.core.Keyword(null,\"ret\",\"ret\",-468222814),new cljs.core.Keyword(null,\"fn\",\"fn\",-1175266204)], null));\nvar chunk__31708 = null;\nvar count__31709 = (0);\nvar i__31710 = (0);\nwhile(true){\nif((i__31710 < count__31709)){\nvar role = chunk__31708.cljs$core$IIndexed$_nth$arity$2(null,i__31710);\nvar temp__5735__auto___31905__$1 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(fnspec,role);\nif(cljs.core.truth_(temp__5735__auto___31905__$1)){\nvar spec_31906 = temp__5735__auto___31905__$1;\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\"\\n \",cljs.core.name(role),\":\"].join(''),cljs.spec.alpha.describe(spec_31906)], 0));\n} else {\n}\n\n\nvar G__31907 = seq__31707;\nvar G__31908 = chunk__31708;\nvar G__31909 = count__31709;\nvar G__31910 = (i__31710 + (1));\nseq__31707 = G__31907;\nchunk__31708 = G__31908;\ncount__31709 = G__31909;\ni__31710 = G__31910;\ncontinue;\n} else {\nvar temp__5735__auto____$1 = cljs.core.seq(seq__31707);\nif(temp__5735__auto____$1){\nvar seq__31707__$1 = temp__5735__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(seq__31707__$1)){\nvar c__4609__auto__ = cljs.core.chunk_first(seq__31707__$1);\nvar G__31911 = cljs.core.chunk_rest(seq__31707__$1);\nvar G__31912 = c__4609__auto__;\nvar G__31913 = cljs.core.count(c__4609__auto__);\nvar G__31914 = (0);\nseq__31707 = G__31911;\nchunk__31708 = G__31912;\ncount__31709 = G__31913;\ni__31710 = G__31914;\ncontinue;\n} else {\nvar role = cljs.core.first(seq__31707__$1);\nvar temp__5735__auto___31916__$2 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(fnspec,role);\nif(cljs.core.truth_(temp__5735__auto___31916__$2)){\nvar spec_31917 = temp__5735__auto___31916__$2;\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\"\\n \",cljs.core.name(role),\":\"].join(''),cljs.spec.alpha.describe(spec_31917)], 0));\n} else {\n}\n\n\nvar G__31918 = cljs.core.next(seq__31707__$1);\nvar G__31919 = null;\nvar G__31920 = (0);\nvar G__31921 = (0);\nseq__31707 = G__31918;\nchunk__31708 = G__31919;\ncount__31709 = G__31920;\ni__31710 = G__31921;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}\n});\n/**\n * Constructs a data representation for a Error with keys:\n * :cause - root cause message\n * :phase - error phase\n * :via - cause chain, with cause keys:\n * :type - exception class symbol\n * :message - exception message\n * :data - ex-data\n * :at - top stack element\n * :trace - root cause stack elements\n */\ncljs.repl.Error__GT_map = (function cljs$repl$Error__GT_map(o){\nvar base = (function (t){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"type\",\"type\",1174270348),(((t instanceof cljs.core.ExceptionInfo))?new cljs.core.Symbol(null,\"ExceptionInfo\",\"ExceptionInfo\",294935087,null):(((t instanceof Error))?cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\"js\",t.name):null\n))], null),(function (){var temp__5735__auto__ = cljs.core.ex_message(t);\nif(cljs.core.truth_(temp__5735__auto__)){\nvar msg = temp__5735__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"message\",\"message\",-406056002),msg], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5735__auto__ = cljs.core.ex_data(t);\nif(cljs.core.truth_(temp__5735__auto__)){\nvar ed = temp__5735__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"data\",\"data\",-232669377),ed], null);\n} else {\nreturn null;\n}\n})()], 0));\n});\nvar via = (function (){var via = cljs.core.PersistentVector.EMPTY;\nvar t = o;\nwhile(true){\nif(cljs.core.truth_(t)){\nvar G__31923 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(via,t);\nvar G__31924 = cljs.core.ex_cause(t);\nvia = G__31923;\nt = G__31924;\ncontinue;\n} else {\nreturn via;\n}\nbreak;\n}\n})();\nvar root = cljs.core.peek(via);\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\"via\",\"via\",-1904457336),cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2(base,via)),new cljs.core.Keyword(null,\"trace\",\"trace\",-1082747415),null], null),(function (){var temp__5735__auto__ = cljs.core.ex_message(root);\nif(cljs.core.truth_(temp__5735__auto__)){\nvar root_msg = temp__5735__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"cause\",\"cause\",231901252),root_msg], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5735__auto__ = cljs.core.ex_data(root);\nif(cljs.core.truth_(temp__5735__auto__)){\nvar data = temp__5735__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"data\",\"data\",-232669377),data], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5735__auto__ = new cljs.core.Keyword(\"clojure.error\",\"phase\",\"clojure.error/phase\",275140358).cljs$core$IFn$_invoke$arity$1(cljs.core.ex_data(o));\nif(cljs.core.truth_(temp__5735__auto__)){\nvar phase = temp__5735__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"phase\",\"phase\",575722892),phase], null);\n} else {\nreturn null;\n}\n})()], 0));\n});\n/**\n * Returns an analysis of the phase, error, cause, and location of an error that occurred\n * based on Throwable data, as returned by Throwable->map. All attributes other than phase\n * are optional:\n * :clojure.error/phase - keyword phase indicator, one of:\n * :read-source :compile-syntax-check :compilation :macro-syntax-check :macroexpansion\n * :execution :read-eval-result :print-eval-result\n * :clojure.error/source - file name (no path)\n * :clojure.error/line - integer line number\n * :clojure.error/column - integer column number\n * :clojure.error/symbol - symbol being expanded/compiled/invoked\n * :clojure.error/class - cause exception class symbol\n * :clojure.error/cause - cause exception message\n * :clojure.error/spec - explain-data for spec error\n */\ncljs.repl.ex_triage = (function cljs$repl$ex_triage(datafied_throwable){\nvar map__31715 = datafied_throwable;\nvar map__31715__$1 = (((((!((map__31715 == null))))?(((((map__31715.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__31715.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__31715):map__31715);\nvar via = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31715__$1,new cljs.core.Keyword(null,\"via\",\"via\",-1904457336));\nvar trace = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31715__$1,new cljs.core.Keyword(null,\"trace\",\"trace\",-1082747415));\nvar phase = cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__31715__$1,new cljs.core.Keyword(null,\"phase\",\"phase\",575722892),new cljs.core.Keyword(null,\"execution\",\"execution\",253283524));\nvar map__31716 = cljs.core.last(via);\nvar map__31716__$1 = (((((!((map__31716 == null))))?(((((map__31716.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__31716.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__31716):map__31716);\nvar type = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31716__$1,new cljs.core.Keyword(null,\"type\",\"type\",1174270348));\nvar message = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31716__$1,new cljs.core.Keyword(null,\"message\",\"message\",-406056002));\nvar data = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31716__$1,new cljs.core.Keyword(null,\"data\",\"data\",-232669377));\nvar map__31717 = data;\nvar map__31717__$1 = (((((!((map__31717 == null))))?(((((map__31717.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__31717.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__31717):map__31717);\nvar problems = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31717__$1,new cljs.core.Keyword(\"cljs.spec.alpha\",\"problems\",\"cljs.spec.alpha/problems\",447400814));\nvar fn = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31717__$1,new cljs.core.Keyword(\"cljs.spec.alpha\",\"fn\",\"cljs.spec.alpha/fn\",408600443));\nvar caller = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31717__$1,new cljs.core.Keyword(\"cljs.spec.test.alpha\",\"caller\",\"cljs.spec.test.alpha/caller\",-398302390));\nvar map__31718 = new cljs.core.Keyword(null,\"data\",\"data\",-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.first(via));\nvar map__31718__$1 = (((((!((map__31718 == null))))?(((((map__31718.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__31718.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__31718):map__31718);\nvar top_data = map__31718__$1;\nvar source = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31718__$1,new cljs.core.Keyword(\"clojure.error\",\"source\",\"clojure.error/source\",-2011936397));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3((function (){var G__31725 = phase;\nvar G__31725__$1 = (((G__31725 instanceof cljs.core.Keyword))?G__31725.fqn:null);\nswitch (G__31725__$1) {\ncase \"read-source\":\nvar map__31727 = data;\nvar map__31727__$1 = (((((!((map__31727 == null))))?(((((map__31727.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__31727.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__31727):map__31727);\nvar line = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31727__$1,new cljs.core.Keyword(\"clojure.error\",\"line\",\"clojure.error/line\",-1816287471));\nvar column = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31727__$1,new cljs.core.Keyword(\"clojure.error\",\"column\",\"clojure.error/column\",304721553));\nvar G__31729 = cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\"data\",\"data\",-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.second(via)),top_data], 0));\nvar G__31729__$1 = (cljs.core.truth_(source)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__31729,new cljs.core.Keyword(\"clojure.error\",\"source\",\"clojure.error/source\",-2011936397),source):G__31729);\nvar G__31729__$2 = (cljs.core.truth_((function (){var fexpr__31730 = new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\"NO_SOURCE_PATH\",null,\"NO_SOURCE_FILE\",null], null), null);\nreturn (fexpr__31730.cljs$core$IFn$_invoke$arity$1 ? fexpr__31730.cljs$core$IFn$_invoke$arity$1(source) : fexpr__31730.call(null,source));\n})())?cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(G__31729__$1,new cljs.core.Keyword(\"clojure.error\",\"source\",\"clojure.error/source\",-2011936397)):G__31729__$1);\nif(cljs.core.truth_(message)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__31729__$2,new cljs.core.Keyword(\"clojure.error\",\"cause\",\"clojure.error/cause\",-1879175742),message);\n} else {\nreturn G__31729__$2;\n}\n\nbreak;\ncase \"compile-syntax-check\":\ncase \"compilation\":\ncase \"macro-syntax-check\":\ncase \"macroexpansion\":\nvar G__31731 = top_data;\nvar G__31731__$1 = (cljs.core.truth_(source)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__31731,new cljs.core.Keyword(\"clojure.error\",\"source\",\"clojure.error/source\",-2011936397),source):G__31731);\nvar G__31731__$2 = (cljs.core.truth_((function (){var fexpr__31732 = new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\"NO_SOURCE_PATH\",null,\"NO_SOURCE_FILE\",null], null), null);\nreturn (fexpr__31732.cljs$core$IFn$_invoke$arity$1 ? fexpr__31732.cljs$core$IFn$_invoke$arity$1(source) : fexpr__31732.call(null,source));\n})())?cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(G__31731__$1,new cljs.core.Keyword(\"clojure.error\",\"source\",\"clojure.error/source\",-2011936397)):G__31731__$1);\nvar G__31731__$3 = (cljs.core.truth_(type)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__31731__$2,new cljs.core.Keyword(\"clojure.error\",\"class\",\"clojure.error/class\",278435890),type):G__31731__$2);\nvar G__31731__$4 = (cljs.core.truth_(message)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__31731__$3,new cljs.core.Keyword(\"clojure.error\",\"cause\",\"clojure.error/cause\",-1879175742),message):G__31731__$3);\nif(cljs.core.truth_(problems)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__31731__$4,new cljs.core.Keyword(\"clojure.error\",\"spec\",\"clojure.error/spec\",2055032595),data);\n} else {\nreturn G__31731__$4;\n}\n\nbreak;\ncase \"read-eval-result\":\ncase \"print-eval-result\":\nvar vec__31734 = cljs.core.first(trace);\nvar source__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31734,(0),null);\nvar method = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31734,(1),null);\nvar file = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31734,(2),null);\nvar line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31734,(3),null);\nvar G__31737 = top_data;\nvar G__31737__$1 = (cljs.core.truth_(line)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__31737,new cljs.core.Keyword(\"clojure.error\",\"line\",\"clojure.error/line\",-1816287471),line):G__31737);\nvar G__31737__$2 = (cljs.core.truth_(file)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__31737__$1,new cljs.core.Keyword(\"clojure.error\",\"source\",\"clojure.error/source\",-2011936397),file):G__31737__$1);\nvar G__31737__$3 = (cljs.core.truth_((function (){var and__4174__auto__ = source__$1;\nif(cljs.core.truth_(and__4174__auto__)){\nreturn method;\n} else {\nreturn and__4174__auto__;\n}\n})())?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__31737__$2,new cljs.core.Keyword(\"clojure.error\",\"symbol\",\"clojure.error/symbol\",1544821994),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[source__$1,method],null))):G__31737__$2);\nvar G__31737__$4 = (cljs.core.truth_(type)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__31737__$3,new cljs.core.Keyword(\"clojure.error\",\"class\",\"clojure.error/class\",278435890),type):G__31737__$3);\nif(cljs.core.truth_(message)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__31737__$4,new cljs.core.Keyword(\"clojure.error\",\"cause\",\"clojure.error/cause\",-1879175742),message);\n} else {\nreturn G__31737__$4;\n}\n\nbreak;\ncase \"execution\":\nvar vec__31738 = cljs.core.first(trace);\nvar source__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31738,(0),null);\nvar method = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31738,(1),null);\nvar file = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31738,(2),null);\nvar line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31738,(3),null);\nvar file__$1 = cljs.core.first(cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__31714_SHARP_){\nvar or__4185__auto__ = (p1__31714_SHARP_ == null);\nif(or__4185__auto__){\nreturn or__4185__auto__;\n} else {\nvar fexpr__31742 = new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\"NO_SOURCE_PATH\",null,\"NO_SOURCE_FILE\",null], null), null);\nreturn (fexpr__31742.cljs$core$IFn$_invoke$arity$1 ? fexpr__31742.cljs$core$IFn$_invoke$arity$1(p1__31714_SHARP_) : fexpr__31742.call(null,p1__31714_SHARP_));\n}\n}),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\"file\",\"file\",-1269645878).cljs$core$IFn$_invoke$arity$1(caller),file], null)));\nvar err_line = (function (){var or__4185__auto__ = new cljs.core.Keyword(null,\"line\",\"line\",212345235).cljs$core$IFn$_invoke$arity$1(caller);\nif(cljs.core.truth_(or__4185__auto__)){\nreturn or__4185__auto__;\n} else {\nreturn line;\n}\n})();\nvar G__31743 = new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\"clojure.error\",\"class\",\"clojure.error/class\",278435890),type], null);\nvar G__31743__$1 = (cljs.core.truth_(err_line)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__31743,new cljs.core.Keyword(\"clojure.error\",\"line\",\"clojure.error/line\",-1816287471),err_line):G__31743);\nvar G__31743__$2 = (cljs.core.truth_(message)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__31743__$1,new cljs.core.Keyword(\"clojure.error\",\"cause\",\"clojure.error/cause\",-1879175742),message):G__31743__$1);\nvar G__31743__$3 = (cljs.core.truth_((function (){var or__4185__auto__ = fn;\nif(cljs.core.truth_(or__4185__auto__)){\nreturn or__4185__auto__;\n} else {\nvar and__4174__auto__ = source__$1;\nif(cljs.core.truth_(and__4174__auto__)){\nreturn method;\n} else {\nreturn and__4174__auto__;\n}\n}\n})())?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__31743__$2,new cljs.core.Keyword(\"clojure.error\",\"symbol\",\"clojure.error/symbol\",1544821994),(function (){var or__4185__auto__ = fn;\nif(cljs.core.truth_(or__4185__auto__)){\nreturn or__4185__auto__;\n} else {\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[source__$1,method],null));\n}\n})()):G__31743__$2);\nvar G__31743__$4 = (cljs.core.truth_(file__$1)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__31743__$3,new cljs.core.Keyword(\"clojure.error\",\"source\",\"clojure.error/source\",-2011936397),file__$1):G__31743__$3);\nif(cljs.core.truth_(problems)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__31743__$4,new cljs.core.Keyword(\"clojure.error\",\"spec\",\"clojure.error/spec\",2055032595),data);\n} else {\nreturn G__31743__$4;\n}\n\nbreak;\ndefault:\nthrow (new Error([\"No matching clause: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__31725__$1)].join('')));\n\n}\n})(),new cljs.core.Keyword(\"clojure.error\",\"phase\",\"clojure.error/phase\",275140358),phase);\n});\n/**\n * Returns a string from exception data, as produced by ex-triage.\n * The first line summarizes the exception phase and location.\n * The subsequent lines describe the cause.\n */\ncljs.repl.ex_str = (function cljs$repl$ex_str(p__31752){\nvar map__31753 = p__31752;\nvar map__31753__$1 = (((((!((map__31753 == null))))?(((((map__31753.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__31753.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__31753):map__31753);\nvar triage_data = map__31753__$1;\nvar phase = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31753__$1,new cljs.core.Keyword(\"clojure.error\",\"phase\",\"clojure.error/phase\",275140358));\nvar source = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31753__$1,new cljs.core.Keyword(\"clojure.error\",\"source\",\"clojure.error/source\",-2011936397));\nvar line = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31753__$1,new cljs.core.Keyword(\"clojure.error\",\"line\",\"clojure.error/line\",-1816287471));\nvar column = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31753__$1,new cljs.core.Keyword(\"clojure.error\",\"column\",\"clojure.error/column\",304721553));\nvar symbol = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31753__$1,new cljs.core.Keyword(\"clojure.error\",\"symbol\",\"clojure.error/symbol\",1544821994));\nvar class$ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31753__$1,new cljs.core.Keyword(\"clojure.error\",\"class\",\"clojure.error/class\",278435890));\nvar cause = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31753__$1,new cljs.core.Keyword(\"clojure.error\",\"cause\",\"clojure.error/cause\",-1879175742));\nvar spec = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31753__$1,new cljs.core.Keyword(\"clojure.error\",\"spec\",\"clojure.error/spec\",2055032595));\nvar loc = [cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__4185__auto__ = source;\nif(cljs.core.truth_(or__4185__auto__)){\nreturn or__4185__auto__;\n} else {\nreturn \"<cljs repl>\";\n}\n})()),\":\",cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__4185__auto__ = line;\nif(cljs.core.truth_(or__4185__auto__)){\nreturn or__4185__auto__;\n} else {\nreturn (1);\n}\n})()),(cljs.core.truth_(column)?[\":\",cljs.core.str.cljs$core$IFn$_invoke$arity$1(column)].join(''):\"\")].join('');\nvar class_name = cljs.core.name((function (){var or__4185__auto__ = class$;\nif(cljs.core.truth_(or__4185__auto__)){\nreturn or__4185__auto__;\n} else {\nreturn \"\";\n}\n})());\nvar simple_class = class_name;\nvar cause_type = ((cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\"RuntimeException\",null,\"Exception\",null], null), null),simple_class))?\"\":[\" (\",simple_class,\")\"].join(''));\nvar format = goog.string.format;\nvar G__31755 = phase;\nvar G__31755__$1 = (((G__31755 instanceof cljs.core.Keyword))?G__31755.fqn:null);\nswitch (G__31755__$1) {\ncase \"read-source\":\nreturn (format.cljs$core$IFn$_invoke$arity$3 ? format.cljs$core$IFn$_invoke$arity$3(\"Syntax error reading source at (%s).\\n%s\\n\",loc,cause) : format.call(null,\"Syntax error reading source at (%s).\\n%s\\n\",loc,cause));\n\nbreak;\ncase \"macro-syntax-check\":\nvar G__31756 = \"Syntax error macroexpanding %sat (%s).\\n%s\";\nvar G__31757 = (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\" \"].join(''):\"\");\nvar G__31758 = loc;\nvar G__31759 = (cljs.core.truth_(spec)?(function (){var sb__4720__auto__ = (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__31760_31974 = cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__31761_31975 = cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__31762_31976 = true;\nvar _STAR_print_fn_STAR__temp_val__31763_31977 = (function (x__4721__auto__){\nreturn sb__4720__auto__.append(x__4721__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR__temp_val__31762_31976);\n\n(cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__temp_val__31763_31977);\n\ntry{cljs.spec.alpha.explain_out(cljs.core.update.cljs$core$IFn$_invoke$arity$3(spec,new cljs.core.Keyword(\"cljs.spec.alpha\",\"problems\",\"cljs.spec.alpha/problems\",447400814),(function (probs){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__31748_SHARP_){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(p1__31748_SHARP_,new cljs.core.Keyword(null,\"in\",\"in\",-1531184865));\n}),probs);\n}))\n);\n}finally {(cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__orig_val__31761_31975);\n\n(cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR__orig_val__31760_31974);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__4720__auto__);\n})():(format.cljs$core$IFn$_invoke$arity$2 ? format.cljs$core$IFn$_invoke$arity$2(\"%s\\n\",cause) : format.call(null,\"%s\\n\",cause)));\nreturn (format.cljs$core$IFn$_invoke$arity$4 ? format.cljs$core$IFn$_invoke$arity$4(G__31756,G__31757,G__31758,G__31759) : format.call(null,G__31756,G__31757,G__31758,G__31759));\n\nbreak;\ncase \"macroexpansion\":\nvar G__31769 = \"Unexpected error%s macroexpanding %sat (%s).\\n%s\\n\";\nvar G__31770 = cause_type;\nvar G__31771 = (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\" \"].join(''):\"\");\nvar G__31772 = loc;\nvar G__31773 = cause;\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(G__31769,G__31770,G__31771,G__31772,G__31773) : format.call(null,G__31769,G__31770,G__31771,G__31772,G__31773));\n\nbreak;\ncase \"compile-syntax-check\":\nvar G__31781 = \"Syntax error%s compiling %sat (%s).\\n%s\\n\";\nvar G__31785 = cause_type;\nvar G__31786 = (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\" \"].join(''):\"\");\nvar G__31788 = loc;\nvar G__31789 = cause;\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(G__31781,G__31785,G__31786,G__31788,G__31789) : format.call(null,G__31781,G__31785,G__31786,G__31788,G__31789));\n\nbreak;\ncase \"compilation\":\nvar G__31793 = \"Unexpected error%s compiling %sat (%s).\\n%s\\n\";\nvar G__31794 = cause_type;\nvar G__31795 = (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\" \"].join(''):\"\");\nvar G__31796 = loc;\nvar G__31797 = cause;\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(G__31793,G__31794,G__31795,G__31796,G__31797) : format.call(null,G__31793,G__31794,G__31795,G__31796,G__31797));\n\nbreak;\ncase \"read-eval-result\":\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(\"Error reading eval result%s at %s (%s).\\n%s\\n\",cause_type,symbol,loc,cause) : format.call(null,\"Error reading eval result%s at %s (%s).\\n%s\\n\",cause_type,symbol,loc,cause));\n\nbreak;\ncase \"print-eval-result\":\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(\"Error printing return value%s at %s (%s).\\n%s\\n\",cause_type,symbol,loc,cause) : format.call(null,\"Error printing return value%s at %s (%s).\\n%s\\n\",cause_type,symbol,loc,cause));\n\nbreak;\ncase \"execution\":\nif(cljs.core.truth_(spec)){\nvar G__31798 = \"Execution error - invalid arguments to %s at (%s).\\n%s\";\nvar G__31799 = symbol;\nvar G__31800 = loc;\nvar G__31801 = (function (){var sb__4720__auto__ = (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__31802_31983 = cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__31803_31984 = cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__31804_31985 = true;\nvar _STAR_print_fn_STAR__temp_val__31805_31986 = (function (x__4721__auto__){\nreturn sb__4720__auto__.append(x__4721__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR__temp_val__31804_31985);\n\n(cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__temp_val__31805_31986);\n\ntry{cljs.spec.alpha.explain_out(cljs.core.update.cljs$core$IFn$_invoke$arity$3(spec,new cljs.core.Keyword(\"cljs.spec.alpha\",\"problems\",\"cljs.spec.alpha/problems\",447400814),(function (probs){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__31751_SHARP_){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(p1__31751_SHARP_,new cljs.core.Keyword(null,\"in\",\"in\",-1531184865));\n}),probs);\n}))\n);\n}finally {(cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__orig_val__31803_31984);\n\n(cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR__orig_val__31802_31983);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__4720__auto__);\n})();\nreturn (format.cljs$core$IFn$_invoke$arity$4 ? format.cljs$core$IFn$_invoke$arity$4(G__31798,G__31799,G__31800,G__31801) : format.call(null,G__31798,G__31799,G__31800,G__31801));\n} else {\nvar G__31813 = \"Execution error%s at %s(%s).\\n%s\\n\";\nvar G__31814 = cause_type;\nvar G__31815 = (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\" \"].join(''):\"\");\nvar G__31816 = loc;\nvar G__31817 = cause;\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(G__31813,G__31814,G__31815,G__31816,G__31817) : format.call(null,G__31813,G__31814,G__31815,G__31816,G__31817));\n}\n\nbreak;\ndefault:\nthrow (new Error([\"No matching clause: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__31755__$1)].join('')));\n\n}\n});\ncljs.repl.error__GT_str = (function cljs$repl$error__GT_str(error){\nreturn cljs.repl.ex_str(cljs.repl.ex_triage(cljs.repl.Error__GT_map(error)));\n});\n","~:ns-info",["^ ","~:rename-macros",null,"~:renames",["^ "],"~:meta",["^ ","~:file","cljs/repl.cljs","~:line",9,"~:column",5,"~:end-line",9,"~:end-column",14],"~:ns-aliases",["^ ","~$cljs.loader","~$shadow.loader"],"~:use-macros",null,"~:excludes",["~#set",[]],"~:macros",["^ ","~$doc",["^ ","~:arglists",["~#list",[["~$name"]]],"~:doc","Prints documentation for a var or special form given its name,\n or for a spec if given a keyword","^7",1421,"^8",1,"^6","cljs/repl.cljc","~:name","~$cljs.repl/doc","~:ns","~$cljs.repl","~:macro",true],"~$find-doc",["^ ","^C",["^D",[["~$re-string-or-pattern"]]],"^F","Prints documentation for any var whose documentation or name\n contains a match for re-string-or-pattern","^7",1461,"^8",1,"^6","cljs/repl.cljc","^G","~$cljs.repl/find-doc","^I","^J","^K",true],"~$dir",["^ ","^C",["^D",[["~$ns"]]],"^F","Prints a sorted directory of public vars in a namespace","^7",1561,"^8",1,"^6","cljs/repl.cljc","^G","~$cljs.repl/dir","^I","^J","^K",true],"~$pst",["^ ","^C",["^D",[[],["~$e"]]],"^7",1567,"^8",1,"^6","cljs/repl.cljc","^G","~$cljs.repl/pst","^I","^J","^K",true],"~$source",["^ ","^C",["^D",[["~$n"]]],"^F","Prints the source code for the given symbol, if it can find it.\n This requires that the symbol resolve to a Var defined in a\n namespace for which the .cljs is in the classpath.\n\n Example: (source filter)","^7",1520,"^8",1,"^6","cljs/repl.cljc","^G","~$cljs.repl/source","^I","^J","^K",true],"~$apropos",["^ ","^C",["^D",[["~$str-or-pattern"]]],"^F","Given a regular expression or stringable thing, return a seq of all\npublic definitions in all currently-loaded namespaces that match the\nstr-or-pattern.","^7",1536,"^8",1,"^6","cljs/repl.cljc","^G","~$cljs.repl/apropos","^I","^J","^K",true]],"^G","^J","~:op","^I","~:imports",null,"~:requires",["^ ","~$cljs.spec.alpha","^10","~$spec","^10","~$goog.string","^12","~$gstring","^12","~$goog.string.format","^14","~$cljs.core","^15","~$goog","^16"],"~:seen",["^@",["~:require","~:require-macros"]],"~:uses",null,"^19",["^ ","^J","^J","^15","^15","^10","^10","^11","^10"],"~:form",["^D",["^P","^J",["^D",["^19","^J"]],["^D",["^18",["^10","~:as","^11"],["^12","^1<","^13"],["^14"]]]]],"~:flags",["^ ","^19",["^@",[]],"^18",["^@",[]]],"~:js-deps",["^ "],"~:deps",["^16","^15","^10","^12","^14"]],"^I","^J","~:resource-id",["~:shadow.build.classpath/resource","cljs/repl.cljs"],"~:compiled-at",1584073476103,"~:resource-name","cljs/repl.cljs","~:warnings",[],"~:source",";; Copyright (c) Rich Hickey. All rights reserved.\n;; The use and distribution terms for this software are covered by the\n;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)\n;; which can be found in the file epl-v10.html at the root of this distribution.\n;; By using this software in any fashion, you are agreeing to be bound by\n;; the terms of this license.\n;; You must not remove this notice, or any other, from this software.\n\n(ns cljs.repl\n (:require-macros cljs.repl)\n (:require [cljs.spec.alpha :as spec]\n [goog.string :as gstring]\n [goog.string.format]))\n\n(defn print-doc [{n :ns nm :name :as m}]\n (println \"-------------------------\")\n (println (or (:spec m) (str (when-let [ns (:ns m)] (str ns \"/\")) (:name m))))\n (when (:protocol m)\n (println \"Protocol\"))\n (cond\n (:forms m) (doseq [f (:forms m)]\n (println \" \" f))\n (:arglists m) (let [arglists (:arglists m)]\n (if (or (:macro m)\n (:repl-special-function m))\n (prn arglists)\n (prn\n (if (= 'quote (first arglists))\n (second arglists)\n arglists)))))\n (if (:special-form m)\n (do\n (println \"Special Form\")\n (println \" \" (:doc m))\n (if (contains? m :url)\n (when (:url m)\n (println (str \"\\n Please see http://clojure.org/\" (:url m))))\n (println (str \"\\n Please see http://clojure.org/special_forms#\"\n (:name m)))))\n (do\n (when (:macro m)\n (println \"Macro\"))\n (when (:spec m)\n (println \"Spec\"))\n (when (:repl-special-function m)\n (println \"REPL Special Function\"))\n (println \" \" (:doc m))\n (when (:protocol m)\n (doseq [[name {:keys [doc arglists]}] (:methods m)]\n (println)\n (println \" \" name)\n (println \" \" arglists)\n (when doc\n (println \" \" doc))))\n (when n\n (when-let [fnspec (spec/get-spec (symbol (str (ns-name n)) (name nm)))]\n (print \"Spec\")\n (doseq [role [:args :ret :fn]]\n (when-let [spec (get fnspec role)]\n (print (str \"\\n \" (name role) \":\") (spec/describe spec)))))))))\n\n(defn Error->map\n \"Constructs a data representation for a Error with keys:\n :cause - root cause message\n :phase - error phase\n :via - cause chain, with cause keys:\n :type - exception class symbol\n :message - exception message\n :data - ex-data\n :at - top stack element\n :trace - root cause stack elements\"\n [o]\n (let [base (fn [t]\n (merge {:type (cond\n (instance? ExceptionInfo t) 'ExceptionInfo\n (instance? js/Error t) (symbol \"js\" (.-name t))\n :else nil)}\n (when-let [msg (ex-message t)]\n {:message msg})\n (when-let [ed (ex-data t)]\n {:data ed})\n #_(let [st (extract-canonical-stacktrace t)]\n (when (pos? (count st))\n {:at st}))))\n via (loop [via [], t o]\n (if t\n (recur (conj via t) (ex-cause t))\n via))\n root (peek via)]\n (merge {:via (vec (map base via))\n :trace nil #_(extract-canonical-stacktrace (or root o))}\n (when-let [root-msg (ex-message root)]\n {:cause root-msg})\n (when-let [data (ex-data root)]\n {:data data})\n (when-let [phase (-> o ex-data :clojure.error/phase)]\n {:phase phase}))))\n\n(defn ex-triage\n \"Returns an analysis of the phase, error, cause, and location of an error that occurred\n based on Throwable data, as returned by Throwable->map. All attributes other than phase\n are optional:\n :clojure.error/phase - keyword phase indicator, one of:\n :read-source :compile-syntax-check :compilation :macro-syntax-check :macroexpansion\n :execution :read-eval-result :print-eval-result\n :clojure.error/source - file name (no path)\n :clojure.error/line - integer line number\n :clojure.error/column - integer column number\n :clojure.error/symbol - symbol being expanded/compiled/invoked\n :clojure.error/class - cause exception class symbol\n :clojure.error/cause - cause exception message\n :clojure.error/spec - explain-data for spec error\"\n [datafied-throwable]\n (let [{:keys [via trace phase] :or {phase :execution}} datafied-throwable\n {:keys [type message data]} (last via)\n {:cljs.spec.alpha/keys [problems fn] :cljs.spec.test.alpha/keys [caller]} data\n {:keys [:clojure.error/source] :as top-data} (:data (first via))]\n (assoc\n (case phase\n :read-source\n (let [{:keys [:clojure.error/line :clojure.error/column]} data]\n (cond-> (merge (-> via second :data) top-data)\n source (assoc :clojure.error/source source)\n (#{\"NO_SOURCE_FILE\" \"NO_SOURCE_PATH\"} source) (dissoc :clojure.error/source)\n message (assoc :clojure.error/cause message)))\n\n (:compile-syntax-check :compilation :macro-syntax-check :macroexpansion)\n (cond-> top-data\n source (assoc :clojure.error/source source)\n (#{\"NO_SOURCE_FILE\" \"NO_SOURCE_PATH\"} source) (dissoc :clojure.error/source)\n type (assoc :clojure.error/class type)\n message (assoc :clojure.error/cause message)\n problems (assoc :clojure.error/spec data))\n\n (:read-eval-result :print-eval-result)\n (let [[source method file line] (-> trace first)]\n (cond-> top-data\n line (assoc :clojure.error/line line)\n file (assoc :clojure.error/source file)\n (and source method) (assoc :clojure.error/symbol (vector #_java-loc->source source method))\n type (assoc :clojure.error/class type)\n message (assoc :clojure.error/cause message)))\n\n :execution\n (let [[source method file line] (->> trace #_(drop-while #(core-class? (name (first %)))) first)\n file (first (remove #(or (nil? %) (#{\"NO_SOURCE_FILE\" \"NO_SOURCE_PATH\"} %)) [(:file caller) file]))\n err-line (or (:line caller) line)]\n (cond-> {:clojure.error/class type}\n err-line (assoc :clojure.error/line err-line)\n message (assoc :clojure.error/cause message)\n (or fn (and source method)) (assoc :clojure.error/symbol (or fn (vector #_java-loc->source source method)))\n file (assoc :clojure.error/source file)\n problems (assoc :clojure.error/spec data))))\n :clojure.error/phase phase)))\n\n(defn ex-str\n \"Returns a string from exception data, as produced by ex-triage.\n The first line summarizes the exception phase and location.\n The subsequent lines describe the cause.\"\n [{:clojure.error/keys [phase source line column symbol class cause spec] :as triage-data}]\n (let [loc (str (or source \"<cljs repl>\") \":\" (or line 1) (if column (str \":\" column) \"\"))\n class-name (name (or class \"\"))\n simple-class class-name\n cause-type (if (contai