goog.provide('re_frame.trace'); re_frame.trace.id = cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)); re_frame.trace._STAR_current_trace_STAR_ = null; re_frame.trace.reset_tracing_BANG_ = (function re_frame$trace$reset_tracing_BANG_(){ return cljs.core.reset_BANG_(re_frame.trace.id,(0)); }); /** * @define {boolean} */ re_frame.trace.trace_enabled_QMARK_ = goog.define("re_frame.trace.trace_enabled_QMARK_",false); /** * See https://groups.google.com/d/msg/clojurescript/jk43kmYiMhA/IHglVr_TPdgJ for more details */ re_frame.trace.is_trace_enabled_QMARK_ = (function re_frame$trace$is_trace_enabled_QMARK_(){ return re_frame.trace.trace_enabled_QMARK_; }); re_frame.trace.trace_cbs = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY); if((typeof re_frame !== 'undefined') && (typeof re_frame.trace !== 'undefined') && (typeof re_frame.trace.traces !== 'undefined')){ } else { re_frame.trace.traces = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentVector.EMPTY); } if((typeof re_frame !== 'undefined') && (typeof re_frame.trace !== 'undefined') && (typeof re_frame.trace.next_delivery !== 'undefined')){ } else { re_frame.trace.next_delivery = cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)); } /** * Registers a tracing callback function which will receive a collection of one or more traces. * Will replace an existing callback function if it shares the same key. */ re_frame.trace.register_trace_cb = (function re_frame$trace$register_trace_cb(key,f){ if(re_frame.trace.trace_enabled_QMARK_){ return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(re_frame.trace.trace_cbs,cljs.core.assoc,key,f); } else { return re_frame.loggers.console.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.Keyword(null,"warn","warn",-436710552),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["Tracing is not enabled. Please set {\"re_frame.trace.trace_enabled_QMARK_\" true} in :closure-defines. See: https://github.com/day8/re-frame-10x#installation."], 0)); } }); re_frame.trace.remove_trace_cb = (function re_frame$trace$remove_trace_cb(key){ cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(re_frame.trace.trace_cbs,cljs.core.dissoc,key); return null; }); re_frame.trace.next_id = (function re_frame$trace$next_id(){ return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(re_frame.trace.id,cljs.core.inc); }); re_frame.trace.start_trace = (function re_frame$trace$start_trace(p__52735){ var map__52736 = p__52735; var map__52736__$1 = cljs.core.__destructure_map(map__52736); var operation = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__52736__$1,new cljs.core.Keyword(null,"operation","operation",-1267664310)); var op_type = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__52736__$1,new cljs.core.Keyword(null,"op-type","op-type",-1636141668)); var tags = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__52736__$1,new cljs.core.Keyword(null,"tags","tags",1771418977)); var child_of = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__52736__$1,new cljs.core.Keyword(null,"child-of","child-of",-903376662)); return new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"id","id",-1388402092),re_frame.trace.next_id(),new cljs.core.Keyword(null,"operation","operation",-1267664310),operation,new cljs.core.Keyword(null,"op-type","op-type",-1636141668),op_type,new cljs.core.Keyword(null,"tags","tags",1771418977),tags,new cljs.core.Keyword(null,"child-of","child-of",-903376662),(function (){var or__5025__auto__ = child_of; if(cljs.core.truth_(or__5025__auto__)){ return or__5025__auto__; } else { return new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(re_frame.trace._STAR_current_trace_STAR_); } })(),new cljs.core.Keyword(null,"start","start",-355208981),re_frame.interop.now()], null); }); re_frame.trace.debounce_time = (50); re_frame.trace.debounce = (function re_frame$trace$debounce(f,interval){ return goog.functions.debounce(f,interval); }); re_frame.trace.schedule_debounce = re_frame.trace.debounce((function re_frame$trace$tracing_cb_debounced(){ var seq__52739_52768 = cljs.core.seq(cljs.core.deref(re_frame.trace.trace_cbs)); var chunk__52740_52769 = null; var count__52741_52770 = (0); var i__52742_52771 = (0); while(true){ if((i__52742_52771 < count__52741_52770)){ var vec__52754_52772 = chunk__52740_52769.cljs$core$IIndexed$_nth$arity$2(null,i__52742_52771); var k_52773 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__52754_52772,(0),null); var cb_52774 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__52754_52772,(1),null); try{var G__52758_52775 = cljs.core.deref(re_frame.trace.traces); (cb_52774.cljs$core$IFn$_invoke$arity$1 ? cb_52774.cljs$core$IFn$_invoke$arity$1(G__52758_52775) : cb_52774.call(null,G__52758_52775)); }catch (e52757){var e_52776 = e52757; re_frame.loggers.console.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.Keyword(null,"error","error",-978969032),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["Error thrown from trace cb",k_52773,"while storing",cljs.core.deref(re_frame.trace.traces),e_52776], 0)); } var G__52777 = seq__52739_52768; var G__52778 = chunk__52740_52769; var G__52779 = count__52741_52770; var G__52780 = (i__52742_52771 + (1)); seq__52739_52768 = G__52777; chunk__52740_52769 = G__52778; count__52741_52770 = G__52779; i__52742_52771 = G__52780; continue; } else { var temp__5823__auto___52781 = cljs.core.seq(seq__52739_52768); if(temp__5823__auto___52781){ var seq__52739_52782__$1 = temp__5823__auto___52781; if(cljs.core.chunked_seq_QMARK_(seq__52739_52782__$1)){ var c__5548__auto___52783 = cljs.core.chunk_first(seq__52739_52782__$1); var G__52784 = cljs.core.chunk_rest(seq__52739_52782__$1); var G__52785 = c__5548__auto___52783; var G__52786 = cljs.core.count(c__5548__auto___52783); var G__52787 = (0); seq__52739_52768 = G__52784; chunk__52740_52769 = G__52785; count__52741_52770 = G__52786; i__52742_52771 = G__52787; continue; } else { var vec__52759_52788 = cljs.core.first(seq__52739_52782__$1); var k_52789 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__52759_52788,(0),null); var cb_52790 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__52759_52788,(1),null); try{var G__52764_52791 = cljs.core.deref(re_frame.trace.traces); (cb_52790.cljs$core$IFn$_invoke$arity$1 ? cb_52790.cljs$core$IFn$_invoke$arity$1(G__52764_52791) : cb_52790.call(null,G__52764_52791)); }catch (e52762){var e_52792 = e52762; re_frame.loggers.console.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.Keyword(null,"error","error",-978969032),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["Error thrown from trace cb",k_52789,"while storing",cljs.core.deref(re_frame.trace.traces),e_52792], 0)); } var G__52793 = cljs.core.next(seq__52739_52782__$1); var G__52794 = null; var G__52795 = (0); var G__52796 = (0); seq__52739_52768 = G__52793; chunk__52740_52769 = G__52794; count__52741_52770 = G__52795; i__52742_52771 = G__52796; continue; } } else { } } break; } return cljs.core.reset_BANG_(re_frame.trace.traces,cljs.core.PersistentVector.EMPTY); }),re_frame.trace.debounce_time); re_frame.trace.run_tracing_callbacks_BANG_ = (function re_frame$trace$run_tracing_callbacks_BANG_(now){ if(((cljs.core.deref(re_frame.trace.next_delivery) - (25)) < now)){ (re_frame.trace.schedule_debounce.cljs$core$IFn$_invoke$arity$0 ? re_frame.trace.schedule_debounce.cljs$core$IFn$_invoke$arity$0() : re_frame.trace.schedule_debounce.call(null)); return cljs.core.reset_BANG_(re_frame.trace.next_delivery,(now + re_frame.trace.debounce_time)); } else { return null; } }); //# sourceMappingURL=re_frame.trace.js.map