goog.provide('devtools.formatters.budgeting'); devtools.formatters.budgeting.header_expander_depth_cost = (2); devtools.formatters.budgeting.over_budget_values = (((typeof WeakSet !== 'undefined'))?(new WeakSet()):cljs.core.volatile_BANG_(cljs.core.PersistentHashSet.EMPTY)); devtools.formatters.budgeting.add_over_budget_value_BANG_ = (function devtools$formatters$budgeting$add_over_budget_value_BANG_(value){ if(cljs.core.volatile_QMARK_(devtools.formatters.budgeting.over_budget_values)){ return cljs.core.vreset_BANG_(devtools.formatters.budgeting.over_budget_values,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(devtools.formatters.budgeting.over_budget_values),value)); } else { var o__29041__auto__ = devtools.formatters.budgeting.over_budget_values; return (o__29041__auto__["add"]).call(o__29041__auto__,value); } }); devtools.formatters.budgeting.delete_over_budget_value_BANG_ = (function devtools$formatters$budgeting$delete_over_budget_value_BANG_(value){ if(cljs.core.volatile_QMARK_(devtools.formatters.budgeting.over_budget_values)){ return cljs.core.vreset_BANG_(devtools.formatters.budgeting.over_budget_values,cljs.core.disj.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(devtools.formatters.budgeting.over_budget_values),value)); } else { var o__29041__auto__ = devtools.formatters.budgeting.over_budget_values; return (o__29041__auto__["delete"]).call(o__29041__auto__,value); } }); devtools.formatters.budgeting.has_over_budget_value_QMARK_ = (function devtools$formatters$budgeting$has_over_budget_value_QMARK_(value){ if(cljs.core.volatile_QMARK_(devtools.formatters.budgeting.over_budget_values)){ return cljs.core.contains_QMARK_(cljs.core.deref(devtools.formatters.budgeting.over_budget_values),value); } else { var o__29041__auto__ = devtools.formatters.budgeting.over_budget_values; return (o__29041__auto__["has"]).call(o__29041__auto__,value); } }); devtools.formatters.budgeting.object_reference_QMARK_ = (function devtools$formatters$budgeting$object_reference_QMARK_(json_ml){ return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(json_ml),"object"); }); devtools.formatters.budgeting.determine_depth = (function devtools$formatters$budgeting$determine_depth(json_ml){ if(cljs.core.array_QMARK_(json_ml)){ return (cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.max,cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.budgeting.determine_depth,json_ml)) + (1)); } else { return (0); } }); devtools.formatters.budgeting.has_any_object_reference_QMARK_ = (function devtools$formatters$budgeting$has_any_object_reference_QMARK_(json_ml){ if(cljs.core.array_QMARK_(json_ml)){ if(devtools.formatters.budgeting.object_reference_QMARK_(json_ml)){ return true; } else { return cljs.core.some(devtools.formatters.budgeting.has_any_object_reference_QMARK_,json_ml); } } else { return null; } }); devtools.formatters.budgeting.transfer_remaining_depth_budget_BANG_ = (function devtools$formatters$budgeting$transfer_remaining_depth_budget_BANG_(object_reference,depth_budget){ if((!((depth_budget < (0))))){ } else { throw (new Error("Assert failed: (not (neg? depth-budget))")); } var data = cljs.core.second(object_reference); var _ = ((cljs.core.object_QMARK_(data))?null:(function(){throw (new Error("Assert failed: (object? data)"))})()); var config = (data["config"]); var G__32996 = data; var target__29077__auto__ = G__32996; if(cljs.core.truth_(target__29077__auto__)){ } else { throw (new Error(["Assert failed: ",["unable to locate object path ",null," in ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__32996)].join(''),"\n","target__29077__auto__"].join(''))); } (target__29077__auto__["config"] = devtools.formatters.state.set_depth_budget(config,depth_budget)); return G__32996; }); devtools.formatters.budgeting.distribute_budget_BANG_ = (function devtools$formatters$budgeting$distribute_budget_BANG_(json_ml,depth_budget){ if((!((depth_budget < (0))))){ } else { throw (new Error("Assert failed: (not (neg? depth-budget))")); } if(cljs.core.array_QMARK_(json_ml)){ var new_depth_budget_33032 = (depth_budget - (1)); if(devtools.formatters.budgeting.object_reference_QMARK_(json_ml)){ devtools.formatters.budgeting.transfer_remaining_depth_budget_BANG_(json_ml,new_depth_budget_33032); } else { var seq__33005_33034 = cljs.core.seq(json_ml); var chunk__33006_33035 = null; var count__33007_33036 = (0); var i__33008_33037 = (0); while(true){ if((i__33008_33037 < count__33007_33036)){ var item_33038 = chunk__33006_33035.cljs$core$IIndexed$_nth$arity$2(null,i__33008_33037); (devtools.formatters.budgeting.distribute_budget_BANG_.cljs$core$IFn$_invoke$arity$2 ? devtools.formatters.budgeting.distribute_budget_BANG_.cljs$core$IFn$_invoke$arity$2(item_33038,new_depth_budget_33032) : devtools.formatters.budgeting.distribute_budget_BANG_.call(null,item_33038,new_depth_budget_33032)); var G__33040 = seq__33005_33034; var G__33041 = chunk__33006_33035; var G__33042 = count__33007_33036; var G__33043 = (i__33008_33037 + (1)); seq__33005_33034 = G__33040; chunk__33006_33035 = G__33041; count__33007_33036 = G__33042; i__33008_33037 = G__33043; continue; } else { var temp__5823__auto___33045 = cljs.core.seq(seq__33005_33034); if(temp__5823__auto___33045){ var seq__33005_33046__$1 = temp__5823__auto___33045; if(cljs.core.chunked_seq_QMARK_(seq__33005_33046__$1)){ var c__5548__auto___33047 = cljs.core.chunk_first(seq__33005_33046__$1); var G__33049 = cljs.core.chunk_rest(seq__33005_33046__$1); var G__33050 = c__5548__auto___33047; var G__33051 = cljs.core.count(c__5548__auto___33047); var G__33052 = (0); seq__33005_33034 = G__33049; chunk__33006_33035 = G__33050; count__33007_33036 = G__33051; i__33008_33037 = G__33052; continue; } else { var item_33053 = cljs.core.first(seq__33005_33046__$1); (devtools.formatters.budgeting.distribute_budget_BANG_.cljs$core$IFn$_invoke$arity$2 ? devtools.formatters.budgeting.distribute_budget_BANG_.cljs$core$IFn$_invoke$arity$2(item_33053,new_depth_budget_33032) : devtools.formatters.budgeting.distribute_budget_BANG_.call(null,item_33053,new_depth_budget_33032)); var G__33054 = cljs.core.next(seq__33005_33046__$1); var G__33055 = null; var G__33056 = (0); var G__33057 = (0); seq__33005_33034 = G__33054; chunk__33006_33035 = G__33055; count__33007_33036 = G__33056; i__33008_33037 = G__33057; continue; } } else { } } break; } } } else { } return json_ml; }); devtools.formatters.budgeting.was_over_budget_QMARK__BANG_ = (function devtools$formatters$budgeting$was_over_budget_QMARK__BANG_(value){ if(cljs.core.truth_(devtools.formatters.budgeting.has_over_budget_value_QMARK_(value))){ devtools.formatters.budgeting.delete_over_budget_value_BANG_(value); return true; } else { return null; } }); devtools.formatters.budgeting.alter_json_ml_to_fit_in_remaining_budget_BANG_ = (function devtools$formatters$budgeting$alter_json_ml_to_fit_in_remaining_budget_BANG_(value,json_ml){ var temp__5821__auto__ = devtools.formatters.helpers.pref(new cljs.core.Keyword(null,"initial-hierarchy-depth-budget","initial-hierarchy-depth-budget",-482715807)); if(cljs.core.truth_(temp__5821__auto__)){ var initial_hierarchy_depth_budget = temp__5821__auto__; var remaining_depth_budget = (function (){var or__5025__auto__ = devtools.formatters.state.get_depth_budget(); if(cljs.core.truth_(or__5025__auto__)){ return or__5025__auto__; } else { return (initial_hierarchy_depth_budget - (1)); } })(); var depth = devtools.formatters.budgeting.determine_depth(json_ml); var final_QMARK_ = cljs.core.not(devtools.formatters.budgeting.has_any_object_reference_QMARK_(json_ml)); var needed_depth = ((final_QMARK_)?depth:(depth + devtools.formatters.budgeting.header_expander_depth_cost)); if((remaining_depth_budget >= needed_depth)){ return devtools.formatters.budgeting.distribute_budget_BANG_(json_ml,remaining_depth_budget); } else { var expander_ml = devtools.formatters.templating.render_markup(devtools.formatters.markup._LT_header_expander_GT_(value)); devtools.formatters.budgeting.add_over_budget_value_BANG_(value); return expander_ml; } } else { return json_ml; } }); //# sourceMappingURL=devtools.formatters.budgeting.js.map