117 lines
8.9 KiB
JavaScript
117 lines
8.9 KiB
JavaScript
goog.provide('sci.nrepl.server');
|
|
if((typeof sci !== 'undefined') && (typeof sci.nrepl !== 'undefined') && (typeof sci.nrepl.server !== 'undefined') && (typeof sci.nrepl.server._BANG_last_ns !== 'undefined')){
|
|
} else {
|
|
sci.nrepl.server._BANG_last_ns = cljs.core.volatile_BANG_(cljs.core.deref(sci.core.ns));
|
|
}
|
|
sci.nrepl.server.eval_string = (function sci$nrepl$server$eval_string(s){
|
|
var bm__49624__auto__ = cljs.core.PersistentArrayMap.createAsIfByAssoc([sci.core.ns,cljs.core.deref(sci.nrepl.server._BANG_last_ns)]);
|
|
if(cljs.core.map_QMARK_(bm__49624__auto__)){
|
|
} else {
|
|
throw (new Error("Assert failed: (clojure.core/map? bm__49624__auto__)"));
|
|
}
|
|
|
|
sci.impl.vars.push_thread_bindings(bm__49624__auto__);
|
|
|
|
try{var rdr = sci.core.reader(s);
|
|
var res = null;
|
|
while(true){
|
|
var form = sci.core.parse_next.cljs$core$IFn$_invoke$arity$2(sci.ctx_store.get_ctx(),rdr);
|
|
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword("sci.core","eof","sci.core/eof",-808584945),form)){
|
|
cljs.core.vreset_BANG_(sci.nrepl.server._BANG_last_ns,cljs.core.deref(sci.core.ns));
|
|
|
|
return res;
|
|
} else {
|
|
var G__50202 = sci.core.eval_form(sci.ctx_store.get_ctx(),form);
|
|
res = G__50202;
|
|
continue;
|
|
}
|
|
break;
|
|
}
|
|
}finally {sci.impl.vars.pop_thread_bindings();
|
|
}});
|
|
sci.nrepl.server.nrepl_websocket = (function sci$nrepl$server$nrepl_websocket(){
|
|
return window.ws_nrepl;
|
|
});
|
|
sci.nrepl.server.nrepl_reply = (function sci$nrepl$server$nrepl_reply(p__50173,p__50174){
|
|
var map__50175 = p__50173;
|
|
var map__50175__$1 = cljs.core.__destructure_map(map__50175);
|
|
var id = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__50175__$1,new cljs.core.Keyword(null,"id","id",-1388402092));
|
|
var session = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__50175__$1,new cljs.core.Keyword(null,"session","session",1008279103));
|
|
var send_fn = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__50175__$1,new cljs.core.Keyword(null,"send-fn","send-fn",351002041));
|
|
var map__50176 = p__50174;
|
|
var map__50176__$1 = cljs.core.__destructure_map(map__50176);
|
|
var payload = map__50176__$1;
|
|
var ns = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__50176__$1,new cljs.core.Keyword(null,"ns","ns",441598760));
|
|
var ns__$1 = (function (){var or__5025__auto__ = ns;
|
|
if(cljs.core.truth_(or__5025__auto__)){
|
|
return or__5025__auto__;
|
|
} else {
|
|
return cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(sci.nrepl.server._BANG_last_ns));
|
|
}
|
|
})();
|
|
var reply = cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(payload,new cljs.core.Keyword(null,"id","id",-1388402092),id,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,"session","session",1008279103),session,new cljs.core.Keyword(null,"ns","ns",441598760),ns__$1], 0)),new cljs.core.Keyword(null,"ctx","ctx",-493610118));
|
|
if(cljs.core.truth_(send_fn)){
|
|
return (send_fn.cljs$core$IFn$_invoke$arity$1 ? send_fn.cljs$core$IFn$_invoke$arity$1(reply) : send_fn.call(null,reply));
|
|
} else {
|
|
return sci.nrepl.server.nrepl_websocket().send(cljs.core.str.cljs$core$IFn$_invoke$arity$1(reply));
|
|
}
|
|
});
|
|
sci.nrepl.server.handle_nrepl_eval = (function sci$nrepl$server$handle_nrepl_eval(p__50186){
|
|
var map__50187 = p__50186;
|
|
var map__50187__$1 = cljs.core.__destructure_map(map__50187);
|
|
var msg = map__50187__$1;
|
|
var code = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__50187__$1,new cljs.core.Keyword(null,"code","code",1586293142));
|
|
var vec__50189 = (function (){try{return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("sci.nrepl.server","success","sci.nrepl.server/success",-67357591),sci.nrepl.server.eval_string(code)], null);
|
|
}catch (e50192){var e = e50192;
|
|
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("sci.nrepl.server","error","sci.nrepl.server/error",855827645),cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)], null);
|
|
}})();
|
|
var kind = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50189,(0),null);
|
|
var val = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50189,(1),null);
|
|
var G__50195 = kind;
|
|
var G__50195__$1 = (((G__50195 instanceof cljs.core.Keyword))?G__50195.fqn:null);
|
|
switch (G__50195__$1) {
|
|
case "sci.nrepl.server/success":
|
|
sci.nrepl.server.nrepl_reply(msg,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"value","value",305978217),cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([val], 0))], null));
|
|
|
|
return sci.nrepl.server.nrepl_reply(msg,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"status","status",-1997798413),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, ["done"], null)], null));
|
|
|
|
break;
|
|
case "sci.nrepl.server/error":
|
|
sci.nrepl.server.nrepl_reply(msg,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"err","err",-2089457205),cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([val], 0))], null));
|
|
|
|
return sci.nrepl.server.nrepl_reply(msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"ex","ex",-1413771341),cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([val], 0)),new cljs.core.Keyword(null,"status","status",-1997798413),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, ["error","done"], null)], null));
|
|
|
|
break;
|
|
default:
|
|
throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__50195__$1)].join('')));
|
|
|
|
}
|
|
});
|
|
sci.nrepl.server.handle_nrepl_info = (function sci$nrepl$server$handle_nrepl_info(msg){
|
|
var info = sci.nrepl.info.info(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg,new cljs.core.Keyword(null,"ctx","ctx",-493610118),sci.ctx_store.get_ctx()));
|
|
return sci.nrepl.server.nrepl_reply(msg,info);
|
|
});
|
|
sci.nrepl.server.handle_describe = (function sci$nrepl$server$handle_describe(msg){
|
|
return sci.nrepl.server.nrepl_reply(msg,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"versions","versions",536521978),new cljs.core.PersistentArrayMap(null, 1, ["sci-nrepl",new cljs.core.PersistentArrayMap(null, 3, ["major","0","minor","0","incremental","1"], null)], null),new cljs.core.Keyword(null,"ops","ops",1237330063),cljs.core.zipmap(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.name,cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.keys(sci.nrepl.server.ops),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"load-file","load-file",-424586670),null,new cljs.core.Keyword(null,"clone","clone",711747572),null], null), null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, ["close",null], null), null)], 0))),cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY)),new cljs.core.Keyword(null,"status","status",-1997798413),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, ["done"], null)], null));
|
|
});
|
|
/**
|
|
* Operations supported by the nrepl server.
|
|
*/
|
|
sci.nrepl.server.ops = new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"eval","eval",-1103567905),sci.nrepl.server.handle_nrepl_eval,new cljs.core.Keyword(null,"info","info",-317069002),sci.nrepl.server.handle_nrepl_info,new cljs.core.Keyword(null,"eldoc","eldoc",-1321421900),sci.nrepl.server.handle_nrepl_info,new cljs.core.Keyword(null,"lookup","lookup",1225356838),sci.nrepl.server.handle_nrepl_info,new cljs.core.Keyword(null,"describe","describe",1369790582),sci.nrepl.server.handle_describe,new cljs.core.Keyword(null,"complete","complete",-500388775),(function (msg){
|
|
var completions = sci.nrepl.completions.completions(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg,new cljs.core.Keyword(null,"ctx","ctx",-493610118),sci.ctx_store.get_ctx()));
|
|
return sci.nrepl.server.nrepl_reply(msg,completions);
|
|
})], null);
|
|
sci.nrepl.server.handle_nrepl_message = (function sci$nrepl$server$handle_nrepl_message(msg){
|
|
var temp__5802__auto__ = (function (){var G__50201 = new cljs.core.Keyword(null,"op","op",-1882987955).cljs$core$IFn$_invoke$arity$1(msg);
|
|
return (sci.nrepl.server.ops.cljs$core$IFn$_invoke$arity$1 ? sci.nrepl.server.ops.cljs$core$IFn$_invoke$arity$1(G__50201) : sci.nrepl.server.ops.call(null,G__50201));
|
|
})();
|
|
if(cljs.core.truth_(temp__5802__auto__)){
|
|
var handler = temp__5802__auto__;
|
|
return (handler.cljs$core$IFn$_invoke$arity$1 ? handler.cljs$core$IFn$_invoke$arity$1(msg) : handler.call(null,msg));
|
|
} else {
|
|
return sci.nrepl.server.nrepl_reply(msg,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"status","status",-1997798413),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, ["error","done"], null),new cljs.core.Keyword(null,"err","err",-2089457205),"unknown-op"], null)], 0)));
|
|
}
|
|
});
|
|
|
|
//# sourceMappingURL=sci.nrepl.server.js.map
|