goog.provide('re_frame.events'); re_frame.events.kind = new cljs.core.Keyword(null,"event","event",301435442); if(cljs.core.truth_((re_frame.registrar.kinds.cljs$core$IFn$_invoke$arity$1 ? re_frame.registrar.kinds.cljs$core$IFn$_invoke$arity$1(re_frame.events.kind) : re_frame.registrar.kinds.call(null,re_frame.events.kind)))){ } else { throw (new Error("Assert failed: (re-frame.registrar/kinds kind)")); } /** * `interceptors` might have nested collections, and contain nil elements. * return a flat collection, with all nils removed. * This function is 9/10 about giving good error messages. */ re_frame.events.flatten_and_remove_nils = (function re_frame$events$flatten_and_remove_nils(id,interceptors){ var make_chain = (function (p1__52877_SHARP_){ return cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.flatten(p1__52877_SHARP_)); }); if((!(re_frame.interop.debug_enabled_QMARK_))){ return make_chain(interceptors); } else { if(cljs.core.coll_QMARK_(interceptors)){ } else { 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(["re-frame: when registering",id,", expected a collection of interceptors, got:",interceptors], 0)); } var chain = make_chain(interceptors); if(cljs.core.empty_QMARK_(chain)){ 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(["re-frame: when registering",id,", given an empty interceptor chain"], 0)); } else { } var temp__5823__auto___52906 = cljs.core.first(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(re_frame.interceptor.interceptor_QMARK_,chain)); if(cljs.core.truth_(temp__5823__auto___52906)){ var not_i_52909 = temp__5823__auto___52906; if(cljs.core.fn_QMARK_(not_i_52909)){ 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(["re-frame: when registering",id,", got a function instead of an interceptor. Did you provide old style middleware by mistake? Got:",not_i_52909], 0)); } else { 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(["re-frame: when registering",id,", expected interceptors, but got:",not_i_52909], 0)); } } else { } return chain; } }); /** * Associate the given event `id` with the given collection of `interceptors`. * * `interceptors` may contain nested collections and there may be nils * at any level,so process this structure into a simple, nil-less vector * before registration. * * Typically, an `event handler` will be at the end of the chain (wrapped * in an interceptor). */ re_frame.events.register = (function re_frame$events$register(id,interceptors){ return re_frame.registrar.register_handler(re_frame.events.kind,id,re_frame.events.flatten_and_remove_nils(id,interceptors)); }); re_frame.events._STAR_handling_STAR_ = null; /** * Given an event vector `event-v`, look up the associated interceptor chain, and execute it. */ re_frame.events.handle = (function re_frame$events$handle(event_v){ var event_id = re_frame.utils.first_in_vector(event_v); var temp__5821__auto__ = re_frame.registrar.get_handler.cljs$core$IFn$_invoke$arity$3(re_frame.events.kind,event_id,true); if(cljs.core.truth_(temp__5821__auto__)){ var interceptors = temp__5821__auto__; if(cljs.core.truth_(re_frame.events._STAR_handling_STAR_)){ return 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(["re-frame: while handling",re_frame.events._STAR_handling_STAR_,", dispatch-sync was called for",event_v,". You can't call dispatch-sync within an event handler."], 0)); } else { var _STAR_handling_STAR__orig_val__52889 = re_frame.events._STAR_handling_STAR_; var _STAR_handling_STAR__temp_val__52890 = event_v; (re_frame.events._STAR_handling_STAR_ = _STAR_handling_STAR__temp_val__52890); try{if(re_frame.trace.is_trace_enabled_QMARK_()){ var _STAR_current_trace_STAR__orig_val__52891 = re_frame.trace._STAR_current_trace_STAR_; var _STAR_current_trace_STAR__temp_val__52892 = re_frame.trace.start_trace(new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"operation","operation",-1267664310),event_id,new cljs.core.Keyword(null,"op-type","op-type",-1636141668),re_frame.events.kind,new cljs.core.Keyword(null,"tags","tags",1771418977),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"event","event",301435442),event_v], null)], null)); (re_frame.trace._STAR_current_trace_STAR_ = _STAR_current_trace_STAR__temp_val__52892); try{try{if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52715__auto___52913 = cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.update.cljs$core$IFn$_invoke$arity$4(re_frame.trace._STAR_current_trace_STAR_,new cljs.core.Keyword(null,"tags","tags",1771418977),cljs.core.merge,new cljs.core.Keyword(null,"tags","tags",1771418977).cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"tags","tags",1771418977),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"app-db-before","app-db-before",-1442902645),cljs.core.deref(re_frame.db.app_db)], null)], null))),cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"tags","tags",1771418977),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"app-db-before","app-db-before",-1442902645),cljs.core.deref(re_frame.db.app_db)], null)], null),new cljs.core.Keyword(null,"tags","tags",1771418977))], 0)); (re_frame.trace._STAR_current_trace_STAR_ = new_trace__52715__auto___52913); } else { } re_frame.interceptor.execute(event_v,interceptors); if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52715__auto___52916 = cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.update.cljs$core$IFn$_invoke$arity$4(re_frame.trace._STAR_current_trace_STAR_,new cljs.core.Keyword(null,"tags","tags",1771418977),cljs.core.merge,new cljs.core.Keyword(null,"tags","tags",1771418977).cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"tags","tags",1771418977),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"app-db-after","app-db-after",1477492964),cljs.core.deref(re_frame.db.app_db)], null)], null))),cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"tags","tags",1771418977),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"app-db-after","app-db-after",1477492964),cljs.core.deref(re_frame.db.app_db)], null)], null),new cljs.core.Keyword(null,"tags","tags",1771418977))], 0)); (re_frame.trace._STAR_current_trace_STAR_ = new_trace__52715__auto___52916); return null; } else { return null; } }finally {if(re_frame.trace.is_trace_enabled_QMARK_()){ var end__52713__auto___52917 = re_frame.interop.now(); var duration__52714__auto___52918 = (end__52713__auto___52917 - new cljs.core.Keyword(null,"start","start",-355208981).cljs$core$IFn$_invoke$arity$1(re_frame.trace._STAR_current_trace_STAR_)); cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(re_frame.trace.traces,cljs.core.conj,cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(re_frame.trace._STAR_current_trace_STAR_,new cljs.core.Keyword(null,"duration","duration",1444101068),duration__52714__auto___52918,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"end","end",-268185958),re_frame.interop.now()], 0))); re_frame.trace.run_tracing_callbacks_BANG_(end__52713__auto___52917); } else { } }}finally {(re_frame.trace._STAR_current_trace_STAR_ = _STAR_current_trace_STAR__orig_val__52891); }} else { if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52715__auto___52922 = cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.update.cljs$core$IFn$_invoke$arity$4(re_frame.trace._STAR_current_trace_STAR_,new cljs.core.Keyword(null,"tags","tags",1771418977),cljs.core.merge,new cljs.core.Keyword(null,"tags","tags",1771418977).cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"tags","tags",1771418977),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"app-db-before","app-db-before",-1442902645),cljs.core.deref(re_frame.db.app_db)], null)], null))),cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"tags","tags",1771418977),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"app-db-before","app-db-before",-1442902645),cljs.core.deref(re_frame.db.app_db)], null)], null),new cljs.core.Keyword(null,"tags","tags",1771418977))], 0)); (re_frame.trace._STAR_current_trace_STAR_ = new_trace__52715__auto___52922); } else { } re_frame.interceptor.execute(event_v,interceptors); if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52715__auto___52923 = cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.update.cljs$core$IFn$_invoke$arity$4(re_frame.trace._STAR_current_trace_STAR_,new cljs.core.Keyword(null,"tags","tags",1771418977),cljs.core.merge,new cljs.core.Keyword(null,"tags","tags",1771418977).cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"tags","tags",1771418977),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"app-db-after","app-db-after",1477492964),cljs.core.deref(re_frame.db.app_db)], null)], null))),cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"tags","tags",1771418977),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"app-db-after","app-db-after",1477492964),cljs.core.deref(re_frame.db.app_db)], null)], null),new cljs.core.Keyword(null,"tags","tags",1771418977))], 0)); (re_frame.trace._STAR_current_trace_STAR_ = new_trace__52715__auto___52923); return null; } else { return null; } } }finally {(re_frame.events._STAR_handling_STAR_ = _STAR_handling_STAR__orig_val__52889); }} } else { return null; } }); //# sourceMappingURL=re_frame.events.js.map