tfcconnection/static/js/cljs-runtime/shadow.object.js

2209 lines
100 KiB
JavaScript

goog.provide('shadow.object');
shadow.object.console_friendly = shadow.util.console_friendly;
shadow.object.log = shadow.util.log;
shadow.object.debug = shadow.util.log;
shadow.object.info = shadow.util.log;
shadow.object.warn = shadow.util.log;
shadow.object.error = shadow.util.log;
shadow.object.obj_id = cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0));
shadow.object.next_id = (function shadow$object$next_id(){
return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(shadow.object.obj_id,cljs.core.inc);
});
shadow.object.object_defs = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);
shadow.object.behavior_fns = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);
shadow.object.instances = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);
shadow.object.instance_parent = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);
shadow.object.instance_children = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);
shadow.object.events = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);
shadow.object.define_event = (function shadow$object$define_event(event_name,desc,args){
return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.object.events,cljs.core.assoc,event_name,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"id","id",-1388402092),event_name,new cljs.core.Keyword(null,"description","description",-1428560544),desc,new cljs.core.Keyword(null,"args","args",1315556576),args], null));
});
shadow.object.unmunge = (function shadow$object$unmunge(s){
return clojure.string.replace(clojure.string.replace(s,/_DOT_/,"."),/_/,"-");
});
shadow.object.define_event(new cljs.core.Keyword(null,"init","init",-1875481434),"object initialization",cljs.core.PersistentVector.EMPTY);
shadow.object.define_event(new cljs.core.Keyword(null,"destroy","destroy",-843660405),"object descruction",new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"cause","cause",231901252),"cause of destruction, :parent means the parent was destroyed, :direct is default"], null)], null));
shadow.object.define_event(new cljs.core.Keyword("dom","init","dom/init",-1875647652),"called after the dom was created but has not entered the document yet",new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"dom","dom",-1236537922),"the dom that was created"], null)], null));
shadow.object.define_event(new cljs.core.Keyword("dom","entered","dom/entered",506699596),"should be called whenever a dom node is added to the document, since that\n is not in control of this library its up to you to call this\n use (so/notify-tree! your-obj :dom/entered) to notify the node and every child you created",cljs.core.PersistentVector.EMPTY);
shadow.object.define_event(new cljs.core.Keyword(null,"bind-children-update","bind-children-update",-1610690160),"need to rethink this",cljs.core.PersistentVector.EMPTY);
/**
* @interface
*/
shadow.object.IObject = function(){};
var shadow$object$IObject$_id$dyn_18095 = (function (this$){
var x__5393__auto__ = (((this$ == null))?null:this$);
var m__5394__auto__ = (shadow.object._id[goog.typeOf(x__5393__auto__)]);
if((!((m__5394__auto__ == null)))){
return (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));
} else {
var m__5392__auto__ = (shadow.object._id["_"]);
if((!((m__5392__auto__ == null)))){
return (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));
} else {
throw cljs.core.missing_protocol("IObject.-id",this$);
}
}
});
shadow.object._id = (function shadow$object$_id(this$){
if((((!((this$ == null)))) && ((!((this$.shadow$object$IObject$_id$arity$1 == null)))))){
return this$.shadow$object$IObject$_id$arity$1(this$);
} else {
return shadow$object$IObject$_id$dyn_18095(this$);
}
});
var shadow$object$IObject$_type$dyn_18096 = (function (this$){
var x__5393__auto__ = (((this$ == null))?null:this$);
var m__5394__auto__ = (shadow.object._type[goog.typeOf(x__5393__auto__)]);
if((!((m__5394__auto__ == null)))){
return (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));
} else {
var m__5392__auto__ = (shadow.object._type["_"]);
if((!((m__5392__auto__ == null)))){
return (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));
} else {
throw cljs.core.missing_protocol("IObject.-type",this$);
}
}
});
shadow.object._type = (function shadow$object$_type(this$){
if((((!((this$ == null)))) && ((!((this$.shadow$object$IObject$_type$arity$1 == null)))))){
return this$.shadow$object$IObject$_type$arity$1(this$);
} else {
return shadow$object$IObject$_type$dyn_18096(this$);
}
});
var shadow$object$IObject$_data$dyn_18097 = (function (this$){
var x__5393__auto__ = (((this$ == null))?null:this$);
var m__5394__auto__ = (shadow.object._data[goog.typeOf(x__5393__auto__)]);
if((!((m__5394__auto__ == null)))){
return (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));
} else {
var m__5392__auto__ = (shadow.object._data["_"]);
if((!((m__5392__auto__ == null)))){
return (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));
} else {
throw cljs.core.missing_protocol("IObject.-data",this$);
}
}
});
shadow.object._data = (function shadow$object$_data(this$){
if((((!((this$ == null)))) && ((!((this$.shadow$object$IObject$_data$arity$1 == null)))))){
return this$.shadow$object$IObject$_data$arity$1(this$);
} else {
return shadow$object$IObject$_data$dyn_18097(this$);
}
});
var shadow$object$IObject$_update$dyn_18098 = (function (this$,update_fn){
var x__5393__auto__ = (((this$ == null))?null:this$);
var m__5394__auto__ = (shadow.object._update[goog.typeOf(x__5393__auto__)]);
if((!((m__5394__auto__ == null)))){
return (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,update_fn) : m__5394__auto__.call(null,this$,update_fn));
} else {
var m__5392__auto__ = (shadow.object._update["_"]);
if((!((m__5392__auto__ == null)))){
return (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,update_fn) : m__5392__auto__.call(null,this$,update_fn));
} else {
throw cljs.core.missing_protocol("IObject.-update",this$);
}
}
});
/**
* update and notify watches
*/
shadow.object._update = (function shadow$object$_update(this$,update_fn){
if((((!((this$ == null)))) && ((!((this$.shadow$object$IObject$_update$arity$2 == null)))))){
return this$.shadow$object$IObject$_update$arity$2(this$,update_fn);
} else {
return shadow$object$IObject$_update$dyn_18098(this$,update_fn);
}
});
var shadow$object$IObject$_destroy_BANG_$dyn_18103 = (function (this$,cause){
var x__5393__auto__ = (((this$ == null))?null:this$);
var m__5394__auto__ = (shadow.object._destroy_BANG_[goog.typeOf(x__5393__auto__)]);
if((!((m__5394__auto__ == null)))){
return (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,cause) : m__5394__auto__.call(null,this$,cause));
} else {
var m__5392__auto__ = (shadow.object._destroy_BANG_["_"]);
if((!((m__5392__auto__ == null)))){
return (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,cause) : m__5392__auto__.call(null,this$,cause));
} else {
throw cljs.core.missing_protocol("IObject.-destroy!",this$);
}
}
});
shadow.object._destroy_BANG_ = (function shadow$object$_destroy_BANG_(this$,cause){
if((((!((this$ == null)))) && ((!((this$.shadow$object$IObject$_destroy_BANG_$arity$2 == null)))))){
return this$.shadow$object$IObject$_destroy_BANG_$arity$2(this$,cause);
} else {
return shadow$object$IObject$_destroy_BANG_$dyn_18103(this$,cause);
}
});
shadow.object.get_type = (function shadow$object$get_type(this$){
return shadow.object._type(this$);
});
shadow.object.get_type_attr = (function shadow$object$get_type_attr(var_args){
var G__17768 = arguments.length;
switch (G__17768) {
case 2:
return shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$2 = (function (oref,key){
if((oref == null)){
return null;
} else {
var type_id = (((oref instanceof cljs.core.Keyword))?oref:shadow.object._type(oref));
return cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.object_defs),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [type_id,key], null));
}
}));
(shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$3 = (function (oref,key,default$){
if((oref == null)){
return default$;
} else {
var type_id = (((oref instanceof cljs.core.Keyword))?oref:shadow.object._type(oref));
return cljs.core.get_in.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(shadow.object.object_defs),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [type_id,key], null),default$);
}
}));
(shadow.object.get_type_attr.cljs$lang$maxFixedArity = 3);
shadow.object.get_dom = (function shadow$object$get_dom(oref){
return new cljs.core.Keyword("shadow.object","dom","shadow.object/dom",-1238263311).cljs$core$IFn$_invoke$arity$1(oref);
});
goog.exportSymbol('shadow.object.get_dom', shadow.object.get_dom);
shadow.object.get_by_id = (function shadow$object$get_by_id(id){
return cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.instances),id);
});
goog.exportSymbol('shadow.object.get_by_id', shadow.object.get_by_id);
shadow.object.get_from_dom = (function shadow$object$get_from_dom(dom){
var oid = shadow.dom.data(dom,new cljs.core.Keyword(null,"oid","oid",-768692334));
if(cljs.core.truth_(oid)){
return shadow.object.get_by_id(parseInt(oid,(10)));
} else {
return null;
}
});
goog.exportSymbol('shadow.object.get_from_dom', shadow.object.get_from_dom);
shadow.object.is_object_QMARK_ = (function shadow$object$is_object_QMARK_(obj_or_dom){
var or__5045__auto__ = (((!((obj_or_dom == null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL === obj_or_dom.shadow$object$IObject$))))?true:(((!obj_or_dom.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj_or_dom):false)):cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj_or_dom));
if(or__5045__auto__){
return or__5045__auto__;
} else {
return shadow.object.get_from_dom(obj_or_dom);
}
});
shadow.object.equal_QMARK_ = (function shadow$object$equal_QMARK_(obj,obj_or_dom){
if((((!((obj == null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL === obj.shadow$object$IObject$))))?true:(((!obj.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj):false)):cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj))){
} else {
throw (new Error(["Assert failed: ","can only test objects","\n","(satisfies? IObject obj)"].join('')));
}
if((((!((obj_or_dom == null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL === obj_or_dom.shadow$object$IObject$))))?true:(((!obj_or_dom.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj_or_dom):false)):cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj_or_dom))){
return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(shadow.object._id(obj),shadow.object._id(obj_or_dom));
} else {
return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(shadow.object._id(obj),(function (){var temp__5804__auto__ = shadow.dom.data(obj_or_dom,new cljs.core.Keyword(null,"oid","oid",-768692334));
if(cljs.core.truth_(temp__5804__auto__)){
var oid = temp__5804__auto__;
return parseInt(oid,(10));
} else {
return null;
}
})());
}
});
shadow.object.get_parent = (function shadow$object$get_parent(oref){
var temp__5804__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.instance_parent),shadow.object._id(oref));
if(cljs.core.truth_(temp__5804__auto__)){
var parent_id = temp__5804__auto__;
return cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.instances),parent_id);
} else {
return null;
}
});
goog.exportSymbol('shadow.object.get_parent', shadow.object.get_parent);
shadow.object.get_parent_of_type = (function shadow$object$get_parent_of_type(oref,parent_type){
var parent = new cljs.core.Keyword(null,"parent","parent",-878878779).cljs$core$IFn$_invoke$arity$1(oref);
while(true){
if(cljs.core.truth_(parent)){
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(shadow.object._type(parent),parent_type)){
return parent;
} else {
var G__18105 = new cljs.core.Keyword(null,"parent","parent",-878878779).cljs$core$IFn$_invoke$arity$1(parent);
parent = G__18105;
continue;
}
} else {
return null;
}
break;
}
});
goog.exportSymbol('shadow.object.get_parent_of_type', shadow.object.get_parent_of_type);
shadow.object.get_children = (function shadow$object$get_children(parent){
var parent_id = shadow.object._id(parent);
var child_ids = cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(shadow.object.instance_children),parent_id,cljs.core.PersistentVector.EMPTY);
var instances = cljs.core.deref(shadow.object.instances);
return cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__17775_SHARP_){
return cljs.core.get.cljs$core$IFn$_invoke$arity$2(instances,p1__17775_SHARP_);
}),child_ids));
});
goog.exportSymbol('shadow.object.get_children', shadow.object.get_children);
shadow.object.tree_seq = (function shadow$object$tree_seq(var_args){
var G__17778 = arguments.length;
switch (G__17778) {
case 1:
return shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return shadow.object.tree_seq.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('')));
}
});
goog.exportSymbol('shadow.object.tree_seq', shadow.object.tree_seq);
(shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$1 = (function (root){
return shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$2(root,(function (node){
return true;
}));
}));
(shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$2 = (function (root,branch_QMARK_){
return cljs.core.tree_seq(branch_QMARK_,shadow.object.get_children,root);
}));
(shadow.object.tree_seq.cljs$lang$maxFixedArity = 2);
shadow.object.get_children_of_type = (function shadow$object$get_children_of_type(oref,type){
var type_kw = (((type instanceof cljs.core.Keyword))?type:shadow.object._type(type));
return cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__17779_SHARP_){
return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type_kw,shadow.object._type(p1__17779_SHARP_));
}),shadow.object.get_children(oref));
});
/**
* basically (get-children (:parent this))
*/
shadow.object.get_siblings = (function shadow$object$get_siblings(p__17783){
var map__17784 = p__17783;
var map__17784__$1 = cljs.core.__destructure_map(map__17784);
var oref = map__17784__$1;
var parent = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__17784__$1,new cljs.core.Keyword(null,"parent","parent",-878878779));
if(cljs.core.truth_(parent)){
} else {
throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("object has no parent, thus has no siblings",new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"oref","oref",-1547494840),oref], null));
}
return shadow.object.get_children(parent);
});
/**
* returns set of all siblings of a common type
*/
shadow.object.get_siblings_of_type = (function shadow$object$get_siblings_of_type(var_args){
var G__17789 = arguments.length;
switch (G__17789) {
case 1:
return shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return shadow.object.get_siblings_of_type.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('')));
}
});
(shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$1 = (function (oref){
return shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$2(oref,oref);
}));
(shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$2 = (function (oref,type){
var type_kw = (((type instanceof cljs.core.Keyword))?type:shadow.object._type(type));
return cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__17785_SHARP_){
return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type_kw,shadow.object._type(p1__17785_SHARP_));
}),shadow.object.get_siblings(oref));
}));
(shadow.object.get_siblings_of_type.cljs$lang$maxFixedArity = 2);
shadow.object.get_collection_item = (function shadow$object$get_collection_item(oref){
var item_key = new cljs.core.Keyword("shadow.object","coll-item-key","shadow.object/coll-item-key",1888444366).cljs$core$IFn$_invoke$arity$1(oref);
return cljs.core.get.cljs$core$IFn$_invoke$arity$2(oref,item_key);
});
/**
* find the object that contains this dom node
*/
shadow.object.find_containing_object = (function shadow$object$find_containing_object(dom){
while(true){
var temp__5802__auto__ = shadow.object.get_from_dom(dom);
if(cljs.core.truth_(temp__5802__auto__)){
var obj = temp__5802__auto__;
return obj;
} else {
var temp__5804__auto__ = dom.parentElement;
if(cljs.core.truth_(temp__5804__auto__)){
var parent = temp__5804__auto__;
var G__18108 = parent;
dom = G__18108;
continue;
} else {
return null;
}
}
break;
}
});
shadow.object.notify_BANG_ = (function shadow$object$notify_BANG_(var_args){
var args__5775__auto__ = [];
var len__5769__auto___18109 = arguments.length;
var i__5770__auto___18110 = (0);
while(true){
if((i__5770__auto___18110 < len__5769__auto___18109)){
args__5775__auto__.push((arguments[i__5770__auto___18110]));
var G__18111 = (i__5770__auto___18110 + (1));
i__5770__auto___18110 = G__18111;
continue;
} else {
}
break;
}
var argseq__5776__auto__ = ((((2) < args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);
return shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);
});
(shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (oref,ev,args){
var temp__5804__auto__ = cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(oref,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("shadow.object","reactions","shadow.object/reactions",1966199633),ev], null));
if(cljs.core.truth_(temp__5804__auto__)){
var reactions_to_trigger = temp__5804__auto__;
var seq__17909 = cljs.core.seq(reactions_to_trigger);
var chunk__17910 = null;
var count__17911 = (0);
var i__17912 = (0);
while(true){
if((i__17912 < count__17911)){
var rfn = chunk__17910.cljs$core$IIndexed$_nth$arity$2(null,i__17912);
cljs.core.apply.cljs$core$IFn$_invoke$arity$2(rfn,cljs.core.cons(oref,args));
var G__18118 = seq__17909;
var G__18119 = chunk__17910;
var G__18120 = count__17911;
var G__18121 = (i__17912 + (1));
seq__17909 = G__18118;
chunk__17910 = G__18119;
count__17911 = G__18120;
i__17912 = G__18121;
continue;
} else {
var temp__5804__auto____$1 = cljs.core.seq(seq__17909);
if(temp__5804__auto____$1){
var seq__17909__$1 = temp__5804__auto____$1;
if(cljs.core.chunked_seq_QMARK_(seq__17909__$1)){
var c__5568__auto__ = cljs.core.chunk_first(seq__17909__$1);
var G__18122 = cljs.core.chunk_rest(seq__17909__$1);
var G__18123 = c__5568__auto__;
var G__18124 = cljs.core.count(c__5568__auto__);
var G__18125 = (0);
seq__17909 = G__18122;
chunk__17910 = G__18123;
count__17911 = G__18124;
i__17912 = G__18125;
continue;
} else {
var rfn = cljs.core.first(seq__17909__$1);
cljs.core.apply.cljs$core$IFn$_invoke$arity$2(rfn,cljs.core.cons(oref,args));
var G__18126 = cljs.core.next(seq__17909__$1);
var G__18127 = null;
var G__18128 = (0);
var G__18129 = (0);
seq__17909 = G__18126;
chunk__17910 = G__18127;
count__17911 = G__18128;
i__17912 = G__18129;
continue;
}
} else {
return null;
}
}
break;
}
} else {
return null;
}
}));
(shadow.object.notify_BANG_.cljs$lang$maxFixedArity = (2));
/** @this {Function} */
(shadow.object.notify_BANG_.cljs$lang$applyTo = (function (seq17859){
var G__17860 = cljs.core.first(seq17859);
var seq17859__$1 = cljs.core.next(seq17859);
var G__17861 = cljs.core.first(seq17859__$1);
var seq17859__$2 = cljs.core.next(seq17859__$1);
var self__5754__auto__ = this;
return self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__17860,G__17861,seq17859__$2);
}));
shadow.object.do_notify_tree = (function shadow$object$do_notify_tree(current_obj,ev,notify_fn){
var seq__17921_18130 = cljs.core.seq(shadow.object.get_children(current_obj));
var chunk__17922_18131 = null;
var count__17923_18132 = (0);
var i__17924_18133 = (0);
while(true){
if((i__17924_18133 < count__17923_18132)){
var child_18134 = chunk__17922_18131.cljs$core$IIndexed$_nth$arity$2(null,i__17924_18133);
(shadow.object.do_notify_tree.cljs$core$IFn$_invoke$arity$3 ? shadow.object.do_notify_tree.cljs$core$IFn$_invoke$arity$3(child_18134,ev,notify_fn) : shadow.object.do_notify_tree.call(null,child_18134,ev,notify_fn));
var G__18135 = seq__17921_18130;
var G__18136 = chunk__17922_18131;
var G__18137 = count__17923_18132;
var G__18138 = (i__17924_18133 + (1));
seq__17921_18130 = G__18135;
chunk__17922_18131 = G__18136;
count__17923_18132 = G__18137;
i__17924_18133 = G__18138;
continue;
} else {
var temp__5804__auto___18139 = cljs.core.seq(seq__17921_18130);
if(temp__5804__auto___18139){
var seq__17921_18140__$1 = temp__5804__auto___18139;
if(cljs.core.chunked_seq_QMARK_(seq__17921_18140__$1)){
var c__5568__auto___18141 = cljs.core.chunk_first(seq__17921_18140__$1);
var G__18142 = cljs.core.chunk_rest(seq__17921_18140__$1);
var G__18143 = c__5568__auto___18141;
var G__18144 = cljs.core.count(c__5568__auto___18141);
var G__18145 = (0);
seq__17921_18130 = G__18142;
chunk__17922_18131 = G__18143;
count__17923_18132 = G__18144;
i__17924_18133 = G__18145;
continue;
} else {
var child_18146 = cljs.core.first(seq__17921_18140__$1);
(shadow.object.do_notify_tree.cljs$core$IFn$_invoke$arity$3 ? shadow.object.do_notify_tree.cljs$core$IFn$_invoke$arity$3(child_18146,ev,notify_fn) : shadow.object.do_notify_tree.call(null,child_18146,ev,notify_fn));
var G__18147 = cljs.core.next(seq__17921_18140__$1);
var G__18148 = null;
var G__18149 = (0);
var G__18150 = (0);
seq__17921_18130 = G__18147;
chunk__17922_18131 = G__18148;
count__17923_18132 = G__18149;
i__17924_18133 = G__18150;
continue;
}
} else {
}
}
break;
}
return (notify_fn.cljs$core$IFn$_invoke$arity$1 ? notify_fn.cljs$core$IFn$_invoke$arity$1(current_obj) : notify_fn.call(null,current_obj));
});
shadow.object.notify_tree_BANG_ = (function shadow$object$notify_tree_BANG_(var_args){
var args__5775__auto__ = [];
var len__5769__auto___18152 = arguments.length;
var i__5770__auto___18153 = (0);
while(true){
if((i__5770__auto___18153 < len__5769__auto___18152)){
args__5775__auto__.push((arguments[i__5770__auto___18153]));
var G__18154 = (i__5770__auto___18153 + (1));
i__5770__auto___18153 = G__18154;
continue;
} else {
}
break;
}
var argseq__5776__auto__ = ((((2) < args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);
return shadow.object.notify_tree_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);
});
(shadow.object.notify_tree_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (oref,ev,args){
var notify_fn = (function (obj){
return cljs.core.apply.cljs$core$IFn$_invoke$arity$4(shadow.object.notify_BANG_,obj,ev,args);
});
return shadow.object.do_notify_tree(oref,ev,notify_fn);
}));
(shadow.object.notify_tree_BANG_.cljs$lang$maxFixedArity = (2));
/** @this {Function} */
(shadow.object.notify_tree_BANG_.cljs$lang$applyTo = (function (seq17925){
var G__17926 = cljs.core.first(seq17925);
var seq17925__$1 = cljs.core.next(seq17925);
var G__17927 = cljs.core.first(seq17925__$1);
var seq17925__$2 = cljs.core.next(seq17925__$1);
var self__5754__auto__ = this;
return self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__17926,G__17927,seq17925__$2);
}));
shadow.object.notify_down_BANG_ = shadow.object.notify_tree_BANG_;
shadow.object.notify_up_BANG_ = (function shadow$object$notify_up_BANG_(var_args){
var args__5775__auto__ = [];
var len__5769__auto___18156 = arguments.length;
var i__5770__auto___18157 = (0);
while(true){
if((i__5770__auto___18157 < len__5769__auto___18156)){
args__5775__auto__.push((arguments[i__5770__auto___18157]));
var G__18162 = (i__5770__auto___18157 + (1));
i__5770__auto___18157 = G__18162;
continue;
} else {
}
break;
}
var argseq__5776__auto__ = ((((2) < args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);
return shadow.object.notify_up_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);
});
(shadow.object.notify_up_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (oref,ev,args){
var current = shadow.object.get_parent(oref);
while(true){
if(cljs.core.truth_(current)){
cljs.core.apply.cljs$core$IFn$_invoke$arity$4(shadow.object.notify_BANG_,current,ev,args);
var G__18166 = shadow.object.get_parent(current);
current = G__18166;
continue;
} else {
return null;
}
break;
}
}));
(shadow.object.notify_up_BANG_.cljs$lang$maxFixedArity = (2));
/** @this {Function} */
(shadow.object.notify_up_BANG_.cljs$lang$applyTo = (function (seq17928){
var G__17929 = cljs.core.first(seq17928);
var seq17928__$1 = cljs.core.next(seq17928);
var G__17930 = cljs.core.first(seq17928__$1);
var seq17928__$2 = cljs.core.next(seq17928__$1);
var self__5754__auto__ = this;
return self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__17929,G__17930,seq17928__$2);
}));
shadow.object.update_BANG_ = (function shadow$object$update_BANG_(var_args){
var args__5775__auto__ = [];
var len__5769__auto___18167 = arguments.length;
var i__5770__auto___18168 = (0);
while(true){
if((i__5770__auto___18168 < len__5769__auto___18167)){
args__5775__auto__.push((arguments[i__5770__auto___18168]));
var G__18169 = (i__5770__auto___18168 + (1));
i__5770__auto___18168 = G__18169;
continue;
} else {
}
break;
}
var argseq__5776__auto__ = ((((2) < args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);
return shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);
});
(shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (oref,update_fn,args){
if(cljs.core.fn_QMARK_(update_fn)){
} else {
throw ["update! expects a fn as second arg, not ",cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([update_fn], 0))].join('');
}
var id = shadow.object._id(oref);
var data = shadow.object._data(oref);
var work_fn = (function (data__$1){
return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(update_fn,data__$1,args);
});
return shadow.object._update(oref,work_fn);
}));
(shadow.object.update_BANG_.cljs$lang$maxFixedArity = (2));
/** @this {Function} */
(shadow.object.update_BANG_.cljs$lang$applyTo = (function (seq17931){
var G__17932 = cljs.core.first(seq17931);
var seq17931__$1 = cljs.core.next(seq17931);
var G__17933 = cljs.core.first(seq17931__$1);
var seq17931__$2 = cljs.core.next(seq17931__$1);
var self__5754__auto__ = this;
return self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__17932,G__17933,seq17931__$2);
}));
shadow.object.return_value = (function shadow$object$return_value(oref,return_value){
return shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,cljs.core.assoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword("shadow.object","return-value","shadow.object/return-value",1397593360),return_value], 0));
});
shadow.object.set_parent_BANG_ = (function shadow$object$set_parent_BANG_(child,parent){
var child_id = shadow.object._id(child);
var parent_id = shadow.object._id(parent);
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.object.instance_parent,cljs.core.assoc,child_id,parent_id);
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(shadow.object.instance_children,(function (x){
var current = cljs.core.get.cljs$core$IFn$_invoke$arity$3(x,parent_id,cljs.core.PersistentHashSet.EMPTY);
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(x,parent_id,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(current,child_id));
}));
return true;
});
shadow.object.dom_destroy = (function shadow$object$dom_destroy(this$,cause){
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cause,new cljs.core.Keyword(null,"parent","parent",-878878779))){
return shadow.dom.remove(new cljs.core.Keyword("shadow.object","dom","shadow.object/dom",-1238263311).cljs$core$IFn$_invoke$arity$1(this$));
} else {
var temp__5802__auto__ = shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$2(this$,new cljs.core.Keyword("dom","remove","dom/remove",-131527420));
if(cljs.core.truth_(temp__5802__auto__)){
var custom_remove = temp__5802__auto__;
var G__17934 = this$;
var G__17935 = new cljs.core.Keyword("shadow.object","dom","shadow.object/dom",-1238263311).cljs$core$IFn$_invoke$arity$1(this$);
return (custom_remove.cljs$core$IFn$_invoke$arity$2 ? custom_remove.cljs$core$IFn$_invoke$arity$2(G__17934,G__17935) : custom_remove.call(null,G__17934,G__17935));
} else {
return shadow.dom.remove(new cljs.core.Keyword("shadow.object","dom","shadow.object/dom",-1238263311).cljs$core$IFn$_invoke$arity$1(this$));
}
}
});
shadow.object.destroy_BANG_ = (function shadow$object$destroy_BANG_(var_args){
var G__17937 = arguments.length;
switch (G__17937) {
case 1:
return shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return shadow.object.destroy_BANG_.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('')));
}
});
(shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1 = (function (oref){
return shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$2(oref,new cljs.core.Keyword(null,"direct","direct",-1775717856));
}));
(shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$2 = (function (oref,cause){
return shadow.object._destroy_BANG_(oref,cause);
}));
(shadow.object.destroy_BANG_.cljs$lang$maxFixedArity = 2);
shadow.object.bind_dom_events = (function shadow$object$bind_dom_events(oref,dom,dom_events){
if((cljs.core.rem(cljs.core.count(dom_events),(2)) === (0))){
} else {
throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("object defined invalid event",new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"object-type","object-type",-1889869015),shadow.object._type(oref),new cljs.core.Keyword("dom","events","dom/events",1793437527),dom_events], null));
}
var seq__17938 = cljs.core.seq(cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),dom_events));
var chunk__17939 = null;
var count__17940 = (0);
var i__17941 = (0);
while(true){
if((i__17941 < count__17940)){
var vec__17948 = chunk__17939.cljs$core$IIndexed$_nth$arity$2(null,i__17941);
var ev = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17948,(0),null);
var handler = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17948,(1),null);
var ev_def = vec__17948;
if((handler == null)){
throw ["ev with nil handler ",cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ev], 0))].join('');
} else {
}
var handler_18186__$1 = (((handler instanceof cljs.core.Keyword))?((function (seq__17938,chunk__17939,count__17940,i__17941,vec__17948,ev,handler,ev_def){
return (function (this$,e,el){
return shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(this$,handler,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,el], 0));
});})(seq__17938,chunk__17939,count__17940,i__17941,vec__17948,ev,handler,ev_def))
:handler);
shadow.dom.on.cljs$core$IFn$_invoke$arity$3(dom,ev,((function (seq__17938,chunk__17939,count__17940,i__17941,handler_18186__$1,vec__17948,ev,handler,ev_def){
return (function shadow$object$bind_dom_events_$_dom_event_handler(e,el){
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2("A",el.tagName)){
shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);
} else {
}
return (handler_18186__$1.cljs$core$IFn$_invoke$arity$3 ? handler_18186__$1.cljs$core$IFn$_invoke$arity$3(oref,e,el) : handler_18186__$1.call(null,oref,e,el));
});})(seq__17938,chunk__17939,count__17940,i__17941,handler_18186__$1,vec__17948,ev,handler,ev_def))
);
var G__18187 = seq__17938;
var G__18188 = chunk__17939;
var G__18189 = count__17940;
var G__18190 = (i__17941 + (1));
seq__17938 = G__18187;
chunk__17939 = G__18188;
count__17940 = G__18189;
i__17941 = G__18190;
continue;
} else {
var temp__5804__auto__ = cljs.core.seq(seq__17938);
if(temp__5804__auto__){
var seq__17938__$1 = temp__5804__auto__;
if(cljs.core.chunked_seq_QMARK_(seq__17938__$1)){
var c__5568__auto__ = cljs.core.chunk_first(seq__17938__$1);
var G__18191 = cljs.core.chunk_rest(seq__17938__$1);
var G__18192 = c__5568__auto__;
var G__18193 = cljs.core.count(c__5568__auto__);
var G__18194 = (0);
seq__17938 = G__18191;
chunk__17939 = G__18192;
count__17940 = G__18193;
i__17941 = G__18194;
continue;
} else {
var vec__17951 = cljs.core.first(seq__17938__$1);
var ev = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17951,(0),null);
var handler = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17951,(1),null);
var ev_def = vec__17951;
if((handler == null)){
throw ["ev with nil handler ",cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ev], 0))].join('');
} else {
}
var handler_18195__$1 = (((handler instanceof cljs.core.Keyword))?((function (seq__17938,chunk__17939,count__17940,i__17941,vec__17951,ev,handler,ev_def,seq__17938__$1,temp__5804__auto__){
return (function (this$,e,el){
return shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(this$,handler,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,el], 0));
});})(seq__17938,chunk__17939,count__17940,i__17941,vec__17951,ev,handler,ev_def,seq__17938__$1,temp__5804__auto__))
:handler);
shadow.dom.on.cljs$core$IFn$_invoke$arity$3(dom,ev,((function (seq__17938,chunk__17939,count__17940,i__17941,handler_18195__$1,vec__17951,ev,handler,ev_def,seq__17938__$1,temp__5804__auto__){
return (function shadow$object$bind_dom_events_$_dom_event_handler(e,el){
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2("A",el.tagName)){
shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);
} else {
}
return (handler_18195__$1.cljs$core$IFn$_invoke$arity$3 ? handler_18195__$1.cljs$core$IFn$_invoke$arity$3(oref,e,el) : handler_18195__$1.call(null,oref,e,el));
});})(seq__17938,chunk__17939,count__17940,i__17941,handler_18195__$1,vec__17951,ev,handler,ev_def,seq__17938__$1,temp__5804__auto__))
);
var G__18197 = cljs.core.next(seq__17938__$1);
var G__18198 = null;
var G__18199 = (0);
var G__18200 = (0);
seq__17938 = G__18197;
chunk__17939 = G__18198;
count__17940 = G__18199;
i__17941 = G__18200;
continue;
}
} else {
return null;
}
}
break;
}
});
shadow.object.reaction_merge = (function shadow$object$reaction_merge(result,p__17954){
var vec__17955 = p__17954;
var event = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17955,(0),null);
var handler = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17955,(1),null);
if(cljs.core.truth_((function (){var and__5043__auto__ = event;
if(cljs.core.truth_(and__5043__auto__)){
return handler;
} else {
return and__5043__auto__;
}
})())){
} else {
throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("invalid reaction",new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"event","event",301435442),event,new cljs.core.Keyword(null,"handler","handler",-195596612),handler], null));
}
var current = cljs.core.get.cljs$core$IFn$_invoke$arity$3(result,event,cljs.core.List.EMPTY);
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(result,event,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(current,handler));
});
shadow.object.merge_reactions = (function shadow$object$merge_reactions(result,behavior){
if(cljs.core.sequential_QMARK_(behavior)){
} else {
throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("behaviors must be vectors",new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"behavior","behavior",1202392908),behavior], null));
}
if(cljs.core.even_QMARK_(cljs.core.count(behavior))){
} else {
throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("invalid behavior",new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"behavior","behavior",1202392908),behavior], null));
}
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(shadow.object.reaction_merge,result,cljs.core.reverse(cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),behavior)));
});
shadow.object.merge_behaviors = (function shadow$object$merge_behaviors(result,behavior){
if(cljs.core.sequential_QMARK_(behavior)){
return cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(result,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("shadow.object","reactions","shadow.object/reactions",1966199633)], null),shadow.object.merge_reactions,behavior);
} else {
if(cljs.core.map_QMARK_(behavior)){
return cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(result,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("shadow.object","reactions","shadow.object/reactions",1966199633)], null),shadow.object.merge_reactions,new cljs.core.Keyword(null,"on","on",173873944).cljs$core$IFn$_invoke$arity$2(behavior,cljs.core.PersistentVector.EMPTY)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"watch","watch",380988277)], null),(function (watches){
return cljs.core.concat.cljs$core$IFn$_invoke$arity$2(watches,new cljs.core.Keyword(null,"watch","watch",380988277).cljs$core$IFn$_invoke$arity$2(behavior,cljs.core.PersistentVector.EMPTY));
})),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("dom","events","dom/events",1793437527)], null),(function (default$){
return cljs.core.vec(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(default$,new cljs.core.Keyword("dom","events","dom/events",1793437527).cljs$core$IFn$_invoke$arity$2(behavior,cljs.core.PersistentVector.EMPTY)));
}));
} else {
throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("behavior not understood",new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"behavior","behavior",1202392908),behavior], null));
}
}
});
shadow.object.define = (function shadow$object$define(var_args){
var args__5775__auto__ = [];
var len__5769__auto___18201 = arguments.length;
var i__5770__auto___18202 = (0);
while(true){
if((i__5770__auto___18202 < len__5769__auto___18201)){
args__5775__auto__.push((arguments[i__5770__auto___18202]));
var G__18203 = (i__5770__auto___18202 + (1));
i__5770__auto___18202 = G__18203;
continue;
} else {
}
break;
}
var argseq__5776__auto__ = ((((1) < args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);
return shadow.object.define.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);
});
(shadow.object.define.cljs$core$IFn$_invoke$arity$variadic = (function (id,args){
if((id instanceof cljs.core.Keyword)){
} else {
throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("object id needs to be a keyword",new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"id","id",-1388402092),id,new cljs.core.Keyword(null,"args","args",1315556576),args], null));
}
if(cljs.core.even_QMARK_(cljs.core.count(args))){
} else {
throw ["invalid object definition ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(id)," args: ",cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args], 0))].join('');
}
if(cljs.core.contains_QMARK_(cljs.core.deref(shadow.object.object_defs),id)){
console.warn(["object already defined ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(id)].join(''));
} else {
}
try{var odef = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,args);
var reactions = shadow.object.merge_reactions(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"on","on",173873944).cljs$core$IFn$_invoke$arity$2(odef,cljs.core.PersistentVector.EMPTY));
var odef__$1 = cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(odef,new cljs.core.Keyword("shadow.object","id","shadow.object/id",-647954841),id,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword("shadow.object","reactions","shadow.object/reactions",1966199633),reactions], 0));
var odef__$2 = cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(shadow.object.merge_behaviors,odef__$1,cljs.core.reverse(new cljs.core.Keyword(null,"behaviors","behaviors",120724909).cljs$core$IFn$_invoke$arity$2(odef__$1,cljs.core.PersistentVector.EMPTY)));
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.object.object_defs,cljs.core.assoc,id,odef__$2);
return odef__$2;
}catch (e17960){if((e17960 instanceof Object)){
var e = e17960;
throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("failed to define object",new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"id","id",-1388402092),id,new cljs.core.Keyword(null,"args","args",1315556576),args], null));
} else {
throw e17960;
}
}}));
(shadow.object.define.cljs$lang$maxFixedArity = (1));
/** @this {Function} */
(shadow.object.define.cljs$lang$applyTo = (function (seq17958){
var G__17959 = cljs.core.first(seq17958);
var seq17958__$1 = cljs.core.next(seq17958);
var self__5754__auto__ = this;
return self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__17959,seq17958__$1);
}));
shadow.object.merge_defaults = (function shadow$object$merge_defaults(data,type){
var defaults = cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.object_defs),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [type,new cljs.core.Keyword(null,"defaults","defaults",976027214)], null));
if((defaults == null)){
return data;
} else {
if(cljs.core.map_QMARK_(defaults)){
return cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([defaults,data], 0));
} else {
if(cljs.core.fn_QMARK_(defaults)){
return cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(defaults.cljs$core$IFn$_invoke$arity$0 ? defaults.cljs$core$IFn$_invoke$arity$0() : defaults.call(null)),data], 0));
} else {
throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("invalid object defaults",new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"defaults","defaults",976027214),defaults,new cljs.core.Keyword(null,"type","type",1174270348),type], null));
}
}
}
});
shadow.object.make_dom = (function shadow$object$make_dom(var_args){
var G__17962 = arguments.length;
switch (G__17962) {
case 3:
return shadow.object.make_dom.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return shadow.object.make_dom.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(shadow.object.make_dom.cljs$core$IFn$_invoke$arity$3 = (function (oref,dom_key,events_key){
return shadow.object.make_dom.cljs$core$IFn$_invoke$arity$4(oref,dom_key,events_key,null);
}));
(shadow.object.make_dom.cljs$core$IFn$_invoke$arity$4 = (function (oref,dom_key,events_key,value){
var dom_fn = (((dom_key instanceof cljs.core.Keyword))?shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$2(oref,dom_key):dom_key);
var events = (((events_key instanceof cljs.core.Keyword))?shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$3(oref,events_key,cljs.core.PersistentVector.EMPTY):events_key);
var dom = (function (){var G__17963 = (dom_fn.cljs$core$IFn$_invoke$arity$2 ? dom_fn.cljs$core$IFn$_invoke$arity$2(oref,value) : dom_fn.call(null,oref,value));
return (shadow.dom.build.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.build.cljs$core$IFn$_invoke$arity$1(G__17963) : shadow.dom.build.call(null,G__17963));
})();
shadow.object.bind_dom_events(oref,dom,events);
return dom;
}));
(shadow.object.make_dom.cljs$lang$maxFixedArity = 4);
shadow.object.alive_QMARK_ = (function shadow$object$alive_QMARK_(obj){
return cljs.core.contains_QMARK_(cljs.core.deref(shadow.object.instances),shadow.object._id(obj));
});
/**
* @constructor
* @implements {cljs.core.IRecord}
* @implements {cljs.core.IKVReduce}
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ICloneable}
* @implements {cljs.core.IPrintWithWriter}
* @implements {cljs.core.IIterable}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IAssociative}
* @implements {cljs.core.IMap}
* @implements {cljs.core.ILookup}
*/
shadow.object.Watch = (function (key,handler,__meta,__extmap,__hash){
this.key = key;
this.handler = handler;
this.__meta = __meta;
this.__extmap = __extmap;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 2230716170;
this.cljs$lang$protocol_mask$partition1$ = 139264;
});
(shadow.object.Watch.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (this__5343__auto__,k__5344__auto__){
var self__ = this;
var this__5343__auto____$1 = this;
return this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);
}));
(shadow.object.Watch.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (this__5345__auto__,k17965,else__5346__auto__){
var self__ = this;
var this__5345__auto____$1 = this;
var G__17969 = k17965;
var G__17969__$1 = (((G__17969 instanceof cljs.core.Keyword))?G__17969.fqn:null);
switch (G__17969__$1) {
case "key":
return self__.key;
break;
case "handler":
return self__.handler;
break;
default:
return cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k17965,else__5346__auto__);
}
}));
(shadow.object.Watch.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 = (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){
var self__ = this;
var this__5363__auto____$1 = this;
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__17970){
var vec__17971 = p__17970;
var k__5367__auto__ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17971,(0),null);
var v__5368__auto__ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17971,(1),null);
return (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));
}),init__5365__auto__,this__5363__auto____$1);
}));
(shadow.object.Watch.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){
var self__ = this;
var this__5358__auto____$1 = this;
var pr_pair__5361__auto__ = (function (keyval__5362__auto__){
return cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,""," ","",opts__5360__auto__,keyval__5362__auto__);
});
return cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,"#shadow.object.Watch{",", ","}",opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"key","key",-1516042587),self__.key],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"handler","handler",-195596612),self__.handler],null))], null),self__.__extmap));
}));
(shadow.object.Watch.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (G__17964){
var self__ = this;
var G__17964__$1 = this;
return (new cljs.core.RecordIter((0),G__17964__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword(null,"handler","handler",-195596612)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));
}));
(shadow.object.Watch.prototype.cljs$core$IMeta$_meta$arity$1 = (function (this__5341__auto__){
var self__ = this;
var this__5341__auto____$1 = this;
return self__.__meta;
}));
(shadow.object.Watch.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (this__5338__auto__){
var self__ = this;
var this__5338__auto____$1 = this;
return (new shadow.object.Watch(self__.key,self__.handler,self__.__meta,self__.__extmap,self__.__hash));
}));
(shadow.object.Watch.prototype.cljs$core$ICounted$_count$arity$1 = (function (this__5347__auto__){
var self__ = this;
var this__5347__auto____$1 = this;
return (2 + cljs.core.count(self__.__extmap));
}));
(shadow.object.Watch.prototype.cljs$core$IHash$_hash$arity$1 = (function (this__5339__auto__){
var self__ = this;
var this__5339__auto____$1 = this;
var h__5154__auto__ = self__.__hash;
if((!((h__5154__auto__ == null)))){
return h__5154__auto__;
} else {
var h__5154__auto____$1 = (function (coll__5340__auto__){
return (-17677043 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));
})(this__5339__auto____$1);
(self__.__hash = h__5154__auto____$1);
return h__5154__auto____$1;
}
}));
(shadow.object.Watch.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (this17966,other17967){
var self__ = this;
var this17966__$1 = this;
return (((!((other17967 == null)))) && ((((this17966__$1.constructor === other17967.constructor)) && (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this17966__$1.key,other17967.key)) && (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this17966__$1.handler,other17967.handler)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this17966__$1.__extmap,other17967.__extmap)))))))));
}));
(shadow.object.Watch.prototype.cljs$core$IMap$_dissoc$arity$2 = (function (this__5353__auto__,k__5354__auto__){
var self__ = this;
var this__5353__auto____$1 = this;
if(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"key","key",-1516042587),null,new cljs.core.Keyword(null,"handler","handler",-195596612),null], null), null),k__5354__auto__)){
return cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);
} else {
return (new shadow.object.Watch(self__.key,self__.handler,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));
}
}));
(shadow.object.Watch.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 = (function (this__5350__auto__,k17965){
var self__ = this;
var this__5350__auto____$1 = this;
var G__17974 = k17965;
var G__17974__$1 = (((G__17974 instanceof cljs.core.Keyword))?G__17974.fqn:null);
switch (G__17974__$1) {
case "key":
case "handler":
return true;
break;
default:
return cljs.core.contains_QMARK_(self__.__extmap,k17965);
}
}));
(shadow.object.Watch.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (this__5351__auto__,k__5352__auto__,G__17964){
var self__ = this;
var this__5351__auto____$1 = this;
var pred__17975 = cljs.core.keyword_identical_QMARK_;
var expr__17976 = k__5352__auto__;
if(cljs.core.truth_((pred__17975.cljs$core$IFn$_invoke$arity$2 ? pred__17975.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"key","key",-1516042587),expr__17976) : pred__17975.call(null,new cljs.core.Keyword(null,"key","key",-1516042587),expr__17976)))){
return (new shadow.object.Watch(G__17964,self__.handler,self__.__meta,self__.__extmap,null));
} else {
if(cljs.core.truth_((pred__17975.cljs$core$IFn$_invoke$arity$2 ? pred__17975.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"handler","handler",-195596612),expr__17976) : pred__17975.call(null,new cljs.core.Keyword(null,"handler","handler",-195596612),expr__17976)))){
return (new shadow.object.Watch(self__.key,G__17964,self__.__meta,self__.__extmap,null));
} else {
return (new shadow.object.Watch(self__.key,self__.handler,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__17964),null));
}
}
}));
(shadow.object.Watch.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (this__5356__auto__){
var self__ = this;
var this__5356__auto____$1 = this;
return cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,"key","key",-1516042587),self__.key,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,"handler","handler",-195596612),self__.handler,null))], null),self__.__extmap));
}));
(shadow.object.Watch.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (this__5342__auto__,G__17964){
var self__ = this;
var this__5342__auto____$1 = this;
return (new shadow.object.Watch(self__.key,self__.handler,G__17964,self__.__extmap,self__.__hash));
}));
(shadow.object.Watch.prototype.cljs$core$ICollection$_conj$arity$2 = (function (this__5348__auto__,entry__5349__auto__){
var self__ = this;
var this__5348__auto____$1 = this;
if(cljs.core.vector_QMARK_(entry__5349__auto__)){
return this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));
} else {
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);
}
}));
(shadow.object.Watch.getBasis = (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"key","key",124488940,null),new cljs.core.Symbol(null,"handler","handler",1444934915,null)], null);
}));
(shadow.object.Watch.cljs$lang$type = true);
(shadow.object.Watch.cljs$lang$ctorPrSeq = (function (this__5389__auto__){
return (new cljs.core.List(null,"shadow.object/Watch",null,(1),null));
}));
(shadow.object.Watch.cljs$lang$ctorPrWriter = (function (this__5389__auto__,writer__5390__auto__){
return cljs.core._write(writer__5390__auto__,"shadow.object/Watch");
}));
/**
* Positional factory function for shadow.object/Watch.
*/
shadow.object.__GT_Watch = (function shadow$object$__GT_Watch(key,handler){
return (new shadow.object.Watch(key,handler,null,null,null));
});
/**
* Factory function for shadow.object/Watch, taking a map of keywords to field values.
*/
shadow.object.map__GT_Watch = (function shadow$object$map__GT_Watch(G__17968){
var extmap__5385__auto__ = (function (){var G__17978 = cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__17968,new cljs.core.Keyword(null,"key","key",-1516042587),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"handler","handler",-195596612)], 0));
if(cljs.core.record_QMARK_(G__17968)){
return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__17978);
} else {
return G__17978;
}
})();
return (new shadow.object.Watch(new cljs.core.Keyword(null,"key","key",-1516042587).cljs$core$IFn$_invoke$arity$1(G__17968),new cljs.core.Keyword(null,"handler","handler",-195596612).cljs$core$IFn$_invoke$arity$1(G__17968),null,cljs.core.not_empty(extmap__5385__auto__),null));
});
/**
* @constructor
* @implements {cljs.core.IWatchable}
* @implements {cljs.core.IEquiv}
* @implements {shadow.object.IObject}
* @implements {cljs.core.async.impl.protocols.ReadPort}
* @implements {cljs.core.IDeref}
* @implements {shadow.dom.IElement}
* @implements {cljs.core.IPrintWithWriter}
* @implements {shadow.dom.SVGElement}
* @implements {cljs.core.ILookup}
*/
shadow.object.ObjectRef = (function (id,type,data,watches,result_chan){
this.id = id;
this.type = type;
this.data = data;
this.watches = watches;
this.result_chan = result_chan;
this.cljs$lang$protocol_mask$partition0$ = 2149613824;
this.cljs$lang$protocol_mask$partition1$ = 2;
});
(shadow.object.ObjectRef.prototype.cljs$core$async$impl$protocols$ReadPort$ = cljs.core.PROTOCOL_SENTINEL);
(shadow.object.ObjectRef.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 = (function (this$,handler){
var self__ = this;
var this$__$1 = this;
return cljs.core.async.impl.protocols.take_BANG_(self__.result_chan,handler);
}));
(shadow.object.ObjectRef.prototype.toString = (function (){
var self__ = this;
var this$ = this;
return cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([this$], 0));
}));
(shadow.object.ObjectRef.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (this$,k){
var self__ = this;
var this$__$1 = this;
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"parent","parent",-878878779),k)){
return shadow.object.get_parent(this$__$1);
} else {
return cljs.core.get.cljs$core$IFn$_invoke$arity$2(self__.data,k);
}
}));
(shadow.object.ObjectRef.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (this$,k,d){
var self__ = this;
var this$__$1 = this;
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"parent","parent",-878878779),k)){
return shadow.object.get_parent(this$__$1);
} else {
return cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.data,k,d);
}
}));
(shadow.object.ObjectRef.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (this$,writer,opts){
var self__ = this;
var this$__$1 = this;
return cljs.core._write(writer,["#<ObjectRef {:id ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.id),", :type ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.type),"}>"].join(''));
}));
(shadow.object.ObjectRef.prototype.shadow$dom$SVGElement$ = cljs.core.PROTOCOL_SENTINEL);
(shadow.object.ObjectRef.prototype.shadow$dom$SVGElement$_to_svg$arity$1 = (function (this$){
var self__ = this;
var this$__$1 = this;
return new cljs.core.Keyword("shadow.object","dom","shadow.object/dom",-1238263311).cljs$core$IFn$_invoke$arity$1(self__.data);
}));
(shadow.object.ObjectRef.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (this$,other){
var self__ = this;
var this$__$1 = this;
return (((other instanceof shadow.object.ObjectRef)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this$__$1.shadow$object$IObject$_id$arity$1(null),shadow.object._id(other))));
}));
(shadow.object.ObjectRef.prototype.shadow$dom$IElement$ = cljs.core.PROTOCOL_SENTINEL);
(shadow.object.ObjectRef.prototype.shadow$dom$IElement$_to_dom$arity$1 = (function (this$){
var self__ = this;
var this$__$1 = this;
return new cljs.core.Keyword("shadow.object","dom","shadow.object/dom",-1238263311).cljs$core$IFn$_invoke$arity$1(self__.data);
}));
(shadow.object.ObjectRef.prototype.cljs$core$IWatchable$_notify_watches$arity$3 = (function (this$,oldval,newval){
var self__ = this;
var this$__$1 = this;
throw (new Error("who be calling?"));
}));
(shadow.object.ObjectRef.prototype.cljs$core$IWatchable$_add_watch$arity$3 = (function (this$,key,f){
var self__ = this;
var this$__$1 = this;
return (self__.watches = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(self__.watches,(new shadow.object.Watch(key,f,null,null,null))));
}));
(shadow.object.ObjectRef.prototype.cljs$core$IWatchable$_remove_watch$arity$2 = (function (this$,key){
var self__ = this;
var this$__$1 = this;
return (self__.watches = cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__17979_SHARP_){
return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(key,new cljs.core.Keyword(null,"key","key",-1516042587).cljs$core$IFn$_invoke$arity$1(p1__17979_SHARP_));
}),self__.watches));
}));
(shadow.object.ObjectRef.prototype.shadow$object$IObject$ = cljs.core.PROTOCOL_SENTINEL);
(shadow.object.ObjectRef.prototype.shadow$object$IObject$_id$arity$1 = (function (this$){
var self__ = this;
var this$__$1 = this;
return self__.id;
}));
(shadow.object.ObjectRef.prototype.shadow$object$IObject$_type$arity$1 = (function (this$){
var self__ = this;
var this$__$1 = this;
return self__.type;
}));
(shadow.object.ObjectRef.prototype.shadow$object$IObject$_data$arity$1 = (function (this$){
var self__ = this;
var this$__$1 = this;
return self__.data;
}));
(shadow.object.ObjectRef.prototype.shadow$object$IObject$_update$arity$2 = (function (this$,update_fn){
var self__ = this;
var this$__$1 = this;
var old = self__.data;
var new$ = (update_fn.cljs$core$IFn$_invoke$arity$1 ? update_fn.cljs$core$IFn$_invoke$arity$1(self__.data) : update_fn.call(null,self__.data));
(self__.data = new$);
var seq__17980 = cljs.core.seq(self__.watches);
var chunk__17981 = null;
var count__17982 = (0);
var i__17983 = (0);
while(true){
if((i__17983 < count__17982)){
var map__17986 = chunk__17981.cljs$core$IIndexed$_nth$arity$2(null,i__17983);
var map__17986__$1 = cljs.core.__destructure_map(map__17986);
var watch = map__17986__$1;
var key = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__17986__$1,new cljs.core.Keyword(null,"key","key",-1516042587));
var handler = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__17986__$1,new cljs.core.Keyword(null,"handler","handler",-195596612));
if(shadow.object.alive_QMARK_(this$__$1)){
(handler.cljs$core$IFn$_invoke$arity$4 ? handler.cljs$core$IFn$_invoke$arity$4(key,this$__$1,old,new$) : handler.call(null,key,this$__$1,old,new$));
} else {
}
var G__18243 = seq__17980;
var G__18244 = chunk__17981;
var G__18245 = count__17982;
var G__18246 = (i__17983 + (1));
seq__17980 = G__18243;
chunk__17981 = G__18244;
count__17982 = G__18245;
i__17983 = G__18246;
continue;
} else {
var temp__5804__auto__ = cljs.core.seq(seq__17980);
if(temp__5804__auto__){
var seq__17980__$1 = temp__5804__auto__;
if(cljs.core.chunked_seq_QMARK_(seq__17980__$1)){
var c__5568__auto__ = cljs.core.chunk_first(seq__17980__$1);
var G__18247 = cljs.core.chunk_rest(seq__17980__$1);
var G__18248 = c__5568__auto__;
var G__18249 = cljs.core.count(c__5568__auto__);
var G__18250 = (0);
seq__17980 = G__18247;
chunk__17981 = G__18248;
count__17982 = G__18249;
i__17983 = G__18250;
continue;
} else {
var map__17987 = cljs.core.first(seq__17980__$1);
var map__17987__$1 = cljs.core.__destructure_map(map__17987);
var watch = map__17987__$1;
var key = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__17987__$1,new cljs.core.Keyword(null,"key","key",-1516042587));
var handler = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__17987__$1,new cljs.core.Keyword(null,"handler","handler",-195596612));
if(shadow.object.alive_QMARK_(this$__$1)){
(handler.cljs$core$IFn$_invoke$arity$4 ? handler.cljs$core$IFn$_invoke$arity$4(key,this$__$1,old,new$) : handler.call(null,key,this$__$1,old,new$));
} else {
}
var G__18253 = cljs.core.next(seq__17980__$1);
var G__18254 = null;
var G__18255 = (0);
var G__18256 = (0);
seq__17980 = G__18253;
chunk__17981 = G__18254;
count__17982 = G__18255;
i__17983 = G__18256;
continue;
}
} else {
return null;
}
}
break;
}
}));
(shadow.object.ObjectRef.prototype.shadow$object$IObject$_destroy_BANG_$arity$2 = (function (this$,cause){
var self__ = this;
var this$__$1 = this;
var parent_id = cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.instance_parent),self__.id);
var seq__17988_18257 = cljs.core.seq(shadow.object.get_children(this$__$1));
var chunk__17989_18258 = null;
var count__17990_18259 = (0);
var i__17991_18260 = (0);
while(true){
if((i__17991_18260 < count__17990_18259)){
var child_18261 = chunk__17989_18258.cljs$core$IIndexed$_nth$arity$2(null,i__17991_18260);
shadow.object._destroy_BANG_(child_18261,new cljs.core.Keyword(null,"parent","parent",-878878779));
var G__18262 = seq__17988_18257;
var G__18263 = chunk__17989_18258;
var G__18264 = count__17990_18259;
var G__18265 = (i__17991_18260 + (1));
seq__17988_18257 = G__18262;
chunk__17989_18258 = G__18263;
count__17990_18259 = G__18264;
i__17991_18260 = G__18265;
continue;
} else {
var temp__5804__auto___18266 = cljs.core.seq(seq__17988_18257);
if(temp__5804__auto___18266){
var seq__17988_18267__$1 = temp__5804__auto___18266;
if(cljs.core.chunked_seq_QMARK_(seq__17988_18267__$1)){
var c__5568__auto___18268 = cljs.core.chunk_first(seq__17988_18267__$1);
var G__18269 = cljs.core.chunk_rest(seq__17988_18267__$1);
var G__18270 = c__5568__auto___18268;
var G__18271 = cljs.core.count(c__5568__auto___18268);
var G__18272 = (0);
seq__17988_18257 = G__18269;
chunk__17989_18258 = G__18270;
count__17990_18259 = G__18271;
i__17991_18260 = G__18272;
continue;
} else {
var child_18273 = cljs.core.first(seq__17988_18267__$1);
shadow.object._destroy_BANG_(child_18273,new cljs.core.Keyword(null,"parent","parent",-878878779));
var G__18274 = cljs.core.next(seq__17988_18267__$1);
var G__18275 = null;
var G__18276 = (0);
var G__18277 = (0);
seq__17988_18257 = G__18274;
chunk__17989_18258 = G__18275;
count__17990_18259 = G__18276;
i__17991_18260 = G__18277;
continue;
}
} else {
}
}
break;
}
shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(this$__$1,new cljs.core.Keyword(null,"destroy","destroy",-843660405),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cause], 0));
shadow.object.dom_destroy(this$__$1,cause);
var return_value_18278 = new cljs.core.Keyword("shadow.object","return-value","shadow.object/return-value",1397593360).cljs$core$IFn$_invoke$arity$1(this$__$1);
if((return_value_18278 == null)){
} else {
cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(self__.result_chan,return_value_18278);
}
cljs.core.async.close_BANG_(self__.result_chan);
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.object.instances,cljs.core.dissoc,self__.id);
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.object.instance_parent,cljs.core.dissoc,self__.id);
if(cljs.core.truth_(parent_id)){
return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(shadow.object.instance_children,cljs.core.update_in,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [parent_id], null),cljs.core.disj,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.id], 0));
} else {
return null;
}
}));
(shadow.object.ObjectRef.prototype.cljs$core$IDeref$_deref$arity$1 = (function (this$){
var self__ = this;
var this$__$1 = this;
return self__.data;
}));
(shadow.object.ObjectRef.getBasis = (function (){
return new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"id","id",252129435,null),new cljs.core.Symbol(null,"type","type",-1480165421,null),cljs.core.with_meta(new cljs.core.Symbol(null,"data","data",1407862150,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"mutable","mutable",875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,"watches","watches",1367433992,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"mutable","mutable",875778266),true], null)),new cljs.core.Symbol(null,"result-chan","result-chan",3070926,null)], null);
}));
(shadow.object.ObjectRef.cljs$lang$type = true);
(shadow.object.ObjectRef.cljs$lang$ctorStr = "shadow.object/ObjectRef");
(shadow.object.ObjectRef.cljs$lang$ctorPrWriter = (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){
return cljs.core._write(writer__5331__auto__,"shadow.object/ObjectRef");
}));
/**
* Positional factory function for shadow.object/ObjectRef.
*/
shadow.object.__GT_ObjectRef = (function shadow$object$__GT_ObjectRef(id,type,data,watches,result_chan){
return (new shadow.object.ObjectRef(id,type,data,watches,result_chan));
});
shadow.object.add_reaction_BANG_ = (function shadow$object$add_reaction_BANG_(var_args){
var G__17993 = arguments.length;
switch (G__17993) {
case 3:
return shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 2:
return shadow.object.add_reaction_BANG_.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('')));
}
});
(shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$3 = (function (oref,ev,handler_fn){
return shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$2(oref,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ev,handler_fn], null));
}));
(shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$2 = (function (oref,list){
return shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,cljs.core.update_in,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("shadow.object","reactions","shadow.object/reactions",1966199633)], null),shadow.object.merge_reactions,list], 0));
}));
(shadow.object.add_reaction_BANG_.cljs$lang$maxFixedArity = 3);
shadow.object.bind_change = (function shadow$object$bind_change(var_args){
var G__17995 = arguments.length;
switch (G__17995) {
case 3:
return shadow.object.bind_change.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return shadow.object.bind_change.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(shadow.object.bind_change.cljs$core$IFn$_invoke$arity$3 = (function (oref,attr,callback){
return shadow.object.bind_change.cljs$core$IFn$_invoke$arity$4(oref,attr,callback,cljs.core.gensym.cljs$core$IFn$_invoke$arity$1("bind-change"));
}));
(shadow.object.bind_change.cljs$core$IFn$_invoke$arity$4 = (function (oref,attr,callback,watch_key){
if((((!((oref == null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL === oref.shadow$object$IObject$))))?true:(((!oref.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.object.IObject,oref):false)):cljs.core.native_satisfies_QMARK_(shadow.object.IObject,oref))){
} else {
throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("binding currently only supports shadow objects, other atoms might leak, may add later",new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"oref","oref",-1547494840),oref,new cljs.core.Keyword(null,"attr","attr",-604132353),attr], null));
}
var attr__$1 = ((cljs.core.sequential_QMARK_(attr))?attr:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [attr], null));
return cljs.core.add_watch(oref,watch_key,(function shadow$object$bind_change_watch(_,___$1,old,new$){
var ov = cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(old,attr__$1);
var nv = cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(new$,attr__$1);
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ov,nv)){
return null;
} else {
return (callback.cljs$core$IFn$_invoke$arity$2 ? callback.cljs$core$IFn$_invoke$arity$2(ov,nv) : callback.call(null,ov,nv));
}
}));
}));
(shadow.object.bind_change.cljs$lang$maxFixedArity = 4);
shadow.object.dom_enter = (function shadow$object$dom_enter(parent,child){
shadow.dom.append.cljs$core$IFn$_invoke$arity$2(parent,child);
if(cljs.core.truth_(shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$1(parent))){
return shadow.object.notify_tree_BANG_(child,new cljs.core.Keyword("dom","entered","dom/entered",506699596));
} else {
return null;
}
});
shadow.object.create = (function shadow$object$create(var_args){
var args__5775__auto__ = [];
var len__5769__auto___18313 = arguments.length;
var i__5770__auto___18315 = (0);
while(true){
if((i__5770__auto___18315 < len__5769__auto___18313)){
args__5775__auto__.push((arguments[i__5770__auto___18315]));
var G__18320 = (i__5770__auto___18315 + (1));
i__5770__auto___18315 = G__18320;
continue;
} else {
}
break;
}
var argseq__5776__auto__ = ((((2) < args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);
return shadow.object.create.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);
});
(shadow.object.create.cljs$core$IFn$_invoke$arity$variadic = (function (type,args,node_children){
if(cljs.core.contains_QMARK_(cljs.core.deref(shadow.object.object_defs),type)){
} else {
throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(["cannot create unknown child type: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(type)].join(''),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"type","type",1174270348),type,new cljs.core.Keyword(null,"args","args",1315556576),args], null));
}
if(cljs.core.map_QMARK_(args)){
} else {
throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("so/create second arg must be a map",new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"args","args",1315556576),args], null));
}
var oid = shadow.object.next_id();
var parent = new cljs.core.Keyword(null,"parent","parent",-878878779).cljs$core$IFn$_invoke$arity$1(args);
var result_chan = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
var odef = cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.object_defs),type);
var obj = cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(shadow.object.merge_defaults(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(args,new cljs.core.Keyword("shadow.object","object-id","shadow.object/object-id",-685993804),oid,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword("shadow.object","reactions","shadow.object/reactions",1966199633),cljs.core.get.cljs$core$IFn$_invoke$arity$3(odef,new cljs.core.Keyword("shadow.object","reactions","shadow.object/reactions",1966199633),cljs.core.PersistentArrayMap.EMPTY)], 0)),type),new cljs.core.Keyword(null,"parent","parent",-878878779),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"dom","dom",-1236537922)], 0));
var oref = (new shadow.object.ObjectRef(oid,type,obj,cljs.core.PersistentVector.EMPTY,result_chan));
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.object.instances,cljs.core.assoc,oid,oref);
if(cljs.core.truth_(parent)){
shadow.object.set_parent_BANG_(oref,parent);
} else {
}
shadow.object.notify_BANG_(oref,new cljs.core.Keyword(null,"init","init",-1875481434));
var dom_events_18370 = new cljs.core.Keyword("dom","events","dom/events",1793437527).cljs$core$IFn$_invoke$arity$2(odef,cljs.core.PersistentVector.EMPTY);
var temp__5802__auto___18371 = new cljs.core.Keyword(null,"dom","dom",-1236537922).cljs$core$IFn$_invoke$arity$1(args);
if(cljs.core.truth_(temp__5802__auto___18371)){
var dom_18372 = temp__5802__auto___18371;
shadow.dom.set_data(dom_18372,new cljs.core.Keyword(null,"oid","oid",-768692334),oid);
shadow.object.bind_dom_events(oref,dom_18372,dom_events_18370);
shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,cljs.core.assoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword("shadow.object","dom","shadow.object/dom",-1238263311),dom_18372], 0));
shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,new cljs.core.Keyword("dom","init","dom/init",-1875647652),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([dom_18372], 0));
} else {
var temp__5804__auto___18373 = new cljs.core.Keyword(null,"dom","dom",-1236537922).cljs$core$IFn$_invoke$arity$1(odef);
if(cljs.core.truth_(temp__5804__auto___18373)){
var dom_fn_18374 = temp__5804__auto___18373;
var dom_18375 = (function (){var G__18000 = (dom_fn_18374.cljs$core$IFn$_invoke$arity$2 ? dom_fn_18374.cljs$core$IFn$_invoke$arity$2(oref,node_children) : dom_fn_18374.call(null,oref,node_children));
return (shadow.dom.build.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.build.cljs$core$IFn$_invoke$arity$1(G__18000) : shadow.dom.build.call(null,G__18000));
})();
shadow.dom.set_data(dom_18375,new cljs.core.Keyword(null,"oid","oid",-768692334),oid);
shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,cljs.core.assoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword("shadow.object","dom","shadow.object/dom",-1238263311),dom_18375], 0));
shadow.object.bind_dom_events(oref,dom_18375,dom_events_18370);
shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,new cljs.core.Keyword("dom","init","dom/init",-1875647652),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([dom_18375], 0));
} else {
}
}
var temp__5804__auto___18376 = new cljs.core.Keyword(null,"watch","watch",380988277).cljs$core$IFn$_invoke$arity$1(odef);
if(cljs.core.truth_(temp__5804__auto___18376)){
var watches_18377 = temp__5804__auto___18376;
var seq__18001_18378 = cljs.core.seq(cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),watches_18377));
var chunk__18002_18379 = null;
var count__18003_18380 = (0);
var i__18004_18381 = (0);
while(true){
if((i__18004_18381 < count__18003_18380)){
var vec__18011_18382 = chunk__18002_18379.cljs$core$IIndexed$_nth$arity$2(null,i__18004_18381);
var attr_18383 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18011_18382,(0),null);
var handler_18384 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18011_18382,(1),null);
shadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(oref,attr_18383,((function (seq__18001_18378,chunk__18002_18379,count__18003_18380,i__18004_18381,vec__18011_18382,attr_18383,handler_18384,watches_18377,temp__5804__auto___18376,oid,parent,result_chan,odef,obj,oref){
return (function (old,new$){
return (handler_18384.cljs$core$IFn$_invoke$arity$3 ? handler_18384.cljs$core$IFn$_invoke$arity$3(oref,old,new$) : handler_18384.call(null,oref,old,new$));
});})(seq__18001_18378,chunk__18002_18379,count__18003_18380,i__18004_18381,vec__18011_18382,attr_18383,handler_18384,watches_18377,temp__5804__auto___18376,oid,parent,result_chan,odef,obj,oref))
);
var G__18385 = seq__18001_18378;
var G__18386 = chunk__18002_18379;
var G__18387 = count__18003_18380;
var G__18388 = (i__18004_18381 + (1));
seq__18001_18378 = G__18385;
chunk__18002_18379 = G__18386;
count__18003_18380 = G__18387;
i__18004_18381 = G__18388;
continue;
} else {
var temp__5804__auto___18389__$1 = cljs.core.seq(seq__18001_18378);
if(temp__5804__auto___18389__$1){
var seq__18001_18390__$1 = temp__5804__auto___18389__$1;
if(cljs.core.chunked_seq_QMARK_(seq__18001_18390__$1)){
var c__5568__auto___18391 = cljs.core.chunk_first(seq__18001_18390__$1);
var G__18392 = cljs.core.chunk_rest(seq__18001_18390__$1);
var G__18393 = c__5568__auto___18391;
var G__18394 = cljs.core.count(c__5568__auto___18391);
var G__18395 = (0);
seq__18001_18378 = G__18392;
chunk__18002_18379 = G__18393;
count__18003_18380 = G__18394;
i__18004_18381 = G__18395;
continue;
} else {
var vec__18014_18396 = cljs.core.first(seq__18001_18390__$1);
var attr_18397 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18014_18396,(0),null);
var handler_18398 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18014_18396,(1),null);
shadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(oref,attr_18397,((function (seq__18001_18378,chunk__18002_18379,count__18003_18380,i__18004_18381,vec__18014_18396,attr_18397,handler_18398,seq__18001_18390__$1,temp__5804__auto___18389__$1,watches_18377,temp__5804__auto___18376,oid,parent,result_chan,odef,obj,oref){
return (function (old,new$){
return (handler_18398.cljs$core$IFn$_invoke$arity$3 ? handler_18398.cljs$core$IFn$_invoke$arity$3(oref,old,new$) : handler_18398.call(null,oref,old,new$));
});})(seq__18001_18378,chunk__18002_18379,count__18003_18380,i__18004_18381,vec__18014_18396,attr_18397,handler_18398,seq__18001_18390__$1,temp__5804__auto___18389__$1,watches_18377,temp__5804__auto___18376,oid,parent,result_chan,odef,obj,oref))
);
var G__18399 = cljs.core.next(seq__18001_18390__$1);
var G__18400 = null;
var G__18401 = (0);
var G__18402 = (0);
seq__18001_18378 = G__18399;
chunk__18002_18379 = G__18400;
count__18003_18380 = G__18401;
i__18004_18381 = G__18402;
continue;
}
} else {
}
}
break;
}
} else {
}
return oref;
}));
(shadow.object.create.cljs$lang$maxFixedArity = (2));
/** @this {Function} */
(shadow.object.create.cljs$lang$applyTo = (function (seq17997){
var G__17998 = cljs.core.first(seq17997);
var seq17997__$1 = cljs.core.next(seq17997);
var G__17999 = cljs.core.first(seq17997__$1);
var seq17997__$2 = cljs.core.next(seq17997__$1);
var self__5754__auto__ = this;
return self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__17998,G__17999,seq17997__$2);
}));
/**
* [oref attr node-gen] produces a node via (node-gen new-value)
* watches obj for changes and replaces the generated node on change (node-gen defaults to str)
*
* only use if the node has no attached behavior like clicks, use bind with an extra object for those
*/
shadow.object.bind_simple = (function shadow$object$bind_simple(var_args){
var G__18019 = arguments.length;
switch (G__18019) {
case 2:
return shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$2 = (function (oref,attr){
return shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$3(oref,attr,cljs.core.str);
}));
(shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$3 = (function (oref,attr,node_gen){
var attr__$1 = ((cljs.core.sequential_QMARK_(attr))?attr:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [attr], null));
var node_get = (function (p1__18017_SHARP_){
var G__18024 = (node_gen.cljs$core$IFn$_invoke$arity$1 ? node_gen.cljs$core$IFn$_invoke$arity$1(p1__18017_SHARP_) : node_gen.call(null,p1__18017_SHARP_));
return (shadow.dom.build.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.build.cljs$core$IFn$_invoke$arity$1(G__18024) : shadow.dom.build.call(null,G__18024));
});
var node = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(node_get(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(oref,attr__$1)));
var bind_key = cljs.core.gensym.cljs$core$IFn$_invoke$arity$1("bind");
shadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(oref,attr__$1,(function (old,new$){
var new_node = node_get(new$);
var current_node = cljs.core.deref(node);
shadow.dom.replace_node(current_node,new_node);
return cljs.core.reset_BANG_(node,new_node);
}));
return cljs.core.deref(node);
}));
(shadow.object.bind_simple.cljs$lang$maxFixedArity = 3);
/**
* bind the given attribute a child item
* the item will be recreated whenever the value changes (old one will be destroyed)
*/
shadow.object.bind = (function shadow$object$bind(oref,attr,item_type,item_key,item_attrs){
var attr__$1 = ((cljs.core.sequential_QMARK_(attr))?attr:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [attr], null));
var curval = cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(oref,attr__$1);
var make_child_fn = (function (value){
return shadow.object.create(item_type,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([item_attrs,cljs.core.PersistentArrayMap.createAsIfByAssoc([new cljs.core.Keyword(null,"parent","parent",-878878779),oref,item_key,value])], 0)));
});
var child = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(make_child_fn(curval));
shadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(oref,attr__$1,(function (old,new$){
var new_child = make_child_fn(new$);
var current_node = cljs.core.deref(child);
shadow.dom.replace_node(current_node,new_child);
shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(child));
cljs.core.reset_BANG_(child,new_child);
return (shadow.object.notify_down_BANG_.cljs$core$IFn$_invoke$arity$2 ? shadow.object.notify_down_BANG_.cljs$core$IFn$_invoke$arity$2(new_child,new cljs.core.Keyword("dom","entered","dom/entered",506699596)) : shadow.object.notify_down_BANG_.call(null,new_child,new cljs.core.Keyword("dom","entered","dom/entered",506699596)));
}));
return cljs.core.deref(child);
});
shadow.object.coll_destroy_children = (function shadow$object$coll_destroy_children(children,c,diff){
var seq__18025_18404 = cljs.core.seq(cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(children,(c + diff),c));
var chunk__18026_18405 = null;
var count__18027_18406 = (0);
var i__18028_18407 = (0);
while(true){
if((i__18028_18407 < count__18027_18406)){
var obj_18408 = chunk__18026_18405.cljs$core$IIndexed$_nth$arity$2(null,i__18028_18407);
var obj_18409__$1 = shadow.object.get_from_dom(obj_18408);
shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1(obj_18409__$1);
var G__18410 = seq__18025_18404;
var G__18411 = chunk__18026_18405;
var G__18412 = count__18027_18406;
var G__18413 = (i__18028_18407 + (1));
seq__18025_18404 = G__18410;
chunk__18026_18405 = G__18411;
count__18027_18406 = G__18412;
i__18028_18407 = G__18413;
continue;
} else {
var temp__5804__auto___18414 = cljs.core.seq(seq__18025_18404);
if(temp__5804__auto___18414){
var seq__18025_18415__$1 = temp__5804__auto___18414;
if(cljs.core.chunked_seq_QMARK_(seq__18025_18415__$1)){
var c__5568__auto___18416 = cljs.core.chunk_first(seq__18025_18415__$1);
var G__18417 = cljs.core.chunk_rest(seq__18025_18415__$1);
var G__18418 = c__5568__auto___18416;
var G__18419 = cljs.core.count(c__5568__auto___18416);
var G__18420 = (0);
seq__18025_18404 = G__18417;
chunk__18026_18405 = G__18418;
count__18027_18406 = G__18419;
i__18028_18407 = G__18420;
continue;
} else {
var obj_18421 = cljs.core.first(seq__18025_18415__$1);
var obj_18422__$1 = shadow.object.get_from_dom(obj_18421);
shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1(obj_18422__$1);
var G__18423 = cljs.core.next(seq__18025_18415__$1);
var G__18424 = null;
var G__18425 = (0);
var G__18426 = (0);
seq__18025_18404 = G__18423;
chunk__18026_18405 = G__18424;
count__18027_18406 = G__18425;
i__18028_18407 = G__18426;
continue;
}
} else {
}
}
break;
}
return cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(children,(0),(c + diff));
});
shadow.object.bind_children = (function shadow$object$bind_children(var_args){
var G__18031 = arguments.length;
switch (G__18031) {
case 5:
return shadow.object.bind_children.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));
break;
case 6:
return shadow.object.bind_children.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(shadow.object.bind_children.cljs$core$IFn$_invoke$arity$5 = (function (node,parent,attr,item_type,item_key){
return shadow.object.bind_children.cljs$core$IFn$_invoke$arity$6(node,parent,attr,item_type,item_key,(function (p1__18029_SHARP_){
return cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(cljs.core.vector,p1__18029_SHARP_);
}));
}));
(shadow.object.bind_children.cljs$core$IFn$_invoke$arity$6 = (function (node,parent,attr,item_type,item_key,coll_transform){
var attr__$1 = ((cljs.core.sequential_QMARK_(attr))?attr:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [attr], null));
var update_children = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(true);
var coll_dom = (shadow.dom.build.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.build.cljs$core$IFn$_invoke$arity$1(node) : shadow.dom.build.call(null,node));
var make_item_fn = (function (p__18032){
var vec__18033 = p__18032;
var key = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18033,(0),null);
var val = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18033,(1),null);
var obj = shadow.object.create(item_type,cljs.core.PersistentArrayMap.createAsIfByAssoc([new cljs.core.Keyword(null,"parent","parent",-878878779),parent,new cljs.core.Keyword("shadow.object","coll-path","shadow.object/coll-path",1583850048),attr__$1,new cljs.core.Keyword("shadow.object","coll-key","shadow.object/coll-key",827543616),key,new cljs.core.Keyword("shadow.object","coll-item-key","shadow.object/coll-item-key",1888444366),item_key,item_key,val]));
shadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(obj,item_key,(function (old,new$){
var parent_key = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(attr__$1,new cljs.core.Keyword("shadow.object","coll-key","shadow.object/coll-key",827543616).cljs$core$IFn$_invoke$arity$1(obj));
(shadow.object.log.cljs$core$IFn$_invoke$arity$6 ? shadow.object.log.cljs$core$IFn$_invoke$arity$6("direct child update",parent,obj,key,parent_key,new$) : shadow.object.log.call(null,"direct child update",parent,obj,key,parent_key,new$));
cljs.core.reset_BANG_(update_children,false);
shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(parent,cljs.core.assoc_in,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([parent_key,new$], 0));
return cljs.core.reset_BANG_(update_children,true);
}));
return obj;
});
var seq__18036_18428 = cljs.core.seq((function (){var G__18041 = cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(parent,attr__$1);
return (coll_transform.cljs$core$IFn$_invoke$arity$1 ? coll_transform.cljs$core$IFn$_invoke$arity$1(G__18041) : coll_transform.call(null,G__18041));
})());
var chunk__18037_18429 = null;
var count__18038_18430 = (0);
var i__18039_18431 = (0);
while(true){
if((i__18039_18431 < count__18038_18430)){
var item_18432 = chunk__18037_18429.cljs$core$IIndexed$_nth$arity$2(null,i__18039_18431);
shadow.object.dom_enter(coll_dom,make_item_fn(item_18432));
var G__18433 = seq__18036_18428;
var G__18434 = chunk__18037_18429;
var G__18435 = count__18038_18430;
var G__18436 = (i__18039_18431 + (1));
seq__18036_18428 = G__18433;
chunk__18037_18429 = G__18434;
count__18038_18430 = G__18435;
i__18039_18431 = G__18436;
continue;
} else {
var temp__5804__auto___18437 = cljs.core.seq(seq__18036_18428);
if(temp__5804__auto___18437){
var seq__18036_18438__$1 = temp__5804__auto___18437;
if(cljs.core.chunked_seq_QMARK_(seq__18036_18438__$1)){
var c__5568__auto___18439 = cljs.core.chunk_first(seq__18036_18438__$1);
var G__18440 = cljs.core.chunk_rest(seq__18036_18438__$1);
var G__18441 = c__5568__auto___18439;
var G__18442 = cljs.core.count(c__5568__auto___18439);
var G__18443 = (0);
seq__18036_18428 = G__18440;
chunk__18037_18429 = G__18441;
count__18038_18430 = G__18442;
i__18039_18431 = G__18443;
continue;
} else {
var item_18444 = cljs.core.first(seq__18036_18438__$1);
shadow.object.dom_enter(coll_dom,make_item_fn(item_18444));
var G__18445 = cljs.core.next(seq__18036_18438__$1);
var G__18446 = null;
var G__18447 = (0);
var G__18448 = (0);
seq__18036_18428 = G__18445;
chunk__18037_18429 = G__18446;
count__18038_18430 = G__18447;
i__18039_18431 = G__18448;
continue;
}
} else {
}
}
break;
}
shadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(parent,attr__$1,(function shadow$object$bind_children_watch(old,new$){
if(cljs.core.truth_(cljs.core.deref(update_children))){
var children = cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,shadow.dom.children(coll_dom));
var new_coll = cljs.core.vec((coll_transform.cljs$core$IFn$_invoke$arity$1 ? coll_transform.cljs$core$IFn$_invoke$arity$1(new$) : coll_transform.call(null,new$)));
var count_children = cljs.core.count(children);
var count_new = cljs.core.count(new$);
var diff = (count_new - count_children);
var children__$1 = (((diff < (0)))?shadow.object.coll_destroy_children(children,count_children,diff):children);
var count_children__$1 = (function (){var x__5133__auto__ = count_new;
var y__5134__auto__ = count_children;
return ((x__5133__auto__ < y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);
})();
var n__5636__auto___18471 = count_children__$1;
var idx_18472 = (0);
while(true){
if((idx_18472 < n__5636__auto___18471)){
var cn_18473 = cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,idx_18472);
var cc_18474 = shadow.object.get_from_dom(cn_18473);
var ckey_18475 = new cljs.core.Keyword("shadow.object","coll-key","shadow.object/coll-key",827543616).cljs$core$IFn$_invoke$arity$1(cc_18474);
var cval_18476 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(cc_18474,item_key);
var vec__18042_18477 = cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new_coll,idx_18472);
var nkey_18478 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18042_18477,(0),null);
var nval_18479 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18042_18477,(1),null);
if(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ckey_18475,nkey_18478)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cval_18476,nval_18479)))){
} else {
var new_obj_18480 = make_item_fn(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [nkey_18478,nval_18479], null));
shadow.dom.replace_node(cn_18473,new_obj_18480);
shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1(cc_18474);
shadow.object.notify_tree_BANG_(new_obj_18480,new cljs.core.Keyword("dom","entered","dom/entered",506699596));
}
var G__18481 = (idx_18472 + (1));
idx_18472 = G__18481;
continue;
} else {
}
break;
}
if((diff > (0))){
var seq__18045_18482 = cljs.core.seq(cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(new_coll,count_children__$1,count_new));
var chunk__18046_18483 = null;
var count__18047_18484 = (0);
var i__18048_18485 = (0);
while(true){
if((i__18048_18485 < count__18047_18484)){
var item_18486 = chunk__18046_18483.cljs$core$IIndexed$_nth$arity$2(null,i__18048_18485);
shadow.object.dom_enter(coll_dom,make_item_fn(item_18486));
var G__18487 = seq__18045_18482;
var G__18488 = chunk__18046_18483;
var G__18489 = count__18047_18484;
var G__18490 = (i__18048_18485 + (1));
seq__18045_18482 = G__18487;
chunk__18046_18483 = G__18488;
count__18047_18484 = G__18489;
i__18048_18485 = G__18490;
continue;
} else {
var temp__5804__auto___18491 = cljs.core.seq(seq__18045_18482);
if(temp__5804__auto___18491){
var seq__18045_18492__$1 = temp__5804__auto___18491;
if(cljs.core.chunked_seq_QMARK_(seq__18045_18492__$1)){
var c__5568__auto___18493 = cljs.core.chunk_first(seq__18045_18492__$1);
var G__18494 = cljs.core.chunk_rest(seq__18045_18492__$1);
var G__18495 = c__5568__auto___18493;
var G__18496 = cljs.core.count(c__5568__auto___18493);
var G__18497 = (0);
seq__18045_18482 = G__18494;
chunk__18046_18483 = G__18495;
count__18047_18484 = G__18496;
i__18048_18485 = G__18497;
continue;
} else {
var item_18500 = cljs.core.first(seq__18045_18492__$1);
shadow.object.dom_enter(coll_dom,make_item_fn(item_18500));
var G__18501 = cljs.core.next(seq__18045_18492__$1);
var G__18502 = null;
var G__18503 = (0);
var G__18504 = (0);
seq__18045_18482 = G__18501;
chunk__18046_18483 = G__18502;
count__18047_18484 = G__18503;
i__18048_18485 = G__18504;
continue;
}
} else {
}
}
break;
}
} else {
}
return shadow.object.notify_BANG_(parent,new cljs.core.Keyword(null,"bind-children-update","bind-children-update",-1610690160));
} else {
return null;
}
}));
return coll_dom;
}));
(shadow.object.bind_children.cljs$lang$maxFixedArity = 6);
shadow.object.remove_in_parent_BANG_ = (function shadow$object$remove_in_parent_BANG_(oref){
var parent = shadow.object.get_parent(oref);
var key = new cljs.core.Keyword("shadow.object","coll-key","shadow.object/coll-key",827543616).cljs$core$IFn$_invoke$arity$1(oref);
var value = cljs.core.get.cljs$core$IFn$_invoke$arity$2(oref,new cljs.core.Keyword("shadow.object","coll-item-key","shadow.object/coll-item-key",1888444366).cljs$core$IFn$_invoke$arity$1(oref));
var path = new cljs.core.Keyword("shadow.object","coll-path","shadow.object/coll-path",1583850048).cljs$core$IFn$_invoke$arity$1(oref);
if(cljs.core.truth_((function (){var and__5043__auto__ = key;
if(cljs.core.truth_(and__5043__auto__)){
return path;
} else {
return and__5043__auto__;
}
})())){
} else {
throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("remove-in-parent! should only be called from items created via so/bind-children",new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"oref","oref",-1547494840),oref], null));
}
var coll = cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(parent,path);
var new_coll = shadow.util.remove_item_from_coll(coll,key,value);
return shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(parent,new cljs.core.Keyword("bind","update","bind/update",1048601733),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path,new_coll], 0));
});
shadow.object.inspect_BANG_ = (function shadow$object$inspect_BANG_(oref){
var G__18051 = "inspect!";
var G__18052 = shadow.object._id(oref);
var G__18053 = cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.object._type(oref));
var G__18054 = cljs.core.clj__GT_js(cljs.core.deref(shadow.object._data(oref)));
return (shadow.object.info.cljs$core$IFn$_invoke$arity$4 ? shadow.object.info.cljs$core$IFn$_invoke$arity$4(G__18051,G__18052,G__18053,G__18054) : shadow.object.info.call(null,G__18051,G__18052,G__18053,G__18054));
});
shadow.object.dump_BANG_ = (function shadow$object$dump_BANG_(){
(shadow.object.info.cljs$core$IFn$_invoke$arity$1 ? shadow.object.info.cljs$core$IFn$_invoke$arity$1("--------------- LIVE OBJECTS ------------") : shadow.object.info.call(null,"--------------- LIVE OBJECTS ------------"));
var seq__18055_18505 = cljs.core.seq(cljs.core.seq(cljs.core.deref(shadow.object.instances)));
var chunk__18056_18506 = null;
var count__18057_18507 = (0);
var i__18058_18508 = (0);
while(true){
if((i__18058_18508 < count__18057_18507)){
var vec__18073_18509 = chunk__18056_18506.cljs$core$IIndexed$_nth$arity$2(null,i__18058_18508);
var id_18510 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18073_18509,(0),null);
var oref_18511 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18073_18509,(1),null);
var G__18076_18512 = "dump";
var G__18077_18513 = id_18510;
var G__18078_18514 = cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([shadow.object._type(oref_18511)], 0));
var G__18079_18515 = cljs.core.deref(shadow.object._data(oref_18511));
(shadow.object.info.cljs$core$IFn$_invoke$arity$4 ? shadow.object.info.cljs$core$IFn$_invoke$arity$4(G__18076_18512,G__18077_18513,G__18078_18514,G__18079_18515) : shadow.object.info.call(null,G__18076_18512,G__18077_18513,G__18078_18514,G__18079_18515));
var G__18516 = seq__18055_18505;
var G__18517 = chunk__18056_18506;
var G__18518 = count__18057_18507;
var G__18519 = (i__18058_18508 + (1));
seq__18055_18505 = G__18516;
chunk__18056_18506 = G__18517;
count__18057_18507 = G__18518;
i__18058_18508 = G__18519;
continue;
} else {
var temp__5804__auto___18520 = cljs.core.seq(seq__18055_18505);
if(temp__5804__auto___18520){
var seq__18055_18521__$1 = temp__5804__auto___18520;
if(cljs.core.chunked_seq_QMARK_(seq__18055_18521__$1)){
var c__5568__auto___18522 = cljs.core.chunk_first(seq__18055_18521__$1);
var G__18523 = cljs.core.chunk_rest(seq__18055_18521__$1);
var G__18524 = c__5568__auto___18522;
var G__18525 = cljs.core.count(c__5568__auto___18522);
var G__18526 = (0);
seq__18055_18505 = G__18523;
chunk__18056_18506 = G__18524;
count__18057_18507 = G__18525;
i__18058_18508 = G__18526;
continue;
} else {
var vec__18080_18527 = cljs.core.first(seq__18055_18521__$1);
var id_18528 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18080_18527,(0),null);
var oref_18529 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18080_18527,(1),null);
var G__18083_18530 = "dump";
var G__18084_18531 = id_18528;
var G__18085_18532 = cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([shadow.object._type(oref_18529)], 0));
var G__18086_18533 = cljs.core.deref(shadow.object._data(oref_18529));
(shadow.object.info.cljs$core$IFn$_invoke$arity$4 ? shadow.object.info.cljs$core$IFn$_invoke$arity$4(G__18083_18530,G__18084_18531,G__18085_18532,G__18086_18533) : shadow.object.info.call(null,G__18083_18530,G__18084_18531,G__18085_18532,G__18086_18533));
var G__18534 = cljs.core.next(seq__18055_18521__$1);
var G__18535 = null;
var G__18536 = (0);
var G__18537 = (0);
seq__18055_18505 = G__18534;
chunk__18056_18506 = G__18535;
count__18057_18507 = G__18536;
i__18058_18508 = G__18537;
continue;
}
} else {
}
}
break;
}
return (shadow.object.info.cljs$core$IFn$_invoke$arity$1 ? shadow.object.info.cljs$core$IFn$_invoke$arity$1("--------------- //LIVE OBJECTS ------------") : shadow.object.info.call(null,"--------------- //LIVE OBJECTS ------------"));
});
goog.exportSymbol('shadow.object.dump_BANG_', shadow.object.dump_BANG_);
//# sourceMappingURL=shadow.object.js.map