// Compiled by ClojureScript 1.11.60 {:static-fns true, :optimize-constants true, :optimizations :advanced} goog.provide('reagent.impl.util'); goog.require('cljs.core'); goog.require('cljs.core.constants'); goog.require('reagent.debug'); goog.require('reagent.interop'); goog.require('clojure.string'); reagent.impl.util.is_client = (((typeof window !== 'undefined')) && ((!(((window["document"]) == null))))); reagent.impl.util.extract_props = (function reagent$impl$util$extract_props(v){ var p = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(v,(1),null); if(cljs.core.map_QMARK_(p)){ return p; } else { return null; } }); reagent.impl.util.extract_children = (function reagent$impl$util$extract_children(v){ var p = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(v,(1),null); var first_child = (((((p == null)) || (cljs.core.map_QMARK_(p))))?(2):(1)); if((cljs.core.count(v) > first_child)){ return cljs.core.subvec.cljs$core$IFn$_invoke$arity$2(v,first_child); } else { return null; } }); reagent.impl.util.get_argv = (function reagent$impl$util$get_argv(c){ return (c["props"]["argv"]); }); reagent.impl.util.get_props = (function reagent$impl$util$get_props(c){ return reagent.impl.util.extract_props((c["props"]["argv"])); }); reagent.impl.util.get_children = (function reagent$impl$util$get_children(c){ return reagent.impl.util.extract_children((c["props"]["argv"])); }); reagent.impl.util.reagent_component_QMARK_ = (function reagent$impl$util$reagent_component_QMARK_(c){ return (!(((c["props"]["argv"]) == null))); }); reagent.impl.util.cached_react_class = (function reagent$impl$util$cached_react_class(c){ return (c["cljsReactClass"]); }); reagent.impl.util.cache_react_class = (function reagent$impl$util$cache_react_class(c,constructor$){ return (c["cljsReactClass"] = constructor$); }); reagent.impl.util.memoize_1 = (function reagent$impl$util$memoize_1(f){ var mem = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY); return (function (arg){ var v = cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(mem),arg); if((!((v == null)))){ return v; } else { var ret = (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(arg) : f.call(null,arg)); cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(mem,cljs.core.assoc,arg,ret); return ret; } }); }); reagent.impl.util.dont_camel_case = new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, ["aria",null,"data",null], null), null); reagent.impl.util.capitalize = (function reagent$impl$util$capitalize(s){ if((cljs.core.count(s) < (2))){ return clojure.string.upper_case(s); } else { return [clojure.string.upper_case(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),(1))),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(1))].join(''); } }); reagent.impl.util.dash_to_camel = (function reagent$impl$util$dash_to_camel(dashed){ if(typeof dashed === 'string'){ return dashed; } else { var name_str = cljs.core.name(dashed); var vec__5642 = clojure.string.split.cljs$core$IFn$_invoke$arity$2(name_str,/-/); var seq__5643 = cljs.core.seq(vec__5642); var first__5644 = cljs.core.first(seq__5643); var seq__5643__$1 = cljs.core.next(seq__5643); var start = first__5644; var parts = seq__5643__$1; if(cljs.core.truth_((reagent.impl.util.dont_camel_case.cljs$core$IFn$_invoke$arity$1 ? reagent.impl.util.dont_camel_case.cljs$core$IFn$_invoke$arity$1(start) : reagent.impl.util.dont_camel_case.call(null,start)))){ return name_str; } else { return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.str,start,cljs.core.map.cljs$core$IFn$_invoke$arity$2(reagent.impl.util.capitalize,parts)); } } }); /** * @constructor * @implements {cljs.core.IEquiv} * @implements {cljs.core.IHash} * @implements {cljs.core.IFn} */ reagent.impl.util.partial_ifn = (function (f,args,p){ this.f = f; this.args = args; this.p = p; this.cljs$lang$protocol_mask$partition0$ = 6291457; this.cljs$lang$protocol_mask$partition1$ = 0; }); (reagent.impl.util.partial_ifn.prototype.call = (function() { var G__5647__delegate = function (self__,a){ var self__ = this; var self____$1 = this; var _ = self____$1; var or__5045__auto___5648 = self__.p; if(cljs.core.truth_(or__5045__auto___5648)){ } else { (self__.p = cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.partial,self__.f,self__.args)); } return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(self__.p,a); }; var G__5647 = function (self__,var_args){ var self__ = this; var a = null; if (arguments.length > 1) { var G__5649__i = 0, G__5649__a = new Array(arguments.length - 1); while (G__5649__i < G__5649__a.length) {G__5649__a[G__5649__i] = arguments[G__5649__i + 1]; ++G__5649__i;} a = new cljs.core.IndexedSeq(G__5649__a,0,null); } return G__5647__delegate.call(this,self__,a);}; G__5647.cljs$lang$maxFixedArity = 1; G__5647.cljs$lang$applyTo = (function (arglist__5650){ var self__ = cljs.core.first(arglist__5650); var a = cljs.core.rest(arglist__5650); return G__5647__delegate(self__,a); }); G__5647.cljs$core$IFn$_invoke$arity$variadic = G__5647__delegate; return G__5647; })() ); (reagent.impl.util.partial_ifn.prototype.apply = (function (self__,args5645){ var self__ = this; var self____$1 = this; var args__5260__auto__ = cljs.core.aclone(args5645); return self____$1.call.apply(self____$1,[self____$1].concat((((args__5260__auto__.length > (20)))?(function (){var G__5646 = args__5260__auto__.slice((0),(20)); G__5646.push(args__5260__auto__.slice((20))); return G__5646; })():args__5260__auto__))); })); (reagent.impl.util.partial_ifn.prototype.cljs$core$IFn$_invoke$arity$2 = (function() { var G__5651__delegate = function (a){ var self__ = this; var _ = this; var or__5045__auto___5652 = self__.p; if(cljs.core.truth_(or__5045__auto___5652)){ } else { (self__.p = cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.partial,self__.f,self__.args)); } return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(self__.p,a); }; var G__5651 = function (var_args){ var self__ = this; var a = null; if (arguments.length > 0) { var G__5653__i = 0, G__5653__a = new Array(arguments.length - 0); while (G__5653__i < G__5653__a.length) {G__5653__a[G__5653__i] = arguments[G__5653__i + 0]; ++G__5653__i;} a = new cljs.core.IndexedSeq(G__5653__a,0,null); } return G__5651__delegate.call(this,a);}; G__5651.cljs$lang$maxFixedArity = 0; G__5651.cljs$lang$applyTo = (function (arglist__5654){ var a = cljs.core.seq(arglist__5654); return G__5651__delegate(a); }); G__5651.cljs$core$IFn$_invoke$arity$variadic = G__5651__delegate; return G__5651; })() ); (reagent.impl.util.partial_ifn.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (_,other){ var self__ = this; var ___$1 = this; return ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.f,other.f)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.args,other.args))); })); (reagent.impl.util.partial_ifn.prototype.cljs$core$IHash$_hash$arity$1 = (function (_){ var self__ = this; var ___$1 = this; return cljs.core.hash(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.f,self__.args], null)); })); (reagent.impl.util.partial_ifn.getBasis = (function (){ return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$f,cljs.core.cst$sym$args,cljs.core.with_meta(cljs.core.cst$sym$p,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null); })); (reagent.impl.util.partial_ifn.cljs$lang$type = true); (reagent.impl.util.partial_ifn.cljs$lang$ctorStr = "reagent.impl.util/partial-ifn"); (reagent.impl.util.partial_ifn.cljs$lang$ctorPrWriter = (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){ return cljs.core._write(writer__5331__auto__,"reagent.impl.util/partial-ifn"); })); /** * Positional factory function for reagent.impl.util/partial-ifn. */ reagent.impl.util.__GT_partial_ifn = (function reagent$impl$util$__GT_partial_ifn(f,args,p){ return (new reagent.impl.util.partial_ifn(f,args,p)); }); reagent.impl.util.merge_class = (function reagent$impl$util$merge_class(p1,p2){ var class$ = (function (){var temp__4657__auto__ = cljs.core.cst$kw$class.cljs$core$IFn$_invoke$arity$1(p1); if(cljs.core.truth_(temp__4657__auto__)){ var c1 = temp__4657__auto__; var temp__4657__auto____$1 = cljs.core.cst$kw$class.cljs$core$IFn$_invoke$arity$1(p2); if(cljs.core.truth_(temp__4657__auto____$1)){ var c2 = temp__4657__auto____$1; return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(c1)," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(c2)].join(''); } else { return null; } } else { return null; } })(); if((class$ == null)){ return p2; } else { return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p2,cljs.core.cst$kw$class,class$); } }); reagent.impl.util.merge_style = (function reagent$impl$util$merge_style(p1,p2){ var style = (function (){var temp__4657__auto__ = cljs.core.cst$kw$style.cljs$core$IFn$_invoke$arity$1(p1); if(cljs.core.truth_(temp__4657__auto__)){ var s1 = temp__4657__auto__; var temp__4657__auto____$1 = cljs.core.cst$kw$style.cljs$core$IFn$_invoke$arity$1(p2); if(cljs.core.truth_(temp__4657__auto____$1)){ var s2 = temp__4657__auto____$1; return cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([s1,s2], 0)); } else { return null; } } else { return null; } })(); if((style == null)){ return p2; } else { return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p2,cljs.core.cst$kw$style,style); } }); reagent.impl.util.merge_props = (function reagent$impl$util$merge_props(p1,p2){ if((p1 == null)){ return p2; } else { if(cljs.core.map_QMARK_(p1)){ } else { throw (new Error("Assert failed: (map? p1)")); } return reagent.impl.util.merge_style(p1,reagent.impl.util.merge_class(p1,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p1,p2], 0)))); } }); reagent.impl.util._STAR_always_update_STAR_ = false; if((typeof reagent !== 'undefined') && (typeof reagent.impl !== 'undefined') && (typeof reagent.impl.util !== 'undefined') && (typeof reagent.impl.util.roots !== 'undefined')){ } else { reagent.impl.util.roots = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY); } reagent.impl.util.clear_container = (function reagent$impl$util$clear_container(node){ var G__5655 = node; if((G__5655 == null)){ return null; } else { return (G__5655["innerHTML"] = ""); } }); reagent.impl.util.render_component = (function reagent$impl$util$render_component(comp,container,callback){ var rendered = cljs.core.volatile_BANG_(null); try{var _STAR_always_update_STAR__orig_val__5656 = reagent.impl.util._STAR_always_update_STAR_; var _STAR_always_update_STAR__temp_val__5657 = true; (reagent.impl.util._STAR_always_update_STAR_ = _STAR_always_update_STAR__temp_val__5657); try{return cljs.core.vreset_BANG_(rendered,(React["render"])((comp.cljs$core$IFn$_invoke$arity$0 ? comp.cljs$core$IFn$_invoke$arity$0() : comp.call(null)),container,(function (){ var _STAR_always_update_STAR__orig_val__5658 = reagent.impl.util._STAR_always_update_STAR_; var _STAR_always_update_STAR__temp_val__5659 = false; (reagent.impl.util._STAR_always_update_STAR_ = _STAR_always_update_STAR__temp_val__5659); try{cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(reagent.impl.util.roots,cljs.core.assoc,container,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [comp,container], null)); if((!((callback == null)))){ return (callback.cljs$core$IFn$_invoke$arity$0 ? callback.cljs$core$IFn$_invoke$arity$0() : callback.call(null)); } else { return null; } }finally {(reagent.impl.util._STAR_always_update_STAR_ = _STAR_always_update_STAR__orig_val__5658); }}))); }finally {(reagent.impl.util._STAR_always_update_STAR_ = _STAR_always_update_STAR__orig_val__5656); }}finally {if(cljs.core.truth_(cljs.core.deref(rendered))){ } else { reagent.impl.util.clear_container(container); } }}); reagent.impl.util.re_render_component = (function reagent$impl$util$re_render_component(comp,container){ return reagent.impl.util.render_component(comp,container,null); }); reagent.impl.util.unmount_component_at_node = (function reagent$impl$util$unmount_component_at_node(container){ cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(reagent.impl.util.roots,cljs.core.dissoc,container); return (React["unmountComponentAtNode"])(container); }); reagent.impl.util.force_update_all = (function reagent$impl$util$force_update_all(){ var seq__5660_5664 = cljs.core.seq(cljs.core.vals(cljs.core.deref(reagent.impl.util.roots))); var chunk__5661_5665 = null; var count__5662_5666 = (0); var i__5663_5667 = (0); while(true){ if((i__5663_5667 < count__5662_5666)){ var v_5668 = chunk__5661_5665.cljs$core$IIndexed$_nth$arity$2(null,i__5663_5667); cljs.core.apply.cljs$core$IFn$_invoke$arity$2(reagent.impl.util.re_render_component,v_5668); var G__5669 = seq__5660_5664; var G__5670 = chunk__5661_5665; var G__5671 = count__5662_5666; var G__5672 = (i__5663_5667 + (1)); seq__5660_5664 = G__5669; chunk__5661_5665 = G__5670; count__5662_5666 = G__5671; i__5663_5667 = G__5672; continue; } else { var temp__4657__auto___5673 = cljs.core.seq(seq__5660_5664); if(temp__4657__auto___5673){ var seq__5660_5674__$1 = temp__4657__auto___5673; if(cljs.core.chunked_seq_QMARK_(seq__5660_5674__$1)){ var c__5568__auto___5675 = cljs.core.chunk_first(seq__5660_5674__$1); var G__5676 = cljs.core.chunk_rest(seq__5660_5674__$1); var G__5677 = c__5568__auto___5675; var G__5678 = cljs.core.count(c__5568__auto___5675); var G__5679 = (0); seq__5660_5664 = G__5676; chunk__5661_5665 = G__5677; count__5662_5666 = G__5678; i__5663_5667 = G__5679; continue; } else { var v_5680 = cljs.core.first(seq__5660_5674__$1); cljs.core.apply.cljs$core$IFn$_invoke$arity$2(reagent.impl.util.re_render_component,v_5680); var G__5681 = cljs.core.next(seq__5660_5674__$1); var G__5682 = null; var G__5683 = (0); var G__5684 = (0); seq__5660_5664 = G__5681; chunk__5661_5665 = G__5682; count__5662_5666 = G__5683; i__5663_5667 = G__5684; continue; } } else { } } break; } return "Updated"; }); reagent.impl.util.force_update = (function reagent$impl$util$force_update(comp,deep){ if(cljs.core.truth_(deep)){ var _STAR_always_update_STAR__orig_val__5685 = reagent.impl.util._STAR_always_update_STAR_; var _STAR_always_update_STAR__temp_val__5686 = true; (reagent.impl.util._STAR_always_update_STAR_ = _STAR_always_update_STAR__temp_val__5686); try{return (comp["forceUpdate"])(); }finally {(reagent.impl.util._STAR_always_update_STAR_ = _STAR_always_update_STAR__orig_val__5685); }} else { return (comp["forceUpdate"])(); } });