// Compiled by ClojureScript 1.9.946 {} goog.provide('devtools.formatters.templating'); goog.require('cljs.core'); goog.require('clojure.walk'); goog.require('devtools.util'); goog.require('devtools.protocols'); goog.require('devtools.formatters.helpers'); goog.require('devtools.formatters.state'); goog.require('clojure.string'); devtools.formatters.templating.mark_as_group_BANG_ = (function devtools$formatters$templating$mark_as_group_BANG_(value){ var x40233_40234 = value; x40233_40234.devtools$protocols$IGroup$ = cljs.core.PROTOCOL_SENTINEL; return value; }); devtools.formatters.templating.group_QMARK_ = (function devtools$formatters$templating$group_QMARK_(value){ if(!((value == null))){ if((false) || ((cljs.core.PROTOCOL_SENTINEL === value.devtools$protocols$IGroup$))){ return true; } else { if((!value.cljs$lang$protocol_mask$partition$)){ return cljs.core.native_satisfies_QMARK_.call(null,devtools.protocols.IGroup,value); } else { return false; } } } else { return cljs.core.native_satisfies_QMARK_.call(null,devtools.protocols.IGroup,value); } }); devtools.formatters.templating.mark_as_template_BANG_ = (function devtools$formatters$templating$mark_as_template_BANG_(value){ var x40236_40237 = value; x40236_40237.devtools$protocols$ITemplate$ = cljs.core.PROTOCOL_SENTINEL; return value; }); devtools.formatters.templating.template_QMARK_ = (function devtools$formatters$templating$template_QMARK_(value){ if(!((value == null))){ if((false) || ((cljs.core.PROTOCOL_SENTINEL === value.devtools$protocols$ITemplate$))){ return true; } else { if((!value.cljs$lang$protocol_mask$partition$)){ return cljs.core.native_satisfies_QMARK_.call(null,devtools.protocols.ITemplate,value); } else { return false; } } } else { return cljs.core.native_satisfies_QMARK_.call(null,devtools.protocols.ITemplate,value); } }); devtools.formatters.templating.mark_as_surrogate_BANG_ = (function devtools$formatters$templating$mark_as_surrogate_BANG_(value){ var x40239_40240 = value; x40239_40240.devtools$protocols$ISurrogate$ = cljs.core.PROTOCOL_SENTINEL; return value; }); devtools.formatters.templating.surrogate_QMARK_ = (function devtools$formatters$templating$surrogate_QMARK_(value){ if(!((value == null))){ if((false) || ((cljs.core.PROTOCOL_SENTINEL === value.devtools$protocols$ISurrogate$))){ return true; } else { if((!value.cljs$lang$protocol_mask$partition$)){ return cljs.core.native_satisfies_QMARK_.call(null,devtools.protocols.ISurrogate,value); } else { return false; } } } else { return cljs.core.native_satisfies_QMARK_.call(null,devtools.protocols.ISurrogate,value); } }); devtools.formatters.templating.reference_QMARK_ = (function devtools$formatters$templating$reference_QMARK_(value){ var and__35486__auto__ = devtools.formatters.templating.group_QMARK_.call(null,value); if(cljs.core.truth_(and__35486__auto__)){ return cljs.core._EQ_.call(null,(value[(0)]),"object"); } else { return and__35486__auto__; } }); devtools.formatters.templating.make_group = (function devtools$formatters$templating$make_group(var_args){ var args__36784__auto__ = []; var len__36777__auto___40247 = arguments.length; var i__36778__auto___40248 = (0); while(true){ if((i__36778__auto___40248 < len__36777__auto___40247)){ args__36784__auto__.push((arguments[i__36778__auto___40248])); var G__40249 = (i__36778__auto___40248 + (1)); i__36778__auto___40248 = G__40249; continue; } else { } break; } var argseq__36785__auto__ = ((((0) < args__36784__auto__.length))?(new cljs.core.IndexedSeq(args__36784__auto__.slice((0)),(0),null)):null); return devtools.formatters.templating.make_group.cljs$core$IFn$_invoke$arity$variadic(argseq__36785__auto__); }); devtools.formatters.templating.make_group.cljs$core$IFn$_invoke$arity$variadic = (function (items){ var group = devtools.formatters.templating.mark_as_group_BANG_.call(null,[]); var seq__40243_40250 = cljs.core.seq.call(null,items); var chunk__40244_40251 = null; var count__40245_40252 = (0); var i__40246_40253 = (0); while(true){ if((i__40246_40253 < count__40245_40252)){ var item_40254 = cljs.core._nth.call(null,chunk__40244_40251,i__40246_40253); if(!((item_40254 == null))){ if(cljs.core.coll_QMARK_.call(null,item_40254)){ (group["push"]).apply(group,devtools.formatters.templating.mark_as_group_BANG_.call(null,cljs.core.into_array.call(null,item_40254))); } else { group.push(devtools.formatters.helpers.pref.call(null,item_40254)); } } else { } var G__40255 = seq__40243_40250; var G__40256 = chunk__40244_40251; var G__40257 = count__40245_40252; var G__40258 = (i__40246_40253 + (1)); seq__40243_40250 = G__40255; chunk__40244_40251 = G__40256; count__40245_40252 = G__40257; i__40246_40253 = G__40258; continue; } else { var temp__5457__auto___40259 = cljs.core.seq.call(null,seq__40243_40250); if(temp__5457__auto___40259){ var seq__40243_40260__$1 = temp__5457__auto___40259; if(cljs.core.chunked_seq_QMARK_.call(null,seq__40243_40260__$1)){ var c__36429__auto___40261 = cljs.core.chunk_first.call(null,seq__40243_40260__$1); var G__40262 = cljs.core.chunk_rest.call(null,seq__40243_40260__$1); var G__40263 = c__36429__auto___40261; var G__40264 = cljs.core.count.call(null,c__36429__auto___40261); var G__40265 = (0); seq__40243_40250 = G__40262; chunk__40244_40251 = G__40263; count__40245_40252 = G__40264; i__40246_40253 = G__40265; continue; } else { var item_40266 = cljs.core.first.call(null,seq__40243_40260__$1); if(!((item_40266 == null))){ if(cljs.core.coll_QMARK_.call(null,item_40266)){ (group["push"]).apply(group,devtools.formatters.templating.mark_as_group_BANG_.call(null,cljs.core.into_array.call(null,item_40266))); } else { group.push(devtools.formatters.helpers.pref.call(null,item_40266)); } } else { } var G__40267 = cljs.core.next.call(null,seq__40243_40260__$1); var G__40268 = null; var G__40269 = (0); var G__40270 = (0); seq__40243_40250 = G__40267; chunk__40244_40251 = G__40268; count__40245_40252 = G__40269; i__40246_40253 = G__40270; continue; } } else { } } break; } return group; }); devtools.formatters.templating.make_group.cljs$lang$maxFixedArity = (0); devtools.formatters.templating.make_group.cljs$lang$applyTo = (function (seq40242){ return devtools.formatters.templating.make_group.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,seq40242)); }); devtools.formatters.templating.make_template = (function devtools$formatters$templating$make_template(var_args){ var args__36784__auto__ = []; var len__36777__auto___40278 = arguments.length; var i__36778__auto___40279 = (0); while(true){ if((i__36778__auto___40279 < len__36777__auto___40278)){ args__36784__auto__.push((arguments[i__36778__auto___40279])); var G__40280 = (i__36778__auto___40279 + (1)); i__36778__auto___40279 = G__40280; continue; } else { } break; } var argseq__36785__auto__ = ((((2) < args__36784__auto__.length))?(new cljs.core.IndexedSeq(args__36784__auto__.slice((2)),(0),null)):null); return devtools.formatters.templating.make_template.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__36785__auto__); }); devtools.formatters.templating.make_template.cljs$core$IFn$_invoke$arity$variadic = (function (tag,style,children){ var tag__$1 = devtools.formatters.helpers.pref.call(null,tag); var style__$1 = devtools.formatters.helpers.pref.call(null,style); var template = devtools.formatters.templating.mark_as_template_BANG_.call(null,[tag__$1,((cljs.core.empty_QMARK_.call(null,style__$1))?({}):({"style": style__$1}))]); var seq__40274_40281 = cljs.core.seq.call(null,children); var chunk__40275_40282 = null; var count__40276_40283 = (0); var i__40277_40284 = (0); while(true){ if((i__40277_40284 < count__40276_40283)){ var child_40285 = cljs.core._nth.call(null,chunk__40275_40282,i__40277_40284); if(!((child_40285 == null))){ if(cljs.core.coll_QMARK_.call(null,child_40285)){ (template["push"]).apply(template,devtools.formatters.templating.mark_as_template_BANG_.call(null,cljs.core.into_array.call(null,cljs.core.keep.call(null,devtools.formatters.helpers.pref,child_40285)))); } else { var temp__5455__auto___40286 = devtools.formatters.helpers.pref.call(null,child_40285); if(cljs.core.truth_(temp__5455__auto___40286)){ var child_value_40287 = temp__5455__auto___40286; template.push(child_value_40287); } else { } } } else { } var G__40288 = seq__40274_40281; var G__40289 = chunk__40275_40282; var G__40290 = count__40276_40283; var G__40291 = (i__40277_40284 + (1)); seq__40274_40281 = G__40288; chunk__40275_40282 = G__40289; count__40276_40283 = G__40290; i__40277_40284 = G__40291; continue; } else { var temp__5457__auto___40292 = cljs.core.seq.call(null,seq__40274_40281); if(temp__5457__auto___40292){ var seq__40274_40293__$1 = temp__5457__auto___40292; if(cljs.core.chunked_seq_QMARK_.call(null,seq__40274_40293__$1)){ var c__36429__auto___40294 = cljs.core.chunk_first.call(null,seq__40274_40293__$1); var G__40295 = cljs.core.chunk_rest.call(null,seq__40274_40293__$1); var G__40296 = c__36429__auto___40294; var G__40297 = cljs.core.count.call(null,c__36429__auto___40294); var G__40298 = (0); seq__40274_40281 = G__40295; chunk__40275_40282 = G__40296; count__40276_40283 = G__40297; i__40277_40284 = G__40298; continue; } else { var child_40299 = cljs.core.first.call(null,seq__40274_40293__$1); if(!((child_40299 == null))){ if(cljs.core.coll_QMARK_.call(null,child_40299)){ (template["push"]).apply(template,devtools.formatters.templating.mark_as_template_BANG_.call(null,cljs.core.into_array.call(null,cljs.core.keep.call(null,devtools.formatters.helpers.pref,child_40299)))); } else { var temp__5455__auto___40300 = devtools.formatters.helpers.pref.call(null,child_40299); if(cljs.core.truth_(temp__5455__auto___40300)){ var child_value_40301 = temp__5455__auto___40300; template.push(child_value_40301); } else { } } } else { } var G__40302 = cljs.core.next.call(null,seq__40274_40293__$1); var G__40303 = null; var G__40304 = (0); var G__40305 = (0); seq__40274_40281 = G__40302; chunk__40275_40282 = G__40303; count__40276_40283 = G__40304; i__40277_40284 = G__40305; continue; } } else { } } break; } return template; }); devtools.formatters.templating.make_template.cljs$lang$maxFixedArity = (2); devtools.formatters.templating.make_template.cljs$lang$applyTo = (function (seq40271){ var G__40272 = cljs.core.first.call(null,seq40271); var seq40271__$1 = cljs.core.next.call(null,seq40271); var G__40273 = cljs.core.first.call(null,seq40271__$1); var seq40271__$2 = cljs.core.next.call(null,seq40271__$1); return devtools.formatters.templating.make_template.cljs$core$IFn$_invoke$arity$variadic(G__40272,G__40273,seq40271__$2); }); devtools.formatters.templating.concat_templates_BANG_ = (function devtools$formatters$templating$concat_templates_BANG_(var_args){ var args__36784__auto__ = []; var len__36777__auto___40308 = arguments.length; var i__36778__auto___40309 = (0); while(true){ if((i__36778__auto___40309 < len__36777__auto___40308)){ args__36784__auto__.push((arguments[i__36778__auto___40309])); var G__40310 = (i__36778__auto___40309 + (1)); i__36778__auto___40309 = G__40310; continue; } else { } break; } var argseq__36785__auto__ = ((((1) < args__36784__auto__.length))?(new cljs.core.IndexedSeq(args__36784__auto__.slice((1)),(0),null)):null); return devtools.formatters.templating.concat_templates_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__36785__auto__); }); devtools.formatters.templating.concat_templates_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (template,templates){ return devtools.formatters.templating.mark_as_template_BANG_.call(null,(template["concat"]).apply(template,cljs.core.into_array.call(null,cljs.core.map.call(null,cljs.core.into_array,cljs.core.keep.call(null,devtools.formatters.helpers.pref,templates))))); }); devtools.formatters.templating.concat_templates_BANG_.cljs$lang$maxFixedArity = (1); devtools.formatters.templating.concat_templates_BANG_.cljs$lang$applyTo = (function (seq40306){ var G__40307 = cljs.core.first.call(null,seq40306); var seq40306__$1 = cljs.core.next.call(null,seq40306); return devtools.formatters.templating.concat_templates_BANG_.cljs$core$IFn$_invoke$arity$variadic(G__40307,seq40306__$1); }); devtools.formatters.templating.extend_template_BANG_ = (function devtools$formatters$templating$extend_template_BANG_(var_args){ var args__36784__auto__ = []; var len__36777__auto___40313 = arguments.length; var i__36778__auto___40314 = (0); while(true){ if((i__36778__auto___40314 < len__36777__auto___40313)){ args__36784__auto__.push((arguments[i__36778__auto___40314])); var G__40315 = (i__36778__auto___40314 + (1)); i__36778__auto___40314 = G__40315; continue; } else { } break; } var argseq__36785__auto__ = ((((1) < args__36784__auto__.length))?(new cljs.core.IndexedSeq(args__36784__auto__.slice((1)),(0),null)):null); return devtools.formatters.templating.extend_template_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__36785__auto__); }); devtools.formatters.templating.extend_template_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (template,args){ return devtools.formatters.templating.concat_templates_BANG_.call(null,template,args); }); devtools.formatters.templating.extend_template_BANG_.cljs$lang$maxFixedArity = (1); devtools.formatters.templating.extend_template_BANG_.cljs$lang$applyTo = (function (seq40311){ var G__40312 = cljs.core.first.call(null,seq40311); var seq40311__$1 = cljs.core.next.call(null,seq40311); return devtools.formatters.templating.extend_template_BANG_.cljs$core$IFn$_invoke$arity$variadic(G__40312,seq40311__$1); }); devtools.formatters.templating.make_surrogate = (function devtools$formatters$templating$make_surrogate(var_args){ var G__40317 = arguments.length; switch (G__40317) { case 1: return devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$1((arguments[(0)])); break; case 2: return devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)])); break; case 3: return devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)])); break; case 4: return devtools.formatters.templating.make_surrogate.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(''))); } }); devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$1 = (function (object){ return devtools.formatters.templating.make_surrogate.call(null,object,null); }); devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$2 = (function (object,header){ return devtools.formatters.templating.make_surrogate.call(null,object,header,null); }); devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$3 = (function (object,header,body){ return devtools.formatters.templating.make_surrogate.call(null,object,header,body,(0)); }); devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$4 = (function (object,header,body,start_index){ return devtools.formatters.templating.mark_as_surrogate_BANG_.call(null,(function (){var obj40319 = {"target":object,"header":header,"body":body,"startIndex":(function (){var or__35498__auto__ = start_index; if(cljs.core.truth_(or__35498__auto__)){ return or__35498__auto__; } else { return (0); } })()}; return obj40319; })()); }); devtools.formatters.templating.make_surrogate.cljs$lang$maxFixedArity = 4; devtools.formatters.templating.get_surrogate_target = (function devtools$formatters$templating$get_surrogate_target(surrogate){ if(cljs.core.truth_(devtools.formatters.templating.surrogate_QMARK_.call(null,surrogate))){ } else { throw (new Error("Assert failed: (surrogate? surrogate)")); } return (surrogate["target"]); }); devtools.formatters.templating.get_surrogate_header = (function devtools$formatters$templating$get_surrogate_header(surrogate){ if(cljs.core.truth_(devtools.formatters.templating.surrogate_QMARK_.call(null,surrogate))){ } else { throw (new Error("Assert failed: (surrogate? surrogate)")); } return (surrogate["header"]); }); devtools.formatters.templating.get_surrogate_body = (function devtools$formatters$templating$get_surrogate_body(surrogate){ if(cljs.core.truth_(devtools.formatters.templating.surrogate_QMARK_.call(null,surrogate))){ } else { throw (new Error("Assert failed: (surrogate? surrogate)")); } return (surrogate["body"]); }); devtools.formatters.templating.get_surrogate_start_index = (function devtools$formatters$templating$get_surrogate_start_index(surrogate){ if(cljs.core.truth_(devtools.formatters.templating.surrogate_QMARK_.call(null,surrogate))){ } else { throw (new Error("Assert failed: (surrogate? surrogate)")); } return (surrogate["startIndex"]); }); devtools.formatters.templating.make_reference = (function devtools$formatters$templating$make_reference(var_args){ var args__36784__auto__ = []; var len__36777__auto___40327 = arguments.length; var i__36778__auto___40328 = (0); while(true){ if((i__36778__auto___40328 < len__36777__auto___40327)){ args__36784__auto__.push((arguments[i__36778__auto___40328])); var G__40329 = (i__36778__auto___40328 + (1)); i__36778__auto___40328 = G__40329; continue; } else { } break; } var argseq__36785__auto__ = ((((1) < args__36784__auto__.length))?(new cljs.core.IndexedSeq(args__36784__auto__.slice((1)),(0),null)):null); return devtools.formatters.templating.make_reference.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__36785__auto__); }); devtools.formatters.templating.make_reference.cljs$core$IFn$_invoke$arity$variadic = (function (object,p__40323){ var vec__40324 = p__40323; var state_override_fn = cljs.core.nth.call(null,vec__40324,(0),null); if(((state_override_fn == null)) || (cljs.core.fn_QMARK_.call(null,state_override_fn))){ } else { throw (new Error("Assert failed: (or (nil? state-override-fn) (fn? state-override-fn))")); } if((object == null)){ return devtools.formatters.templating.make_template.call(null,new cljs.core.Keyword(null,"span","span",1394872991),new cljs.core.Keyword(null,"nil-style","nil-style",-1505044832),new cljs.core.Keyword(null,"nil-label","nil-label",-587789203)); } else { var sub_state = ((!((state_override_fn == null)))?state_override_fn.call(null,devtools.formatters.state.get_current_state.call(null)):devtools.formatters.state.get_current_state.call(null)); return devtools.formatters.templating.make_group.call(null,"object",({"object": object, "config": sub_state})); } }); devtools.formatters.templating.make_reference.cljs$lang$maxFixedArity = (1); devtools.formatters.templating.make_reference.cljs$lang$applyTo = (function (seq40321){ var G__40322 = cljs.core.first.call(null,seq40321); var seq40321__$1 = cljs.core.next.call(null,seq40321); return devtools.formatters.templating.make_reference.cljs$core$IFn$_invoke$arity$variadic(G__40322,seq40321__$1); }); devtools.formatters.templating._STAR_current_render_stack_STAR_ = cljs.core.PersistentVector.EMPTY; devtools.formatters.templating._STAR_current_render_path_STAR_ = cljs.core.PersistentVector.EMPTY; devtools.formatters.templating.print_preview = (function devtools$formatters$templating$print_preview(markup){ var _STAR_print_level_STAR_40330 = cljs.core._STAR_print_level_STAR_; cljs.core._STAR_print_level_STAR_ = (1); try{return cljs.core.pr_str.call(null,markup); }finally {cljs.core._STAR_print_level_STAR_ = _STAR_print_level_STAR_40330; }}); devtools.formatters.templating.add_stack_separators = (function devtools$formatters$templating$add_stack_separators(stack){ return cljs.core.interpose.call(null,"-------------",stack); }); devtools.formatters.templating.replace_fns_with_markers = (function devtools$formatters$templating$replace_fns_with_markers(stack){ var f = (function (v){ if(cljs.core.fn_QMARK_.call(null,v)){ return "##fn##"; } else { return v; } }); return clojure.walk.prewalk.call(null,f,stack); }); devtools.formatters.templating.pprint_render_calls = (function devtools$formatters$templating$pprint_render_calls(stack){ return cljs.core.map.call(null,devtools.util.pprint_str,stack); }); devtools.formatters.templating.pprint_render_stack = (function devtools$formatters$templating$pprint_render_stack(stack){ return clojure.string.join.call(null,"\n",devtools.formatters.templating.add_stack_separators.call(null,devtools.formatters.templating.pprint_render_calls.call(null,devtools.formatters.templating.replace_fns_with_markers.call(null,cljs.core.reverse.call(null,stack))))); }); devtools.formatters.templating.pprint_render_path = (function devtools$formatters$templating$pprint_render_path(path){ return devtools.util.pprint_str.call(null,path); }); devtools.formatters.templating.assert_markup_error = (function devtools$formatters$templating$assert_markup_error(msg){ throw (new Error(["Assert failed: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg),"\n","Render path: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(devtools.formatters.templating.pprint_render_path.call(null,devtools.formatters.templating._STAR_current_render_path_STAR_)),"\n","Render stack:\n",cljs.core.str.cljs$core$IFn$_invoke$arity$1(devtools.formatters.templating.pprint_render_stack.call(null,devtools.formatters.templating._STAR_current_render_stack_STAR_))].join('')),"\n","false"].join(''))); }); devtools.formatters.templating.surrogate_markup_QMARK_ = (function devtools$formatters$templating$surrogate_markup_QMARK_(markup){ return (cljs.core.sequential_QMARK_.call(null,markup)) && (cljs.core._EQ_.call(null,cljs.core.first.call(null,markup),"surrogate")); }); devtools.formatters.templating.render_special = (function devtools$formatters$templating$render_special(name,args){ var G__40331 = name; switch (G__40331) { case "surrogate": var obj = cljs.core.first.call(null,args); var converted_args = cljs.core.map.call(null,devtools.formatters.templating.render_json_ml_STAR_,cljs.core.rest.call(null,args)); return cljs.core.apply.call(null,devtools.formatters.templating.make_surrogate,cljs.core.concat.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [obj], null),converted_args)); break; case "reference": var obj = cljs.core.first.call(null,args); var converted_obj = (cljs.core.truth_(devtools.formatters.templating.surrogate_markup_QMARK_.call(null,obj))?devtools.formatters.templating.render_json_ml_STAR_.call(null,obj):obj); return cljs.core.apply.call(null,devtools.formatters.templating.make_reference,cljs.core.concat.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [converted_obj], null),cljs.core.rest.call(null,args))); break; default: return devtools.formatters.templating.assert_markup_error.call(null,["no matching special tag name: '",cljs.core.str.cljs$core$IFn$_invoke$arity$1(name),"'"].join('')); } }); devtools.formatters.templating.emptyish_QMARK_ = (function devtools$formatters$templating$emptyish_QMARK_(v){ if((cljs.core.seqable_QMARK_.call(null,v)) || (cljs.core.array_QMARK_.call(null,v)) || (typeof v === 'string')){ return cljs.core.empty_QMARK_.call(null,v); } else { return false; } }); devtools.formatters.templating.render_subtree = (function devtools$formatters$templating$render_subtree(tag,children){ var vec__40333 = tag; var html_tag = cljs.core.nth.call(null,vec__40333,(0),null); var style = cljs.core.nth.call(null,vec__40333,(1),null); return cljs.core.apply.call(null,devtools.formatters.templating.make_template,html_tag,style,cljs.core.map.call(null,devtools.formatters.templating.render_json_ml_STAR_,cljs.core.remove.call(null,devtools.formatters.templating.emptyish_QMARK_,cljs.core.map.call(null,devtools.formatters.helpers.pref,children)))); }); devtools.formatters.templating.render_json_ml_STAR_ = (function devtools$formatters$templating$render_json_ml_STAR_(markup){ if(!(cljs.core.sequential_QMARK_.call(null,markup))){ return markup; } else { var _STAR_current_render_path_STAR_40336 = devtools.formatters.templating._STAR_current_render_path_STAR_; devtools.formatters.templating._STAR_current_render_path_STAR_ = cljs.core.conj.call(null,devtools.formatters.templating._STAR_current_render_path_STAR_,cljs.core.first.call(null,markup)); try{var tag = devtools.formatters.helpers.pref.call(null,cljs.core.first.call(null,markup)); if(typeof tag === 'string'){ return devtools.formatters.templating.render_special.call(null,tag,cljs.core.rest.call(null,markup)); } else { if(cljs.core.sequential_QMARK_.call(null,tag)){ return devtools.formatters.templating.render_subtree.call(null,tag,cljs.core.rest.call(null,markup)); } else { return devtools.formatters.templating.assert_markup_error.call(null,["invalid json-ml markup at ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(devtools.formatters.templating.print_preview.call(null,markup)),":"].join('')); } } }finally {devtools.formatters.templating._STAR_current_render_path_STAR_ = _STAR_current_render_path_STAR_40336; }} }); devtools.formatters.templating.render_json_ml = (function devtools$formatters$templating$render_json_ml(markup){ var _STAR_current_render_stack_STAR_40337 = devtools.formatters.templating._STAR_current_render_stack_STAR_; var _STAR_current_render_path_STAR_40338 = devtools.formatters.templating._STAR_current_render_path_STAR_; devtools.formatters.templating._STAR_current_render_stack_STAR_ = cljs.core.conj.call(null,devtools.formatters.templating._STAR_current_render_stack_STAR_,markup); devtools.formatters.templating._STAR_current_render_path_STAR_ = cljs.core.conj.call(null,devtools.formatters.templating._STAR_current_render_path_STAR_,""); try{return devtools.formatters.templating.render_json_ml_STAR_.call(null,markup); }finally {devtools.formatters.templating._STAR_current_render_path_STAR_ = _STAR_current_render_path_STAR_40338; devtools.formatters.templating._STAR_current_render_stack_STAR_ = _STAR_current_render_stack_STAR_40337; }}); devtools.formatters.templating.assert_failed_markup_rendering = (function devtools$formatters$templating$assert_failed_markup_rendering(initial_value,value){ throw (new Error(["Assert failed: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(["result of markup rendering must be a template,\n","resolved to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(devtools.util.pprint_str.call(null,value)),"initial value: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(devtools.util.pprint_str.call(null,initial_value))].join('')),"\n","false"].join(''))); }); devtools.formatters.templating.render_markup_STAR_ = (function devtools$formatters$templating$render_markup_STAR_(initial_value,value){ while(true){ if(cljs.core.fn_QMARK_.call(null,value)){ var G__40339 = initial_value; var G__40340 = value.call(null); initial_value = G__40339; value = G__40340; continue; } else { if((value instanceof cljs.core.Keyword)){ var G__40341 = initial_value; var G__40342 = devtools.formatters.helpers.pref.call(null,value); initial_value = G__40341; value = G__40342; continue; } else { if(cljs.core.sequential_QMARK_.call(null,value)){ var G__40343 = initial_value; var G__40344 = devtools.formatters.templating.render_json_ml.call(null,value); initial_value = G__40343; value = G__40344; continue; } else { if(cljs.core.truth_(devtools.formatters.templating.template_QMARK_.call(null,value))){ return value; } else { if(cljs.core.truth_(devtools.formatters.templating.surrogate_QMARK_.call(null,value))){ return value; } else { if(cljs.core.truth_(devtools.formatters.templating.reference_QMARK_.call(null,value))){ return value; } else { return devtools.formatters.templating.assert_failed_markup_rendering.call(null,initial_value,value); } } } } } } break; } }); devtools.formatters.templating.render_markup = (function devtools$formatters$templating$render_markup(value){ return devtools.formatters.templating.render_markup_STAR_.call(null,value,value); }); //# sourceMappingURL=templating.js.map?rel=1517021944037