// Compiled by ClojureScript 1.9.229 {} goog.provide('re_frame.subs'); goog.require('cljs.core'); goog.require('re_frame.db'); goog.require('re_frame.interop'); goog.require('re_frame.loggers'); goog.require('re_frame.utils'); goog.require('re_frame.registrar'); goog.require('re_frame.trace'); re_frame.subs.kind = new cljs.core.Keyword(null,"sub","sub",-2093760025); if(cljs.core.truth_(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.call(null,cljs.core.PersistentArrayMap.EMPTY); /** * Runs on-dispose for all subscriptions we have in the subscription cache. * Used to force recreation of new subscriptions. Should only be necessary * in development. * * The on-dispose functions for the subscriptions will remove themselves from the * cache. * * Useful when reloading Figwheel code after a React exception, as React components * aren't cleaned up properly. This means a subscription's on-dispose function isn't * run when the components are destroyed. If a bad subscription caused your exception, * then you can't fix it without reloading your browser. */ re_frame.subs.clear_subscription_cache_BANG_ = (function re_frame$subs$clear_subscription_cache_BANG_(){ var seq__33084_33094 = cljs.core.seq.call(null,cljs.core.deref.call(null,re_frame.subs.query__GT_reaction)); var chunk__33085_33095 = null; var count__33086_33096 = (0); var i__33087_33097 = (0); while(true){ if((i__33087_33097 < count__33086_33096)){ var vec__33088_33098 = cljs.core._nth.call(null,chunk__33085_33095,i__33087_33097); var k_33099 = cljs.core.nth.call(null,vec__33088_33098,(0),null); var rxn_33100 = cljs.core.nth.call(null,vec__33088_33098,(1),null); re_frame.interop.dispose_BANG_.call(null,rxn_33100); var G__33101 = seq__33084_33094; var G__33102 = chunk__33085_33095; var G__33103 = count__33086_33096; var G__33104 = (i__33087_33097 + (1)); seq__33084_33094 = G__33101; chunk__33085_33095 = G__33102; count__33086_33096 = G__33103; i__33087_33097 = G__33104; continue; } else { var temp__4657__auto___33105 = cljs.core.seq.call(null,seq__33084_33094); if(temp__4657__auto___33105){ var seq__33084_33106__$1 = temp__4657__auto___33105; if(cljs.core.chunked_seq_QMARK_.call(null,seq__33084_33106__$1)){ var c__25941__auto___33107 = cljs.core.chunk_first.call(null,seq__33084_33106__$1); var G__33108 = cljs.core.chunk_rest.call(null,seq__33084_33106__$1); var G__33109 = c__25941__auto___33107; var G__33110 = cljs.core.count.call(null,c__25941__auto___33107); var G__33111 = (0); seq__33084_33094 = G__33108; chunk__33085_33095 = G__33109; count__33086_33096 = G__33110; i__33087_33097 = G__33111; continue; } else { var vec__33091_33112 = cljs.core.first.call(null,seq__33084_33106__$1); var k_33113 = cljs.core.nth.call(null,vec__33091_33112,(0),null); var rxn_33114 = cljs.core.nth.call(null,vec__33091_33112,(1),null); re_frame.interop.dispose_BANG_.call(null,rxn_33114); var G__33115 = cljs.core.next.call(null,seq__33084_33106__$1); var G__33116 = null; var G__33117 = (0); var G__33118 = (0); seq__33084_33094 = G__33115; chunk__33085_33095 = G__33116; count__33086_33096 = G__33117; i__33087_33097 = G__33118; continue; } } else { } } break; } if(cljs.core.truth_(cljs.core.not_empty.call(null,cljs.core.deref.call(null,re_frame.subs.query__GT_reaction)))){ return re_frame.loggers.console.call(null,new cljs.core.Keyword(null,"warn","warn",-436710552),"Subscription cache should be empty after clearing it."); } 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.call(null,re_frame.subs.kind); return re_frame.subs.clear_subscription_cache_BANG_.call(null); }); /** * 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_.call(null,r,((function (cache_key){ return (function (){ cljs.core.swap_BANG_.call(null,re_frame.subs.query__GT_reaction,cljs.core.dissoc,cache_key); if(re_frame.trace.is_trace_enabled_QMARK_.call(null)){ var _STAR_current_trace_STAR_33132 = re_frame.trace._STAR_current_trace_STAR_; re_frame.trace._STAR_current_trace_STAR_ = re_frame.trace.start_trace.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"operation","operation",-1267664310),re_frame.utils.first_in_vector.call(null,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.call(null,r)], null)], null)); try{try{return null; }finally {if(re_frame.trace.is_trace_enabled_QMARK_.call(null)){ var end__32708__auto___33145 = re_frame.interop.now.call(null); var duration__32709__auto___33146 = (end__32708__auto___33145 - new cljs.core.Keyword(null,"start","start",-355208981).cljs$core$IFn$_invoke$arity$1(re_frame.trace._STAR_current_trace_STAR_)); var seq__33133_33147 = cljs.core.seq.call(null,cljs.core.deref.call(null,re_frame.trace.trace_cbs)); var chunk__33134_33148 = null; var count__33135_33149 = (0); var i__33136_33150 = (0); while(true){ if((i__33136_33150 < count__33135_33149)){ var vec__33137_33151 = cljs.core._nth.call(null,chunk__33134_33148,i__33136_33150); var k__32710__auto___33152 = cljs.core.nth.call(null,vec__33137_33151,(0),null); var cb__32711__auto___33153 = cljs.core.nth.call(null,vec__33137_33151,(1),null); try{cb__32711__auto___33153.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.assoc.call(null,re_frame.trace._STAR_current_trace_STAR_,new cljs.core.Keyword(null,"duration","duration",1444101068),duration__32709__auto___33146,new cljs.core.Keyword(null,"end","end",-268185958),re_frame.interop.now.call(null))], null)); }catch (e33140){if((e33140 instanceof java.lang.Exception)){ var e__32712__auto___33154 = e33140; re_frame.loggers.console.call(null,new cljs.core.Keyword(null,"error","error",-978969032),"Error thrown from trace cb",k__32710__auto___33152,"while storing",re_frame.trace._STAR_current_trace_STAR_,e__32712__auto___33154); } else { throw e33140; } } var G__33155 = seq__33133_33147; var G__33156 = chunk__33134_33148; var G__33157 = count__33135_33149; var G__33158 = (i__33136_33150 + (1)); seq__33133_33147 = G__33155; chunk__33134_33148 = G__33156; count__33135_33149 = G__33157; i__33136_33150 = G__33158; continue; } else { var temp__4657__auto___33159 = cljs.core.seq.call(null,seq__33133_33147); if(temp__4657__auto___33159){ var seq__33133_33160__$1 = temp__4657__auto___33159; if(cljs.core.chunked_seq_QMARK_.call(null,seq__33133_33160__$1)){ var c__25941__auto___33161 = cljs.core.chunk_first.call(null,seq__33133_33160__$1); var G__33162 = cljs.core.chunk_rest.call(null,seq__33133_33160__$1); var G__33163 = c__25941__auto___33161; var G__33164 = cljs.core.count.call(null,c__25941__auto___33161); var G__33165 = (0); seq__33133_33147 = G__33162; chunk__33134_33148 = G__33163; count__33135_33149 = G__33164; i__33136_33150 = G__33165; continue; } else { var vec__33141_33166 = cljs.core.first.call(null,seq__33133_33160__$1); var k__32710__auto___33167 = cljs.core.nth.call(null,vec__33141_33166,(0),null); var cb__32711__auto___33168 = cljs.core.nth.call(null,vec__33141_33166,(1),null); try{cb__32711__auto___33168.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.assoc.call(null,re_frame.trace._STAR_current_trace_STAR_,new cljs.core.Keyword(null,"duration","duration",1444101068),duration__32709__auto___33146,new cljs.core.Keyword(null,"end","end",-268185958),re_frame.interop.now.call(null))], null)); }catch (e33144){if((e33144 instanceof java.lang.Exception)){ var e__32712__auto___33169 = e33144; re_frame.loggers.console.call(null,new cljs.core.Keyword(null,"error","error",-978969032),"Error thrown from trace cb",k__32710__auto___33167,"while storing",re_frame.trace._STAR_current_trace_STAR_,e__32712__auto___33169); } else { throw e33144; } } var G__33170 = cljs.core.next.call(null,seq__33133_33160__$1); var G__33171 = null; var G__33172 = (0); var G__33173 = (0); seq__33133_33147 = G__33170; chunk__33134_33148 = G__33171; count__33135_33149 = G__33172; i__33136_33150 = G__33173; continue; } } else { } } break; } } else { } }}finally {re_frame.trace._STAR_current_trace_STAR_ = _STAR_current_trace_STAR_33132; }} else { return null; } });})(cache_key)) ); cljs.core.swap_BANG_.call(null,re_frame.subs.query__GT_reaction,cljs.core.assoc,cache_key,r); if(re_frame.trace.is_trace_enabled_QMARK_.call(null)){ var new_trace__32713__auto___33174 = cljs.core.merge.call(null,cljs.core.update.call(null,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.call(null,r)], null)], null))),cljs.core.dissoc.call(null,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.call(null,r)], null)], null),new cljs.core.Keyword(null,"tags","tags",1771418977))); re_frame.trace._STAR_current_trace_STAR_ = new_trace__32713__auto___33174; } else { } return r; }); re_frame.subs.cache_lookup = (function re_frame$subs$cache_lookup(var_args){ var args33175 = []; var len__26205__auto___33178 = arguments.length; var i__26206__auto___33179 = (0); while(true){ if((i__26206__auto___33179 < len__26205__auto___33178)){ args33175.push((arguments[i__26206__auto___33179])); var G__33180 = (i__26206__auto___33179 + (1)); i__26206__auto___33179 = G__33180; continue; } else { } break; } var G__33177 = args33175.length; switch (G__33177) { 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([cljs.core.str("Invalid arity: "),cljs.core.str(args33175.length)].join(''))); } }); re_frame.subs.cache_lookup.cljs$core$IFn$_invoke$arity$1 = (function (query_v){ return re_frame.subs.cache_lookup.call(null,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.call(null,cljs.core.deref.call(null,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; /** * Returns a Reagent/reaction which contains a computation */ re_frame.subs.subscribe = (function re_frame$subs$subscribe(var_args){ var args33182 = []; var len__26205__auto___33211 = arguments.length; var i__26206__auto___33212 = (0); while(true){ if((i__26206__auto___33212 < len__26205__auto___33211)){ args33182.push((arguments[i__26206__auto___33212])); var G__33213 = (i__26206__auto___33212 + (1)); i__26206__auto___33212 = G__33213; continue; } else { } break; } var G__33184 = args33182.length; switch (G__33184) { 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([cljs.core.str("Invalid arity: "),cljs.core.str(args33182.length)].join(''))); } }); re_frame.subs.subscribe.cljs$core$IFn$_invoke$arity$1 = (function (query_v){ if(re_frame.trace.is_trace_enabled_QMARK_.call(null)){ var _STAR_current_trace_STAR_33185 = re_frame.trace._STAR_current_trace_STAR_; re_frame.trace._STAR_current_trace_STAR_ = re_frame.trace.start_trace.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"operation","operation",-1267664310),re_frame.utils.first_in_vector.call(null,query_v),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_v], null)], null)); try{try{var temp__4655__auto__ = re_frame.subs.cache_lookup.call(null,query_v); if(cljs.core.truth_(temp__4655__auto__)){ var cached = temp__4655__auto__; if(re_frame.trace.is_trace_enabled_QMARK_.call(null)){ var new_trace__32713__auto___33215 = cljs.core.merge.call(null,cljs.core.update.call(null,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.call(null,cached)], null)], null))),cljs.core.dissoc.call(null,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.call(null,cached)], null)], null),new cljs.core.Keyword(null,"tags","tags",1771418977))); re_frame.trace._STAR_current_trace_STAR_ = new_trace__32713__auto___33215; } else { } return cached; } else { var query_id = re_frame.utils.first_in_vector.call(null,query_v); var handler_fn = re_frame.registrar.get_handler.call(null,re_frame.subs.kind,query_id); if(re_frame.trace.is_trace_enabled_QMARK_.call(null)){ var new_trace__32713__auto___33216 = cljs.core.merge.call(null,cljs.core.update.call(null,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.call(null,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))); re_frame.trace._STAR_current_trace_STAR_ = new_trace__32713__auto___33216; } else { } if((handler_fn == null)){ if(re_frame.trace.is_trace_enabled_QMARK_.call(null)){ var new_trace__32713__auto___33217 = cljs.core.merge.call(null,cljs.core.update.call(null,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.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"error","error",-978969032),true], null),new cljs.core.Keyword(null,"tags","tags",1771418977))); re_frame.trace._STAR_current_trace_STAR_ = new_trace__32713__auto___33217; } else { } return re_frame.loggers.console.call(null,new cljs.core.Keyword(null,"error","error",-978969032),[cljs.core.str("re-frame: no subscription handler registered for: \""),cljs.core.str(query_id),cljs.core.str("\". Returning a nil subscription.")].join('')); } else { return re_frame.subs.cache_and_return.call(null,query_v,cljs.core.PersistentVector.EMPTY,handler_fn.call(null,re_frame.db.app_db,query_v)); } } }finally {if(re_frame.trace.is_trace_enabled_QMARK_.call(null)){ var end__32708__auto___33218 = re_frame.interop.now.call(null); var duration__32709__auto___33219 = (end__32708__auto___33218 - new cljs.core.Keyword(null,"start","start",-355208981).cljs$core$IFn$_invoke$arity$1(re_frame.trace._STAR_current_trace_STAR_)); var seq__33186_33220 = cljs.core.seq.call(null,cljs.core.deref.call(null,re_frame.trace.trace_cbs)); var chunk__33187_33221 = null; var count__33188_33222 = (0); var i__33189_33223 = (0); while(true){ if((i__33189_33223 < count__33188_33222)){ var vec__33190_33224 = cljs.core._nth.call(null,chunk__33187_33221,i__33189_33223); var k__32710__auto___33225 = cljs.core.nth.call(null,vec__33190_33224,(0),null); var cb__32711__auto___33226 = cljs.core.nth.call(null,vec__33190_33224,(1),null); try{cb__32711__auto___33226.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.assoc.call(null,re_frame.trace._STAR_current_trace_STAR_,new cljs.core.Keyword(null,"duration","duration",1444101068),duration__32709__auto___33219,new cljs.core.Keyword(null,"end","end",-268185958),re_frame.interop.now.call(null))], null)); }catch (e33193){if((e33193 instanceof java.lang.Exception)){ var e__32712__auto___33227 = e33193; re_frame.loggers.console.call(null,new cljs.core.Keyword(null,"error","error",-978969032),"Error thrown from trace cb",k__32710__auto___33225,"while storing",re_frame.trace._STAR_current_trace_STAR_,e__32712__auto___33227); } else { throw e33193; } } var G__33228 = seq__33186_33220; var G__33229 = chunk__33187_33221; var G__33230 = count__33188_33222; var G__33231 = (i__33189_33223 + (1)); seq__33186_33220 = G__33228; chunk__33187_33221 = G__33229; count__33188_33222 = G__33230; i__33189_33223 = G__33231; continue; } else { var temp__4657__auto___33232 = cljs.core.seq.call(null,seq__33186_33220); if(temp__4657__auto___33232){ var seq__33186_33233__$1 = temp__4657__auto___33232; if(cljs.core.chunked_seq_QMARK_.call(null,seq__33186_33233__$1)){ var c__25941__auto___33234 = cljs.core.chunk_first.call(null,seq__33186_33233__$1); var G__33235 = cljs.core.chunk_rest.call(null,seq__33186_33233__$1); var G__33236 = c__25941__auto___33234; var G__33237 = cljs.core.count.call(null,c__25941__auto___33234); var G__33238 = (0); seq__33186_33220 = G__33235; chunk__33187_33221 = G__33236; count__33188_33222 = G__33237; i__33189_33223 = G__33238; continue; } else { var vec__33194_33239 = cljs.core.first.call(null,seq__33186_33233__$1); var k__32710__auto___33240 = cljs.core.nth.call(null,vec__33194_33239,(0),null); var cb__32711__auto___33241 = cljs.core.nth.call(null,vec__33194_33239,(1),null); try{cb__32711__auto___33241.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.assoc.call(null,re_frame.trace._STAR_current_trace_STAR_,new cljs.core.Keyword(null,"duration","duration",1444101068),duration__32709__auto___33219,new cljs.core.Keyword(null,"end","end",-268185958),re_frame.interop.now.call(null))], null)); }catch (e33197){if((e33197 instanceof java.lang.Exception)){ var e__32712__auto___33242 = e33197; re_frame.loggers.console.call(null,new cljs.core.Keyword(null,"error","error",-978969032),"Error thrown from trace cb",k__32710__auto___33240,"while storing",re_frame.trace._STAR_current_trace_STAR_,e__32712__auto___33242); } else { throw e33197; } } var G__33243 = cljs.core.next.call(null,seq__33186_33233__$1); var G__33244 = null; var G__33245 = (0); var G__33246 = (0); seq__33186_33220 = G__33243; chunk__33187_33221 = G__33244; count__33188_33222 = G__33245; i__33189_33223 = G__33246; continue; } } else { } } break; } } else { } }}finally {re_frame.trace._STAR_current_trace_STAR_ = _STAR_current_trace_STAR_33185; }} else { var temp__4655__auto__ = re_frame.subs.cache_lookup.call(null,query_v); if(cljs.core.truth_(temp__4655__auto__)){ var cached = temp__4655__auto__; if(re_frame.trace.is_trace_enabled_QMARK_.call(null)){ var new_trace__32713__auto___33247 = cljs.core.merge.call(null,cljs.core.update.call(null,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.call(null,cached)], null)], null))),cljs.core.dissoc.call(null,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.call(null,cached)], null)], null),new cljs.core.Keyword(null,"tags","tags",1771418977))); re_frame.trace._STAR_current_trace_STAR_ = new_trace__32713__auto___33247; } else { } return cached; } else { var query_id = re_frame.utils.first_in_vector.call(null,query_v); var handler_fn = re_frame.registrar.get_handler.call(null,re_frame.subs.kind,query_id); if(re_frame.trace.is_trace_enabled_QMARK_.call(null)){ var new_trace__32713__auto___33248 = cljs.core.merge.call(null,cljs.core.update.call(null,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.call(null,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))); re_frame.trace._STAR_current_trace_STAR_ = new_trace__32713__auto___33248; } else { } if((handler_fn == null)){ if(re_frame.trace.is_trace_enabled_QMARK_.call(null)){ var new_trace__32713__auto___33249 = cljs.core.merge.call(null,cljs.core.update.call(null,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.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"error","error",-978969032),true], null),new cljs.core.Keyword(null,"tags","tags",1771418977))); re_frame.trace._STAR_current_trace_STAR_ = new_trace__32713__auto___33249; } else { } return re_frame.loggers.console.call(null,new cljs.core.Keyword(null,"error","error",-978969032),[cljs.core.str("re-frame: no subscription handler registered for: \""),cljs.core.str(query_id),cljs.core.str("\". Returning a nil subscription.")].join('')); } else { return re_frame.subs.cache_and_return.call(null,query_v,cljs.core.PersistentVector.EMPTY,handler_fn.call(null,re_frame.db.app_db,query_v)); } } } }); re_frame.subs.subscribe.cljs$core$IFn$_invoke$arity$2 = (function (v,dynv){ if(re_frame.trace.is_trace_enabled_QMARK_.call(null)){ var _STAR_current_trace_STAR_33198 = re_frame.trace._STAR_current_trace_STAR_; re_frame.trace._STAR_current_trace_STAR_ = re_frame.trace.start_trace.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"operation","operation",-1267664310),re_frame.utils.first_in_vector.call(null,v),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),v,new cljs.core.Keyword(null,"dyn-v","dyn-v",949994592),dynv], null)], null)); try{try{var temp__4655__auto__ = re_frame.subs.cache_lookup.call(null,v,dynv); if(cljs.core.truth_(temp__4655__auto__)){ var cached = temp__4655__auto__; if(re_frame.trace.is_trace_enabled_QMARK_.call(null)){ var new_trace__32713__auto___33250 = cljs.core.merge.call(null,cljs.core.update.call(null,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.call(null,cached)], null)], null))),cljs.core.dissoc.call(null,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.call(null,cached)], null)], null),new cljs.core.Keyword(null,"tags","tags",1771418977))); re_frame.trace._STAR_current_trace_STAR_ = new_trace__32713__auto___33250; } else { } return cached; } else { var query_id = re_frame.utils.first_in_vector.call(null,v); var handler_fn = re_frame.registrar.get_handler.call(null,re_frame.subs.kind,query_id); if(re_frame.trace.is_trace_enabled_QMARK_.call(null)){ var new_trace__32713__auto___33251 = cljs.core.merge.call(null,cljs.core.update.call(null,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.call(null,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))); re_frame.trace._STAR_current_trace_STAR_ = new_trace__32713__auto___33251; } else { } if(re_frame.interop.debug_enabled_QMARK_){ var temp__4657__auto___33252 = cljs.core.not_empty.call(null,cljs.core.remove.call(null,re_frame.interop.ratom_QMARK_,dynv)); if(cljs.core.truth_(temp__4657__auto___33252)){ var not_reactive_33253 = temp__4657__auto___33252; re_frame.loggers.console.call(null,new cljs.core.Keyword(null,"warn","warn",-436710552),"re-frame: your subscription's dynamic parameters that don't implement IReactiveAtom:",not_reactive_33253); } else { } } else { } if((handler_fn == null)){ if(re_frame.trace.is_trace_enabled_QMARK_.call(null)){ var new_trace__32713__auto___33254 = cljs.core.merge.call(null,cljs.core.update.call(null,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.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"error","error",-978969032),true], null),new cljs.core.Keyword(null,"tags","tags",1771418977))); re_frame.trace._STAR_current_trace_STAR_ = new_trace__32713__auto___33254; } else { } return re_frame.loggers.console.call(null,new cljs.core.Keyword(null,"error","error",-978969032),[cljs.core.str("re-frame: no subscription handler registered for: \""),cljs.core.str(query_id),cljs.core.str("\". Returning a nil subscription.")].join('')); } else { var dyn_vals = re_frame.interop.make_reaction.call(null,((function (query_id,handler_fn,temp__4655__auto__,_STAR_current_trace_STAR_33198){ return (function (){ return cljs.core.mapv.call(null,cljs.core.deref,dynv); });})(query_id,handler_fn,temp__4655__auto__,_STAR_current_trace_STAR_33198)) ); var sub = re_frame.interop.make_reaction.call(null,((function (dyn_vals,query_id,handler_fn,temp__4655__auto__,_STAR_current_trace_STAR_33198){ return (function (){ return handler_fn.call(null,re_frame.db.app_db,v,cljs.core.deref.call(null,dyn_vals)); });})(dyn_vals,query_id,handler_fn,temp__4655__auto__,_STAR_current_trace_STAR_33198)) ); return re_frame.subs.cache_and_return.call(null,v,dynv,re_frame.interop.make_reaction.call(null,((function (dyn_vals,sub,query_id,handler_fn,temp__4655__auto__,_STAR_current_trace_STAR_33198){ return (function (){ return cljs.core.deref.call(null,cljs.core.deref.call(null,sub)); });})(dyn_vals,sub,query_id,handler_fn,temp__4655__auto__,_STAR_current_trace_STAR_33198)) )); } } }finally {if(re_frame.trace.is_trace_enabled_QMARK_.call(null)){ var end__32708__auto___33255 = re_frame.interop.now.call(null); var duration__32709__auto___33256 = (end__32708__auto___33255 - new cljs.core.Keyword(null,"start","start",-355208981).cljs$core$IFn$_invoke$arity$1(re_frame.trace._STAR_current_trace_STAR_)); var seq__33199_33257 = cljs.core.seq.call(null,cljs.core.deref.call(null,re_frame.trace.trace_cbs)); var chunk__33200_33258 = null; var count__33201_33259 = (0); var i__33202_33260 = (0); while(true){ if((i__33202_33260 < count__33201_33259)){ var vec__33203_33261 = cljs.core._nth.call(null,chunk__33200_33258,i__33202_33260); var k__32710__auto___33262 = cljs.core.nth.call(null,vec__33203_33261,(0),null); var cb__32711__auto___33263 = cljs.core.nth.call(null,vec__33203_33261,(1),null); try{cb__32711__auto___33263.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.assoc.call(null,re_frame.trace._STAR_current_trace_STAR_,new cljs.core.Keyword(null,"duration","duration",1444101068),duration__32709__auto___33256,new cljs.core.Keyword(null,"end","end",-268185958),re_frame.interop.now.call(null))], null)); }catch (e33206){if((e33206 instanceof java.lang.Exception)){ var e__32712__auto___33264 = e33206; re_frame.loggers.console.call(null,new cljs.core.Keyword(null,"error","error",-978969032),"Error thrown from trace cb",k__32710__auto___33262,"while storing",re_frame.trace._STAR_current_trace_STAR_,e__32712__auto___33264); } else { throw e33206; } } var G__33265 = seq__33199_33257; var G__33266 = chunk__33200_33258; var G__33267 = count__33201_33259; var G__33268 = (i__33202_33260 + (1)); seq__33199_33257 = G__33265; chunk__33200_33258 = G__33266; count__33201_33259 = G__33267; i__33202_33260 = G__33268; continue; } else { var temp__4657__auto___33269 = cljs.core.seq.call(null,seq__33199_33257); if(temp__4657__auto___33269){ var seq__33199_33270__$1 = temp__4657__auto___33269; if(cljs.core.chunked_seq_QMARK_.call(null,seq__33199_33270__$1)){ var c__25941__auto___33271 = cljs.core.chunk_first.call(null,seq__33199_33270__$1); var G__33272 = cljs.core.chunk_rest.call(null,seq__33199_33270__$1); var G__33273 = c__25941__auto___33271; var G__33274 = cljs.core.count.call(null,c__25941__auto___33271); var G__33275 = (0); seq__33199_33257 = G__33272; chunk__33200_33258 = G__33273; count__33201_33259 = G__33274; i__33202_33260 = G__33275; continue; } else { var vec__33207_33276 = cljs.core.first.call(null,seq__33199_33270__$1); var k__32710__auto___33277 = cljs.core.nth.call(null,vec__33207_33276,(0),null); var cb__32711__auto___33278 = cljs.core.nth.call(null,vec__33207_33276,(1),null); try{cb__32711__auto___33278.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.assoc.call(null,re_frame.trace._STAR_current_trace_STAR_,new cljs.core.Keyword(null,"duration","duration",1444101068),duration__32709__auto___33256,new cljs.core.Keyword(null,"end","end",-268185958),re_frame.interop.now.call(null))], null)); }catch (e33210){if((e33210 instanceof java.lang.Exception)){ var e__32712__auto___33279 = e33210; re_frame.loggers.console.call(null,new cljs.core.Keyword(null,"error","error",-978969032),"Error thrown from trace cb",k__32710__auto___33277,"while storing",re_frame.trace._STAR_current_trace_STAR_,e__32712__auto___33279); } else { throw e33210; } } var G__33280 = cljs.core.next.call(null,seq__33199_33270__$1); var G__33281 = null; var G__33282 = (0); var G__33283 = (0); seq__33199_33257 = G__33280; chunk__33200_33258 = G__33281; count__33201_33259 = G__33282; i__33202_33260 = G__33283; continue; } } else { } } break; } } else { } }}finally {re_frame.trace._STAR_current_trace_STAR_ = _STAR_current_trace_STAR_33198; }} else { var temp__4655__auto__ = re_frame.subs.cache_lookup.call(null,v,dynv); if(cljs.core.truth_(temp__4655__auto__)){ var cached = temp__4655__auto__; if(re_frame.trace.is_trace_enabled_QMARK_.call(null)){ var new_trace__32713__auto___33284 = cljs.core.merge.call(null,cljs.core.update.call(null,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.call(null,cached)], null)], null))),cljs.core.dissoc.call(null,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.call(null,cached)], null)], null),new cljs.core.Keyword(null,"tags","tags",1771418977))); re_frame.trace._STAR_current_trace_STAR_ = new_trace__32713__auto___33284; } else { } return cached; } else { var query_id = re_frame.utils.first_in_vector.call(null,v); var handler_fn = re_frame.registrar.get_handler.call(null,re_frame.subs.kind,query_id); if(re_frame.trace.is_trace_enabled_QMARK_.call(null)){ var new_trace__32713__auto___33285 = cljs.core.merge.call(null,cljs.core.update.call(null,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.call(null,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))); re_frame.trace._STAR_current_trace_STAR_ = new_trace__32713__auto___33285; } else { } if(re_frame.interop.debug_enabled_QMARK_){ var temp__4657__auto___33286 = cljs.core.not_empty.call(null,cljs.core.remove.call(null,re_frame.interop.ratom_QMARK_,dynv)); if(cljs.core.truth_(temp__4657__auto___33286)){ var not_reactive_33287 = temp__4657__auto___33286; re_frame.loggers.console.call(null,new cljs.core.Keyword(null,"warn","warn",-436710552),"re-frame: your subscription's dynamic parameters that don't implement IReactiveAtom:",not_reactive_33287); } else { } } else { } if((handler_fn == null)){ if(re_frame.trace.is_trace_enabled_QMARK_.call(null)){ var new_trace__32713__auto___33288 = cljs.core.merge.call(null,cljs.core.update.call(null,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.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"error","error",-978969032),true], null),new cljs.core.Keyword(null,"tags","tags",1771418977))); re_frame.trace._STAR_current_trace_STAR_ = new_trace__32713__auto___33288; } else { } return re_frame.loggers.console.call(null,new cljs.core.Keyword(null,"error","error",-978969032),[cljs.core.str("re-frame: no subscription handler registered for: \""),cljs.core.str(query_id),cljs.core.str("\". Returning a nil subscription.")].join('')); } else { var dyn_vals = re_frame.interop.make_reaction.call(null,((function (query_id,handler_fn,temp__4655__auto__){ return (function (){ return cljs.core.mapv.call(null,cljs.core.deref,dynv); });})(query_id,handler_fn,temp__4655__auto__)) ); var sub = re_frame.interop.make_reaction.call(null,((function (dyn_vals,query_id,handler_fn,temp__4655__auto__){ return (function (){ return handler_fn.call(null,re_frame.db.app_db,v,cljs.core.deref.call(null,dyn_vals)); });})(dyn_vals,query_id,handler_fn,temp__4655__auto__)) ); return re_frame.subs.cache_and_return.call(null,v,dynv,re_frame.interop.make_reaction.call(null,((function (dyn_vals,sub,query_id,handler_fn,temp__4655__auto__){ return (function (){ return cljs.core.deref.call(null,cljs.core.deref.call(null,sub)); });})(dyn_vals,sub,query_id,handler_fn,temp__4655__auto__)) )); } } } }); 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.call(null,cljs.core.empty.call(null,m),cljs.core.map.call(null,(function (p__33293){ var vec__33294 = p__33293; var k = cljs.core.nth.call(null,vec__33294,(0),null); var v = cljs.core.nth.call(null,vec__33294,(1),null); return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,f.call(null,v)], null); })),m); }); re_frame.subs.deref_input_signals = (function re_frame$subs$deref_input_signals(signals,query_id){ var signals__$1 = ((cljs.core.sequential_QMARK_.call(null,signals))?cljs.core.map.call(null,cljs.core.deref,signals):((cljs.core.map_QMARK_.call(null,signals))?re_frame.subs.map_vals.call(null,cljs.core.deref,signals):(cljs.core.truth_(re_frame.interop.deref_QMARK_.call(null,signals))?cljs.core.deref.call(null,signals):re_frame.loggers.console.call(null,new cljs.core.Keyword(null,"error","error",-978969032),"re-frame: in the reg-sub for ",query_id,", the input-signals function returns: ",signals) ))); if(re_frame.trace.is_trace_enabled_QMARK_.call(null)){ var new_trace__32713__auto___33297 = cljs.core.merge.call(null,cljs.core.update.call(null,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.map.call(null,re_frame.interop.reagent_id,signals__$1)], null)], null))),cljs.core.dissoc.call(null,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.map.call(null,re_frame.interop.reagent_id,signals__$1)], null)], null),new cljs.core.Keyword(null,"tags","tags",1771418977))); re_frame.trace._STAR_current_trace_STAR_ = new_trace__32713__auto___33297; } else { } return signals__$1; }); /** * Associate the given `query id` with a handler function and an optional signal function. * * There's 3 ways this function can be called * * 1. (reg-sub * :test-sub * (fn [db [_]] db)) * The value in app-db is passed to the computation function as the 1st argument. * * 2. (reg-sub * :a-b-sub * (fn [q-vec d-vec] * [(subs/subscribe [:a-sub]) * (subs/subscribe [:b-sub])]) * (fn [[a b] [_]] {:a a :b b})) * * Two functions provided. The 2nd is computation function, as before. The 1st * is returns what `input signals` should be provided to the computation. The * `input signals` function is called with two arguments: the query vector * and the dynamic vector. The return value can be singleton reaction or * a sequence of reactions. * * 3. (reg-sub * :a-b-sub * :<- [:a-sub] * :<- [:b-sub] * (fn [[a b] [_]] {:a a :b b}))``` * This 3rd variation is just syntactic sugar for the 2nd. Pairs are supplied instead * of an `input signals` functions. `:<-` is supplied followed by the subscription * vector. * */ re_frame.subs.reg_sub = (function re_frame$subs$reg_sub(var_args){ var args__26212__auto__ = []; var len__26205__auto___33356 = arguments.length; var i__26206__auto___33357 = (0); while(true){ if((i__26206__auto___33357 < len__26205__auto___33356)){ args__26212__auto__.push((arguments[i__26206__auto___33357])); var G__33358 = (i__26206__auto___33357 + (1)); i__26206__auto___33357 = G__33358; continue; } else { } break; } var argseq__26213__auto__ = ((((1) < args__26212__auto__.length))?(new cljs.core.IndexedSeq(args__26212__auto__.slice((1)),(0),null)):null); return re_frame.subs.reg_sub.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__26213__auto__); }); re_frame.subs.reg_sub.cljs$core$IFn$_invoke$arity$variadic = (function (query_id,args){ var computation_fn = cljs.core.last.call(null,args); var input_args = cljs.core.butlast.call(null,args); var err_header = [cljs.core.str("re-frame: reg-sub for "),cljs.core.str(query_id),cljs.core.str(", ")].join(''); var inputs_fn = (function (){var G__33300 = cljs.core.count.call(null,input_args); switch (G__33300) { case (0): return ((function (G__33300,computation_fn,input_args,err_header){ return (function() { var G__33360 = null; var G__33360__1 = (function (_){ return re_frame.db.app_db; }); var G__33360__2 = (function (_,___$1){ return re_frame.db.app_db; }); G__33360 = function(_,___$1){ switch(arguments.length){ case 1: return G__33360__1.call(this,_); case 2: return G__33360__2.call(this,_,___$1); } throw(new Error('Invalid arity: ' + arguments.length)); }; G__33360.cljs$core$IFn$_invoke$arity$1 = G__33360__1; G__33360.cljs$core$IFn$_invoke$arity$2 = G__33360__2; return G__33360; })() ;})(G__33300,computation_fn,input_args,err_header)) break; case (1): var f = cljs.core.first.call(null,input_args); if(cljs.core.fn_QMARK_.call(null,f)){ } else { re_frame.loggers.console.call(null,new cljs.core.Keyword(null,"error","error",-978969032),err_header,"2nd argument expected to be an inputs function, got:",f); } return f; break; case (2): var vec__33301 = input_args; var marker = cljs.core.nth.call(null,vec__33301,(0),null); var vec = cljs.core.nth.call(null,vec__33301,(1),null); if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"<-","<-",760412998),marker)){ } else { re_frame.loggers.console.call(null,new cljs.core.Keyword(null,"error","error",-978969032),err_header,"expected :<-, got:",marker); } return ((function (vec__33301,marker,vec,G__33300,computation_fn,input_args,err_header){ return (function() { var re_frame$subs$inp_fn = null; var re_frame$subs$inp_fn__1 = (function (_){ return re_frame.subs.subscribe.call(null,vec); }); var re_frame$subs$inp_fn__2 = (function (_,___$1){ return re_frame.subs.subscribe.call(null,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; })() ;})(vec__33301,marker,vec,G__33300,computation_fn,input_args,err_header)) break; default: var pairs = cljs.core.partition.call(null,(2),input_args); var markers = cljs.core.map.call(null,cljs.core.first,pairs); var vecs = cljs.core.map.call(null,cljs.core.last,pairs); if((cljs.core.every_QMARK_.call(null,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_.call(null,cljs.core.vector_QMARK_,vecs))){ } else { re_frame.loggers.console.call(null,new cljs.core.Keyword(null,"error","error",-978969032),err_header,"expected pairs of :<- and vectors, got:",pairs); } return ((function (pairs,markers,vecs,G__33300,computation_fn,input_args,err_header){ return (function() { var re_frame$subs$inp_fn = null; var re_frame$subs$inp_fn__1 = (function (_){ return cljs.core.map.call(null,re_frame.subs.subscribe,vecs); }); var re_frame$subs$inp_fn__2 = (function (_,___$1){ return cljs.core.map.call(null,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; })() ;})(pairs,markers,vecs,G__33300,computation_fn,input_args,err_header)) } })(); return re_frame.registrar.register_handler.call(null,re_frame.subs.kind,query_id,((function (computation_fn,input_args,err_header,inputs_fn){ return (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.call(null,query_vec); var reaction_id = cljs.core.atom.call(null,null); var reaction = re_frame.interop.make_reaction.call(null,((function (subscriptions,reaction_id,computation_fn,input_args,err_header,inputs_fn){ return (function (){ if(re_frame.trace.is_trace_enabled_QMARK_.call(null)){ var _STAR_current_trace_STAR_33330 = re_frame.trace._STAR_current_trace_STAR_; re_frame.trace._STAR_current_trace_STAR_ = re_frame.trace.start_trace.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"operation","operation",-1267664310),re_frame.utils.first_in_vector.call(null,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.call(null,reaction_id)], null)], null)); try{try{return computation_fn.call(null,re_frame.subs.deref_input_signals.call(null,subscriptions,query_id),query_vec); }finally {if(re_frame.trace.is_trace_enabled_QMARK_.call(null)){ var end__32708__auto___33361 = re_frame.interop.now.call(null); var duration__32709__auto___33362 = (end__32708__auto___33361 - new cljs.core.Keyword(null,"start","start",-355208981).cljs$core$IFn$_invoke$arity$1(re_frame.trace._STAR_current_trace_STAR_)); var seq__33331_33363 = cljs.core.seq.call(null,cljs.core.deref.call(null,re_frame.trace.trace_cbs)); var chunk__33332_33364 = null; var count__33333_33365 = (0); var i__33334_33366 = (0); while(true){ if((i__33334_33366 < count__33333_33365)){ var vec__33335_33367 = cljs.core._nth.call(null,chunk__33332_33364,i__33334_33366); var k__32710__auto___33368 = cljs.core.nth.call(null,vec__33335_33367,(0),null); var cb__32711__auto___33369 = cljs.core.nth.call(null,vec__33335_33367,(1),null); try{cb__32711__auto___33369.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.assoc.call(null,re_frame.trace._STAR_current_trace_STAR_,new cljs.core.Keyword(null,"duration","duration",1444101068),duration__32709__auto___33362,new cljs.core.Keyword(null,"end","end",-268185958),re_frame.interop.now.call(null))], null)); }catch (e33338){if((e33338 instanceof java.lang.Exception)){ var e__32712__auto___33370 = e33338; re_frame.loggers.console.call(null,new cljs.core.Keyword(null,"error","error",-978969032),"Error thrown from trace cb",k__32710__auto___33368,"while storing",re_frame.trace._STAR_current_trace_STAR_,e__32712__auto___33370); } else { throw e33338; } } var G__33371 = seq__33331_33363; var G__33372 = chunk__33332_33364; var G__33373 = count__33333_33365; var G__33374 = (i__33334_33366 + (1)); seq__33331_33363 = G__33371; chunk__33332_33364 = G__33372; count__33333_33365 = G__33373; i__33334_33366 = G__33374; continue; } else { var temp__4657__auto___33375 = cljs.core.seq.call(null,seq__33331_33363); if(temp__4657__auto___33375){ var seq__33331_33376__$1 = temp__4657__auto___33375; if(cljs.core.chunked_seq_QMARK_.call(null,seq__33331_33376__$1)){ var c__25941__auto___33377 = cljs.core.chunk_first.call(null,seq__33331_33376__$1); var G__33378 = cljs.core.chunk_rest.call(null,seq__33331_33376__$1); var G__33379 = c__25941__auto___33377; var G__33380 = cljs.core.count.call(null,c__25941__auto___33377); var G__33381 = (0); seq__33331_33363 = G__33378; chunk__33332_33364 = G__33379; count__33333_33365 = G__33380; i__33334_33366 = G__33381; continue; } else { var vec__33339_33382 = cljs.core.first.call(null,seq__33331_33376__$1); var k__32710__auto___33383 = cljs.core.nth.call(null,vec__33339_33382,(0),null); var cb__32711__auto___33384 = cljs.core.nth.call(null,vec__33339_33382,(1),null); try{cb__32711__auto___33384.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.assoc.call(null,re_frame.trace._STAR_current_trace_STAR_,new cljs.core.Keyword(null,"duration","duration",1444101068),duration__32709__auto___33362,new cljs.core.Keyword(null,"end","end",-268185958),re_frame.interop.now.call(null))], null)); }catch (e33342){if((e33342 instanceof java.lang.Exception)){ var e__32712__auto___33385 = e33342; re_frame.loggers.console.call(null,new cljs.core.Keyword(null,"error","error",-978969032),"Error thrown from trace cb",k__32710__auto___33383,"while storing",re_frame.trace._STAR_current_trace_STAR_,e__32712__auto___33385); } else { throw e33342; } } var G__33386 = cljs.core.next.call(null,seq__33331_33376__$1); var G__33387 = null; var G__33388 = (0); var G__33389 = (0); seq__33331_33363 = G__33386; chunk__33332_33364 = G__33387; count__33333_33365 = G__33388; i__33334_33366 = G__33389; continue; } } else { } } break; } } else { } }}finally {re_frame.trace._STAR_current_trace_STAR_ = _STAR_current_trace_STAR_33330; }} else { return computation_fn.call(null,re_frame.subs.deref_input_signals.call(null,subscriptions,query_id),query_vec); } });})(subscriptions,reaction_id,computation_fn,input_args,err_header,inputs_fn)) ); cljs.core.reset_BANG_.call(null,reaction_id,re_frame.interop.reagent_id.call(null,reaction)); return reaction; }); var re_frame$subs$subs_handler_fn__3 = (function (db,query_vec,dyn_vec){ var subscriptions = inputs_fn.call(null,query_vec,dyn_vec); var reaction_id = cljs.core.atom.call(null,null); var reaction = re_frame.interop.make_reaction.call(null,((function (subscriptions,reaction_id,computation_fn,input_args,err_header,inputs_fn){ return (function (){ if(re_frame.trace.is_trace_enabled_QMARK_.call(null)){ var _STAR_current_trace_STAR_33343 = re_frame.trace._STAR_current_trace_STAR_; re_frame.trace._STAR_current_trace_STAR_ = re_frame.trace.start_trace.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"operation","operation",-1267664310),re_frame.utils.first_in_vector.call(null,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.call(null,reaction_id)], null)], null)); try{try{return computation_fn.call(null,re_frame.subs.deref_input_signals.call(null,subscriptions,query_id),query_vec,dyn_vec); }finally {if(re_frame.trace.is_trace_enabled_QMARK_.call(null)){ var end__32708__auto___33390 = re_frame.interop.now.call(null); var duration__32709__auto___33391 = (end__32708__auto___33390 - new cljs.core.Keyword(null,"start","start",-355208981).cljs$core$IFn$_invoke$arity$1(re_frame.trace._STAR_current_trace_STAR_)); var seq__33344_33392 = cljs.core.seq.call(null,cljs.core.deref.call(null,re_frame.trace.trace_cbs)); var chunk__33345_33393 = null; var count__33346_33394 = (0); var i__33347_33395 = (0); while(true){ if((i__33347_33395 < count__33346_33394)){ var vec__33348_33396 = cljs.core._nth.call(null,chunk__33345_33393,i__33347_33395); var k__32710__auto___33397 = cljs.core.nth.call(null,vec__33348_33396,(0),null); var cb__32711__auto___33398 = cljs.core.nth.call(null,vec__33348_33396,(1),null); try{cb__32711__auto___33398.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.assoc.call(null,re_frame.trace._STAR_current_trace_STAR_,new cljs.core.Keyword(null,"duration","duration",1444101068),duration__32709__auto___33391,new cljs.core.Keyword(null,"end","end",-268185958),re_frame.interop.now.call(null))], null)); }catch (e33351){if((e33351 instanceof java.lang.Exception)){ var e__32712__auto___33399 = e33351; re_frame.loggers.console.call(null,new cljs.core.Keyword(null,"error","error",-978969032),"Error thrown from trace cb",k__32710__auto___33397,"while storing",re_frame.trace._STAR_current_trace_STAR_,e__32712__auto___33399); } else { throw e33351; } } var G__33400 = seq__33344_33392; var G__33401 = chunk__33345_33393; var G__33402 = count__33346_33394; var G__33403 = (i__33347_33395 + (1)); seq__33344_33392 = G__33400; chunk__33345_33393 = G__33401; count__33346_33394 = G__33402; i__33347_33395 = G__33403; continue; } else { var temp__4657__auto___33404 = cljs.core.seq.call(null,seq__33344_33392); if(temp__4657__auto___33404){ var seq__33344_33405__$1 = temp__4657__auto___33404; if(cljs.core.chunked_seq_QMARK_.call(null,seq__33344_33405__$1)){ var c__25941__auto___33406 = cljs.core.chunk_first.call(null,seq__33344_33405__$1); var G__33407 = cljs.core.chunk_rest.call(null,seq__33344_33405__$1); var G__33408 = c__25941__auto___33406; var G__33409 = cljs.core.count.call(null,c__25941__auto___33406); var G__33410 = (0); seq__33344_33392 = G__33407; chunk__33345_33393 = G__33408; count__33346_33394 = G__33409; i__33347_33395 = G__33410; continue; } else { var vec__33352_33411 = cljs.core.first.call(null,seq__33344_33405__$1); var k__32710__auto___33412 = cljs.core.nth.call(null,vec__33352_33411,(0),null); var cb__32711__auto___33413 = cljs.core.nth.call(null,vec__33352_33411,(1),null); try{cb__32711__auto___33413.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.assoc.call(null,re_frame.trace._STAR_current_trace_STAR_,new cljs.core.Keyword(null,"duration","duration",1444101068),duration__32709__auto___33391,new cljs.core.Keyword(null,"end","end",-268185958),re_frame.interop.now.call(null))], null)); }catch (e33355){if((e33355 instanceof java.lang.Exception)){ var e__32712__auto___33414 = e33355; re_frame.loggers.console.call(null,new cljs.core.Keyword(null,"error","error",-978969032),"Error thrown from trace cb",k__32710__auto___33412,"while storing",re_frame.trace._STAR_current_trace_STAR_,e__32712__auto___33414); } else { throw e33355; } } var G__33415 = cljs.core.next.call(null,seq__33344_33405__$1); var G__33416 = null; var G__33417 = (0); var G__33418 = (0); seq__33344_33392 = G__33415; chunk__33345_33393 = G__33416; count__33346_33394 = G__33417; i__33347_33395 = G__33418; continue; } } else { } } break; } } else { } }}finally {re_frame.trace._STAR_current_trace_STAR_ = _STAR_current_trace_STAR_33343; }} else { return computation_fn.call(null,re_frame.subs.deref_input_signals.call(null,subscriptions,query_id),query_vec,dyn_vec); } });})(subscriptions,reaction_id,computation_fn,input_args,err_header,inputs_fn)) ); cljs.core.reset_BANG_.call(null,reaction_id,re_frame.interop.reagent_id.call(null,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; })() ;})(computation_fn,input_args,err_header,inputs_fn)) ); }); re_frame.subs.reg_sub.cljs$lang$maxFixedArity = (1); re_frame.subs.reg_sub.cljs$lang$applyTo = (function (seq33298){ var G__33299 = cljs.core.first.call(null,seq33298); var seq33298__$1 = cljs.core.next.call(null,seq33298); return re_frame.subs.reg_sub.cljs$core$IFn$_invoke$arity$variadic(G__33299,seq33298__$1); }); //# sourceMappingURL=subs.js.map?rel=1603199198667