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__52886_SHARP_){ return cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.flatten(p1__52886_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__5804__auto___52923 = cljs.core.first(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(re_frame.interceptor.interceptor_QMARK_,chain)); if(cljs.core.truth_(temp__5804__auto___52923)){ var not_i_52924 = temp__5804__auto___52923; if(cljs.core.fn_QMARK_(not_i_52924)){ 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_52924], 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_52924], 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__5802__auto__ = re_frame.registrar.get_handler.cljs$core$IFn$_invoke$arity$3(re_frame.events.kind,event_id,true); if(cljs.core.truth_(temp__5802__auto__)){ var interceptors = temp__5802__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__52893 = re_frame.events._STAR_handling_STAR_; var _STAR_handling_STAR__temp_val__52894 = event_v; (re_frame.events._STAR_handling_STAR_ = _STAR_handling_STAR__temp_val__52894); try{if(re_frame.trace.is_trace_enabled_QMARK_()){ var _STAR_current_trace_STAR__orig_val__52895 = re_frame.trace._STAR_current_trace_STAR_; var _STAR_current_trace_STAR__temp_val__52896 = 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__52896); try{try{if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52723__auto___52927 = 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__52723__auto___52927); } else { } re_frame.interceptor.execute(event_v,interceptors); if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52723__auto___52928 = 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__52723__auto___52928); return null; } else { return null; } }finally {if(re_frame.trace.is_trace_enabled_QMARK_()){ var end__52721__auto___52929 = re_frame.interop.now(); var duration__52722__auto___52930 = (end__52721__auto___52929 - 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__52722__auto___52930,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__52721__auto___52929); } else { } }}finally {(re_frame.trace._STAR_current_trace_STAR_ = _STAR_current_trace_STAR__orig_val__52895); }} else { if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52723__auto___52931 = 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__52723__auto___52931); } else { } re_frame.interceptor.execute(event_v,interceptors); if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52723__auto___52936 = 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__52723__auto___52936); return null; } else { return null; } } }finally {(re_frame.events._STAR_handling_STAR_ = _STAR_handling_STAR__orig_val__52893); }} } else { return null; } }); //# sourceMappingURL=re_frame.events.js.map