goog.provide('re_frame.subs'); re_frame.subs.kind = new cljs.core.Keyword(null,"sub","sub",-2093760025); 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.subs.kind) : re_frame.registrar.kinds.call(null,re_frame.subs.kind)))){ } else { throw (new Error("Assert failed: (re-frame.registrar/kinds kind)")); } re_frame.subs.query__GT_reaction = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY); /** * calls `on-dispose` for each cached item, * which will cause the value to be removed from the cache */ re_frame.subs.clear_subscription_cache_BANG_ = (function re_frame$subs$clear_subscription_cache_BANG_(){ var seq__52811_52958 = cljs.core.seq(cljs.core.deref(re_frame.subs.query__GT_reaction)); var chunk__52812_52959 = null; var count__52813_52960 = (0); var i__52814_52961 = (0); while(true){ if((i__52814_52961 < count__52813_52960)){ var vec__52824_52962 = chunk__52812_52959.cljs$core$IIndexed$_nth$arity$2(null,i__52814_52961); var k_52963 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__52824_52962,(0),null); var rxn_52964 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__52824_52962,(1),null); re_frame.interop.dispose_BANG_(rxn_52964); var G__52965 = seq__52811_52958; var G__52966 = chunk__52812_52959; var G__52967 = count__52813_52960; var G__52968 = (i__52814_52961 + (1)); seq__52811_52958 = G__52965; chunk__52812_52959 = G__52966; count__52813_52960 = G__52967; i__52814_52961 = G__52968; continue; } else { var temp__5804__auto___52969 = cljs.core.seq(seq__52811_52958); if(temp__5804__auto___52969){ var seq__52811_52970__$1 = temp__5804__auto___52969; if(cljs.core.chunked_seq_QMARK_(seq__52811_52970__$1)){ var c__5548__auto___52971 = cljs.core.chunk_first(seq__52811_52970__$1); var G__52972 = cljs.core.chunk_rest(seq__52811_52970__$1); var G__52973 = c__5548__auto___52971; var G__52974 = cljs.core.count(c__5548__auto___52971); var G__52975 = (0); seq__52811_52958 = G__52972; chunk__52812_52959 = G__52973; count__52813_52960 = G__52974; i__52814_52961 = G__52975; continue; } else { var vec__52827_52976 = cljs.core.first(seq__52811_52970__$1); var k_52977 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__52827_52976,(0),null); var rxn_52978 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__52827_52976,(1),null); re_frame.interop.dispose_BANG_(rxn_52978); var G__52979 = cljs.core.next(seq__52811_52970__$1); var G__52980 = null; var G__52981 = (0); var G__52982 = (0); seq__52811_52958 = G__52979; chunk__52812_52959 = G__52980; count__52813_52960 = G__52981; i__52814_52961 = G__52982; continue; } } else { } } break; } if(cljs.core.truth_(cljs.core.not_empty(cljs.core.deref(re_frame.subs.query__GT_reaction)))){ 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(["re-frame: The subscription cache isn't empty after being cleared"], 0)); } else { return null; } }); /** * Unregisters all existing subscription handlers */ re_frame.subs.clear_all_handlers_BANG_ = (function re_frame$subs$clear_all_handlers_BANG_(){ re_frame.registrar.clear_handlers.cljs$core$IFn$_invoke$arity$1(re_frame.subs.kind); return re_frame.subs.clear_subscription_cache_BANG_(); }); /** * cache the reaction r */ re_frame.subs.cache_and_return = (function re_frame$subs$cache_and_return(query_v,dynv,r){ var cache_key = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [query_v,dynv], null); re_frame.interop.add_on_dispose_BANG_(r,(function (){ if(re_frame.trace.is_trace_enabled_QMARK_()){ var _STAR_current_trace_STAR__orig_val__52832 = re_frame.trace._STAR_current_trace_STAR_; var _STAR_current_trace_STAR__temp_val__52833 = re_frame.trace.start_trace(new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"operation","operation",-1267664310),re_frame.utils.first_in_vector(query_v),new cljs.core.Keyword(null,"op-type","op-type",-1636141668),new cljs.core.Keyword("sub","dispose","sub/dispose",365440536),new cljs.core.Keyword(null,"tags","tags",1771418977),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"query-v","query-v",-1514170131),query_v,new cljs.core.Keyword(null,"reaction","reaction",490869788),re_frame.interop.reagent_id(r)], null)], null)); (re_frame.trace._STAR_current_trace_STAR_ = _STAR_current_trace_STAR__temp_val__52833); try{try{return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(re_frame.subs.query__GT_reaction,(function (query_cache){ if(((cljs.core.contains_QMARK_(query_cache,cache_key)) && ((r === cljs.core.get.cljs$core$IFn$_invoke$arity$2(query_cache,cache_key))))){ return cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(query_cache,cache_key); } else { return query_cache; } })); }finally {if(re_frame.trace.is_trace_enabled_QMARK_()){ var end__52721__auto___52983 = re_frame.interop.now(); var duration__52722__auto___52984 = (end__52721__auto___52983 - 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___52984,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___52983); } else { } }}finally {(re_frame.trace._STAR_current_trace_STAR_ = _STAR_current_trace_STAR__orig_val__52832); }} else { return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(re_frame.subs.query__GT_reaction,(function (query_cache){ if(((cljs.core.contains_QMARK_(query_cache,cache_key)) && ((r === cljs.core.get.cljs$core$IFn$_invoke$arity$2(query_cache,cache_key))))){ return cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(query_cache,cache_key); } else { return query_cache; } })); } })); cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(re_frame.subs.query__GT_reaction,(function (query_cache){ if(re_frame.interop.debug_enabled_QMARK_){ if(cljs.core.contains_QMARK_(query_cache,cache_key)){ 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(["re-frame: Adding a new subscription to the cache while there is an existing subscription in the cache",cache_key], 0)); } else { } } else { } return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(query_cache,cache_key,r); })); if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52723__auto___52986 = 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,"reaction","reaction",490869788),re_frame.interop.reagent_id(r)], 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,"reaction","reaction",490869788),re_frame.interop.reagent_id(r)], null)], null),new cljs.core.Keyword(null,"tags","tags",1771418977))], 0)); (re_frame.trace._STAR_current_trace_STAR_ = new_trace__52723__auto___52986); } else { } return r; }); re_frame.subs.cache_lookup = (function re_frame$subs$cache_lookup(var_args){ var G__52841 = arguments.length; switch (G__52841) { case 1: return re_frame.subs.cache_lookup.cljs$core$IFn$_invoke$arity$1((arguments[(0)])); break; case 2: return re_frame.subs.cache_lookup.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)])); break; default: throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(''))); } }); (re_frame.subs.cache_lookup.cljs$core$IFn$_invoke$arity$1 = (function (query_v){ return re_frame.subs.cache_lookup.cljs$core$IFn$_invoke$arity$2(query_v,cljs.core.PersistentVector.EMPTY); })); (re_frame.subs.cache_lookup.cljs$core$IFn$_invoke$arity$2 = (function (query_v,dyn_v){ return cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(re_frame.subs.query__GT_reaction),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [query_v,dyn_v], null)); })); (re_frame.subs.cache_lookup.cljs$lang$maxFixedArity = 2); re_frame.subs.warn_when_not_reactive = (function re_frame$subs$warn_when_not_reactive(){ if(((re_frame.interop.debug_enabled_QMARK_) && ((!(re_frame.interop.reactive_QMARK_()))))){ 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(["re-frame: Subscribe was called outside of a reactive context.\n","See: https://day8.github.io/re-frame/FAQs/UseASubscriptionInAJsEvent/\n","https://day8.github.io/re-frame/FAQs/UseASubscriptionInAnEventHandler/"], 0)); } else { return null; } }); re_frame.subs.subscribe = (function re_frame$subs$subscribe(var_args){ var G__52847 = arguments.length; switch (G__52847) { case 1: return re_frame.subs.subscribe.cljs$core$IFn$_invoke$arity$1((arguments[(0)])); break; case 2: return re_frame.subs.subscribe.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)])); break; default: throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(''))); } }); (re_frame.subs.subscribe.cljs$core$IFn$_invoke$arity$1 = (function (query){ re_frame.subs.warn_when_not_reactive(); if(re_frame.trace.is_trace_enabled_QMARK_()){ var _STAR_current_trace_STAR__orig_val__52848 = re_frame.trace._STAR_current_trace_STAR_; var _STAR_current_trace_STAR__temp_val__52849 = re_frame.trace.start_trace(new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"operation","operation",-1267664310),re_frame.utils.first_in_vector(query),new cljs.core.Keyword(null,"op-type","op-type",-1636141668),new cljs.core.Keyword("sub","create","sub/create",-1301317560),new cljs.core.Keyword(null,"tags","tags",1771418977),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"query-v","query-v",-1514170131),query], null)], null)); (re_frame.trace._STAR_current_trace_STAR_ = _STAR_current_trace_STAR__temp_val__52849); try{try{var temp__5802__auto__ = re_frame.subs.cache_lookup.cljs$core$IFn$_invoke$arity$1(query); if(cljs.core.truth_(temp__5802__auto__)){ var cached = temp__5802__auto__; if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52723__auto___52989 = 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, 2, [new cljs.core.Keyword(null,"cached?","cached?",86081880),true,new cljs.core.Keyword(null,"reaction","reaction",490869788),re_frame.interop.reagent_id(cached)], 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, 2, [new cljs.core.Keyword(null,"cached?","cached?",86081880),true,new cljs.core.Keyword(null,"reaction","reaction",490869788),re_frame.interop.reagent_id(cached)], null)], null),new cljs.core.Keyword(null,"tags","tags",1771418977))], 0)); (re_frame.trace._STAR_current_trace_STAR_ = new_trace__52723__auto___52989); } else { } return cached; } else { var query_id = re_frame.utils.first_in_vector(query); var handler_fn = re_frame.registrar.get_handler.cljs$core$IFn$_invoke$arity$2(re_frame.subs.kind,query_id); if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52723__auto___52990 = 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,"cached?","cached?",86081880),false], 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,"cached?","cached?",86081880),false], null)], null),new cljs.core.Keyword(null,"tags","tags",1771418977))], 0)); (re_frame.trace._STAR_current_trace_STAR_ = new_trace__52723__auto___52990); } else { } if((handler_fn == null)){ if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52723__auto___52991 = 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,"error","error",-978969032),true], null))),cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"error","error",-978969032),true], null),new cljs.core.Keyword(null,"tags","tags",1771418977))], 0)); (re_frame.trace._STAR_current_trace_STAR_ = new_trace__52723__auto___52991); } else { } 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: no subscription handler registered for: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(query_id),". Returning a nil subscription."].join('')], 0)); } else { return re_frame.subs.cache_and_return(query,cljs.core.PersistentVector.EMPTY,(handler_fn.cljs$core$IFn$_invoke$arity$2 ? handler_fn.cljs$core$IFn$_invoke$arity$2(re_frame.db.app_db,query) : handler_fn.call(null,re_frame.db.app_db,query))); } } }finally {if(re_frame.trace.is_trace_enabled_QMARK_()){ var end__52721__auto___52992 = re_frame.interop.now(); var duration__52722__auto___52993 = (end__52721__auto___52992 - 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___52993,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___52992); } else { } }}finally {(re_frame.trace._STAR_current_trace_STAR_ = _STAR_current_trace_STAR__orig_val__52848); }} else { var temp__5802__auto__ = re_frame.subs.cache_lookup.cljs$core$IFn$_invoke$arity$1(query); if(cljs.core.truth_(temp__5802__auto__)){ var cached = temp__5802__auto__; if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52723__auto___52994 = 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, 2, [new cljs.core.Keyword(null,"cached?","cached?",86081880),true,new cljs.core.Keyword(null,"reaction","reaction",490869788),re_frame.interop.reagent_id(cached)], 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, 2, [new cljs.core.Keyword(null,"cached?","cached?",86081880),true,new cljs.core.Keyword(null,"reaction","reaction",490869788),re_frame.interop.reagent_id(cached)], null)], null),new cljs.core.Keyword(null,"tags","tags",1771418977))], 0)); (re_frame.trace._STAR_current_trace_STAR_ = new_trace__52723__auto___52994); } else { } return cached; } else { var query_id = re_frame.utils.first_in_vector(query); var handler_fn = re_frame.registrar.get_handler.cljs$core$IFn$_invoke$arity$2(re_frame.subs.kind,query_id); if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52723__auto___52995 = 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,"cached?","cached?",86081880),false], 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,"cached?","cached?",86081880),false], null)], null),new cljs.core.Keyword(null,"tags","tags",1771418977))], 0)); (re_frame.trace._STAR_current_trace_STAR_ = new_trace__52723__auto___52995); } else { } if((handler_fn == null)){ if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52723__auto___52996 = 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,"error","error",-978969032),true], null))),cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"error","error",-978969032),true], null),new cljs.core.Keyword(null,"tags","tags",1771418977))], 0)); (re_frame.trace._STAR_current_trace_STAR_ = new_trace__52723__auto___52996); } else { } 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: no subscription handler registered for: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(query_id),". Returning a nil subscription."].join('')], 0)); } else { return re_frame.subs.cache_and_return(query,cljs.core.PersistentVector.EMPTY,(handler_fn.cljs$core$IFn$_invoke$arity$2 ? handler_fn.cljs$core$IFn$_invoke$arity$2(re_frame.db.app_db,query) : handler_fn.call(null,re_frame.db.app_db,query))); } } } })); (re_frame.subs.subscribe.cljs$core$IFn$_invoke$arity$2 = (function (query,dynv){ re_frame.subs.warn_when_not_reactive(); if(re_frame.trace.is_trace_enabled_QMARK_()){ var _STAR_current_trace_STAR__orig_val__52854 = re_frame.trace._STAR_current_trace_STAR_; var _STAR_current_trace_STAR__temp_val__52855 = re_frame.trace.start_trace(new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"operation","operation",-1267664310),re_frame.utils.first_in_vector(query),new cljs.core.Keyword(null,"op-type","op-type",-1636141668),new cljs.core.Keyword("sub","create","sub/create",-1301317560),new cljs.core.Keyword(null,"tags","tags",1771418977),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"query-v","query-v",-1514170131),query,new cljs.core.Keyword(null,"dyn-v","dyn-v",949994592),dynv], null)], null)); (re_frame.trace._STAR_current_trace_STAR_ = _STAR_current_trace_STAR__temp_val__52855); try{try{var temp__5802__auto__ = re_frame.subs.cache_lookup.cljs$core$IFn$_invoke$arity$2(query,dynv); if(cljs.core.truth_(temp__5802__auto__)){ var cached = temp__5802__auto__; if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52723__auto___52997 = 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, 2, [new cljs.core.Keyword(null,"cached?","cached?",86081880),true,new cljs.core.Keyword(null,"reaction","reaction",490869788),re_frame.interop.reagent_id(cached)], 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, 2, [new cljs.core.Keyword(null,"cached?","cached?",86081880),true,new cljs.core.Keyword(null,"reaction","reaction",490869788),re_frame.interop.reagent_id(cached)], null)], null),new cljs.core.Keyword(null,"tags","tags",1771418977))], 0)); (re_frame.trace._STAR_current_trace_STAR_ = new_trace__52723__auto___52997); } else { } return cached; } else { var query_id = re_frame.utils.first_in_vector(query); var handler_fn = re_frame.registrar.get_handler.cljs$core$IFn$_invoke$arity$2(re_frame.subs.kind,query_id); if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52723__auto___52998 = 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,"cached?","cached?",86081880),false], 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,"cached?","cached?",86081880),false], null)], null),new cljs.core.Keyword(null,"tags","tags",1771418977))], 0)); (re_frame.trace._STAR_current_trace_STAR_ = new_trace__52723__auto___52998); } else { } if(re_frame.interop.debug_enabled_QMARK_){ var temp__5804__auto___53001 = cljs.core.not_empty(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(re_frame.interop.ratom_QMARK_,dynv)); if(cljs.core.truth_(temp__5804__auto___53001)){ var not_reactive_53002 = temp__5804__auto___53001; 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(["re-frame: your subscription's dynamic parameters that don't implement IReactiveAtom:",not_reactive_53002], 0)); } else { } } else { } if((handler_fn == null)){ if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52723__auto___53003 = 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,"error","error",-978969032),true], null))),cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"error","error",-978969032),true], null),new cljs.core.Keyword(null,"tags","tags",1771418977))], 0)); (re_frame.trace._STAR_current_trace_STAR_ = new_trace__52723__auto___53003); } else { } 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: no subscription handler registered for: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(query_id),". Returning a nil subscription."].join('')], 0)); } else { var dyn_vals = re_frame.interop.make_reaction((function (){ return cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(cljs.core.deref,dynv); })); var sub = re_frame.interop.make_reaction((function (){ var G__52861 = re_frame.db.app_db; var G__52862 = query; var G__52863 = cljs.core.deref(dyn_vals); return (handler_fn.cljs$core$IFn$_invoke$arity$3 ? handler_fn.cljs$core$IFn$_invoke$arity$3(G__52861,G__52862,G__52863) : handler_fn.call(null,G__52861,G__52862,G__52863)); })); return re_frame.subs.cache_and_return(query,dynv,re_frame.interop.make_reaction((function (){ return cljs.core.deref(cljs.core.deref(sub)); }))); } } }finally {if(re_frame.trace.is_trace_enabled_QMARK_()){ var end__52721__auto___53007 = re_frame.interop.now(); var duration__52722__auto___53008 = (end__52721__auto___53007 - 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___53008,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___53007); } else { } }}finally {(re_frame.trace._STAR_current_trace_STAR_ = _STAR_current_trace_STAR__orig_val__52854); }} else { var temp__5802__auto__ = re_frame.subs.cache_lookup.cljs$core$IFn$_invoke$arity$2(query,dynv); if(cljs.core.truth_(temp__5802__auto__)){ var cached = temp__5802__auto__; if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52723__auto___53009 = 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, 2, [new cljs.core.Keyword(null,"cached?","cached?",86081880),true,new cljs.core.Keyword(null,"reaction","reaction",490869788),re_frame.interop.reagent_id(cached)], 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, 2, [new cljs.core.Keyword(null,"cached?","cached?",86081880),true,new cljs.core.Keyword(null,"reaction","reaction",490869788),re_frame.interop.reagent_id(cached)], null)], null),new cljs.core.Keyword(null,"tags","tags",1771418977))], 0)); (re_frame.trace._STAR_current_trace_STAR_ = new_trace__52723__auto___53009); } else { } return cached; } else { var query_id = re_frame.utils.first_in_vector(query); var handler_fn = re_frame.registrar.get_handler.cljs$core$IFn$_invoke$arity$2(re_frame.subs.kind,query_id); if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52723__auto___53010 = 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,"cached?","cached?",86081880),false], 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,"cached?","cached?",86081880),false], null)], null),new cljs.core.Keyword(null,"tags","tags",1771418977))], 0)); (re_frame.trace._STAR_current_trace_STAR_ = new_trace__52723__auto___53010); } else { } if(re_frame.interop.debug_enabled_QMARK_){ var temp__5804__auto___53011 = cljs.core.not_empty(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(re_frame.interop.ratom_QMARK_,dynv)); if(cljs.core.truth_(temp__5804__auto___53011)){ var not_reactive_53012 = temp__5804__auto___53011; 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(["re-frame: your subscription's dynamic parameters that don't implement IReactiveAtom:",not_reactive_53012], 0)); } else { } } else { } if((handler_fn == null)){ if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52723__auto___53013 = 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,"error","error",-978969032),true], null))),cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"error","error",-978969032),true], null),new cljs.core.Keyword(null,"tags","tags",1771418977))], 0)); (re_frame.trace._STAR_current_trace_STAR_ = new_trace__52723__auto___53013); } else { } 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: no subscription handler registered for: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(query_id),". Returning a nil subscription."].join('')], 0)); } else { var dyn_vals = re_frame.interop.make_reaction((function (){ return cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(cljs.core.deref,dynv); })); var sub = re_frame.interop.make_reaction((function (){ var G__52874 = re_frame.db.app_db; var G__52875 = query; var G__52876 = cljs.core.deref(dyn_vals); return (handler_fn.cljs$core$IFn$_invoke$arity$3 ? handler_fn.cljs$core$IFn$_invoke$arity$3(G__52874,G__52875,G__52876) : handler_fn.call(null,G__52874,G__52875,G__52876)); })); return re_frame.subs.cache_and_return(query,dynv,re_frame.interop.make_reaction((function (){ return cljs.core.deref(cljs.core.deref(sub)); }))); } } } })); (re_frame.subs.subscribe.cljs$lang$maxFixedArity = 2); /** * Returns a new version of 'm' in which 'f' has been applied to each value. * (map-vals inc {:a 4, :b 2}) => {:a 5, :b 3} */ re_frame.subs.map_vals = (function re_frame$subs$map_vals(f,m){ return cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.empty(m),cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p__52879){ var vec__52881 = p__52879; var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__52881,(0),null); var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__52881,(1),null); return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(v) : f.call(null,v))], null); })),m); }); /** * Runs f over signals. Signals may take several * forms, this function handles all of them. */ re_frame.subs.map_signals = (function re_frame$subs$map_signals(f,signals){ if(cljs.core.sequential_QMARK_(signals)){ return cljs.core.map.cljs$core$IFn$_invoke$arity$2(f,signals); } else { if(cljs.core.map_QMARK_(signals)){ return re_frame.subs.map_vals(f,signals); } else { if(re_frame.interop.deref_QMARK_(signals)){ return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(signals) : f.call(null,signals)); } else { return cljs.core.List.EMPTY; } } } }); /** * Coerces x to a seq if it isn't one already */ re_frame.subs.to_seq = (function re_frame$subs$to_seq(x){ if(cljs.core.sequential_QMARK_(x)){ return x; } else { return (new cljs.core.List(null,x,null,(1),null)); } }); re_frame.subs.deref_input_signals = (function re_frame$subs$deref_input_signals(signals,query_id){ var dereffed_signals = re_frame.subs.map_signals(cljs.core.deref,signals); if(cljs.core.sequential_QMARK_(signals)){ cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.deref,signals); } else { if(cljs.core.map_QMARK_(signals)){ re_frame.subs.map_vals(cljs.core.deref,signals); } else { if(re_frame.interop.deref_QMARK_(signals)){ cljs.core.deref(signals); } 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: in the reg-sub for",query_id,", the input-signals function returns:",signals], 0)); } } } if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52723__auto___53014 = 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,"input-signals","input-signals",563633497),cljs.core.doall.cljs$core$IFn$_invoke$arity$1(re_frame.subs.to_seq(re_frame.subs.map_signals(re_frame.interop.reagent_id,signals)))], 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,"input-signals","input-signals",563633497),cljs.core.doall.cljs$core$IFn$_invoke$arity$1(re_frame.subs.to_seq(re_frame.subs.map_signals(re_frame.interop.reagent_id,signals)))], null)], null),new cljs.core.Keyword(null,"tags","tags",1771418977))], 0)); (re_frame.trace._STAR_current_trace_STAR_ = new_trace__52723__auto___53014); } else { } return dereffed_signals; }); re_frame.subs.reg_sub = (function re_frame$subs$reg_sub(var_args){ var args__5755__auto__ = []; var len__5749__auto___53016 = arguments.length; var i__5750__auto___53017 = (0); while(true){ if((i__5750__auto___53017 < len__5749__auto___53016)){ args__5755__auto__.push((arguments[i__5750__auto___53017])); var G__53018 = (i__5750__auto___53017 + (1)); i__5750__auto___53017 = G__53018; continue; } else { } break; } var argseq__5756__auto__ = ((((1) < args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null); return re_frame.subs.reg_sub.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__); }); (re_frame.subs.reg_sub.cljs$core$IFn$_invoke$arity$variadic = (function (query_id,args){ var err_header = ["re-frame: reg-sub for ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(query_id),", "].join(''); var vec__52897 = (function (){var vec__52900 = cljs.core.take_last((2),args); var op = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__52900,(0),null); var f = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__52900,(1),null); var comp_f = vec__52900; if(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),cljs.core.count(comp_f))) || (((cljs.core.fn_QMARK_(op)) || (cljs.core.vector_QMARK_(op)))))){ return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.butlast(args),cljs.core.last(args)], null); } else { var args__$1 = cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2((2),args); var G__52905 = op; var G__52905__$1 = (((G__52905 instanceof cljs.core.Keyword))?G__52905.fqn:null); switch (G__52905__$1) { case "->": return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [args__$1,(function (db,_){ return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(db) : f.call(null,db)); })], null); break; case "=>": return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [args__$1,(function (db,p__52907){ var vec__52908 = p__52907; var seq__52909 = cljs.core.seq(vec__52908); var first__52910 = cljs.core.first(seq__52909); var seq__52909__$1 = cljs.core.next(seq__52909); var _ = first__52910; var qs = seq__52909__$1; return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,db,qs); })], null); break; default: 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([err_header,"expected :-> or :=> as second to last argument, got:",op], 0)); } } })(); var input_args = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__52897,(0),null); var computation_fn = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__52897,(1),null); var inputs_fn = (function (){var G__52911 = cljs.core.count(input_args); switch (G__52911) { case (0): return (function() { var G__53021 = null; var G__53021__1 = (function (_){ return re_frame.db.app_db; }); var G__53021__2 = (function (_,___$1){ return re_frame.db.app_db; }); G__53021 = function(_,___$1){ switch(arguments.length){ case 1: return G__53021__1.call(this,_); case 2: return G__53021__2.call(this,_,___$1); } throw(new Error('Invalid arity: ' + arguments.length)); }; G__53021.cljs$core$IFn$_invoke$arity$1 = G__53021__1; G__53021.cljs$core$IFn$_invoke$arity$2 = G__53021__2; return G__53021; })() break; case (1): var f = cljs.core.first(input_args); if(cljs.core.fn_QMARK_(f)){ } 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([err_header,"2nd argument expected to be an inputs function, got:",f], 0)); } return f; break; case (2): var vec__52915 = input_args; var marker = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__52915,(0),null); var vec = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__52915,(1),null); if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"<-","<-",760412998),marker)){ } 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([err_header,"expected :<-, got:",marker], 0)); } return (function() { var re_frame$subs$inp_fn = null; var re_frame$subs$inp_fn__1 = (function (_){ return re_frame.subs.subscribe.cljs$core$IFn$_invoke$arity$1(vec); }); var re_frame$subs$inp_fn__2 = (function (_,___$1){ return re_frame.subs.subscribe.cljs$core$IFn$_invoke$arity$1(vec); }); re_frame$subs$inp_fn = function(_,___$1){ switch(arguments.length){ case 1: return re_frame$subs$inp_fn__1.call(this,_); case 2: return re_frame$subs$inp_fn__2.call(this,_,___$1); } throw(new Error('Invalid arity: ' + arguments.length)); }; re_frame$subs$inp_fn.cljs$core$IFn$_invoke$arity$1 = re_frame$subs$inp_fn__1; re_frame$subs$inp_fn.cljs$core$IFn$_invoke$arity$2 = re_frame$subs$inp_fn__2; return re_frame$subs$inp_fn; })() break; default: var pairs = cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),input_args); var markers = cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,pairs); var vecs = cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.second,pairs); if(((cljs.core.every_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"<-","<-",760412998),null], null), null),markers)) && (cljs.core.every_QMARK_(cljs.core.vector_QMARK_,vecs)))){ } 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([err_header,"expected pairs of :<- and vectors, got:",pairs], 0)); } return (function() { var re_frame$subs$inp_fn = null; var re_frame$subs$inp_fn__1 = (function (_){ return cljs.core.map.cljs$core$IFn$_invoke$arity$2(re_frame.subs.subscribe,vecs); }); var re_frame$subs$inp_fn__2 = (function (_,___$1){ return cljs.core.map.cljs$core$IFn$_invoke$arity$2(re_frame.subs.subscribe,vecs); }); re_frame$subs$inp_fn = function(_,___$1){ switch(arguments.length){ case 1: return re_frame$subs$inp_fn__1.call(this,_); case 2: return re_frame$subs$inp_fn__2.call(this,_,___$1); } throw(new Error('Invalid arity: ' + arguments.length)); }; re_frame$subs$inp_fn.cljs$core$IFn$_invoke$arity$1 = re_frame$subs$inp_fn__1; re_frame$subs$inp_fn.cljs$core$IFn$_invoke$arity$2 = re_frame$subs$inp_fn__2; return re_frame$subs$inp_fn; })() } })(); return re_frame.registrar.register_handler(re_frame.subs.kind,query_id,(function() { var re_frame$subs$subs_handler_fn = null; var re_frame$subs$subs_handler_fn__2 = (function (db,query_vec){ var subscriptions = (inputs_fn.cljs$core$IFn$_invoke$arity$2 ? inputs_fn.cljs$core$IFn$_invoke$arity$2(query_vec,null) : inputs_fn.call(null,query_vec,null)); var reaction_id = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null); var reaction = re_frame.interop.make_reaction((function (){ if(re_frame.trace.is_trace_enabled_QMARK_()){ var _STAR_current_trace_STAR__orig_val__52925 = re_frame.trace._STAR_current_trace_STAR_; var _STAR_current_trace_STAR__temp_val__52926 = re_frame.trace.start_trace(new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"operation","operation",-1267664310),re_frame.utils.first_in_vector(query_vec),new cljs.core.Keyword(null,"op-type","op-type",-1636141668),new cljs.core.Keyword("sub","run","sub/run",-1821315581),new cljs.core.Keyword(null,"tags","tags",1771418977),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"query-v","query-v",-1514170131),query_vec,new cljs.core.Keyword(null,"reaction","reaction",490869788),cljs.core.deref(reaction_id)], null)], null)); (re_frame.trace._STAR_current_trace_STAR_ = _STAR_current_trace_STAR__temp_val__52926); try{try{var subscription = (function (){var G__52932 = re_frame.subs.deref_input_signals(subscriptions,query_id); var G__52933 = query_vec; return (computation_fn.cljs$core$IFn$_invoke$arity$2 ? computation_fn.cljs$core$IFn$_invoke$arity$2(G__52932,G__52933) : computation_fn.call(null,G__52932,G__52933)); })(); if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52723__auto___53029 = 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,"value","value",305978217),subscription], 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,"value","value",305978217),subscription], null)], null),new cljs.core.Keyword(null,"tags","tags",1771418977))], 0)); (re_frame.trace._STAR_current_trace_STAR_ = new_trace__52723__auto___53029); } else { } return subscription; }finally {if(re_frame.trace.is_trace_enabled_QMARK_()){ var end__52721__auto___53030 = re_frame.interop.now(); var duration__52722__auto___53031 = (end__52721__auto___53030 - 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___53031,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___53030); } else { } }}finally {(re_frame.trace._STAR_current_trace_STAR_ = _STAR_current_trace_STAR__orig_val__52925); }} else { var subscription = (function (){var G__52937 = re_frame.subs.deref_input_signals(subscriptions,query_id); var G__52938 = query_vec; return (computation_fn.cljs$core$IFn$_invoke$arity$2 ? computation_fn.cljs$core$IFn$_invoke$arity$2(G__52937,G__52938) : computation_fn.call(null,G__52937,G__52938)); })(); if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52723__auto___53032 = 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,"value","value",305978217),subscription], 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,"value","value",305978217),subscription], null)], null),new cljs.core.Keyword(null,"tags","tags",1771418977))], 0)); (re_frame.trace._STAR_current_trace_STAR_ = new_trace__52723__auto___53032); } else { } return subscription; } })); cljs.core.reset_BANG_(reaction_id,re_frame.interop.reagent_id(reaction)); return reaction; }); var re_frame$subs$subs_handler_fn__3 = (function (db,query_vec,dyn_vec){ var subscriptions = (inputs_fn.cljs$core$IFn$_invoke$arity$2 ? inputs_fn.cljs$core$IFn$_invoke$arity$2(query_vec,dyn_vec) : inputs_fn.call(null,query_vec,dyn_vec)); var reaction_id = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null); var reaction = re_frame.interop.make_reaction((function (){ if(re_frame.trace.is_trace_enabled_QMARK_()){ var _STAR_current_trace_STAR__orig_val__52943 = re_frame.trace._STAR_current_trace_STAR_; var _STAR_current_trace_STAR__temp_val__52944 = re_frame.trace.start_trace(new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"operation","operation",-1267664310),re_frame.utils.first_in_vector(query_vec),new cljs.core.Keyword(null,"op-type","op-type",-1636141668),new cljs.core.Keyword("sub","run","sub/run",-1821315581),new cljs.core.Keyword(null,"tags","tags",1771418977),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"query-v","query-v",-1514170131),query_vec,new cljs.core.Keyword(null,"dyn-v","dyn-v",949994592),dyn_vec,new cljs.core.Keyword(null,"reaction","reaction",490869788),cljs.core.deref(reaction_id)], null)], null)); (re_frame.trace._STAR_current_trace_STAR_ = _STAR_current_trace_STAR__temp_val__52944); try{try{var subscription = (function (){var G__52946 = re_frame.subs.deref_input_signals(subscriptions,query_id); var G__52947 = query_vec; var G__52948 = dyn_vec; return (computation_fn.cljs$core$IFn$_invoke$arity$3 ? computation_fn.cljs$core$IFn$_invoke$arity$3(G__52946,G__52947,G__52948) : computation_fn.call(null,G__52946,G__52947,G__52948)); })(); if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52723__auto___53036 = 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,"value","value",305978217),subscription], 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,"value","value",305978217),subscription], null)], null),new cljs.core.Keyword(null,"tags","tags",1771418977))], 0)); (re_frame.trace._STAR_current_trace_STAR_ = new_trace__52723__auto___53036); } else { } return subscription; }finally {if(re_frame.trace.is_trace_enabled_QMARK_()){ var end__52721__auto___53037 = re_frame.interop.now(); var duration__52722__auto___53038 = (end__52721__auto___53037 - 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___53038,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___53037); } else { } }}finally {(re_frame.trace._STAR_current_trace_STAR_ = _STAR_current_trace_STAR__orig_val__52943); }} else { var subscription = (function (){var G__52951 = re_frame.subs.deref_input_signals(subscriptions,query_id); var G__52952 = query_vec; var G__52953 = dyn_vec; return (computation_fn.cljs$core$IFn$_invoke$arity$3 ? computation_fn.cljs$core$IFn$_invoke$arity$3(G__52951,G__52952,G__52953) : computation_fn.call(null,G__52951,G__52952,G__52953)); })(); if(re_frame.trace.is_trace_enabled_QMARK_()){ var new_trace__52723__auto___53042 = 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,"value","value",305978217),subscription], 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,"value","value",305978217),subscription], null)], null),new cljs.core.Keyword(null,"tags","tags",1771418977))], 0)); (re_frame.trace._STAR_current_trace_STAR_ = new_trace__52723__auto___53042); } else { } return subscription; } })); cljs.core.reset_BANG_(reaction_id,re_frame.interop.reagent_id(reaction)); return reaction; }); re_frame$subs$subs_handler_fn = function(db,query_vec,dyn_vec){ switch(arguments.length){ case 2: return re_frame$subs$subs_handler_fn__2.call(this,db,query_vec); case 3: return re_frame$subs$subs_handler_fn__3.call(this,db,query_vec,dyn_vec); } throw(new Error('Invalid arity: ' + arguments.length)); }; re_frame$subs$subs_handler_fn.cljs$core$IFn$_invoke$arity$2 = re_frame$subs$subs_handler_fn__2; re_frame$subs$subs_handler_fn.cljs$core$IFn$_invoke$arity$3 = re_frame$subs$subs_handler_fn__3; return re_frame$subs$subs_handler_fn; })() ); })); (re_frame.subs.reg_sub.cljs$lang$maxFixedArity = (1)); /** @this {Function} */ (re_frame.subs.reg_sub.cljs$lang$applyTo = (function (seq52891){ var G__52892 = cljs.core.first(seq52891); var seq52891__$1 = cljs.core.next(seq52891); var self__5734__auto__ = this; return self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__52892,seq52891__$1); })); //# sourceMappingURL=re_frame.subs.js.map