goog.provide('shadow.remote.runtime.obj_support'); /** * @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.remote.runtime.obj_support.Reference = (function (obj,__meta,__extmap,__hash){ this.obj = obj; this.__meta = __meta; this.__extmap = __extmap; this.__hash = __hash; this.cljs$lang$protocol_mask$partition0$ = 2230716170; this.cljs$lang$protocol_mask$partition1$ = 139264; }); (shadow.remote.runtime.obj_support.Reference.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.remote.runtime.obj_support.Reference.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (this__5345__auto__,k20696,else__5346__auto__){ var self__ = this; var this__5345__auto____$1 = this; var G__20701 = k20696; var G__20701__$1 = (((G__20701 instanceof cljs.core.Keyword))?G__20701.fqn:null); switch (G__20701__$1) { case "obj": return self__.obj; break; default: return cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k20696,else__5346__auto__); } })); (shadow.remote.runtime.obj_support.Reference.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__20702){ var vec__20703 = p__20702; var k__5367__auto__ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20703,(0),null); var v__5368__auto__ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20703,(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.remote.runtime.obj_support.Reference.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.remote.runtime.obj-support.Reference{",", ","}",opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(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,"obj","obj",981763962),self__.obj],null))], null),self__.__extmap)); })); (shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (G__20695){ var self__ = this; var G__20695__$1 = this; return (new cljs.core.RecordIter((0),G__20695__$1,1,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"obj","obj",981763962)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter()))); })); (shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IMeta$_meta$arity$1 = (function (this__5341__auto__){ var self__ = this; var this__5341__auto____$1 = this; return self__.__meta; })); (shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (this__5338__auto__){ var self__ = this; var this__5338__auto____$1 = this; return (new shadow.remote.runtime.obj_support.Reference(self__.obj,self__.__meta,self__.__extmap,self__.__hash)); })); (shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ICounted$_count$arity$1 = (function (this__5347__auto__){ var self__ = this; var this__5347__auto____$1 = this; return (1 + cljs.core.count(self__.__extmap)); })); (shadow.remote.runtime.obj_support.Reference.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 (1775716890 ^ cljs.core.hash_unordered_coll(coll__5340__auto__)); })(this__5339__auto____$1); (self__.__hash = h__5154__auto____$1); return h__5154__auto____$1; } })); (shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (this20697,other20698){ var self__ = this; var this20697__$1 = this; return (((!((other20698 == null)))) && ((((this20697__$1.constructor === other20698.constructor)) && (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20697__$1.obj,other20698.obj)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20697__$1.__extmap,other20698.__extmap))))))); })); (shadow.remote.runtime.obj_support.Reference.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, 1, [new cljs.core.Keyword(null,"obj","obj",981763962),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.remote.runtime.obj_support.Reference(self__.obj,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null)); } })); (shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 = (function (this__5350__auto__,k20696){ var self__ = this; var this__5350__auto____$1 = this; var G__20709 = k20696; var G__20709__$1 = (((G__20709 instanceof cljs.core.Keyword))?G__20709.fqn:null); switch (G__20709__$1) { case "obj": return true; break; default: return cljs.core.contains_QMARK_(self__.__extmap,k20696); } })); (shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (this__5351__auto__,k__5352__auto__,G__20695){ var self__ = this; var this__5351__auto____$1 = this; var pred__20710 = cljs.core.keyword_identical_QMARK_; var expr__20711 = k__5352__auto__; if(cljs.core.truth_((pred__20710.cljs$core$IFn$_invoke$arity$2 ? pred__20710.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"obj","obj",981763962),expr__20711) : pred__20710.call(null,new cljs.core.Keyword(null,"obj","obj",981763962),expr__20711)))){ return (new shadow.remote.runtime.obj_support.Reference(G__20695,self__.__meta,self__.__extmap,null)); } else { return (new shadow.remote.runtime.obj_support.Reference(self__.obj,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__20695),null)); } })); (shadow.remote.runtime.obj_support.Reference.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, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,"obj","obj",981763962),self__.obj,null))], null),self__.__extmap)); })); (shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (this__5342__auto__,G__20695){ var self__ = this; var this__5342__auto____$1 = this; return (new shadow.remote.runtime.obj_support.Reference(self__.obj,G__20695,self__.__extmap,self__.__hash)); })); (shadow.remote.runtime.obj_support.Reference.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.remote.runtime.obj_support.Reference.getBasis = (function (){ return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"obj","obj",-1672671807,null)], null); })); (shadow.remote.runtime.obj_support.Reference.cljs$lang$type = true); (shadow.remote.runtime.obj_support.Reference.cljs$lang$ctorPrSeq = (function (this__5389__auto__){ return (new cljs.core.List(null,"shadow.remote.runtime.obj-support/Reference",null,(1),null)); })); (shadow.remote.runtime.obj_support.Reference.cljs$lang$ctorPrWriter = (function (this__5389__auto__,writer__5390__auto__){ return cljs.core._write(writer__5390__auto__,"shadow.remote.runtime.obj-support/Reference"); })); /** * Positional factory function for shadow.remote.runtime.obj-support/Reference. */ shadow.remote.runtime.obj_support.__GT_Reference = (function shadow$remote$runtime$obj_support$__GT_Reference(obj){ return (new shadow.remote.runtime.obj_support.Reference(obj,null,null,null)); }); /** * Factory function for shadow.remote.runtime.obj-support/Reference, taking a map of keywords to field values. */ shadow.remote.runtime.obj_support.map__GT_Reference = (function shadow$remote$runtime$obj_support$map__GT_Reference(G__20699){ var extmap__5385__auto__ = (function (){var G__20728 = cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(G__20699,new cljs.core.Keyword(null,"obj","obj",981763962)); if(cljs.core.record_QMARK_(G__20699)){ return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__20728); } else { return G__20728; } })(); return (new shadow.remote.runtime.obj_support.Reference(new cljs.core.Keyword(null,"obj","obj",981763962).cljs$core$IFn$_invoke$arity$1(G__20699),null,cljs.core.not_empty(extmap__5385__auto__),null)); }); shadow.remote.runtime.obj_support.obj_ref = (function shadow$remote$runtime$obj_support$obj_ref(obj){ if((!((obj == null)))){ return (new shadow.remote.runtime.obj_support.Reference(obj,null,null,null)); } else { return null; } }); shadow.remote.runtime.obj_support.obj_ref_QMARK_ = (function shadow$remote$runtime$obj_support$obj_ref_QMARK_(result){ return (result instanceof shadow.remote.runtime.obj_support.Reference); }); shadow.remote.runtime.obj_support.now = (function shadow$remote$runtime$obj_support$now(){ return Date.now(); }); shadow.remote.runtime.obj_support.next_oid = (function shadow$remote$runtime$obj_support$next_oid(){ return cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.random_uuid()); }); shadow.remote.runtime.obj_support.register_STAR_ = (function shadow$remote$runtime$obj_support$register_STAR_(state,oid,obj,obj_info){ var ts = shadow.remote.runtime.obj_support.now(); var entry = new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"obj","obj",981763962),obj,new cljs.core.Keyword(null,"data","data",-232669377),clojure.datafy.datafy(obj),new cljs.core.Keyword(null,"obj-info","obj-info",-373842651),obj_info,new cljs.core.Keyword(null,"added-at","added-at",-352499434),ts,new cljs.core.Keyword(null,"access-at","access-at",-1487162729),ts,new cljs.core.Keyword(null,"oid","oid",-768692334),oid], null); return cljs.core.assoc_in(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"objects","objects",2099713734),oid], null),entry); }); shadow.remote.runtime.obj_support.obj_type_string = (function shadow$remote$runtime$obj_support$obj_type_string(obj){ if((obj == null)){ return "nil"; } else { return cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(obj)], 0)); } }); shadow.remote.runtime.obj_support.get_data_type = (function shadow$remote$runtime$obj_support$get_data_type(summary,p__20741){ var map__20742 = p__20741; var map__20742__$1 = cljs.core.__destructure_map(map__20742); var entry = map__20742__$1; var data = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20742__$1,new cljs.core.Keyword(null,"data","data",-232669377)); try{if((data == null)){ return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,"data-type","data-type",-326421468),new cljs.core.Keyword(null,"nil","nil",99600501)); } else { if(typeof data === 'string'){ return cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,"data-type","data-type",-326421468),new cljs.core.Keyword(null,"string","string",-1989541586),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"data-count","data-count",1898198662),((data).length)], 0)); } else { if(cljs.core.boolean_QMARK_(data)){ return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,"data-type","data-type",-326421468),new cljs.core.Keyword(null,"boolean","boolean",-1919418404)); } else { if(typeof data === 'number'){ return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,"data-type","data-type",-326421468),new cljs.core.Keyword(null,"number","number",1570378438)); } else { if((data instanceof cljs.core.Keyword)){ return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,"data-type","data-type",-326421468),new cljs.core.Keyword(null,"keyword","keyword",811389747)); } else { if((data instanceof cljs.core.Symbol)){ return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,"data-type","data-type",-326421468),new cljs.core.Keyword(null,"symbol","symbol",-1038572696)); } else { if(cljs.core.map_QMARK_(data)){ return cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,"data-type","data-type",-326421468),new cljs.core.Keyword(null,"map","map",1371690461),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"data-count","data-count",1898198662),cljs.core.count(data)], 0)); } else { if(cljs.core.vector_QMARK_(data)){ return cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,"data-type","data-type",-326421468),new cljs.core.Keyword(null,"vec","vec",-657847931),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"data-count","data-count",1898198662),cljs.core.count(data)], 0)); } else { if(cljs.core.set_QMARK_(data)){ return cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,"data-type","data-type",-326421468),new cljs.core.Keyword(null,"set","set",304602554),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"data-count","data-count",1898198662),cljs.core.count(data)], 0)); } else { if(cljs.core.list_QMARK_(data)){ return cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,"data-type","data-type",-326421468),new cljs.core.Keyword(null,"list","list",765357683),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"data-count","data-count",1898198662),cljs.core.count(data)], 0)); } else { if(cljs.core.seq_QMARK_(data)){ return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,"data-type","data-type",-326421468),new cljs.core.Keyword(null,"seq","seq",-1817803783)); } else { return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,"data-type","data-type",-326421468),new cljs.core.Keyword(null,"unsupported","unsupported",-1045607016)); } } } } } } } } } } } }catch (e20743){var e = e20743; return cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,"data-type","data-type",-326421468),new cljs.core.Keyword(null,"unsupported","unsupported",-1045607016),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"data-type-fail","data-type-fail",1917235450),true], 0)); }}); shadow.remote.runtime.obj_support.merge_source_info = (function shadow$remote$runtime$obj_support$merge_source_info(summary,p__20746){ var map__20747 = p__20746; var map__20747__$1 = cljs.core.__destructure_map(map__20747); var obj_info = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20747__$1,new cljs.core.Keyword(null,"obj-info","obj-info",-373842651)); return cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([summary,cljs.core.select_keys(obj_info,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"ns","ns",441598760),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"column","column",2078222095),new cljs.core.Keyword(null,"label","label",1718410804)], null))], 0)); }); shadow.remote.runtime.obj_support.inspect_entry_BANG_ = (function shadow$remote$runtime$obj_support$inspect_entry_BANG_(p__20748,p__20749){ var map__20750 = p__20748; var map__20750__$1 = cljs.core.__destructure_map(map__20750); var this$ = map__20750__$1; var state_ref = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20750__$1,new cljs.core.Keyword(null,"state-ref","state-ref",2127874952)); var map__20751 = p__20749; var map__20751__$1 = cljs.core.__destructure_map(map__20751); var entry = map__20751__$1; var obj = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20751__$1,new cljs.core.Keyword(null,"obj","obj",981763962)); var data = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20751__$1,new cljs.core.Keyword(null,"data","data",-232669377)); var added_at = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20751__$1,new cljs.core.Keyword(null,"added-at","added-at",-352499434)); var $ = shadow.remote.runtime.obj_support.merge_source_info(shadow.remote.runtime.obj_support.get_data_type(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"added-at","added-at",-352499434),added_at,new cljs.core.Keyword(null,"datafied","datafied",2076148104),(!((data === obj))),new cljs.core.Keyword(null,"obj-type","obj-type",-1658555496),shadow.remote.runtime.obj_support.obj_type_string(obj),new cljs.core.Keyword(null,"supports","supports",1501242067),cljs.core.PersistentHashSet.EMPTY], null),entry),entry); return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (summary,inspect_fn){ return (inspect_fn.cljs$core$IFn$_invoke$arity$2 ? inspect_fn.cljs$core$IFn$_invoke$arity$2(summary,entry) : inspect_fn.call(null,summary,entry)); }),$,new cljs.core.Keyword(null,"inspectors","inspectors",-426448246).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref))); }); shadow.remote.runtime.obj_support.obj_describe_STAR_ = (function shadow$remote$runtime$obj_support$obj_describe_STAR_(p__20759,oid){ var map__20760 = p__20759; var map__20760__$1 = cljs.core.__destructure_map(map__20760); var this$ = map__20760__$1; var state_ref = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20760__$1,new cljs.core.Keyword(null,"state-ref","state-ref",2127874952)); var temp__5808__auto__ = cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state_ref),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"objects","objects",2099713734),oid], null)); if((temp__5808__auto__ == null)){ return null; } else { var entry = temp__5808__auto__; cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"objects","objects",2099713734),oid,new cljs.core.Keyword(null,"access-at","access-at",-1487162729)], null),shadow.remote.runtime.obj_support.now()); return shadow.remote.runtime.obj_support.inspect_entry_BANG_(this$,entry); } }); shadow.remote.runtime.obj_support.handler_with_object = (function shadow$remote$runtime$obj_support$handler_with_object(handler_fn){ return (function (p__20761,p__20762){ var map__20764 = p__20761; var map__20764__$1 = cljs.core.__destructure_map(map__20764); var this$ = map__20764__$1; var state_ref = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20764__$1,new cljs.core.Keyword(null,"state-ref","state-ref",2127874952)); var runtime = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20764__$1,new cljs.core.Keyword(null,"runtime","runtime",-1331573996)); var map__20765 = p__20762; var map__20765__$1 = cljs.core.__destructure_map(map__20765); var msg = map__20765__$1; var op = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20765__$1,new cljs.core.Keyword(null,"op","op",-1882987955)); var oid = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20765__$1,new cljs.core.Keyword(null,"oid","oid",-768692334)); var entry = cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state_ref),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"objects","objects",2099713734),oid], null)); if(cljs.core.not(entry)){ return shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"op","op",-1882987955),new cljs.core.Keyword(null,"obj-not-found","obj-not-found",1577257696),new cljs.core.Keyword(null,"oid","oid",-768692334),oid], null)); } else { try{cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"objects","objects",2099713734),oid,new cljs.core.Keyword(null,"access-at","access-at",-1487162729)], null),shadow.remote.runtime.obj_support.now()); var result = (handler_fn.cljs$core$IFn$_invoke$arity$3 ? handler_fn.cljs$core$IFn$_invoke$arity$3(this$,entry,msg) : handler_fn.call(null,this$,entry,msg)); if((!(shadow.remote.runtime.obj_support.obj_ref_QMARK_(result)))){ return shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"op","op",-1882987955),new cljs.core.Keyword(null,"obj-result","obj-result",-486300152),new cljs.core.Keyword(null,"oid","oid",-768692334),oid,new cljs.core.Keyword(null,"result","result",1415092211),result], null)); } else { var new_oid = (function (){var G__20770 = this$; var G__20771 = new cljs.core.Keyword(null,"obj","obj",981763962).cljs$core$IFn$_invoke$arity$1(result); var G__20772 = cljs.core.PersistentArrayMap.EMPTY; return (shadow.remote.runtime.obj_support.register.cljs$core$IFn$_invoke$arity$3 ? shadow.remote.runtime.obj_support.register.cljs$core$IFn$_invoke$arity$3(G__20770,G__20771,G__20772) : shadow.remote.runtime.obj_support.register.call(null,G__20770,G__20771,G__20772)); })(); var reply_msg = (function (){var G__20773 = new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"op","op",-1882987955),new cljs.core.Keyword(null,"obj-result-ref","obj-result-ref",1537374891),new cljs.core.Keyword(null,"oid","oid",-768692334),oid,new cljs.core.Keyword(null,"ref-oid","ref-oid",-526648644),new_oid], null); if(cljs.core.truth_(new cljs.core.Keyword(null,"summary","summary",380847952).cljs$core$IFn$_invoke$arity$1(msg))){ return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20773,new cljs.core.Keyword(null,"summary","summary",380847952),shadow.remote.runtime.obj_support.obj_describe_STAR_(this$,new_oid)); } else { return G__20773; } })(); return shadow.remote.runtime.shared.reply(runtime,msg,reply_msg); } }catch (e20766){var e = e20766; console.warn("action-request-action failed",new cljs.core.Keyword(null,"obj","obj",981763962).cljs$core$IFn$_invoke$arity$1(entry),e); return shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"op","op",-1882987955),new cljs.core.Keyword(null,"obj-request-failed","obj-request-failed",-1782005406),new cljs.core.Keyword(null,"oid","oid",-768692334),oid,new cljs.core.Keyword(null,"msg","msg",-1386103444),msg,new cljs.core.Keyword(null,"ex-oid","ex-oid",-650256737),(function (){var G__20767 = this$; var G__20768 = e; var G__20769 = new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"msg","msg",-1386103444),msg], null); return (shadow.remote.runtime.obj_support.register.cljs$core$IFn$_invoke$arity$3 ? shadow.remote.runtime.obj_support.register.cljs$core$IFn$_invoke$arity$3(G__20767,G__20768,G__20769) : shadow.remote.runtime.obj_support.register.call(null,G__20767,G__20768,G__20769)); })()], null)); }} }); }); shadow.remote.runtime.obj_support.obj_get_value = shadow.remote.runtime.obj_support.handler_with_object((function (this$,p__20774,msg){ var map__20775 = p__20774; var map__20775__$1 = cljs.core.__destructure_map(map__20775); var entry = map__20775__$1; var obj = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20775__$1,new cljs.core.Keyword(null,"obj","obj",981763962)); return obj; })); shadow.remote.runtime.obj_support.default_max_print_size = (((1) * (1024)) * (1024)); shadow.remote.runtime.obj_support.obj_edn = shadow.remote.runtime.obj_support.handler_with_object((function (this$,p__20785,p__20786){ var map__20787 = p__20785; var map__20787__$1 = cljs.core.__destructure_map(map__20787); var entry = map__20787__$1; var data = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20787__$1,new cljs.core.Keyword(null,"data","data",-232669377)); var map__20788 = p__20786; var map__20788__$1 = cljs.core.__destructure_map(map__20788); var msg = map__20788__$1; var limit = cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__20788__$1,new cljs.core.Keyword(null,"limit","limit",-1355822363),shadow.remote.runtime.obj_support.default_max_print_size); var lw = shadow.remote.runtime.writer.limit_writer(limit); cljs.core.pr_writer(data,lw,cljs.core.pr_opts()); return shadow.remote.runtime.writer.get_string(lw); })); shadow.remote.runtime.obj_support.obj_pprint = shadow.remote.runtime.obj_support.handler_with_object((function (this$,p__20789,p__20790){ var map__20791 = p__20789; var map__20791__$1 = cljs.core.__destructure_map(map__20791); var entry = map__20791__$1; var data = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20791__$1,new cljs.core.Keyword(null,"data","data",-232669377)); var map__20792 = p__20790; var map__20792__$1 = cljs.core.__destructure_map(map__20792); var msg = map__20792__$1; var limit = cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__20792__$1,new cljs.core.Keyword(null,"limit","limit",-1355822363),shadow.remote.runtime.obj_support.default_max_print_size); var lw = shadow.remote.runtime.writer.limit_writer(limit); cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2(data,lw); return shadow.remote.runtime.writer.get_string(lw); })); shadow.remote.runtime.obj_support.obj_edn_limit = shadow.remote.runtime.obj_support.handler_with_object((function (this$,p__20794,p__20795){ var map__20796 = p__20794; var map__20796__$1 = cljs.core.__destructure_map(map__20796); var entry = map__20796__$1; var data = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20796__$1,new cljs.core.Keyword(null,"data","data",-232669377)); var map__20797 = p__20795; var map__20797__$1 = cljs.core.__destructure_map(map__20797); var msg = map__20797__$1; var limit = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20797__$1,new cljs.core.Keyword(null,"limit","limit",-1355822363)); return shadow.remote.runtime.writer.pr_str_limit(data,limit); })); shadow.remote.runtime.obj_support.obj_str = shadow.remote.runtime.obj_support.handler_with_object((function (this$,p__20799,msg){ var map__20800 = p__20799; var map__20800__$1 = cljs.core.__destructure_map(map__20800); var entry = map__20800__$1; var obj = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20800__$1,new cljs.core.Keyword(null,"obj","obj",981763962)); return cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj); })); shadow.remote.runtime.obj_support.obj_ex_str = shadow.remote.runtime.obj_support.handler_with_object((function (this$,p__20801,msg){ var map__20802 = p__20801; var map__20802__$1 = cljs.core.__destructure_map(map__20802); var entry = map__20802__$1; var ex = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20802__$1,new cljs.core.Keyword(null,"obj","obj",981763962)); if((ex instanceof Error)){ return cljs.repl.error__GT_str(ex); } else { return ["Execution error:\n"," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.second(shadow.remote.runtime.writer.pr_str_limit(ex,(200)))),"\n","\n"].join(''); } })); shadow.remote.runtime.obj_support.exception_QMARK_ = (function shadow$remote$runtime$obj_support$exception_QMARK_(x){ return true; }); shadow.remote.runtime.obj_support.simple_value_QMARK_ = (function shadow$remote$runtime$obj_support$simple_value_QMARK_(val){ return (((val == null)) || (((cljs.core.boolean_QMARK_(val)) || (((typeof val === 'number') || ((((val instanceof cljs.core.Keyword)) || ((((((val instanceof cljs.core.Symbol)) && ((cljs.core.meta(val) == null)))) || (((((typeof val === 'string') && (((64) > cljs.core.count(val))))) || (((cljs.core.coll_QMARK_(val)) && (((cljs.core.empty_QMARK_(val)) && ((cljs.core.meta(val) == null))))))))))))))))); }); shadow.remote.runtime.obj_support.rank_predicates = new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.nil_QMARK_,cljs.core.boolean_QMARK_,cljs.core.number_QMARK_,cljs.core.string_QMARK_,cljs.core.keyword_QMARK_,cljs.core.symbol_QMARK_,cljs.core.vector_QMARK_,cljs.core.map_QMARK_,cljs.core.list_QMARK_], null); shadow.remote.runtime.obj_support.rank_val = (function shadow$remote$runtime$obj_support$rank_val(val){ return cljs.core.reduce_kv((function (res,idx,pred){ if(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(val) : pred.call(null,val)))){ return cljs.core.reduced(idx); } else { return res; } }),(-1),shadow.remote.runtime.obj_support.rank_predicates); }); shadow.remote.runtime.obj_support.smart_comp = (function shadow$remote$runtime$obj_support$smart_comp(a,b){ try{return cljs.core.compare(a,b); }catch (e20809){if((e20809 instanceof Error)){ var e = e20809; var ar = shadow.remote.runtime.obj_support.rank_val(a); var br = shadow.remote.runtime.obj_support.rank_val(b); return cljs.core.compare(ar,br); } else { throw e20809; } }}); shadow.remote.runtime.obj_support.attempt_to_sort = (function shadow$remote$runtime$obj_support$attempt_to_sort(coll){ return cljs.core.vec((function (){try{return cljs.core.sort.cljs$core$IFn$_invoke$arity$2(shadow.remote.runtime.obj_support.smart_comp,coll); }catch (e20811){var e = e20811; return coll; }})()); }); shadow.remote.runtime.obj_support.cache_view_order = (function shadow$remote$runtime$obj_support$cache_view_order(state_ref,p__20812,coll){ var map__20813 = p__20812; var map__20813__$1 = cljs.core.__destructure_map(map__20813); var oid = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20813__$1,new cljs.core.Keyword(null,"oid","oid",-768692334)); var view_order = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20813__$1,new cljs.core.Keyword(null,"view-order","view-order",566761574)); var or__5045__auto__ = view_order; if(cljs.core.truth_(or__5045__auto__)){ return or__5045__auto__; } else { var view_order__$1 = shadow.remote.runtime.obj_support.attempt_to_sort(coll); cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"objects","objects",2099713734),oid,new cljs.core.Keyword(null,"view-order","view-order",566761574)], null),view_order__$1); return view_order__$1; } }); shadow.remote.runtime.obj_support.obj_nav = shadow.remote.runtime.obj_support.handler_with_object((function (p__20814,p__20815,p__20816){ var map__20818 = p__20814; var map__20818__$1 = cljs.core.__destructure_map(map__20818); var state_ref = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20818__$1,new cljs.core.Keyword(null,"state-ref","state-ref",2127874952)); var map__20819 = p__20815; var map__20819__$1 = cljs.core.__destructure_map(map__20819); var entry = map__20819__$1; var data = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20819__$1,new cljs.core.Keyword(null,"data","data",-232669377)); var map__20820 = p__20816; var map__20820__$1 = cljs.core.__destructure_map(map__20820); var msg = map__20820__$1; var idx = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20820__$1,new cljs.core.Keyword(null,"idx","idx",1053688473)); if(((cljs.core.vector_QMARK_(data)) || (cljs.core.list_QMARK_(data)))){ var val = cljs.core.nth.cljs$core$IFn$_invoke$arity$2(data,idx); var nav = clojure.datafy.nav(data,idx,val); return shadow.remote.runtime.obj_support.obj_ref(nav); } else { if(cljs.core.map_QMARK_(data)){ var view_order = shadow.remote.runtime.obj_support.cache_view_order(state_ref,entry,cljs.core.keys(data)); var key = cljs.core.nth.cljs$core$IFn$_invoke$arity$2(view_order,idx); var val = cljs.core.get.cljs$core$IFn$_invoke$arity$2(data,key); var nav = clojure.datafy.nav(data,key,val); return shadow.remote.runtime.obj_support.obj_ref(nav); } else { if(cljs.core.set_QMARK_(data)){ var view_order = shadow.remote.runtime.obj_support.cache_view_order(state_ref,entry,data); var val = cljs.core.nth.cljs$core$IFn$_invoke$arity$2(view_order,idx); var nav = clojure.datafy.nav(data,idx,val); return shadow.remote.runtime.obj_support.obj_ref(nav); } else { throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("nav not supported?",entry); } } } })); shadow.remote.runtime.obj_support.obj_fragment = shadow.remote.runtime.obj_support.handler_with_object((function (p__20823,p__20824,p__20825){ var map__20826 = p__20823; var map__20826__$1 = cljs.core.__destructure_map(map__20826); var state_ref = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20826__$1,new cljs.core.Keyword(null,"state-ref","state-ref",2127874952)); var map__20827 = p__20824; var map__20827__$1 = cljs.core.__destructure_map(map__20827); var entry = map__20827__$1; var data = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20827__$1,new cljs.core.Keyword(null,"data","data",-232669377)); var map__20828 = p__20825; var map__20828__$1 = cljs.core.__destructure_map(map__20828); var msg = map__20828__$1; var start = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20828__$1,new cljs.core.Keyword(null,"start","start",-355208981)); var num = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20828__$1,new cljs.core.Keyword(null,"num","num",1985240673)); var val_limit = cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__20828__$1,new cljs.core.Keyword(null,"val-limit","val-limit",1428666181),(100)); if(cljs.core.map_QMARK_(data)){ var map__20830 = msg; var map__20830__$1 = cljs.core.__destructure_map(map__20830); var key_limit = cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__20830__$1,new cljs.core.Keyword(null,"key-limit","key-limit",259239169),(100)); var view_order = shadow.remote.runtime.obj_support.cache_view_order(state_ref,entry,cljs.core.keys(data)); var end = (function (){var x__5133__auto__ = cljs.core.count(view_order); var y__5134__auto__ = (start + num); return ((x__5133__auto__ < y__5134__auto__) ? x__5133__auto__ : y__5134__auto__); })(); var idxs = cljs.core.range.cljs$core$IFn$_invoke$arity$2(start,end); var fragment = cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,idx){ var key = cljs.core.nth.cljs$core$IFn$_invoke$arity$2(view_order,idx); var val = cljs.core.get.cljs$core$IFn$_invoke$arity$2(data,key); return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,idx,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"key","key",-1516042587),(function (){try{return shadow.remote.runtime.writer.pr_str_limit(key,key_limit); }catch (e20831){var e = e20831; return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,"... print failed ..."], null); }})(),new cljs.core.Keyword(null,"val","val",128701612),(function (){try{return shadow.remote.runtime.writer.pr_str_limit(val,val_limit); }catch (e20832){var e = e20832; return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,"... print failed ..."], null); }})()], null)); }),cljs.core.PersistentArrayMap.EMPTY,idxs); return fragment; } else { if(cljs.core.vector_QMARK_(data)){ var end = (function (){var x__5133__auto__ = cljs.core.count(data); var y__5134__auto__ = (start + num); return ((x__5133__auto__ < y__5134__auto__) ? x__5133__auto__ : y__5134__auto__); })(); var idxs = cljs.core.range.cljs$core$IFn$_invoke$arity$2(start,end); var fragment = cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,idx){ var val = cljs.core.nth.cljs$core$IFn$_invoke$arity$2(data,idx); return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,idx,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"val","val",128701612),shadow.remote.runtime.writer.pr_str_limit(val,val_limit)], null)); }),cljs.core.PersistentArrayMap.EMPTY,idxs); return fragment; } else { if(cljs.core.list_QMARK_(data)){ var end = (function (){var x__5133__auto__ = cljs.core.count(data); var y__5134__auto__ = (start + num); return ((x__5133__auto__ < y__5134__auto__) ? x__5133__auto__ : y__5134__auto__); })(); var idxs = cljs.core.range.cljs$core$IFn$_invoke$arity$2(start,end); var fragment = cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,idx){ var val = cljs.core.nth.cljs$core$IFn$_invoke$arity$2(data,idx); return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,idx,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"val","val",128701612),shadow.remote.runtime.writer.pr_str_limit(val,val_limit)], null)); }),cljs.core.PersistentArrayMap.EMPTY,idxs); return fragment; } else { if(cljs.core.set_QMARK_(data)){ var view_order = shadow.remote.runtime.obj_support.cache_view_order(state_ref,entry,data); var end = (function (){var x__5133__auto__ = cljs.core.count(view_order); var y__5134__auto__ = (start + num); return ((x__5133__auto__ < y__5134__auto__) ? x__5133__auto__ : y__5134__auto__); })(); var idxs = cljs.core.range.cljs$core$IFn$_invoke$arity$2(start,end); var fragment = cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,idx){ var val = cljs.core.nth.cljs$core$IFn$_invoke$arity$2(view_order,idx); return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,idx,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"val","val",128701612),shadow.remote.runtime.writer.pr_str_limit(val,val_limit)], null)); }),cljs.core.PersistentArrayMap.EMPTY,idxs); return fragment; } else { return null; } } } } })); shadow.remote.runtime.obj_support.obj_request = (function shadow$remote$runtime$obj_support$obj_request(this$,p__20834){ var map__20835 = p__20834; var map__20835__$1 = cljs.core.__destructure_map(map__20835); var msg = map__20835__$1; var request_op = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20835__$1,new cljs.core.Keyword(null,"request-op","request-op",1472997246)); var real_handler = (function (){var G__20836 = request_op; var G__20836__$1 = (((G__20836 instanceof cljs.core.Keyword))?G__20836.fqn:null); switch (G__20836__$1) { case "str": return shadow.remote.runtime.obj_support.obj_str; break; case "ex-str": return shadow.remote.runtime.obj_support.obj_ex_str; break; case "edn": return shadow.remote.runtime.obj_support.obj_edn; break; case "edn-limit": return shadow.remote.runtime.obj_support.obj_edn; break; case "pprint": return this$; break; case "nav": return this$; break; case "fragment": return shadow.remote.runtime.obj_support.obj_fragment; break; default: throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__20836__$1)].join(''))); } })(); return (real_handler.cljs$core$IFn$_invoke$arity$2 ? real_handler.cljs$core$IFn$_invoke$arity$2(this$,msg) : real_handler.call(null,this$,msg)); }); shadow.remote.runtime.obj_support.obj_describe = (function shadow$remote$runtime$obj_support$obj_describe(p__20837,p__20838){ var map__20839 = p__20837; var map__20839__$1 = cljs.core.__destructure_map(map__20839); var this$ = map__20839__$1; var runtime = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20839__$1,new cljs.core.Keyword(null,"runtime","runtime",-1331573996)); var map__20840 = p__20838; var map__20840__$1 = cljs.core.__destructure_map(map__20840); var msg = map__20840__$1; var oid = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20840__$1,new cljs.core.Keyword(null,"oid","oid",-768692334)); var temp__5802__auto__ = shadow.remote.runtime.obj_support.obj_describe_STAR_(this$,oid); if(cljs.core.truth_(temp__5802__auto__)){ var summary = temp__5802__auto__; return shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"op","op",-1882987955),new cljs.core.Keyword(null,"obj-summary","obj-summary",-1372191064),new cljs.core.Keyword(null,"oid","oid",-768692334),oid,new cljs.core.Keyword(null,"summary","summary",380847952),summary], null)); } else { return shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"op","op",-1882987955),new cljs.core.Keyword(null,"obj-not-found","obj-not-found",1577257696),new cljs.core.Keyword(null,"oid","oid",-768692334),oid], null)); } }); shadow.remote.runtime.obj_support.obj_forget = (function shadow$remote$runtime$obj_support$obj_forget(p__20847,p__20848){ var map__20849 = p__20847; var map__20849__$1 = cljs.core.__destructure_map(map__20849); var svc = map__20849__$1; var state_ref = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20849__$1,new cljs.core.Keyword(null,"state-ref","state-ref",2127874952)); var map__20850 = p__20848; var map__20850__$1 = cljs.core.__destructure_map(map__20850); var msg = map__20850__$1; var oid = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20850__$1,new cljs.core.Keyword(null,"oid","oid",-768692334)); return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,cljs.core.update,new cljs.core.Keyword(null,"objects","objects",2099713734),cljs.core.dissoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([oid], 0)); }); shadow.remote.runtime.obj_support.obj_forget_all = (function shadow$remote$runtime$obj_support$obj_forget_all(p__20851,msg){ var map__20852 = p__20851; var map__20852__$1 = cljs.core.__destructure_map(map__20852); var svc = map__20852__$1; var state_ref = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20852__$1,new cljs.core.Keyword(null,"state-ref","state-ref",2127874952)); return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc,new cljs.core.Keyword(null,"objects","objects",2099713734),cljs.core.PersistentArrayMap.EMPTY); }); shadow.remote.runtime.obj_support.basic_gc_BANG_ = (function shadow$remote$runtime$obj_support$basic_gc_BANG_(state){ var objs_to_drop = cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"oid","oid",-768692334),cljs.core.drop.cljs$core$IFn$_invoke$arity$2((100),cljs.core.reverse(cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"access-at","access-at",-1487162729),cljs.core.vals(new cljs.core.Keyword(null,"objects","objects",2099713734).cljs$core$IFn$_invoke$arity$1(state)))))); return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (state__$1,oid){ return cljs.core.update.cljs$core$IFn$_invoke$arity$4(state__$1,new cljs.core.Keyword(null,"objects","objects",2099713734),cljs.core.dissoc,oid); }),state,objs_to_drop); }); shadow.remote.runtime.obj_support.add_inspector = (function shadow$remote$runtime$obj_support$add_inspector(p__20873,inspect_fn){ var map__20874 = p__20873; var map__20874__$1 = cljs.core.__destructure_map(map__20874); var this$ = map__20874__$1; var state_ref = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20874__$1,new cljs.core.Keyword(null,"state-ref","state-ref",2127874952)); if(cljs.core.fn_QMARK_(inspect_fn)){ } else { throw (new Error("Assert failed: (fn? inspect-fn)")); } cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,cljs.core.update,new cljs.core.Keyword(null,"inspectors","inspectors",-426448246),cljs.core.conj,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([inspect_fn], 0)); return this$; }); shadow.remote.runtime.obj_support.start = (function shadow$remote$runtime$obj_support$start(runtime){ var state_ref = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"objects","objects",2099713734),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"inspectors","inspectors",-426448246),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,"id-seq-ref","id-seq-ref",-98357047),(0)], null)); var svc = shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"runtime","runtime",-1331573996),runtime,new cljs.core.Keyword(null,"state-ref","state-ref",2127874952),state_ref], null),(function (summary,p__20887){ var map__20888 = p__20887; var map__20888__$1 = cljs.core.__destructure_map(map__20888); var entry = map__20888__$1; var obj = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20888__$1,new cljs.core.Keyword(null,"obj","obj",981763962)); if((!(shadow.remote.runtime.obj_support.simple_value_QMARK_(obj)))){ return summary; } else { return cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,"supports","supports",1501242067),cljs.core.conj,new cljs.core.Keyword(null,"obj-get-value","obj-get-value",281897170)); } })),(function (summary,entry){ return cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,"supports","supports",1501242067),cljs.core.conj,new cljs.core.Keyword(null,"obj-str","obj-str",1815115325)); })),(function (summary,p__20889){ var map__20890 = p__20889; var map__20890__$1 = cljs.core.__destructure_map(map__20890); var entry = map__20890__$1; var obj = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20890__$1,new cljs.core.Keyword(null,"obj","obj",981763962)); if(shadow.remote.runtime.obj_support.exception_QMARK_(obj)){ return cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,"supports","supports",1501242067),cljs.core.conj,new cljs.core.Keyword(null,"obj-ex-str","obj-ex-str",-639656467)); } else { return summary; } })),(function (summary,entry){ return cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,"supports","supports",1501242067),cljs.core.conj,new cljs.core.Keyword(null,"obj-edn","obj-edn",809365133)); })),(function (summary,entry){ return cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,"supports","supports",1501242067),cljs.core.conj,new cljs.core.Keyword(null,"obj-edn-limit","obj-edn-limit",-1550136004)); })),(function (summary,p__20891){ var map__20892 = p__20891; var map__20892__$1 = cljs.core.__destructure_map(map__20892); var entry = map__20892__$1; var data = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20892__$1,new cljs.core.Keyword(null,"data","data",-232669377)); if(((cljs.core.coll_QMARK_(data)) || (cljs.core.seq_QMARK_(data)))){ return cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,"supports","supports",1501242067),cljs.core.conj,new cljs.core.Keyword(null,"obj-pprint","obj-pprint",-1831226802)); } else { return summary; } })),(function (summary,p__20893){ var map__20894 = p__20893; var map__20894__$1 = cljs.core.__destructure_map(map__20894); var entry = map__20894__$1; var data = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20894__$1,new cljs.core.Keyword(null,"data","data",-232669377)); if(((((cljs.core.map_QMARK_(data)) || (((cljs.core.vector_QMARK_(data)) || (((cljs.core.set_QMARK_(data)) || (cljs.core.list_QMARK_(data)))))))) && (cljs.core.seq(data)))){ return cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,"supports","supports",1501242067),cljs.core.conj,new cljs.core.Keyword(null,"obj-nav","obj-nav",1248750622)); } else { return summary; } })),(function (summary,p__20900){ var map__20901 = p__20900; var map__20901__$1 = cljs.core.__destructure_map(map__20901); var entry = map__20901__$1; var data = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20901__$1,new cljs.core.Keyword(null,"data","data",-232669377)); if(((((cljs.core.map_QMARK_(data)) || (((cljs.core.vector_QMARK_(data)) || (((cljs.core.set_QMARK_(data)) || (cljs.core.list_QMARK_(data)))))))) && (cljs.core.seq(data)))){ return cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,"supports","supports",1501242067),cljs.core.conj,new cljs.core.Keyword(null,"obj-fragment","obj-fragment",1857463161)); } else { return summary; } })); shadow.remote.runtime.api.add_extension(runtime,new cljs.core.Keyword("shadow.remote.runtime.obj-support","ext","shadow.remote.runtime.obj-support/ext",-1896569346),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"ops","ops",1237330063),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"obj-forget","obj-forget",2003566115),new cljs.core.Keyword(null,"obj-describe","obj-describe",-34922904),new cljs.core.Keyword(null,"obj-ex-str","obj-ex-str",-639656467),new cljs.core.Keyword(null,"obj-request","obj-request",-1709325811),new cljs.core.Keyword(null,"obj-edn","obj-edn",809365133),new cljs.core.Keyword(null,"obj-pprint","obj-pprint",-1831226802),new cljs.core.Keyword(null,"obj-get-value","obj-get-value",281897170),new cljs.core.Keyword(null,"obj-forget-all","obj-forget-all",1418682131),new cljs.core.Keyword(null,"obj-fragment","obj-fragment",1857463161),new cljs.core.Keyword(null,"obj-edn-limit","obj-edn-limit",-1550136004),new cljs.core.Keyword(null,"obj-str","obj-str",1815115325),new cljs.core.Keyword(null,"obj-nav","obj-nav",1248750622)],[(function (p1__20885_SHARP_){ return shadow.remote.runtime.obj_support.obj_forget(svc,p1__20885_SHARP_); }),(function (p1__20875_SHARP_){ return shadow.remote.runtime.obj_support.obj_describe(svc,p1__20875_SHARP_); }),(function (p1__20881_SHARP_){ return shadow.remote.runtime.obj_support.obj_ex_str(svc,p1__20881_SHARP_); }),(function (p1__20876_SHARP_){ return shadow.remote.runtime.obj_support.obj_request(svc,p1__20876_SHARP_); }),(function (p1__20877_SHARP_){ return shadow.remote.runtime.obj_support.obj_edn(svc,p1__20877_SHARP_); }),(function (p1__20882_SHARP_){ return shadow.remote.runtime.obj_support.obj_pprint(svc,p1__20882_SHARP_); }),(function (p1__20878_SHARP_){ return shadow.remote.runtime.obj_support.obj_get_value(svc,p1__20878_SHARP_); }),(function (p1__20886_SHARP_){ return shadow.remote.runtime.obj_support.obj_forget_all(svc,p1__20886_SHARP_); }),(function (p1__20884_SHARP_){ return shadow.remote.runtime.obj_support.obj_fragment(svc,p1__20884_SHARP_); }),(function (p1__20879_SHARP_){ return shadow.remote.runtime.obj_support.obj_edn_limit(svc,p1__20879_SHARP_); }),(function (p1__20880_SHARP_){ return shadow.remote.runtime.obj_support.obj_str(svc,p1__20880_SHARP_); }),(function (p1__20883_SHARP_){ return shadow.remote.runtime.obj_support.obj_nav(svc,p1__20883_SHARP_); })]),new cljs.core.Keyword(null,"on-idle","on-idle",2044706602),(function (){ return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(state_ref,shadow.remote.runtime.obj_support.basic_gc_BANG_); })], null)); return svc; }); shadow.remote.runtime.obj_support.get_tap_history = (function shadow$remote$runtime$obj_support$get_tap_history(p__20924,num){ var map__20925 = p__20924; var map__20925__$1 = cljs.core.__destructure_map(map__20925); var svc = map__20925__$1; var state_ref = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20925__$1,new cljs.core.Keyword(null,"state-ref","state-ref",2127874952)); return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"oid","oid",-768692334),cljs.core.take.cljs$core$IFn$_invoke$arity$2(num,cljs.core.reverse(cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"added-at","added-at",-352499434),cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__20906_SHARP_){ return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"tap","tap",-1086702463),cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(p1__20906_SHARP_,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"obj-info","obj-info",-373842651),new cljs.core.Keyword(null,"from","from",1815293044)], null))); }),cljs.core.vals(new cljs.core.Keyword(null,"objects","objects",2099713734).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref))))))))); }); shadow.remote.runtime.obj_support.register = (function shadow$remote$runtime$obj_support$register(p__20926,obj,obj_info){ var map__20927 = p__20926; var map__20927__$1 = cljs.core.__destructure_map(map__20927); var svc = map__20927__$1; var state_ref = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20927__$1,new cljs.core.Keyword(null,"state-ref","state-ref",2127874952)); var oid = shadow.remote.runtime.obj_support.next_oid(); if((!(((cljs.core.vector_QMARK_(obj)) && (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword("shadow.remote","wrap","shadow.remote/wrap",996267199),cljs.core.first(obj))) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(obj),(3))))))))){ cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,shadow.remote.runtime.obj_support.register_STAR_,oid,obj,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj_info], 0)); } else { cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,shadow.remote.runtime.obj_support.register_STAR_,oid,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(obj,(1)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj_info,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(obj,(2))], 0))], 0)); } return oid; }); shadow.remote.runtime.obj_support.get_ref = (function shadow$remote$runtime$obj_support$get_ref(p__20928,obj_id){ var map__20929 = p__20928; var map__20929__$1 = cljs.core.__destructure_map(map__20929); var state_ref = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20929__$1,new cljs.core.Keyword(null,"state-ref","state-ref",2127874952)); return cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state_ref),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"objects","objects",2099713734),obj_id], null)); }); shadow.remote.runtime.obj_support.stop = (function shadow$remote$runtime$obj_support$stop(p__20930){ var map__20931 = p__20930; var map__20931__$1 = cljs.core.__destructure_map(map__20931); var runtime = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20931__$1,new cljs.core.Keyword(null,"runtime","runtime",-1331573996)); return shadow.remote.runtime.api.del_extension(runtime,new cljs.core.Keyword("shadow.remote.runtime.obj-support","ext","shadow.remote.runtime.obj-support/ext",-1896569346)); }); //# sourceMappingURL=shadow.remote.runtime.obj_support.js.map