143 lines
7.4 KiB
JavaScript
143 lines
7.4 KiB
JavaScript
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
|