goog.provide('sci.impl.load'); /** * Low level load-reader* that doesn't install any bindings */ sci.impl.load.load_reader_STAR_ = (function sci$impl$load$load_reader_STAR_(ctx,reader){ var reader__$1 = (((((!((reader == null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL === reader.cljs$tools$reader$reader_types$IndexingReader$))))?true:false):false))?reader:cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1(reader)); var ret = null; while(true){ var x = sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader__$1); if(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword("sci.impl.parser.edamame","eof","sci.impl.parser.edamame/eof",-917261517),x)){ return ret; } else { var G__43862 = sci.impl.utils.eval(ctx,x); ret = G__43862; continue; } break; } }); /** * Low level load-string* that doesn't install any bindings */ sci.impl.load.load_string_STAR_ = (function sci$impl$load$load_string_STAR_(ctx,s){ var rdr = cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1(s)); return sci.impl.load.load_reader_STAR_(ctx,rdr); }); sci.impl.load.load_reader = (function sci$impl$load$load_reader(reader){ var ctx = sci.ctx_store.get_ctx(); sci.impl.vars.push_thread_bindings(cljs.core.PersistentArrayMap.createAsIfByAssoc([sci.impl.utils.current_ns,cljs.core.deref(sci.impl.utils.current_ns),sci.impl.parser.data_readers,cljs.core.deref(sci.impl.parser.data_readers)])); try{return sci.impl.load.load_reader_STAR_(ctx,reader); }finally {sci.impl.vars.pop_thread_bindings(); }}); sci.impl.load.load_string = (function sci$impl$load$load_string(s){ var rdr = cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1(s)); return sci.impl.load.load_reader(rdr); }); sci.impl.load.handle_refer_all = (function sci$impl$load$handle_refer_all(the_current_ns,the_loaded_ns,include_sym_QMARK_,rename_sym,only){ var referred = new cljs.core.Keyword(null,"refers","refers",158076809).cljs$core$IFn$_invoke$arity$1(the_current_ns); var only__$1 = (cljs.core.truth_(only)?cljs.core.set(only):null); var referred__$1 = cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ns,p__43604){ var vec__43605 = p__43604; var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43605,(0),null); var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43605,(1),null); if(cljs.core.truth_((function (){var and__5023__auto__ = (k instanceof cljs.core.Symbol); if(and__5023__auto__){ var and__5023__auto____$1 = (include_sym_QMARK_.cljs$core$IFn$_invoke$arity$1 ? include_sym_QMARK_.cljs$core$IFn$_invoke$arity$1(k) : include_sym_QMARK_.call(null,k)); if(cljs.core.truth_(and__5023__auto____$1)){ return ((cljs.core.not(only__$1)) || (cljs.core.contains_QMARK_(only__$1,k))); } else { return and__5023__auto____$1; } } else { return and__5023__auto__; } })())){ return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ns,(rename_sym.cljs$core$IFn$_invoke$arity$1 ? rename_sym.cljs$core$IFn$_invoke$arity$1(k) : rename_sym.call(null,k)),v); } else { return ns; } }),referred,the_loaded_ns); return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(the_current_ns,new cljs.core.Keyword(null,"refers","refers",158076809),referred__$1); }); sci.impl.load.handle_js_lib = (function sci$impl$load$handle_js_lib(env,opts,lib,cnn,the_lib){ var path = new cljs.core.Keyword(null,"path","path",-188191168).cljs$core$IFn$_invoke$arity$1(opts); var the_lib__$1 = (cljs.core.truth_(path)?cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (the_lib__$1,path__$1){ return Reflect.get(the_lib__$1,path__$1); }),the_lib,path.split(".")):the_lib); var clazz = cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.munge([cljs.core.str.cljs$core$IFn$_invoke$arity$1(lib),(cljs.core.truth_(path)?"$":null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(path)].join(''))); var env__$1 = cljs.core.assoc_in(cljs.core.assoc_in(env,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"class->opts","class->opts",2061906477),clazz,new cljs.core.Keyword(null,"class","class",-2030961996)], null),the_lib__$1),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"raw-classes","raw-classes",1669916511),clazz], null),the_lib__$1); var env__$2 = (function (){var temp__5802__auto__ = new cljs.core.Keyword(null,"as","as",1148689641).cljs$core$IFn$_invoke$arity$1(opts); if(cljs.core.truth_(temp__5802__auto__)){ var alias = temp__5802__auto__; return cljs.core.assoc_in(env__$1,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469),cnn,new cljs.core.Keyword(null,"imports","imports",-1249933394),alias], null),clazz); } else { return env__$1; } })(); var env__$3 = (function (){var temp__5802__auto__ = new cljs.core.Keyword(null,"refer","refer",-964295553).cljs$core$IFn$_invoke$arity$1(opts); if(cljs.core.truth_(temp__5802__auto__)){ var refers = temp__5802__auto__; var rename = new cljs.core.Keyword(null,"rename","rename",1508157613).cljs$core$IFn$_invoke$arity$1(opts); return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (env__$3,refer){ var sub_sym = cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(lib),"$$",cljs.core.str.cljs$core$IFn$_invoke$arity$1(refer)].join('')); var the_sublib = Reflect.get(the_lib__$1,cljs.core.str.cljs$core$IFn$_invoke$arity$1(refer)); var refer__$1 = cljs.core.get.cljs$core$IFn$_invoke$arity$3(rename,refer,refer); return cljs.core.assoc_in(cljs.core.assoc_in(cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(cljs.core.assoc_in(env__$3,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469),cnn,new cljs.core.Keyword(null,"imports","imports",-1249933394),refer__$1], null),sub_sym),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469),cnn,new cljs.core.Keyword(null,"refer","refer",-964295553),new cljs.core.Symbol(null,"clojure.core","clojure.core",-189332625,null),new cljs.core.Keyword(null,"exclude","exclude",-1230250334)], null),cljs.core.fnil.cljs$core$IFn$_invoke$arity$2(cljs.core.conj,cljs.core.PersistentHashSet.EMPTY),refer__$1),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"class->opts","class->opts",2061906477),sub_sym,new cljs.core.Keyword(null,"class","class",-2030961996)], null),the_sublib),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"raw-classes","raw-classes",1669916511),sub_sym], null),the_sublib); }),env__$2,refers); } else { return env__$2; } })(); return env__$3; }); sci.impl.load.lib_PLUS_path = (function sci$impl$load$lib_PLUS_path(lib){ return clojure.string.split.cljs$core$IFn$_invoke$arity$3(lib,cljs.core.re_pattern("\\$"),(2)); }); sci.impl.load.handle_require_libspec_env = (function sci$impl$load$handle_require_libspec_env(_ctx,env,current_ns,the_loaded_ns,lib_name,p__43625){ var map__43626 = p__43625; var map__43626__$1 = cljs.core.__destructure_map(map__43626); var opts = map__43626__$1; var as = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43626__$1,new cljs.core.Keyword(null,"as","as",1148689641)); var refer = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43626__$1,new cljs.core.Keyword(null,"refer","refer",-964295553)); var refer_macros = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43626__$1,new cljs.core.Keyword(null,"refer-macros","refer-macros",-1906841953)); var rename = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43626__$1,new cljs.core.Keyword(null,"rename","rename",1508157613)); var exclude = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43626__$1,new cljs.core.Keyword(null,"exclude","exclude",-1230250334)); var only = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43626__$1,new cljs.core.Keyword(null,"only","only",1907811652)); var use = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43626__$1,new cljs.core.Keyword(null,"use","use",-1846382424)); var or__5025__auto__ = ((typeof lib_name === 'string')?(function (){var vec__43627 = sci.impl.load.lib_PLUS_path(lib_name); var lib_name__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43627,(0),null); var path = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43627,(1),null); var temp__5802__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"js-libs","js-libs",-502933721).cljs$core$IFn$_invoke$arity$1(env),lib_name__$1); if(cljs.core.truth_(temp__5802__auto__)){ var the_lib = temp__5802__auto__; return sci.impl.load.handle_js_lib(env,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(null,"path","path",-188191168),path),lib_name__$1,current_ns,the_lib); } else { return env; } })():null); if(cljs.core.truth_(or__5025__auto__)){ return or__5025__auto__; } else { var the_current_ns = cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469),current_ns], null)); var the_current_ns__$1 = (cljs.core.truth_(as)?cljs.core.assoc_in(the_current_ns,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"aliases","aliases",1346874714),as], null),lib_name):the_current_ns); var rename_sym = (cljs.core.truth_(rename)?(function (sym){ var or__5025__auto____$1 = (rename.cljs$core$IFn$_invoke$arity$1 ? rename.cljs$core$IFn$_invoke$arity$1(sym) : rename.call(null,sym)); if(cljs.core.truth_(or__5025__auto____$1)){ return or__5025__auto____$1; } else { return sym; } }):cljs.core.identity); var include_sym_QMARK_ = (cljs.core.truth_(exclude)?(function (){var excludes = cljs.core.set(exclude); return (function (sym){ return (!(cljs.core.contains_QMARK_(excludes,sym))); }); })():cljs.core.constantly(true)); var refer__$1 = (cljs.core.truth_(refer_macros)?(((((refer == null)) || (cljs.core.coll_QMARK_(refer))))?cljs.core.into.cljs$core$IFn$_invoke$arity$2(refer,refer_macros):refer):refer); var the_current_ns__$2 = (cljs.core.truth_(refer__$1)?(cljs.core.truth_((function (){var or__5025__auto____$1 = cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(null,"all","all",892129742),refer__$1); if(or__5025__auto____$1){ return or__5025__auto____$1; } else { return use; } })())?sci.impl.load.handle_refer_all(the_current_ns__$1,the_loaded_ns,include_sym_QMARK_,rename_sym,null):((cljs.core.sequential_QMARK_(refer__$1))?(function (){var referred = new cljs.core.Keyword(null,"refers","refers",158076809).cljs$core$IFn$_invoke$arity$1(the_current_ns__$1); var referred__$1 = cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ns,sym){ if(cljs.core.truth_(include_sym_QMARK_(sym))){ return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ns,(rename_sym.cljs$core$IFn$_invoke$arity$1 ? rename_sym.cljs$core$IFn$_invoke$arity$1(sym) : rename_sym.call(null,sym)),(function (){var temp__5802__auto__ = cljs.core.find(the_loaded_ns,sym); if(cljs.core.truth_(temp__5802__auto__)){ var vec__43630 = temp__5802__auto__; var _k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43630,(0),null); var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43630,(1),null); return v; } else { throw (new Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)," does not exist"].join(''))); } })()); } else { return ns; } }),referred,refer__$1); return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(the_current_ns__$1,new cljs.core.Keyword(null,"refers","refers",158076809),referred__$1); })():(function(){throw (new Error(":refer value must be a sequential collection of symbols"))})() )):(cljs.core.truth_(use)?sci.impl.load.handle_refer_all(the_current_ns__$1,the_loaded_ns,include_sym_QMARK_,rename_sym,only):the_current_ns__$1 )); var env__$1 = cljs.core.assoc_in(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469),current_ns], null),the_current_ns__$2); var temp__5804__auto___43881 = (function (){var G__43633 = the_loaded_ns; var G__43633__$1 = (((G__43633 == null))?null:new cljs.core.Keyword(null,"obj","obj",981763962).cljs$core$IFn$_invoke$arity$1(G__43633)); var G__43633__$2 = (((G__43633__$1 == null))?null:cljs.core.meta(G__43633__$1)); if((G__43633__$2 == null)){ return null; } else { return new cljs.core.Keyword("sci.impl","required-fn","sci.impl/required-fn",2082701278).cljs$core$IFn$_invoke$arity$1(G__43633__$2); } })(); if(cljs.core.truth_(temp__5804__auto___43881)){ var on_loaded_43882 = temp__5804__auto___43881; var G__43634_43883 = cljs.core.PersistentArrayMap.EMPTY; (on_loaded_43882.cljs$core$IFn$_invoke$arity$1 ? on_loaded_43882.cljs$core$IFn$_invoke$arity$1(G__43634_43883) : on_loaded_43882.call(null,G__43634_43883)); } else { } return env__$1; } }); sci.impl.load.loaded_libs = (function sci$impl$load$loaded_libs(env){ return cljs.core.deref(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469),new cljs.core.Symbol(null,"clojure.core","clojure.core",-189332625,null),new cljs.core.Symbol(null,"*loaded-libs*","*loaded-libs*",1951428860,null)], null))); }); sci.impl.load.add_loaded_lib = (function sci$impl$load$add_loaded_lib(env,lib){ cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(sci.impl.load.loaded_libs(env),cljs.core.conj,lib); return null; }); sci.impl.load.handle_require_libspec = (function sci$impl$load$handle_require_libspec(ctx,lib,opts){ var env_STAR_ = new cljs.core.Keyword(null,"env","env",-1815813235).cljs$core$IFn$_invoke$arity$1(ctx); var env = cljs.core.deref(env_STAR_); var cnn = sci.impl.utils.current_ns_name(); var lib__$1 = cljs.core.get.cljs$core$IFn$_invoke$arity$3(new cljs.core.Keyword(null,"ns-aliases","ns-aliases",1290254821).cljs$core$IFn$_invoke$arity$1(env),lib,lib); var js_lib_QMARK_ = typeof lib__$1 === 'string'; var or__5025__auto__ = ((js_lib_QMARK_)?(function (){var vec__43668 = sci.impl.load.lib_PLUS_path(lib__$1); var lib__$2 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43668,(0),null); var path = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43668,(1),null); var temp__5804__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"js-libs","js-libs",-502933721).cljs$core$IFn$_invoke$arity$1(env),lib__$2); if(cljs.core.truth_(temp__5804__auto__)){ var the_lib = temp__5804__auto__; cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(env_STAR_,(function (env__$1){ return sci.impl.load.handle_js_lib(env__$1,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(null,"path","path",-188191168),path),lib__$2,cnn,the_lib); })); return cljs.core.PersistentArrayMap.EMPTY; } else { return null; } })():null); if(cljs.core.truth_(or__5025__auto__)){ return or__5025__auto__; } else { var temp__5802__auto__ = new cljs.core.Keyword(null,"as-alias","as-alias",82482467).cljs$core$IFn$_invoke$arity$1(opts); if(cljs.core.truth_(temp__5802__auto__)){ var as_alias = temp__5802__auto__; return cljs.core.reset_BANG_(env_STAR_,sci.impl.load.handle_require_libspec_env(ctx,env,cnn,null,lib__$1,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"as","as",1148689641),as_alias], null))); } else { var map__43703 = opts; var map__43703__$1 = cljs.core.__destructure_map(map__43703); var reload = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43703__$1,new cljs.core.Keyword(null,"reload","reload",863702807)); var reload_all = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43703__$1,new cljs.core.Keyword(null,"reload-all","reload-all",761570200)); var namespaces = cljs.core.get.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469)); var reload_STAR_ = (function (){var or__5025__auto____$1 = reload; if(cljs.core.truth_(or__5025__auto____$1)){ return or__5025__auto____$1; } else { var or__5025__auto____$2 = reload_all; if(cljs.core.truth_(or__5025__auto____$2)){ return or__5025__auto____$2; } else { return new cljs.core.Keyword(null,"reload-all","reload-all",761570200).cljs$core$IFn$_invoke$arity$1(ctx); } } })(); var temp__5802__auto___43905__$1 = (cljs.core.truth_(reload_STAR_)?null:cljs.core.get.cljs$core$IFn$_invoke$arity$2(namespaces,lib__$1)); if(cljs.core.truth_(temp__5802__auto___43905__$1)){ var the_loaded_ns_43906 = temp__5802__auto___43905__$1; var loading_43907 = new cljs.core.Keyword(null,"loading","loading",-737050189).cljs$core$IFn$_invoke$arity$1(ctx); if(cljs.core.truth_((function (){var and__5023__auto__ = loading_43907; if(cljs.core.truth_(and__5023__auto__)){ return (((!(cljs.core.contains_QMARK_(cljs.core.deref(sci.impl.load.loaded_libs(env)),lib__$1)))) && (cljs.core.nat_int_QMARK_(loading_43907.indexOf(lib__$1)))); } else { return and__5023__auto__; } })())){ sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2((function (){var lib_emphasized = ["[ ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(lib__$1)," ]"].join(''); var loading__$1 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(loading_43907,lib__$1); var loading__$2 = cljs.core.replace.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.createAsIfByAssoc([lib__$1,lib_emphasized]),loading__$1); return ["Cyclic load dependency: ",clojure.string.join.cljs$core$IFn$_invoke$arity$2("->",loading__$2)].join(''); })(),lib__$1); } else { if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(lib__$1,cnn)){ } else { cljs.core.reset_BANG_(env_STAR_,sci.impl.load.handle_require_libspec_env(ctx,env,cnn,the_loaded_ns_43906,lib__$1,opts)); } } } else { var temp__5802__auto___43908__$2 = new cljs.core.Keyword(null,"load-fn","load-fn",-2121144334).cljs$core$IFn$_invoke$arity$1(env); if(cljs.core.truth_(temp__5802__auto___43908__$2)){ var load_fn_43909 = temp__5802__auto___43908__$2; var curr_ns_43910 = cljs.core.deref(sci.impl.utils.current_ns); var temp__5802__auto___43911__$3 = (function (){var G__43739 = new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"namespace","namespace",-377510372),lib__$1,new cljs.core.Keyword(null,"libname","libname",135992497),lib__$1,new cljs.core.Keyword(null,"ctx","ctx",-493610118),ctx,new cljs.core.Keyword(null,"opts","opts",155075701),opts,new cljs.core.Keyword(null,"ns","ns",441598760),sci.impl.types.getName(curr_ns_43910),new cljs.core.Keyword(null,"reload","reload",863702807),(function (){var or__5025__auto____$1 = reload; if(cljs.core.truth_(or__5025__auto____$1)){ return or__5025__auto____$1; } else { return reload_all; } })()], null); return (load_fn_43909.cljs$core$IFn$_invoke$arity$1 ? load_fn_43909.cljs$core$IFn$_invoke$arity$1(G__43739) : load_fn_43909.call(null,G__43739)); })(); if(cljs.core.truth_(temp__5802__auto___43911__$3)){ var map__43742_43913 = temp__5802__auto___43911__$3; var map__43742_43914__$1 = cljs.core.__destructure_map(map__43742_43913); var file_43915 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43742_43914__$1,new cljs.core.Keyword(null,"file","file",-1269645878)); var source_43916 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43742_43914__$1,new cljs.core.Keyword(null,"source","source",-433931539)); var handled_43917 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43742_43914__$1,new cljs.core.Keyword(null,"handled","handled",1889700151)); var ctx_43918__$1 = cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,"bindings","bindings",1271397192),cljs.core.PersistentArrayMap.EMPTY),new cljs.core.Keyword(null,"reload-all","reload-all",761570200),reload_all),new cljs.core.Keyword(null,"loading","loading",-737050189),(function (loading){ if((loading == null)){ return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [lib__$1], null); } else { return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(loading,lib__$1); } })); if(cljs.core.truth_(source_43916)){ try{sci.impl.vars.push_thread_bindings(cljs.core.PersistentArrayMap.createAsIfByAssoc([sci.impl.utils.current_ns,curr_ns_43910,sci.impl.utils.current_file,file_43915,sci.impl.parser.data_readers,cljs.core.deref(sci.impl.parser.data_readers)])); try{sci.impl.load.load_string_STAR_(ctx_43918__$1,source_43916); }finally {sci.impl.vars.pop_thread_bindings(); }}catch (e43751){if((e43751 instanceof Error)){ var e_43920 = e43751; cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(env_STAR_,cljs.core.update,new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469),cljs.core.dissoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([lib__$1], 0)); throw e_43920; } else { throw e43751; } }} else { } if(cljs.core.truth_(handled_43917)){ } else { cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(env_STAR_,(function (env__$1){ var namespaces__$1 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(env__$1,new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469)); var the_loaded_ns = cljs.core.get.cljs$core$IFn$_invoke$arity$2(namespaces__$1,lib__$1); return sci.impl.load.handle_require_libspec_env(ctx,env__$1,cnn,the_loaded_ns,lib__$1,opts); })); } } else { var or__5025__auto___43923__$1 = (cljs.core.truth_(reload_STAR_)?(function (){var temp__5804__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(namespaces,lib__$1); if(cljs.core.truth_(temp__5804__auto__)){ var the_loaded_ns = temp__5804__auto__; return cljs.core.reset_BANG_(env_STAR_,sci.impl.load.handle_require_libspec_env(ctx,env,cnn,the_loaded_ns,lib__$1,opts)); } else { return null; } })():null); if(cljs.core.truth_(or__5025__auto___43923__$1)){ } else { throw (new Error(["Could not find namespace: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(lib__$1),"."].join(''))); } } } else { throw (new Error(["Could not find namespace ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(lib__$1),"."].join(''))); } } if(js_lib_QMARK_){ } else { sci.impl.load.add_loaded_lib(env,lib__$1); } return null; } } }); sci.impl.load.load_lib_STAR_ = (function sci$impl$load$load_lib_STAR_(ctx,prefix,lib,options){ if(cljs.core.truth_((function (){var and__5023__auto__ = prefix; if(cljs.core.truth_(and__5023__auto__)){ return (cljs.core.name(lib).indexOf(".") > (0)); } else { return and__5023__auto__; } })())){ sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(["Found lib name '",cljs.core.name(lib),"' containing period with prefix '",cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix),"'. lib names inside prefix lists must not contain periods"].join(''),lib); } else { } var lib__$1 = (cljs.core.truth_(prefix)?cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix),".",cljs.core.str.cljs$core$IFn$_invoke$arity$1(lib)].join('')):lib); var opts = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,options); return sci.impl.load.handle_require_libspec(ctx,lib__$1,opts); }); sci.impl.load.load_lib = (function sci$impl$load$load_lib(var_args){ var args__5755__auto__ = []; var len__5749__auto___43925 = arguments.length; var i__5750__auto___43940 = (0); while(true){ if((i__5750__auto___43940 < len__5749__auto___43925)){ args__5755__auto__.push((arguments[i__5750__auto___43940])); var G__43941 = (i__5750__auto___43940 + (1)); i__5750__auto___43940 = G__43941; continue; } else { } break; } var argseq__5756__auto__ = ((((3) < args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null); return sci.impl.load.load_lib.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__); }); (sci.impl.load.load_lib.cljs$core$IFn$_invoke$arity$variadic = (function (ctx,prefix,lib,options){ return sci.impl.load.load_lib_STAR_(ctx,prefix,lib,options); })); (sci.impl.load.load_lib.cljs$lang$maxFixedArity = (3)); /** @this {Function} */ (sci.impl.load.load_lib.cljs$lang$applyTo = (function (seq43752){ var G__43753 = cljs.core.first(seq43752); var seq43752__$1 = cljs.core.next(seq43752); var G__43754 = cljs.core.first(seq43752__$1); var seq43752__$2 = cljs.core.next(seq43752__$1); var G__43755 = cljs.core.first(seq43752__$2); var seq43752__$3 = cljs.core.next(seq43752__$2); var self__5734__auto__ = this; return self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43753,G__43754,G__43755,seq43752__$3); })); /** * Prepends a symbol or a seq to coll */ sci.impl.load.prependss = (function sci$impl$load$prependss(x,coll){ if((x instanceof cljs.core.Symbol)){ return cljs.core.cons(x,coll); } else { return cljs.core.concat.cljs$core$IFn$_invoke$arity$2(x,coll); } }); /** * Returns true if x is a libspec */ sci.impl.load.libspec_QMARK_ = (function sci$impl$load$libspec_QMARK_(x){ return (((x instanceof cljs.core.Symbol)) || (((cljs.core.vector_QMARK_(x)) && ((((cljs.core.second(x) == null)) || ((cljs.core.second(x) instanceof cljs.core.Keyword))))))); }); /** * Loads libs, evaling libspecs, prefix lists, and flags for * forwarding to load-lib */ sci.impl.load.load_libs = (function sci$impl$load$load_libs(ctx,kw,args){ var args_STAR_ = cljs.core.cons(kw,args); var flags = cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.keyword_QMARK_,args_STAR_); var opts = cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(flags,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(true)); var args_STAR___$1 = cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.complement(cljs.core.keyword_QMARK_),args_STAR_); var supported_43947 = new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 8, [new cljs.core.Keyword(null,"use","use",-1846382424),null,new cljs.core.Keyword(null,"as","as",1148689641),null,new cljs.core.Keyword(null,"require","require",-468001333),null,new cljs.core.Keyword(null,"verbose","verbose",1694226060),null,new cljs.core.Keyword(null,"reload","reload",863702807),null,new cljs.core.Keyword(null,"reload-all","reload-all",761570200),null,new cljs.core.Keyword(null,"require-macros","require-macros",707947416),null,new cljs.core.Keyword(null,"refer","refer",-964295553),null], null), null); var unsupported_43948 = cljs.core.seq(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(supported_43947,flags)); if(unsupported_43948){ sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.str,"Unsupported option(s) supplied: ",cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(",",unsupported_43948)),args); } else { } if(cljs.core.seq(args_STAR___$1)){ } else { sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2("Nothing specified to load",args); } var seq__43775 = cljs.core.seq(args_STAR___$1); var chunk__43776 = null; var count__43777 = (0); var i__43778 = (0); while(true){ if((i__43778 < count__43777)){ var arg = chunk__43776.cljs$core$IIndexed$_nth$arity$2(null,i__43778); if(sci.impl.load.libspec_QMARK_(arg)){ cljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.load.load_lib,ctx,null,sci.impl.load.prependss(arg,opts)); } else { var vec__43815_43965 = arg; var seq__43816_43966 = cljs.core.seq(vec__43815_43965); var first__43817_43967 = cljs.core.first(seq__43816_43966); var seq__43816_43968__$1 = cljs.core.next(seq__43816_43966); var prefix_43969 = first__43817_43967; var args_STAR__43970__$2 = seq__43816_43968__$1; if((prefix_43969 == null)){ sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2("prefix cannot be nil",args); } else { } var seq__43818_43971 = cljs.core.seq(args_STAR__43970__$2); var chunk__43819_43972 = null; var count__43820_43973 = (0); var i__43821_43974 = (0); while(true){ if((i__43821_43974 < count__43820_43973)){ var arg_43975__$1 = chunk__43819_43972.cljs$core$IIndexed$_nth$arity$2(null,i__43821_43974); cljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.load.load_lib,ctx,prefix_43969,sci.impl.load.prependss(arg_43975__$1,opts)); var G__43977 = seq__43818_43971; var G__43978 = chunk__43819_43972; var G__43979 = count__43820_43973; var G__43980 = (i__43821_43974 + (1)); seq__43818_43971 = G__43977; chunk__43819_43972 = G__43978; count__43820_43973 = G__43979; i__43821_43974 = G__43980; continue; } else { var temp__5804__auto___43981 = cljs.core.seq(seq__43818_43971); if(temp__5804__auto___43981){ var seq__43818_43982__$1 = temp__5804__auto___43981; if(cljs.core.chunked_seq_QMARK_(seq__43818_43982__$1)){ var c__5548__auto___43983 = cljs.core.chunk_first(seq__43818_43982__$1); var G__43984 = cljs.core.chunk_rest(seq__43818_43982__$1); var G__43985 = c__5548__auto___43983; var G__43986 = cljs.core.count(c__5548__auto___43983); var G__43987 = (0); seq__43818_43971 = G__43984; chunk__43819_43972 = G__43985; count__43820_43973 = G__43986; i__43821_43974 = G__43987; continue; } else { var arg_43988__$1 = cljs.core.first(seq__43818_43982__$1); cljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.load.load_lib,ctx,prefix_43969,sci.impl.load.prependss(arg_43988__$1,opts)); var G__43989 = cljs.core.next(seq__43818_43982__$1); var G__43990 = null; var G__43991 = (0); var G__43992 = (0); seq__43818_43971 = G__43989; chunk__43819_43972 = G__43990; count__43820_43973 = G__43991; i__43821_43974 = G__43992; continue; } } else { } } break; } } var G__43993 = seq__43775; var G__43994 = chunk__43776; var G__43995 = count__43777; var G__43996 = (i__43778 + (1)); seq__43775 = G__43993; chunk__43776 = G__43994; count__43777 = G__43995; i__43778 = G__43996; continue; } else { var temp__5804__auto__ = cljs.core.seq(seq__43775); if(temp__5804__auto__){ var seq__43775__$1 = temp__5804__auto__; if(cljs.core.chunked_seq_QMARK_(seq__43775__$1)){ var c__5548__auto__ = cljs.core.chunk_first(seq__43775__$1); var G__44011 = cljs.core.chunk_rest(seq__43775__$1); var G__44012 = c__5548__auto__; var G__44013 = cljs.core.count(c__5548__auto__); var G__44014 = (0); seq__43775 = G__44011; chunk__43776 = G__44012; count__43777 = G__44013; i__43778 = G__44014; continue; } else { var arg = cljs.core.first(seq__43775__$1); if(sci.impl.load.libspec_QMARK_(arg)){ cljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.load.load_lib,ctx,null,sci.impl.load.prependss(arg,opts)); } else { var vec__43822_44015 = arg; var seq__43823_44016 = cljs.core.seq(vec__43822_44015); var first__43824_44017 = cljs.core.first(seq__43823_44016); var seq__43823_44018__$1 = cljs.core.next(seq__43823_44016); var prefix_44019 = first__43824_44017; var args_STAR__44020__$2 = seq__43823_44018__$1; if((prefix_44019 == null)){ sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2("prefix cannot be nil",args); } else { } var seq__43825_44022 = cljs.core.seq(args_STAR__44020__$2); var chunk__43826_44023 = null; var count__43827_44024 = (0); var i__43828_44025 = (0); while(true){ if((i__43828_44025 < count__43827_44024)){ var arg_44026__$1 = chunk__43826_44023.cljs$core$IIndexed$_nth$arity$2(null,i__43828_44025); cljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.load.load_lib,ctx,prefix_44019,sci.impl.load.prependss(arg_44026__$1,opts)); var G__44028 = seq__43825_44022; var G__44029 = chunk__43826_44023; var G__44030 = count__43827_44024; var G__44031 = (i__43828_44025 + (1)); seq__43825_44022 = G__44028; chunk__43826_44023 = G__44029; count__43827_44024 = G__44030; i__43828_44025 = G__44031; continue; } else { var temp__5804__auto___44032__$1 = cljs.core.seq(seq__43825_44022); if(temp__5804__auto___44032__$1){ var seq__43825_44033__$1 = temp__5804__auto___44032__$1; if(cljs.core.chunked_seq_QMARK_(seq__43825_44033__$1)){ var c__5548__auto___44034 = cljs.core.chunk_first(seq__43825_44033__$1); var G__44036 = cljs.core.chunk_rest(seq__43825_44033__$1); var G__44037 = c__5548__auto___44034; var G__44038 = cljs.core.count(c__5548__auto___44034); var G__44039 = (0); seq__43825_44022 = G__44036; chunk__43826_44023 = G__44037; count__43827_44024 = G__44038; i__43828_44025 = G__44039; continue; } else { var arg_44040__$1 = cljs.core.first(seq__43825_44033__$1); cljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.load.load_lib,ctx,prefix_44019,sci.impl.load.prependss(arg_44040__$1,opts)); var G__44041 = cljs.core.next(seq__43825_44033__$1); var G__44042 = null; var G__44043 = (0); var G__44044 = (0); seq__43825_44022 = G__44041; chunk__43826_44023 = G__44042; count__43827_44024 = G__44043; i__43828_44025 = G__44044; continue; } } else { } } break; } } var G__44045 = cljs.core.next(seq__43775__$1); var G__44046 = null; var G__44047 = (0); var G__44048 = (0); seq__43775 = G__44045; chunk__43776 = G__44046; count__43777 = G__44047; i__43778 = G__44048; continue; } } else { return null; } } break; } }); sci.impl.load.eval_require = (function sci$impl$load$eval_require(var_args){ var args__5755__auto__ = []; var len__5749__auto___44049 = arguments.length; var i__5750__auto___44050 = (0); while(true){ if((i__5750__auto___44050 < len__5749__auto___44049)){ args__5755__auto__.push((arguments[i__5750__auto___44050])); var G__44051 = (i__5750__auto___44050 + (1)); i__5750__auto___44050 = G__44051; continue; } else { } break; } var argseq__5756__auto__ = ((((1) < args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null); return sci.impl.load.eval_require.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__); }); (sci.impl.load.eval_require.cljs$core$IFn$_invoke$arity$variadic = (function (ctx,args){ return sci.impl.load.load_libs(ctx,new cljs.core.Keyword(null,"require","require",-468001333),args); })); (sci.impl.load.eval_require.cljs$lang$maxFixedArity = (1)); /** @this {Function} */ (sci.impl.load.eval_require.cljs$lang$applyTo = (function (seq43832){ var G__43833 = cljs.core.first(seq43832); var seq43832__$1 = cljs.core.next(seq43832); var self__5734__auto__ = this; return self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43833,seq43832__$1); })); sci.impl.load.eval_require_macros = (function sci$impl$load$eval_require_macros(var_args){ var args__5755__auto__ = []; var len__5749__auto___44066 = arguments.length; var i__5750__auto___44067 = (0); while(true){ if((i__5750__auto___44067 < len__5749__auto___44066)){ args__5755__auto__.push((arguments[i__5750__auto___44067])); var G__44068 = (i__5750__auto___44067 + (1)); i__5750__auto___44067 = G__44068; continue; } else { } break; } var argseq__5756__auto__ = ((((1) < args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null); return sci.impl.load.eval_require_macros.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__); }); (sci.impl.load.eval_require_macros.cljs$core$IFn$_invoke$arity$variadic = (function (ctx,args){ return sci.impl.load.load_libs(ctx,new cljs.core.Keyword(null,"require-macros","require-macros",707947416),args); })); (sci.impl.load.eval_require_macros.cljs$lang$maxFixedArity = (1)); /** @this {Function} */ (sci.impl.load.eval_require_macros.cljs$lang$applyTo = (function (seq43834){ var G__43835 = cljs.core.first(seq43834); var seq43834__$1 = cljs.core.next(seq43834); var self__5734__auto__ = this; return self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43835,seq43834__$1); })); sci.impl.load.eval_use = (function sci$impl$load$eval_use(var_args){ var args__5755__auto__ = []; var len__5749__auto___44070 = arguments.length; var i__5750__auto___44071 = (0); while(true){ if((i__5750__auto___44071 < len__5749__auto___44070)){ args__5755__auto__.push((arguments[i__5750__auto___44071])); var G__44072 = (i__5750__auto___44071 + (1)); i__5750__auto___44071 = G__44072; continue; } else { } break; } var argseq__5756__auto__ = ((((1) < args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null); return sci.impl.load.eval_use.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__); }); (sci.impl.load.eval_use.cljs$core$IFn$_invoke$arity$variadic = (function (ctx,args){ return sci.impl.load.load_libs(ctx,new cljs.core.Keyword(null,"use","use",-1846382424),args); })); (sci.impl.load.eval_use.cljs$lang$maxFixedArity = (1)); /** @this {Function} */ (sci.impl.load.eval_use.cljs$lang$applyTo = (function (seq43838){ var G__43839 = cljs.core.first(seq43838); var seq43838__$1 = cljs.core.next(seq43838); var self__5734__auto__ = this; return self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43839,seq43838__$1); })); sci.impl.load.eval_refer_clojure = (function sci$impl$load$eval_refer_clojure(ctx,exprs){ var ns_sym = new cljs.core.Symbol(null,"clojure.core","clojure.core",-189332625,null); var exprs__$1 = exprs; while(true){ if(cljs.core.truth_(exprs__$1)){ var vec__43840 = exprs__$1; var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43840,(0),null); var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43840,(1),null); var G__43843_44090 = k; var G__43843_44091__$1 = (((G__43843_44090 instanceof cljs.core.Keyword))?G__43843_44090.fqn:null); switch (G__43843_44091__$1) { case "exclude": cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"env","env",-1815813235).cljs$core$IFn$_invoke$arity$1(ctx),((function (exprs__$1,G__43843_44090,G__43843_44091__$1,vec__43840,k,v,ns_sym){ return (function (env){ var cnn = sci.impl.utils.current_ns_name(); return cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(env,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469),cnn,new cljs.core.Keyword(null,"refer","refer",-964295553),ns_sym,new cljs.core.Keyword(null,"exclude","exclude",-1230250334)], null),cljs.core.fnil.cljs$core$IFn$_invoke$arity$2(cljs.core.into,cljs.core.PersistentHashSet.EMPTY),v); });})(exprs__$1,G__43843_44090,G__43843_44091__$1,vec__43840,k,v,ns_sym)) ); break; case "only": cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"env","env",-1815813235).cljs$core$IFn$_invoke$arity$1(ctx),((function (exprs__$1,G__43843_44090,G__43843_44091__$1,vec__43840,k,v,ns_sym){ return (function (env){ var cnn = sci.impl.utils.current_ns_name(); var other_ns = cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469),ns_sym], null)); var other_vars = cljs.core.select_keys(other_ns,v); return cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469),cnn], null),cljs.core.merge,other_vars); });})(exprs__$1,G__43843_44090,G__43843_44091__$1,vec__43840,k,v,ns_sym)) ); break; case "rename": cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"env","env",-1815813235).cljs$core$IFn$_invoke$arity$1(ctx),((function (exprs__$1,G__43843_44090,G__43843_44091__$1,vec__43840,k,v,ns_sym){ return (function (env){ var cnn = sci.impl.utils.current_ns_name(); var namespaces = new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469).cljs$core$IFn$_invoke$arity$1(env); var the_current_ns = cljs.core.get.cljs$core$IFn$_invoke$arity$2(namespaces,cnn); var other_ns = cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469),ns_sym], null)); var the_current_ns__$1 = cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (exprs__$1,cnn,namespaces,the_current_ns,other_ns,G__43843_44090,G__43843_44091__$1,vec__43840,k,v,ns_sym){ return (function (acc,p__43844){ var vec__43845 = p__43844; var original_name = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43845,(0),null); var new_name = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43845,(1),null); return cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(cljs.core.assoc_in(acc,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"refers","refers",158076809),new_name], null),cljs.core.get.cljs$core$IFn$_invoke$arity$2(other_ns,original_name)),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"refer","refer",-964295553),ns_sym,new cljs.core.Keyword(null,"exclude","exclude",-1230250334)], null),cljs.core.fnil.cljs$core$IFn$_invoke$arity$2(cljs.core.conj,cljs.core.PersistentHashSet.EMPTY),original_name); });})(exprs__$1,cnn,namespaces,the_current_ns,other_ns,G__43843_44090,G__43843_44091__$1,vec__43840,k,v,ns_sym)) ,the_current_ns,v); return cljs.core.assoc_in(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469),cnn], null),the_current_ns__$1); });})(exprs__$1,G__43843_44090,G__43843_44091__$1,vec__43840,k,v,ns_sym)) ); break; default: throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__43843_44091__$1)].join(''))); } var G__44112 = cljs.core.nnext(exprs__$1); exprs__$1 = G__44112; continue; } else { return null; } break; } }); sci.impl.load.eval_refer_STAR_ = (function sci$impl$load$eval_refer_STAR_(env,ns_sym,filters){ var cnn = sci.impl.utils.current_ns_name(); var namespaces = new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469).cljs$core$IFn$_invoke$arity$1(env); var ns = (function (){var or__5025__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(namespaces,ns_sym); if(cljs.core.truth_(or__5025__auto__)){ return or__5025__auto__; } else { throw (new Error(["No namespace: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns_sym)].join(''))); } })(); var fs = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,filters); var public_keys = cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.symbol_QMARK_,cljs.core.keys(ns)); var rename = (function (){var or__5025__auto__ = new cljs.core.Keyword(null,"rename","rename",1508157613).cljs$core$IFn$_invoke$arity$1(fs); if(cljs.core.truth_(or__5025__auto__)){ return or__5025__auto__; } else { return cljs.core.PersistentArrayMap.EMPTY; } })(); var exclude = cljs.core.set(new cljs.core.Keyword(null,"exclude","exclude",-1230250334).cljs$core$IFn$_invoke$arity$1(fs)); var to_do = ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"all","all",892129742),new cljs.core.Keyword(null,"refer","refer",-964295553).cljs$core$IFn$_invoke$arity$1(fs)))?public_keys:(function (){var or__5025__auto__ = new cljs.core.Keyword(null,"refer","refer",-964295553).cljs$core$IFn$_invoke$arity$1(fs); if(cljs.core.truth_(or__5025__auto__)){ return or__5025__auto__; } else { var or__5025__auto____$1 = new cljs.core.Keyword(null,"only","only",1907811652).cljs$core$IFn$_invoke$arity$1(fs); if(cljs.core.truth_(or__5025__auto____$1)){ return or__5025__auto____$1; } else { return public_keys; } } })()); var _ = (cljs.core.truth_((function (){var and__5023__auto__ = to_do; if(cljs.core.truth_(and__5023__auto__)){ return (!(cljs.core.sequential_QMARK_(to_do))); } else { return and__5023__auto__; } })())?(function(){throw (new Error(":only/:refer value must be a sequential collection of symbols"))})():null); var the_current_ns = cljs.core.get.cljs$core$IFn$_invoke$arity$2(namespaces,cnn); var referred = new cljs.core.Keyword(null,"refers","refers",158076809).cljs$core$IFn$_invoke$arity$1(the_current_ns); var referred__$1 = cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (referred__$1,sym){ if(cljs.core.not((exclude.cljs$core$IFn$_invoke$arity$1 ? exclude.cljs$core$IFn$_invoke$arity$1(sym) : exclude.call(null,sym)))){ var v = cljs.core.get.cljs$core$IFn$_invoke$arity$2(ns,sym); if(cljs.core.truth_(v)){ } else { throw (new Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)," does not exist"].join('') )); } return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(referred__$1,(function (){var or__5025__auto__ = (rename.cljs$core$IFn$_invoke$arity$1 ? rename.cljs$core$IFn$_invoke$arity$1(sym) : rename.call(null,sym)); if(cljs.core.truth_(or__5025__auto__)){ return or__5025__auto__; } else { return sym; } })(),v); } else { return referred__$1; } }),referred,to_do); var the_current_ns__$1 = cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(the_current_ns,new cljs.core.Keyword(null,"refers","refers",158076809),referred__$1); var namespaces__$1 = cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(namespaces,cnn,the_current_ns__$1); var env__$1 = cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(env,new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469),namespaces__$1); return env__$1; }); /** * The function equivalent of :refer is handled differently than what we * did before (this is more like what Clojure itself does.) For * referring clojure.core we still use the old code. */ sci.impl.load.eval_refer = (function sci$impl$load$eval_refer(var_args){ var args__5755__auto__ = []; var len__5749__auto___44118 = arguments.length; var i__5750__auto___44119 = (0); while(true){ if((i__5750__auto___44119 < len__5749__auto___44118)){ args__5755__auto__.push((arguments[i__5750__auto___44119])); var G__44120 = (i__5750__auto___44119 + (1)); i__5750__auto___44119 = G__44120; continue; } else { } break; } var argseq__5756__auto__ = ((((2) < args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null); return sci.impl.load.eval_refer.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__); }); (sci.impl.load.eval_refer.cljs$core$IFn$_invoke$arity$variadic = (function (ctx,ns_sym,filters){ if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,"clojure.core","clojure.core",-189332625,null),ns_sym)){ sci.impl.load.eval_refer_clojure(ctx,filters); } else { cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,"env","env",-1815813235).cljs$core$IFn$_invoke$arity$1(ctx),sci.impl.load.eval_refer_STAR_,ns_sym,filters); } return null; })); (sci.impl.load.eval_refer.cljs$lang$maxFixedArity = (2)); /** @this {Function} */ (sci.impl.load.eval_refer.cljs$lang$applyTo = (function (seq43849){ var G__43850 = cljs.core.first(seq43849); var seq43849__$1 = cljs.core.next(seq43849); var G__43851 = cljs.core.first(seq43849__$1); var seq43849__$2 = cljs.core.next(seq43849__$1); var self__5734__auto__ = this; return self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43850,G__43851,seq43849__$2); })); //# sourceMappingURL=sci.impl.load.js.map