// Compiled by ClojureScript 1.10.520 {} goog.provide('cljs.stacktrace'); goog.require('cljs.core'); goog.require('goog.string'); goog.require('clojure.string'); if((typeof cljs !== 'undefined') && (typeof cljs.stacktrace !== 'undefined') && (typeof cljs.stacktrace.parse_stacktrace !== 'undefined')){ } else { /** * Parse a JavaScript stacktrace string into a canonical data form. The * arguments: * * repl-env - the repl environment, an optional map with :host and :port keys * if the stacktrace includes url, not file references * st - the original stacktrace string to parse * err - an error map. :ua-product key defines the type of stacktrace parser * to use, for example :chrome * opts - additional options. :output-dir maybe given in this argument if * :host and :port do not apply, for example, a file path * * The canonical stacktrace representation can easily be mapped to a * ClojureScript one see mapped-stacktrace and mapped-stacktrace-str */ cljs.stacktrace.parse_stacktrace = (function (){var method_table__4613__auto__ = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY); var prefer_table__4614__auto__ = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY); var method_cache__4615__auto__ = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY); var cached_hierarchy__4616__auto__ = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY); var hierarchy__4617__auto__ = cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null)); return (new cljs.core.MultiFn(cljs.core.symbol.call(null,"cljs.stacktrace","parse-stacktrace"),((function (method_table__4613__auto__,prefer_table__4614__auto__,method_cache__4615__auto__,cached_hierarchy__4616__auto__,hierarchy__4617__auto__){ return (function (repl_env,st,err,opts){ return new cljs.core.Keyword(null,"ua-product","ua-product",938384227).cljs$core$IFn$_invoke$arity$1(err); });})(method_table__4613__auto__,prefer_table__4614__auto__,method_cache__4615__auto__,cached_hierarchy__4616__auto__,hierarchy__4617__auto__)) ,new cljs.core.Keyword(null,"default","default",-1987822328),hierarchy__4617__auto__,method_table__4613__auto__,prefer_table__4614__auto__,method_cache__4615__auto__,cached_hierarchy__4616__auto__)); })(); } cljs.stacktrace.parse_int = (function cljs$stacktrace$parse_int(s){ return parseInt(s,(10)); }); cljs.stacktrace.starts_with_QMARK_ = (function cljs$stacktrace$starts_with_QMARK_(s0,s1){ return goog.string.startsWith(s0,s1); }); cljs.stacktrace.ends_with_QMARK_ = (function cljs$stacktrace$ends_with_QMARK_(s0,s1){ return goog.string.endsWith(s0,s1); }); cljs.stacktrace.string__GT_regex = (function cljs$stacktrace$string__GT_regex(s){ return (new RegExp(s)); }); cljs.stacktrace.output_directory = (function cljs$stacktrace$output_directory(opts){ var or__4131__auto__ = new cljs.core.Keyword(null,"output-dir","output-dir",-290956991).cljs$core$IFn$_invoke$arity$1(opts); if(cljs.core.truth_(or__4131__auto__)){ return or__4131__auto__; } else { return "out"; } }); cljs.core._add_method.call(null,cljs.stacktrace.parse_stacktrace,new cljs.core.Keyword(null,"default","default",-1987822328),(function (repl_env,st,err,opts){ return st; })); cljs.stacktrace.parse_file_line_column = (function cljs$stacktrace$parse_file_line_column(flc){ if(cljs.core.not.call(null,cljs.core.re_find.call(null,/:/,flc))){ return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [flc,null,null], null); } else { var xs = clojure.string.split.call(null,flc,/:/); var vec__28173 = cljs.core.reduce.call(null,((function (xs){ return (function (p__28179,p__28180){ var vec__28181 = p__28179; var pre = cljs.core.nth.call(null,vec__28181,(0),null); var post = cljs.core.nth.call(null,vec__28181,(1),null); var vec__28184 = p__28180; var x = cljs.core.nth.call(null,vec__28184,(0),null); var i = cljs.core.nth.call(null,vec__28184,(1),null); if((i <= (2))){ return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [pre,cljs.core.conj.call(null,post,x)], null); } else { return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.conj.call(null,pre,x),post], null); } });})(xs)) ,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY], null),cljs.core.map.call(null,cljs.core.vector,xs,cljs.core.range.call(null,cljs.core.count.call(null,xs),(0),(-1)))); var pre = cljs.core.nth.call(null,vec__28173,(0),null); var vec__28176 = cljs.core.nth.call(null,vec__28173,(1),null); var line = cljs.core.nth.call(null,vec__28176,(0),null); var column = cljs.core.nth.call(null,vec__28176,(1),null); var file = clojure.string.join.call(null,":",pre); return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var G__28187 = file; if(cljs.stacktrace.starts_with_QMARK_.call(null,file,"(")){ return clojure.string.replace.call(null,G__28187,"(",""); } else { return G__28187; } })(),cljs.stacktrace.parse_int.call(null,(function (){var G__28188 = line; if(cljs.stacktrace.ends_with_QMARK_.call(null,line,")")){ return clojure.string.replace.call(null,G__28188,")",""); } else { return G__28188; } })()),cljs.stacktrace.parse_int.call(null,(function (){var G__28189 = column; if(cljs.stacktrace.ends_with_QMARK_.call(null,column,")")){ return clojure.string.replace.call(null,G__28189,")",""); } else { return G__28189; } })())], null); } }); /** * Given a browser file url convert it into a relative path that can be used * to locate the original source. */ cljs.stacktrace.parse_file = (function cljs$stacktrace$parse_file(p__28190,file,p__28191){ var map__28192 = p__28190; var map__28192__$1 = (((((!((map__28192 == null))))?(((((map__28192.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28192.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28192):map__28192); var repl_env = map__28192__$1; var host = cljs.core.get.call(null,map__28192__$1,new cljs.core.Keyword(null,"host","host",-1558485167)); var host_port = cljs.core.get.call(null,map__28192__$1,new cljs.core.Keyword(null,"host-port","host-port",1956551772)); var port = cljs.core.get.call(null,map__28192__$1,new cljs.core.Keyword(null,"port","port",1534937262)); var map__28193 = p__28191; var map__28193__$1 = (((((!((map__28193 == null))))?(((((map__28193.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28193.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28193):map__28193); var opts = map__28193__$1; var asset_path = cljs.core.get.call(null,map__28193__$1,new cljs.core.Keyword(null,"asset-path","asset-path",1500889617)); var urlpat = (cljs.core.truth_(host)?cljs.stacktrace.string__GT_regex.call(null,["http://",cljs.core.str.cljs$core$IFn$_invoke$arity$1(host),":",cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__4131__auto__ = host_port; if(cljs.core.truth_(or__4131__auto__)){ return or__4131__auto__; } else { return port; } })()),"/"].join('')):""); var match = (cljs.core.truth_(host)?cljs.core.re_find.call(null,urlpat,file):cljs.core.contains_QMARK_.call(null,opts,new cljs.core.Keyword(null,"output-dir","output-dir",-290956991))); if(cljs.core.truth_(match)){ return clojure.string.replace.call(null,clojure.string.replace.call(null,file,urlpat,""),cljs.stacktrace.string__GT_regex.call(null,["^",cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__4131__auto__ = (function (){var and__4120__auto__ = asset_path; if(cljs.core.truth_(and__4120__auto__)){ return clojure.string.replace.call(null,asset_path,/^\//,""); } else { return and__4120__auto__; } })(); if(cljs.core.truth_(or__4131__auto__)){ return or__4131__auto__; } else { return cljs.stacktrace.output_directory.call(null,opts); } })()),"/"].join('')),""); } else { var temp__5718__auto__ = new cljs.core.Keyword(null,"asset-root","asset-root",1771735072).cljs$core$IFn$_invoke$arity$1(opts); if(cljs.core.truth_(temp__5718__auto__)){ var asset_root = temp__5718__auto__; return clojure.string.replace.call(null,file,asset_root,""); } else { throw cljs.core.ex_info.call(null,["Could not relativize URL ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(file)].join(''),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"parse-stacktrace","parse-stacktrace",-38208461),new cljs.core.Keyword(null,"reason","reason",-2070751759),new cljs.core.Keyword(null,"relativize-url","relativize-url",621482324)], null)); } } }); cljs.stacktrace.chrome_st_el__GT_frame = (function cljs$stacktrace$chrome_st_el__GT_frame(repl_env,st_el,opts){ var xs = clojure.string.split.call(null,clojure.string.replace.call(null,st_el,/\s+at\s+/,""),/\s+/); var vec__28196 = ((((1) === cljs.core.count.call(null,xs)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.first.call(null,xs)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first.call(null,xs),cljs.core.last.call(null,xs)], null)); var function$ = cljs.core.nth.call(null,vec__28196,(0),null); var flc = cljs.core.nth.call(null,vec__28196,(1),null); var vec__28199 = cljs.stacktrace.parse_file_line_column.call(null,flc); var file = cljs.core.nth.call(null,vec__28199,(0),null); var line = cljs.core.nth.call(null,vec__28199,(1),null); var column = cljs.core.nth.call(null,vec__28199,(2),null); if(cljs.core.truth_((function (){var and__4120__auto__ = file; if(cljs.core.truth_(and__4120__auto__)){ var and__4120__auto____$1 = function$; if(cljs.core.truth_(and__4120__auto____$1)){ var and__4120__auto____$2 = line; if(cljs.core.truth_(and__4120__auto____$2)){ return column; } else { return and__4120__auto____$2; } } else { return and__4120__auto____$1; } } else { return and__4120__auto__; } })())){ return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"file","file",-1269645878),cljs.stacktrace.parse_file.call(null,repl_env,file,opts),new cljs.core.Keyword(null,"function","function",-2127255473),clojure.string.replace.call(null,function$,/Object\./,""),new cljs.core.Keyword(null,"line","line",212345235),line,new cljs.core.Keyword(null,"column","column",2078222095),column], null); } else { if(clojure.string.blank_QMARK_.call(null,function$)){ return null; } else { return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"file","file",-1269645878),null,new cljs.core.Keyword(null,"function","function",-2127255473),clojure.string.replace.call(null,function$,/Object\./,""),new cljs.core.Keyword(null,"line","line",212345235),null,new cljs.core.Keyword(null,"column","column",2078222095),null], null); } } }); cljs.core._add_method.call(null,cljs.stacktrace.parse_stacktrace,new cljs.core.Keyword(null,"chrome","chrome",1718738387),(function (repl_env,st,err,opts){ return cljs.core.vec.call(null,cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,(function (p1__28204_SHARP_){ return cljs.stacktrace.chrome_st_el__GT_frame.call(null,repl_env,p1__28204_SHARP_,opts); }),cljs.core.take_while.call(null,(function (p1__28203_SHARP_){ return (!(cljs.stacktrace.starts_with_QMARK_.call(null,p1__28203_SHARP_," at eval"))); }),cljs.core.drop_while.call(null,(function (p1__28202_SHARP_){ return cljs.stacktrace.starts_with_QMARK_.call(null,p1__28202_SHARP_,"Error"); }),clojure.string.split_lines.call(null,st)))))); })); cljs.stacktrace.safari_st_el__GT_frame = (function cljs$stacktrace$safari_st_el__GT_frame(repl_env,st_el,opts){ var vec__28205 = (cljs.core.truth_(cljs.core.re_find.call(null,/@/,st_el))?clojure.string.split.call(null,st_el,/@/):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,st_el], null)); var function$ = cljs.core.nth.call(null,vec__28205,(0),null); var flc = cljs.core.nth.call(null,vec__28205,(1),null); var vec__28208 = cljs.stacktrace.parse_file_line_column.call(null,flc); var file = cljs.core.nth.call(null,vec__28208,(0),null); var line = cljs.core.nth.call(null,vec__28208,(1),null); var column = cljs.core.nth.call(null,vec__28208,(2),null); if(cljs.core.truth_((function (){var and__4120__auto__ = file; if(cljs.core.truth_(and__4120__auto__)){ var and__4120__auto____$1 = function$; if(cljs.core.truth_(and__4120__auto____$1)){ var and__4120__auto____$2 = line; if(cljs.core.truth_(and__4120__auto____$2)){ return column; } else { return and__4120__auto____$2; } } else { return and__4120__auto____$1; } } else { return and__4120__auto__; } })())){ return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"file","file",-1269645878),cljs.stacktrace.parse_file.call(null,repl_env,file,opts),new cljs.core.Keyword(null,"function","function",-2127255473),clojure.string.trim.call(null,function$),new cljs.core.Keyword(null,"line","line",212345235),line,new cljs.core.Keyword(null,"column","column",2078222095),column], null); } else { if(clojure.string.blank_QMARK_.call(null,function$)){ return null; } else { return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"file","file",-1269645878),null,new cljs.core.Keyword(null,"function","function",-2127255473),clojure.string.trim.call(null,function$),new cljs.core.Keyword(null,"line","line",212345235),null,new cljs.core.Keyword(null,"column","column",2078222095),null], null); } } }); cljs.core._add_method.call(null,cljs.stacktrace.parse_stacktrace,new cljs.core.Keyword(null,"safari","safari",497115653),(function (repl_env,st,err,opts){ return cljs.core.vec.call(null,cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,(function (p1__28213_SHARP_){ return cljs.stacktrace.safari_st_el__GT_frame.call(null,repl_env,p1__28213_SHARP_,opts); }),cljs.core.remove.call(null,clojure.string.blank_QMARK_,cljs.core.take_while.call(null,(function (p1__28212_SHARP_){ return (!(cljs.stacktrace.starts_with_QMARK_.call(null,p1__28212_SHARP_,"eval code"))); }),cljs.core.drop_while.call(null,(function (p1__28211_SHARP_){ return cljs.stacktrace.starts_with_QMARK_.call(null,p1__28211_SHARP_,"Error"); }),clojure.string.split_lines.call(null,st))))))); })); cljs.stacktrace.firefox_clean_function = (function cljs$stacktrace$firefox_clean_function(f){ var f__$1 = f; var f__$2 = ((clojure.string.blank_QMARK_.call(null,f__$1))?null:((cljs.core.not_EQ_.call(null,f__$1.indexOf(" eval"),(-1)); }),cljs.core.drop_while.call(null,(function (p1__28220_SHARP_){ return cljs.stacktrace.starts_with_QMARK_.call(null,p1__28220_SHARP_,"Error"); }),clojure.string.split_lines.call(null,st))))))); })); cljs.core._add_method.call(null,cljs.stacktrace.parse_stacktrace,new cljs.core.Keyword(null,"rhino","rhino",1962118035),(function (repl_env,st,err,p__28223){ var map__28224 = p__28223; var map__28224__$1 = (((((!((map__28224 == null))))?(((((map__28224.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28224.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28224):map__28224); var opts = map__28224__$1; var output_dir = cljs.core.get.call(null,map__28224__$1,new cljs.core.Keyword(null,"output-dir","output-dir",-290956991)); var process_frame = ((function (map__28224,map__28224__$1,opts,output_dir){ return (function cljs$stacktrace$process_frame(frame_str){ if(((clojure.string.blank_QMARK_.call(null,frame_str)) || (((-1) === frame_str.indexOf("\tat"))))){ return null; } else { var vec__28232 = clojure.string.split.call(null,frame_str,/:/); var file_side = cljs.core.nth.call(null,vec__28232,(0),null); var line_fn_side = cljs.core.nth.call(null,vec__28232,(1),null); var file = clojure.string.replace.call(null,file_side,/\s+at\s+/,""); var vec__28235 = clojure.string.split.call(null,line_fn_side,/\s+/); var line = cljs.core.nth.call(null,vec__28235,(0),null); var function$ = cljs.core.nth.call(null,vec__28235,(1),null); return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"file","file",-1269645878),clojure.string.replace.call(null,file,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(output_dir),"/"].join(''),""),new cljs.core.Keyword(null,"function","function",-2127255473),(cljs.core.truth_(function$)?clojure.string.replace.call(null,clojure.string.replace.call(null,function$,"(",""),")",""):null),new cljs.core.Keyword(null,"line","line",212345235),(cljs.core.truth_((function (){var and__4120__auto__ = line; if(cljs.core.truth_(and__4120__auto__)){ return (!(clojure.string.blank_QMARK_.call(null,line))); } else { return and__4120__auto__; } })())?cljs.stacktrace.parse_int.call(null,line):null),new cljs.core.Keyword(null,"column","column",2078222095),(0)], null); } });})(map__28224,map__28224__$1,opts,output_dir)) ; return cljs.core.vec.call(null,cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,process_frame,clojure.string.split.call(null,st,/\n/)))); })); cljs.core._add_method.call(null,cljs.stacktrace.parse_stacktrace,new cljs.core.Keyword(null,"nashorn","nashorn",988299963),(function (repl_env,st,err,p__28238){ var map__28239 = p__28238; var map__28239__$1 = (((((!((map__28239 == null))))?(((((map__28239.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28239.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28239):map__28239); var opts = map__28239__$1; var output_dir = cljs.core.get.call(null,map__28239__$1,new cljs.core.Keyword(null,"output-dir","output-dir",-290956991)); var process_frame = ((function (map__28239,map__28239__$1,opts,output_dir){ return (function cljs$stacktrace$process_frame(frame_str){ if(((clojure.string.blank_QMARK_.call(null,frame_str)) || (((-1) === frame_str.indexOf("\tat"))))){ return null; } else { var frame_str__$1 = clojure.string.replace.call(null,frame_str,/\s+at\s+/,""); var vec__28247 = clojure.string.split.call(null,frame_str__$1,/\s+/); var function$ = cljs.core.nth.call(null,vec__28247,(0),null); var file_and_line = cljs.core.nth.call(null,vec__28247,(1),null); var vec__28250 = clojure.string.split.call(null,file_and_line,/:/); var file_part = cljs.core.nth.call(null,vec__28250,(0),null); var line_part = cljs.core.nth.call(null,vec__28250,(1),null); return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"file","file",-1269645878),clojure.string.replace.call(null,file_part.substring((1)),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(output_dir),"/"].join(''),""),new cljs.core.Keyword(null,"function","function",-2127255473),function$,new cljs.core.Keyword(null,"line","line",212345235),(cljs.core.truth_((function (){var and__4120__auto__ = line_part; if(cljs.core.truth_(and__4120__auto__)){ return (!(clojure.string.blank_QMARK_.call(null,line_part))); } else { return and__4120__auto__; } })())?cljs.stacktrace.parse_int.call(null,line_part.substring((0),(cljs.core.count.call(null,line_part) - (1)))):null),new cljs.core.Keyword(null,"column","column",2078222095),(0)], null); } });})(map__28239,map__28239__$1,opts,output_dir)) ; return cljs.core.vec.call(null,cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,process_frame,clojure.string.split.call(null,st,/\n/)))); })); cljs.core._add_method.call(null,cljs.stacktrace.parse_stacktrace,new cljs.core.Keyword(null,"graaljs","graaljs",1880468686),(function (repl_env,st,err,p__28253){ var map__28254 = p__28253; var map__28254__$1 = (((((!((map__28254 == null))))?(((((map__28254.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28254.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28254):map__28254); var opts = map__28254__$1; var output_dir = cljs.core.get.call(null,map__28254__$1,new cljs.core.Keyword(null,"output-dir","output-dir",-290956991)); var process_frame = ((function (map__28254,map__28254__$1,opts,output_dir){ return (function cljs$stacktrace$process_frame(frame_str){ if(clojure.string.blank_QMARK_.call(null,frame_str)){ return null; } else { var vec__28262 = clojure.string.split.call(null,frame_str,/\(/); var function$ = cljs.core.nth.call(null,vec__28262,(0),null); var file_and_line = cljs.core.nth.call(null,vec__28262,(1),null); var vec__28265 = clojure.string.split.call(null,file_and_line,/:/); var file_part = cljs.core.nth.call(null,vec__28265,(0),null); var line_part = cljs.core.nth.call(null,vec__28265,(1),null); return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"file","file",-1269645878),clojure.string.replace.call(null,file_part,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(output_dir),"/"].join(''),""),new cljs.core.Keyword(null,"function","function",-2127255473),function$,new cljs.core.Keyword(null,"line","line",212345235),(cljs.core.truth_((function (){var and__4120__auto__ = line_part; if(cljs.core.truth_(and__4120__auto__)){ return (!(clojure.string.blank_QMARK_.call(null,line_part))); } else { return and__4120__auto__; } })())?cljs.stacktrace.parse_int.call(null,line_part.substring((0),(cljs.core.count.call(null,line_part) - (1)))):null),new cljs.core.Keyword(null,"column","column",2078222095),(0)], null); } });})(map__28254,map__28254__$1,opts,output_dir)) ; return cljs.core.vec.call(null,cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,process_frame,clojure.string.split.call(null,st,/\n/)))); })); cljs.core._add_method.call(null,cljs.stacktrace.parse_stacktrace,new cljs.core.Keyword(null,"nodejs","nodejs",321212524),(function (repl_env,st,err,p__28268){ var map__28269 = p__28268; var map__28269__$1 = (((((!((map__28269 == null))))?(((((map__28269.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28269.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28269):map__28269); var opts = map__28269__$1; var output_dir = cljs.core.get.call(null,map__28269__$1,new cljs.core.Keyword(null,"output-dir","output-dir",-290956991)); var parse_source_loc_info = ((function (map__28269,map__28269__$1,opts,output_dir){ return (function cljs$stacktrace$parse_source_loc_info(x){ if(cljs.core.truth_((function (){var and__4120__auto__ = x; if(cljs.core.truth_(and__4120__auto__)){ return (!(clojure.string.blank_QMARK_.call(null,x))); } else { return and__4120__auto__; } })())){ return cljs.stacktrace.parse_int.call(null,x); } else { return null; } });})(map__28269,map__28269__$1,opts,output_dir)) ; var process_frame = ((function (map__28269,map__28269__$1,opts,output_dir){ return (function cljs$stacktrace$process_frame(frame_str){ if(((clojure.string.blank_QMARK_.call(null,frame_str)) || ((cljs.core.re_find.call(null,/^\s+at/,frame_str) == null)))){ return null; } else { var frame_str__$1 = clojure.string.replace.call(null,frame_str,/\s+at\s+/,""); if(clojure.string.starts_with_QMARK_.call(null,frame_str__$1,"repl:")){ return null; } else { var parts = clojure.string.split.call(null,frame_str__$1,/\s+/); var vec__28278 = ((((2) === cljs.core.count.call(null,parts)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first.call(null,parts),cljs.core.subs.call(null,cljs.core.second.call(null,parts),(1),(cljs.core.count.call(null,cljs.core.second.call(null,parts)) - (1)))], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.first.call(null,parts)], null)); var function$ = cljs.core.nth.call(null,vec__28278,(0),null); var file_AMPERSAND_line = cljs.core.nth.call(null,vec__28278,(1),null); var vec__28281 = clojure.string.split.call(null,file_AMPERSAND_line,/:/); var file_part = cljs.core.nth.call(null,vec__28281,(0),null); var line_part = cljs.core.nth.call(null,vec__28281,(1),null); var col_part = cljs.core.nth.call(null,vec__28281,(2),null); return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"file","file",-1269645878),(cljs.core.truth_(function$)?(function (){var G__28284 = file_part; if(cljs.core.truth_(output_dir)){ return clojure.string.replace.call(null,G__28284,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(output_dir),"/"].join(''),""); } else { return G__28284; } })():file_part),new cljs.core.Keyword(null,"function","function",-2127255473),function$,new cljs.core.Keyword(null,"line","line",212345235),parse_source_loc_info.call(null,line_part),new cljs.core.Keyword(null,"column","column",2078222095),parse_source_loc_info.call(null,col_part)], null); } } });})(map__28269,map__28269__$1,opts,output_dir)) ; return cljs.core.vec.call(null,cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,process_frame,clojure.string.split.call(null,st,/\n/)))); })); cljs.stacktrace.remove_ext = (function cljs$stacktrace$remove_ext(file){ return clojure.string.replace.call(null,clojure.string.replace.call(null,clojure.string.replace.call(null,clojure.string.replace.call(null,file,/\.js$/,""),/\.cljs$/,""),/\.cljc$/,""),/\.clj$/,""); }); /** * Given a cljs.source-map source map data structure map a generated line * and column back to the original line, column, and function called. */ cljs.stacktrace.mapped_line_column_call = (function cljs$stacktrace$mapped_line_column_call(sms,file,line,column){ var source_map = cljs.core.get.call(null,sms,cljs.core.symbol.call(null,clojure.string.replace.call(null,cljs.stacktrace.remove_ext.call(null,file),"/","."))); var get_best_column = ((function (source_map){ return (function cljs$stacktrace$mapped_line_column_call_$_get_best_column(columns,column__$1){ return cljs.core.last.call(null,(function (){var or__4131__auto__ = cljs.core.get.call(null,columns,cljs.core.last.call(null,cljs.core.filter.call(null,((function (source_map){ return (function (p1__28285_SHARP_){ return (p1__28285_SHARP_ <= (column__$1 - (1))); });})(source_map)) ,cljs.core.sort.call(null,cljs.core.keys.call(null,columns))))); if(cljs.core.truth_(or__4131__auto__)){ return or__4131__auto__; } else { return cljs.core.second.call(null,cljs.core.first.call(null,columns)); } })()); });})(source_map)) ; var adjust = ((function (source_map){ return (function cljs$stacktrace$mapped_line_column_call_$_adjust(mapped){ return cljs.core.vec.call(null,cljs.core.map.call(null,((function (source_map){ return (function (p1__28286_SHARP_,p2__28287_SHARP_){ return p1__28286_SHARP_.call(null,p2__28287_SHARP_); });})(source_map)) ,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.inc,cljs.core.inc,cljs.core.identity], null),mapped)); });})(source_map)) ; var default$ = new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [line,column,null], null); var temp__5718__auto__ = cljs.core.get.call(null,source_map,(line - (1))); if(cljs.core.truth_(temp__5718__auto__)){ var columns = temp__5718__auto__; return adjust.call(null,cljs.core.map.call(null,get_best_column.call(null,columns,column),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"col","col",-1959363084),new cljs.core.Keyword(null,"name","name",1843675177)], null))); } else { return default$; } }); /** * Given opts and a canonicalized JavaScript stacktrace frame, return the * ClojureScript frame. */ cljs.stacktrace.mapped_frame = (function cljs$stacktrace$mapped_frame(p__28288,sms,opts){ var map__28289 = p__28288; var map__28289__$1 = (((((!((map__28289 == null))))?(((((map__28289.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28289.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28289):map__28289); var function$ = cljs.core.get.call(null,map__28289__$1,new cljs.core.Keyword(null,"function","function",-2127255473)); var file = cljs.core.get.call(null,map__28289__$1,new cljs.core.Keyword(null,"file","file",-1269645878)); var line = cljs.core.get.call(null,map__28289__$1,new cljs.core.Keyword(null,"line","line",212345235)); var column = cljs.core.get.call(null,map__28289__$1,new cljs.core.Keyword(null,"column","column",2078222095)); var no_source_file_QMARK_ = ((cljs.core.not.call(null,file))?true:cljs.stacktrace.starts_with_QMARK_.call(null,file,"<")); var vec__28291 = ((no_source_file_QMARK_)?new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [line,column,null], null):cljs.stacktrace.mapped_line_column_call.call(null,sms,file,line,column)); var line_SINGLEQUOTE_ = cljs.core.nth.call(null,vec__28291,(0),null); var column_SINGLEQUOTE_ = cljs.core.nth.call(null,vec__28291,(1),null); var call = cljs.core.nth.call(null,vec__28291,(2),null); var file_SINGLEQUOTE_ = ((no_source_file_QMARK_)?null:((cljs.stacktrace.ends_with_QMARK_.call(null,file,".js"))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,file,(0),(cljs.core.count.call(null,file) - (3)))),".cljs"].join(''):file)); return new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"function","function",-2127255473),function$,new cljs.core.Keyword(null,"call","call",-519999866),call,new cljs.core.Keyword(null,"file","file",-1269645878),((no_source_file_QMARK_)?["NO_SOURCE_FILE",(cljs.core.truth_(file)?[" ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(file)].join(''):null)].join(''):file_SINGLEQUOTE_),new cljs.core.Keyword(null,"line","line",212345235),line_SINGLEQUOTE_,new cljs.core.Keyword(null,"column","column",2078222095),column_SINGLEQUOTE_], null); }); /** * Given a vector representing the canonicalized JavaScript stacktrace * return the ClojureScript stacktrace. The canonical stacktrace must be * in the form: * * [{:file * :function * :line * :column }*] * * :file must be a URL path (without protocol) relative to :output-dir or a * identifier delimited by angle brackets. The returned mapped stacktrace will * also contain :url entries to the original sources if it can be determined * from the classpath. */ cljs.stacktrace.mapped_stacktrace = (function cljs$stacktrace$mapped_stacktrace(var_args){ var G__28297 = arguments.length; switch (G__28297) { case 2: return cljs.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)])); break; case 3: return cljs.stacktrace.mapped_stacktrace.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.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$2 = (function (stacktrace,sms){ return cljs.stacktrace.mapped_stacktrace.call(null,stacktrace,sms,null); }); cljs.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$3 = (function (stacktrace,sms,opts){ var call__GT_function = (function cljs$stacktrace$call__GT_function(x){ if(cljs.core.truth_(new cljs.core.Keyword(null,"call","call",-519999866).cljs$core$IFn$_invoke$arity$1(x))){ return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"function","function",-2127255473)],[new cljs.core.Keyword(null,"call","call",-519999866).cljs$core$IFn$_invoke$arity$1(x)]); } else { return cljs.core.PersistentArrayMap.EMPTY; } }); var call_merge = (function cljs$stacktrace$call_merge(function$,call){ return cljs.core.merge_with.call(null,(function (munged_fn_name,unmunged_call_name){ if(cljs.core._EQ_.call(null,munged_fn_name,clojure.string.replace.call(null,cljs.core.munge.call(null,unmunged_call_name),".","$"))){ return unmunged_call_name; } else { return munged_fn_name; } }),function$,call); }); var mapped_frames = cljs.core.map.call(null,cljs.core.memoize.call(null,(function (p1__28294_SHARP_){ return cljs.stacktrace.mapped_frame.call(null,p1__28294_SHARP_,sms,opts); })),stacktrace); return cljs.core.vec.call(null,cljs.core.map.call(null,call_merge,cljs.core.map.call(null,((function (mapped_frames){ return (function (p1__28295_SHARP_){ return cljs.core.dissoc.call(null,p1__28295_SHARP_,new cljs.core.Keyword(null,"call","call",-519999866)); });})(mapped_frames)) ,mapped_frames),cljs.core.concat.call(null,cljs.core.rest.call(null,cljs.core.map.call(null,call__GT_function,mapped_frames)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.PersistentArrayMap.EMPTY], null)))); }); cljs.stacktrace.mapped_stacktrace.cljs$lang$maxFixedArity = 3; /** * Given a vector representing the canonicalized JavaScript stacktrace and a map * of library names to decoded source maps, print the ClojureScript stacktrace . * See mapped-stacktrace. */ cljs.stacktrace.mapped_stacktrace_str = (function cljs$stacktrace$mapped_stacktrace_str(var_args){ var G__28300 = arguments.length; switch (G__28300) { case 2: return cljs.stacktrace.mapped_stacktrace_str.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)])); break; case 3: return cljs.stacktrace.mapped_stacktrace_str.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.stacktrace.mapped_stacktrace_str.cljs$core$IFn$_invoke$arity$2 = (function (stacktrace,sms){ return cljs.stacktrace.mapped_stacktrace_str.call(null,stacktrace,sms,null); }); cljs.stacktrace.mapped_stacktrace_str.cljs$core$IFn$_invoke$arity$3 = (function (stacktrace,sms,opts){ var sb__4661__auto__ = (new goog.string.StringBuffer()); var _STAR_print_newline_STAR__orig_val__28301_28318 = cljs.core._STAR_print_newline_STAR_; var _STAR_print_fn_STAR__orig_val__28302_28319 = cljs.core._STAR_print_fn_STAR_; var _STAR_print_newline_STAR__temp_val__28303_28320 = true; var _STAR_print_fn_STAR__temp_val__28304_28321 = ((function (_STAR_print_newline_STAR__orig_val__28301_28318,_STAR_print_fn_STAR__orig_val__28302_28319,_STAR_print_newline_STAR__temp_val__28303_28320,sb__4661__auto__){ return (function (x__4662__auto__){ return sb__4661__auto__.append(x__4662__auto__); });})(_STAR_print_newline_STAR__orig_val__28301_28318,_STAR_print_fn_STAR__orig_val__28302_28319,_STAR_print_newline_STAR__temp_val__28303_28320,sb__4661__auto__)) ; cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR__temp_val__28303_28320; cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__temp_val__28304_28321; try{var seq__28305_28322 = cljs.core.seq.call(null,cljs.stacktrace.mapped_stacktrace.call(null,stacktrace,sms,opts)); var chunk__28306_28323 = null; var count__28307_28324 = (0); var i__28308_28325 = (0); while(true){ if((i__28308_28325 < count__28307_28324)){ var map__28313_28326 = cljs.core._nth.call(null,chunk__28306_28323,i__28308_28325); var map__28313_28327__$1 = (((((!((map__28313_28326 == null))))?(((((map__28313_28326.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28313_28326.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28313_28326):map__28313_28326); var function_28328 = cljs.core.get.call(null,map__28313_28327__$1,new cljs.core.Keyword(null,"function","function",-2127255473)); var file_28329 = cljs.core.get.call(null,map__28313_28327__$1,new cljs.core.Keyword(null,"file","file",-1269645878)); var line_28330 = cljs.core.get.call(null,map__28313_28327__$1,new cljs.core.Keyword(null,"line","line",212345235)); var column_28331 = cljs.core.get.call(null,map__28313_28327__$1,new cljs.core.Keyword(null,"column","column",2078222095)); cljs.core.println.call(null,"\t",[(cljs.core.truth_(function_28328)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(function_28328)," "].join(''):null),"(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(file_28329),(cljs.core.truth_(line_28330)?[":",cljs.core.str.cljs$core$IFn$_invoke$arity$1(line_28330)].join(''):null),(cljs.core.truth_(column_28331)?[":",cljs.core.str.cljs$core$IFn$_invoke$arity$1(column_28331)].join(''):null),")"].join('')); var G__28332 = seq__28305_28322; var G__28333 = chunk__28306_28323; var G__28334 = count__28307_28324; var G__28335 = (i__28308_28325 + (1)); seq__28305_28322 = G__28332; chunk__28306_28323 = G__28333; count__28307_28324 = G__28334; i__28308_28325 = G__28335; continue; } else { var temp__5720__auto___28336 = cljs.core.seq.call(null,seq__28305_28322); if(temp__5720__auto___28336){ var seq__28305_28337__$1 = temp__5720__auto___28336; if(cljs.core.chunked_seq_QMARK_.call(null,seq__28305_28337__$1)){ var c__4550__auto___28338 = cljs.core.chunk_first.call(null,seq__28305_28337__$1); var G__28339 = cljs.core.chunk_rest.call(null,seq__28305_28337__$1); var G__28340 = c__4550__auto___28338; var G__28341 = cljs.core.count.call(null,c__4550__auto___28338); var G__28342 = (0); seq__28305_28322 = G__28339; chunk__28306_28323 = G__28340; count__28307_28324 = G__28341; i__28308_28325 = G__28342; continue; } else { var map__28315_28343 = cljs.core.first.call(null,seq__28305_28337__$1); var map__28315_28344__$1 = (((((!((map__28315_28343 == null))))?(((((map__28315_28343.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28315_28343.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28315_28343):map__28315_28343); var function_28345 = cljs.core.get.call(null,map__28315_28344__$1,new cljs.core.Keyword(null,"function","function",-2127255473)); var file_28346 = cljs.core.get.call(null,map__28315_28344__$1,new cljs.core.Keyword(null,"file","file",-1269645878)); var line_28347 = cljs.core.get.call(null,map__28315_28344__$1,new cljs.core.Keyword(null,"line","line",212345235)); var column_28348 = cljs.core.get.call(null,map__28315_28344__$1,new cljs.core.Keyword(null,"column","column",2078222095)); cljs.core.println.call(null,"\t",[(cljs.core.truth_(function_28345)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(function_28345)," "].join(''):null),"(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(file_28346),(cljs.core.truth_(line_28347)?[":",cljs.core.str.cljs$core$IFn$_invoke$arity$1(line_28347)].join(''):null),(cljs.core.truth_(column_28348)?[":",cljs.core.str.cljs$core$IFn$_invoke$arity$1(column_28348)].join(''):null),")"].join('')); var G__28349 = cljs.core.next.call(null,seq__28305_28337__$1); var G__28350 = null; var G__28351 = (0); var G__28352 = (0); seq__28305_28322 = G__28349; chunk__28306_28323 = G__28350; count__28307_28324 = G__28351; i__28308_28325 = G__28352; continue; } } else { } } break; } }finally {cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__orig_val__28302_28319; cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR__orig_val__28301_28318; } return cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__4661__auto__); }); cljs.stacktrace.mapped_stacktrace_str.cljs$lang$maxFixedArity = 3; //# sourceMappingURL=stacktrace.js.map?rel=1582812680878